Lecture
notes*
(week 1) Lecture 1: Course overview
and introduction
(week 1) Lecture 2: Design
fundamentals 1
(week 2) Lecture 3: Design
fundamentals 2
(week 2) Lecture 4: Introduction
to VHDL (entity, behavioural, structural)
(week 3) Lecture 5: Concurrent and
sequential statements (component,
concurrency, process)
(week 3,4) Lecture 6: Combinational
and
sequential
circuits (muxes, coders, decoders, registers,
counters, FSMs)
(week 4) Lecture 7: Sequential
circuits II (FSMs, if-then-else, case, for-loop, wait, etc.)
(week 5) Lecture 8: Packages,
libraries, testbenches, VHDL coding for synthesis
(week 5,6) Lecture 9: FPGAs
(week 6) Lecture 10: Design
examples 1 (adders, multipliers)
(week 7) Lecture 11: From FSMs to
ASMDs (algorithmic state machines with datapath)
(week 7) Lecture 12: More on ASMDs
(examples)
(week 8,9) Lecture 13: Control and sequencing:
Hardwired and Microprogramed Control; {Supplemental material:Microprogrammed
Control
Supplement (from Mano and Kime
book), A
microprogrammed CPU (a nice
example at Brown)}
(week 10) Lecture 14: Electronic dice game: from
ASM chart to microprogramming
(week 10,11) Lecture 15: Memories
(week 11) Lecture 16: Timing
and
clocks
issues
(week 12) Lecture 17: PicoBlaze:
from
special-purpose
FSMD to general-purpose microcontroller
(week 13,14) Lecture 18: Computer basics
(week 14,15) Lecture 19: Pipelining
*Many of the lecture
notes here are modified versions of the
lecture
notes graciously shared by professors Mohammad Tehranipoor
and Yunsi
Fei. Other similar courses from where I borrowed selected slides or
drew inspiration are listed below. Hereby, I acknowledge them and
extend my many thanks to the instructors for publicly sharing their
course materials!
-- ECE-3401
Digital
Systems
Design, University of Connecticut (Mohammad
Tehranipoor and Yunsi Fei, now at Northeastern)
-- 6.111 Digital Systems
Laboratory, MIT
-- EECS-150
Components
and
Design
Techniques
for
Digital
Systems, Berkeley
-- ECE-448 FPGA
and ASIC Design with VHDL, George Mason University
-- CS352H Computer
Systems Architecture, The University of Texas at Austin
-- EE-762
Theory
and
Design
of
Computers, Ohio State
-- ECT-466
Microcomputer
Architecture, University of Dayton
-- ECEN-449
Microprocessor System Design, Texas A&M University
-- ECEn-427
Embedded
System
Design, Brigham Young University