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