Welcome to ECE/CS3700: a course that is introduces fundamental concepts of how digital circuits are designed. All of you have heard cliche's such as "the digital age", "information revolution", "info-com/digital economy", etc. This course will enable you to make these drawing-room cliche's into a reality. Now-a-days, every household item from coffee machines to DVD-players to flight-control of an airplane (oops!, not a household item) has a digital logic circuit inside it. This course will teach you WHAT type of designs can be (and should be) designed using digital logic concepts, and HOW to design them. What advantages do Digital circuits have over their analogue counterparts? Of course, they do have some limitations as well - so what are they? This course will tell you all about it.

Behind any engineering system is an efficient model that allows to analyze (and optimize) its characteristics. Digital circuits can also be easily modeled using concepts such as Boolean algebra. Hence Boolean algebra is a fundamantal part of this course. This algebra allows to make Logical decisions, analyses and optimizations over a digital design so as to make it function correctly and robustly. This is something that you will learn in this course.

Secondly, this course is about designing systems. "Design" is really both a science and an art. The science is, of course, written in the books. But how to interpret that science and transform it into a functioning product is an art - something that you learn only by experience. Hence, this course will have a significant portion of design-work, both via HWs and Laboratory experiments.

Finally, the course will be taught through a Computer-Aided Design (CAD) perspective. Over the past 2 decades, the digital-design and CAD communities have made significant advances in automatic modeling, simulation and synthesis tools that enable design of large scale digital systems. We will use one such set of modeling language (Verilog Hardware Description Language) and toolset (Xilinx FPGA synthesis tools) --- widely used in industry!

It is really a fun course: you will put into practise the concepts of counting digits (Digital) in a common-sensical way (LOGIC) and build an electrical system that would be able to perform varied computations (DESIGN). More formally, you will learn how to describe digital designs, minimize the underlying combinational logic functions, build and optimize sequential circuits via state diagrams, and finally implement your designs in conventional state-of-the-art technologies (field programmable gate arrays).

I hope you'll have fun studying it, and I'll have fun teaching it. The course is not very difficult, but it moves very quickly, the labs, HW, exams are all a bit hectic, so if you miss a couple of lectures and/or HW/labs, it can be hard to catch-up. Attend classes regularly, & I think you'll do fine...