ECE/COMPSCI 350L: Digital Systems — Spring 2019

Class meeting time and location: TTh 1:25–2:40, LSRC A247

Lab meeting time and location: T 3:05–6:05, W 1:25–4:25, W 4:40–7:40, Th 3:05–6:05, F 10:05–1:05, Hudson Hall 202A

Image

Instructor: Dr. Rabih Younes
Duke e-mail: rabih.younes
Office: Hudson Hall 204
Office phone: 660-5051
Office hours: T 2:55–3:55 and W 10:45–11:45, or by appointment (the link to make appointments is posted on Sakai)
To provide anonymous feedback about anything related to the course: follow this link.

TAs: TAs office hours (location: Hudson Hall 202A):

Course Description

Design and implementation of combinational and sequential digital systems with special attention to digital computers. The use of computer-aided design tools, hardware description languages, and programmable logic chips to facilitate larger and higher performance designs will be stressed. Laboratory exercises and group design projects will reinforce the various design techniques discussed in class. Prerequisite: Electrical and Computer Engineering 250D. Instructor: Younes. One course.

Learning Outcomes

Having successfully completed this course, the student will be able to:

Textbook and Other Course Material

No textbook is required for this course. All material will be posted on Sakai (DO NOT repost/upload to any site; the material is copyrighted). I will always try to have slides posted before class time so that you can take notes on them if you would like to.

Grading Policy

Important Notes

***Extremely important advice: This course is historically known to have a very heavy load compared to other courses.

Another important advice: Try to always review slides the evening (or next day) of every class.

All announcements are posted on Piazza. Make sure you get Piazza email notifications.

Using git, Github, and LaTeX:

Install Quartus version 16 and use it for labs and assignments. Other Quartus versions might not be fully compatible with grading scripts.

Contacting the instructor and the TAs:

Misconduct

Summary of Important Dates

Detailed Schedule

Week Date Topic Homework Project Lab
1 1/10 Syllabus, Intro, Boolean Algebra
2 1/15 Boolean Algebra, CAD & Verilog Lab 1 — Intro & Verilog Workshop
2 1/17 CAD & Verilog, Registers
3 1/22 Logic Blocks Lab 2 — Regfile
3 1/24 Signed Arithmetic
4 1/29 Fast Adders & ALU PC 1 (regfile) due Lab 3 — RCA
4 1/31 Multipliers 1 due
5 2/5 Booth's Algorithm, Division PC 2 (alu) due Lab 4 — Comparators
5 2/7 Memory Elements
6 2/12 Pipelining: Intro, Hazards 2 due Lab 5 — Memory
6 2/14 Pipelining
7 2/19 Guest Lecture by Dr. Tyler Bletsch: Miscellaneous Tips for Developing Digital Systems PC 3 (multdiv) due Lab 6 — VGA and PS2
7 2/21 Review Session 1 3 due
8 2/26 Exam 1 (weeks 1–6) Lab 7 — Audio
8 2/28 Factorization
9 3/5 Factorization, Quine-McCluskey Lab 8 — ADC
9 3/7 FSM 4 due
10 3/12 NO CLASS: Spring Recess
10 3/14 NO CLASS: Spring Recess
11 3/19 FSM PC 4 (proc) due / defense Catch up
11 3/21 FSM PC 5 (proposal) due
12 3/26 Asynchronous Design Lab 9 — Project
12 3/28 Asynchronous Design PC 6 (check in) due
13 4/2 CMOS Design 5 due Lab 10 — FSMs
13 4/4 CMOS Design, Defect Tolerance PC 7 (check in) due
14 4/9 Testing
14 4/11 Review Session 2 6 due PC 8 (check in) due
15 4/16 Exam 2 (weeks 8–14) Project Work
15 4/18 NO CLASS (read "Gate Arrays" slides)
16 4/23 Project demos PC 9 (demo) due Project Work
16 4/24 Project demos PC 10 (report) due
17 5/3 NO FINAL EXAM