Introduction to Digital Design and Integrated Circuits
An introduction to digital circuit 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.
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.
- Although the syllabus is the same as EECS151, the assignments and exams for EECS251A will have harder problems that test deeper understanding expected from a graduate level course.
Official catalogue course objectives and student learning outcomes
Prerequisites & course information
{'preRequisiteCourse': '1063272', 'concurrentPrerequisit': False}; {'preRequisiteCourse': '1044281', 'concurrentPrerequisit': False}; {'preRequisiteCourse': '1063282', 'concurrentPrerequisit': False}; {'preRequisiteCourse': '1063281', 'concurrentPrerequisit': False}; {'preRequisiteCourse': '1063271', 'concurrentPrerequisit': False}
Sources
- Course catalogue ↗2026-2027