This is an archive of a course I taught Fall 2023, preserved here as a resource for future students.

ECE/CS 350L: Digital Systems

Section 001, Fall 2023


This course will basically teach you how to build this,
but virtually, and for less than $50k.

Overview

Lecture location: Wilkinson 132
Lecture time: Tue/Thu 1:25pm - 2:40pm

Instructor: Dr. Tyler Bletsch
Email: Tyler.Bletsch AT duke.edu
Office Hours:

Teaching Assistants:

TA Office Hours: See Ed post

Recitations:

Section(s)RoomTimeLead(s)
01-02Teer 210/216Tue 3:05pm-6:05pmKevin Jiang, Will Denton
03Teer 210/216Wed 3:05pm-6:05pmElaine Guo, Anthony Fernando
04-05Teer 210/216Thu 3:05pm-6:05pmVincent Chen
Note: The sections listed together are effectively merged, we're just not going to bother reflecting that on DukeHub.

Links:

Schedule

#DateLectureLab
Tue/Wed/Thu 3:05pm
Homework due
(11:59:00pm)
1 Tue 8/29 Intro, booleans, and logic Lab 1: Intro to Verilog
2 Thu 8/31 Intro, booleans, and logic
3 Tue 9/5 Intro, booleans, and logic Lab 2: Ripple Carry Adder (Wed 9/6)
Homework 1
4 Thu 9/7 Addition/subtraction Heads up: Do Lab 3's pre-lab tasks
before you get there!
5 Tue 9/12 Intro to CAD Lab 3: Comparator
- lab3_kit.zip
(Wed 9/13)
Homework 2
6 Thu 9/14 Latches and registers
7 Tue 9/19 Multiplication Lab 4: Instrumentation (Wed 9/20)
Homework 3
8 Thu 9/21 Multiplication Heads up: All outstanding lab tasks
must be done before next week!
9 Tue 9/26 Division (CP help) (Wed 9/27)
Homework 4
10 Thu 9/28 Memory elements (Fri 9/29)
CP1: ALU
11 Tue 10/3 Logic minimization Lab 5: Memory Elements (Mon 10/2)
CP2: Regfile
12 Thu 10/5 Midterm 1
- Practice midterm
- Study guide
13 Tue 10/10 Logic minimization Lab 6: VGA &
Lab 7: Keyboard/ADC
- Multivoltage circuit video
(Mon 10/9)
CP3 milestone 1: Proof of life
14 Thu 10/12 Pipelined processors (Fri 10/13)
CP3 milestone 2: Mul
Tue 10/17 FALL BREAK Lab 6: VGA &
Lab 7: Keyboard/ADC (continued)
- Multivoltage circuit video
15 Thu 10/19 Finite state machines (Fri 10/20)
CP3: Mul/div
16 Tue 10/24 Finite state machines Lab 8: Audio (Wed 10/25)
Homework 5
17 Thu 10/26 Making stuff
18 Tue 10/31 NMOS, PMOS, and CMOS Lab 9: FSM (Mon 10/30)
CP4 milestone 1: Baby CPU
19 Thu 11/2 NMOS, PMOS, and CMOS (Sun 11/5)
CP4 milestone 2: Hazardous CPU
20 Tue 11/7 Error correcting codes (Project help) (Wed 11/8)
Project proposal
21 Thu 11/9 Digital testing (Sun 11/12)
CP4: Complete CPU
22 Tue 11/14 PLDs and FPGAs,
Chill chat
(Project help) (Wed 11/15)
CP4: Optional technical report
23 Thu 11/16 Chill chat
24 Tue 11/21 Midterm review,
Chill chat
THANKSGIVING BREAK (Wed 11/22)
Homework 6
Thu 11/23 THANKSGIVING BREAK
25 Tue 11/28 Midterm review,
Chill chat
(Project help)
26 Thu 11/30 Midterm 2
- Practice midterm
- Study guide
27 Tue 12/5 Chill chat (Project help) (Mon 12/4)
Project demos begin
28 Thu 12/7 Chill chat (Mon 12/11)
Project demos end

(Tue 12/12)
Project materials due:
  1. Report (GradeScope)
  2. Code (Canvas)
  3. Team eval (GradeScope)

Additional resources

Setup guides: Provided code: Supplemental reading: Datasheets:

Syllabus & policies

Course synopsis

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.

Includes homeworks, labs, and a multi-checkpoint project in which you'll develop a full CPU and deploy it in support of a real-world task.

Pre-requisite: ECE/CS 250D

Grading breakdown

Note: Subject to change.
Category%
Homeworks15%
Midterm exams20%
Processor + Checkpoints45%
Final project20%
No final exam!

Lab completion requirement: There is no explicit grades for labs, but you must do all the lab tasks (in or out of lab) and show your TA to be able to pass the class.

Assignment policies

You are expected to complete the homework and checkpoints individually unless otherwise stated. However, you may discuss topics covered in the class.

Late homework submissions incur penalties as follows:

Late checkpoint submissions incur penalties as follows:

NOTE: If you feel in advance that you may need an extension, contact the instructor. We can work with you if you see a scheduling problem coming, but extensions cannot be granted at or near the due date!

Your grade will be based on what and when you submit to GradeScope.

Grade appeals

All regrade requests must be in writing. Email the TA with your questions. After speaking with the TA, if you still have concerns, contact the instructor.

All regrade requests must be submitted to the instructor no later than 1 week after the assignment was returned to you.

Academic integrity

I take academic integrity extremely seriously. Academic misconduct will not be tolerated, and all suspected violations of the Duke Honor Code will be referred to the Office of Student Conduct (for undergraduates) or the departmental Director of Graduate Studies (for graduate students). A student found responsible for academic dishonesty faces formal disciplinary action, which may include suspension. A student twice suspended automatically faces a minimum 5-year separation from Duke University.

In addition to the measures taken by the university, the affected assignment(s) will receive zero credit, or possibly -100% in egregious cases.

If you are considering this course of action, please see me instead, and we can work something out! I want every student in my course to be successful.