CS 150: COMPONENTS AND DESIGN TECHNIQUES FOR DIGITAL SYSTEMS
WEEK 1
-
Introduction
-
Relationship to other courses in EECS
-
What is a Digital Circuit?
-
Digital vs. Analog; behavior & waveforms; switches
-
Design Example: Word Problem
-
Classification of Digital Systems
-
Combinational Systems
-
Boolean Algebra: History
-
Operators: AND, OR, NOT, XOR, EQ
-
Truth Tables
-
Design Example: Seatbelt Circuit
-
Introduction to multiplexers
-
Sequential Systems
-
Design Example: Car lock
-
Introduction to State Graphs and State Tables
-
Introduction to Mealy and Moore representations
-
Latches and flip-flops
Reading:
-
Katz: 1.1, 1.2, 1.3.1-1.3.4, (1.4), 2.1, 8.1, 8.2.1-8.2.2 (not all details),
8.4.2-8.4.3
-
Wakerly: 1.1-1.8, 3.1, 7.3.1, 7.3.2, 7.4.0 (i.e. stop at 7.4.1)
Lab:
-
Design versus Implementation
-
Specification, Description, and Depiction
-
Conceptual Blocks & How to Overcome Them
-
Good Versus Bad Design
-
The Role of Language in Design
-
The CS150 Project
-
Introduction to timing diagrams
-
Storage
-
Ring Oscillator
-
SR latch
-
D latch
-
Shift Registers
-
Serial-Parallel Conversion
Reading:
-
Katz: 6.1.2, 6.1.3, 6.1.5, 7.1-7.2, 6.6.1
-
Wakerly: 7.1, 7.2.1, 7.2.2, 7.2.3, 7.2.4, 7.3.3, 9.3, 9.4, Ch. 11
Lab:
Lab 1: Introduction to Workview
Reading:
Lab:
Lab 2: FSM Design in Workview
-
Boolean Algebra, Definitions and Theorems
-
De Morgan's Laws
-
The Hot Tub party
Reading:
Lab:
Lab 3: FSMs in Xilinx
WEEK 5
-
Multi-level logic
-
Hazards and Glitches
-
more Hazards and Glitches
-
multiplexers
Reading:
Quiz 1!
-
Quiz review
-
Intro to binary arithmetic
Reading:
-
Katz: 5.1, 5.2
-
For reference: transparencies from Katz, Chapter 5 in Powerpoint
and postscript
(6up)
WEEK 7
3 March
-
More binary arithmetic
-
Intro to number systems: sign/magnitude, ones complement, twos complement
5 March
-
Cleaning up: review of latches, flip flops, counters
WEEK 8
-
State Minimization
-
Design example: minimize states
-
Incompletely specified machines
-
State Assignment
-
Minimizing latches vs. one-hot
-
Binary vs. minimum-distance vs. one-hot vs almost-one-hot
codes
-
Design example: assign codes to states
-
Synchronous State-machine Design
-
Overall design flow
-
Design example: implement using D flip-flops
12-Mar
slides
(PDF
- 6up) (PDF
- 2up)
-
Additional sequential examples
-
Some arithmetic examples
Reading:
-
Katz: 8.5, all Ch. 9, 8.3.2
-
Wakerly: 7.4, 12.1.3
WEEK 8
17-Mar
slides
(PDF-6up)
(PDF-2up)
-
Sequential and arithmetic examples
-
Intro to high-level design languages and VHDL
-
Why not design using C?
(Same references as last week apply)
-
Number Systems (Part 2)
-
BCD, IEEE formats
-
Multiplication, Division, Complex & Multi-step Operations
-
Arithmetic Logic Unit (ALU)
SPRING BREAK
WEEK 10
31-Mar slides
(Postscript-6up) (Postscript-2up)
-
Arithmetic Logic Unit (ALU)
-
Bandwidth, Latency, Scheduling & Allocation, Pipelining
2-Apr
slides
(PDF-
6up) (PDF-
2up)
-
Introduction to Computer Organization
-
Overall structure of a computer
-
Design Example: Review of simple microcomputer
-
Bussing strategies, deriving STG's for control
Reading:
WEEK 11
7-Apr (no slides!)
9-Apr slides
(PDF- 6up)
(PDF- 2up)
-
Quiz 2 discussion
-
Combining Data & Control
-
Control, Datapath, I/O Interfaces
-
Introduction to Microprogramming
-
Controller Implementation
Reading:
WEEK 12
14-Apr slides
(PDF- 6up)
(PDF- 2up)
-
Options for implementation of controllers
-
Microprogramming
-
Partitioning control
16-Apr slides
(PDF- 6up) (PDF- 2up)
-
Combinational Testability and Test-pattern Generation
-
Faults in digital circuits
-
What is a test? : Controllability & Observability
-
Redundancy & testability
-
Test coverage & simple PODEM ATPG
-
Intro. To Sequential Testability and Scan Design
-
Sequential faults
-
Sequential redundancies
-
Design-for-test and LSSD
-
BILBO
Reading:
-
Katz: pp. 401-402
-
Wakerly: 12.2, 12.3
WEEK 13
21-Apr slides
(PDF- 6up)
(PDF- 2up)
-
Asynchronous Circuits
-
Moore & Mealy standard forms
-
Design Example: word problem
-
State Tables and Flow Tables
-
State table, transition table, flow table
-
Flow table minimization
-
Design example: translate to flow table
23-Apr slides
(PDF- 6up)
(PDF- 2up)
-
Arbiter
-
Races and Critical Races
-
Hazards & races
-
Critical races
-
Race-free state assignment
-
Design example: race-free state assignment
-
Excitation Equations
-
Design example: implementation
-
Role of essential hazards
Reading:
-
Katz: Ch 6.4, 6.5
-
Wakerly: Ch 7.5, 7.6, 9.7, 9.8 (best)
WEEK 14
28-Apr slides
(PDF- 6up)
(PDF- 2up)
-
Asynchronous Examples
-
Hamming Codes
-
Review: Latency & Bandwidth
-
Binary Decision Diagrams
30-Apr slides
(PDF- 6up) (PDF- 2up)
-
An Analog World
-
Introduction to A-D and D-A Conversion
-
Sampling & holding signals
-
Conversions to digital codes
-
Digital to analog conversion
-
MEMS Examples
WEEK 15
5-May slides
(PDF- 6up) (PDF- 2up)
7-May slides
(PDF- 6up) (PDF- 2up)