Introduction to Digital Design and Integrated Circuits
An introduction to digital and system design. The material provides a top-down view of the principles, components, and methodologies for large scale digital system design. The underlying CMOS devices and manufacturing technologies are introduced, but quickly abstracted to higher-levels to focus the class on design of larger digital modules for both FPGAs (field programmable gate arrays) and ASICs (application specific integrated circuits). The class includes extensive use of industrial grade design automation and verification tools for assignments, labs and projects. The class has two lab options: ASIC Lab (EECS 151LA) and FPGA Lab (EECS 151LB). Students must enroll in at least one of the labs concurrently with the class.
Topics
- The Verilog hardware description language is introduced and used. Basic digital system design concepts, Boolean operations/combinational logic, sequential elements and finite-state-machines, are described. Design of larger building blocks such as arithmetic units, interconnection networks, input/output units, as well as memory design (SRAM, Caches, FIFOs) and integration are also covered. Parallelism, pipelining and other micro-architectural optimizations are introduced. A number of physical design issues visible at the architecture level are covered as well, such as interconnects, power, and reliability.
Official catalogue course objectives and student learning outcomes
Prerequisites & course information
{'preRequisiteCourse': '1063271', 'concurrentPrerequisit': False}; {'preRequisiteCourse': '1063282', 'concurrentPrerequisit': False}; {'preRequisiteCourse': '1063281', 'concurrentPrerequisit': False}; {'preRequisiteCourse': '1063272', 'concurrentPrerequisit': False}
Sources
- Course catalogue ↗2026-2027