EE209 - Spring 2017 Foundations of Digital System Design

Welcome to EE209

This course introduces digital system design theory and practice. Focus is placed on logic design techniques and physical implementation methodologies. Utilizing the structures and concepts learned in EE 109, students will learn to design and synthesize combinational and sequential logic structures at the gate and transistor level. Topics include Boolean algebra, common datapath components, state machine synthesis, various implementation technologies with focus on CMOS, and physical layout. A lab component will familiarize students with common electronic design automation (EDA) software tools (mainly using FPGAs) and allow students to put theory into practice.

Upon completion of this course students will be able to:

  1. Identify and derive appropriate logic functions to implement a specified design
  2. Synthesize logic circuits to implement a given logic function
  3. Understand design tradeoffs that include area and speed and optimize circuits for desired performance
  4. Analyze and manipulate logic circuits to ascertain their logic function or alter their implementation based on specific design requirements
  5. Synthesize and analyze circuits that include state elements (flip-flops) [i.e. state machines]
  6. Design datapath and control units for portions of a simple CPU
  7. Understand basic principles of semiconductor physics and transistor operation
  8. Layout simple logic cells
  9. Understand the relationship of delay and area due to the parasitics inherent in physical implementation.