EECS 270: Introduction to Logic Design
Instructor: Karem Sakallah and George Tzimpragos
EECS 270 introduces you to the exciting world of digital logic design. Digital devices have proliferated in the last quarter century and have become essential in just about anything we do or depend on in a modern society. Computers of all varieties are now at the heart of commerce, communications, education, health care, entertainment, defense, etc. Personal computers have become standard fixtures in most homes and even in preschools. But while the computer is the most visible digital computing device, it is by no means the only one. Embedded (invisible) digital controllers can be found in such diverse applications as automobiles, airplanes, elevators, cellphones, televisions, cameras, and many kitchen appliances, to name just a tiny few. We are in the midst of a digital revolution that is transforming our way of life in ways far more profound than any other technological invention in the history of mankind. It is breathtaking.
This course provides you with a basic understanding of what digital devices are, how they operate, and how they can be designed to perform useful functions. It forms a foundation for the more advanced hardware courses in our CS, CE, and EE curricula. You will learn about digital design through a combination of lectures, homework, and a hands-on laboratory. The laboratory is an integral part of the course that shows how the theory of digital design learned in lectures is applied in practice to construct real digital systems.
The lab is based on the Altera DE2 logic board which has an FPGA (a programmable logic device), several memory components (SDRAM, SRAM, and flash RAM), and a rich variety of I/O (input/output) devices and connections to external peripherals. You will use the Quartus II CAD tools to enter, simulate and implement your designs.
Lab 0: Quartus Tutorial
Lab 1: Introduction to Quartus
Lab 2: Timing and Delay
Lab 3: Combinational Design I: Robot Controller
Lab 4: Sequential Design I: Up/Down Saturating Counter
Lab 5: Combinational Design II: Calculator
Lab 6: Sequential Design II: Traffic Light Controller
Lab 7: Sequential Design III: Real-World Interfacing with a Nintendo Controller
Vahid, Frank. Digital Design. 2nd ed. Hoboken, NJ: J. Wiley & Sons, 2007.
Chapter 1: Introduction
Chapter 2: Combinational Logic Design
Chapter 3: Sequential Logic Design: Controllers
Chapter 4: Datapath Components
Chapter 5: Register-Transfer Level (RTL) Design
Chapter 6: Optimizations and Tradeoffs
Chapter 7: Phyiscal Implementation on ICs
Chapter 9: Hardware Description Languages
Appendix A: Boolean Algebras