ECE/CompSci 350: Digital Systems, Spring 2017

Instructor: Prof. Krish Chakrabarty
Office: 2513 CIEMAS
Ph: 660-5244
E-mail: krish AT
Office Hours: Tues, Thurs 10:30-11:30 AM, or by appointment

Class hours and classroom: Tues, Thurs 11:45 AM to 1 PM, Room: 208 Hudson Hall

Lab hours (in 202A Hudson Hall):
Section 1: Tuesday 1:25-4:25 PM
Section 2: Wednesday 3:05-6:05 PM
Section 3: Cancelled
Section 4: Thursday 4:40-7:40 PM
Section 5: Friday: 10:05 AM to 1:05 PM

Textbook Digital Design: A Systems Approach by Dally and Harting (ISBN: 9780521199506) (Recommended, not required)

Course TAs: Safkat Islam (Head TA, safkat.islam AT, Dev Dabke (d.d AT, Cleveland Thompson (ct168 AT, Kristen Slappey (
Office hours (in 202A Hudson Hall): Safkat Islam Tuesdays 430 PM to 630 PM, Quin Thompson Sundays 5 PM to 7 PM, Dev Dabke Mondays 3 PM to 5 PM, Kristen Slappey Wednesdays 6:15 PM to 8:15 PM.

Lab TAs: Michael Baldwin (Head Lab TA, michael.baldwin AT, Dev Dabke (d.d AT, Andrew Buie (andrew.buie AT, Steven Mazzari (sam98 AT, Saeed Alrahma (saeed.alrahma AT

Please refer to this PDF file for information about lecture schedule

Course Outline: This course teaches students the fundamentals of combinational and sequential logic design. Lectures will focus on the formalisms for building complex digital logic, beginning with simple building blocks and moving up the stack to larger systems. Lab exercises will reinforce lecture concepts with hands-on design assignments using a mix of programmable logic chips and dual-inline packages on breadboards. Students will learn how to write structural Verilog, and throughout the semester, build the individual components of a fully pipelined processor. This processor will then be applied towards a final group project, in which students will design and implement an in-depth system. Past examples of such projects include arcade games, cryptography systems, text editors, and audio synthesizers.

Objectives: The goal of this course is to teach students the following:

Homeworks and Exams: There will three evenly-spaced homeworks in the first half of the semester in the form of problem sets. These will be based on the lecture material. Two in-class exams, tentatively scheduled for February 14 and March 28, respectively, will test basic understanding of the concepts presented in the class. The final exam has been scheduled for Thursday May 4, 7-10 pm.

Grading Policy: Homeworks-5%, Exam I-10%, Exam II-10%, Labs-20%, Project checkpoints-10%, Final project-20%, Final exam: 25%.

Assignments will be accepted up to 1 week after the due date. Late assignments will be deducted 10% per day. Students should not work together on assignments (see Academic Integrity section below). Homework regrades will only be considered for one week following grade posting. Please do not try these excuses!

Lab Expectations
Labs may run over the allotted time slot. For this reason, two separate days have been dedicated to the longer lab assignments. If students still cannot finish within the lab time slots, they are expected to arrange additional time with the lab TA to finish the assignment. Labs will be graded solely based on completion and working demonstrations.

Academic Integrity
Students are expected to uphold the Duke Community Standard: “Duke University is a community dedicated to scholarship, leadership, and service and to the principles of honesty, fairness, respect, and accountability. Citizens of this community commit to reflect upon and uphold these principles in all academic and non-academic endeavors, and to protect and promote a culture of integrity. To uphold the Duke Community Standard:
I will not lie, cheat, or steal in my academic endeavors; I will conduct myself honorably in all my endeavors; and I will act if the Standard is compromised.”

Students are allowed to ask one another questions but are expected to work alone on homework assignments unless directly told otherwise. Students caught violating the Duke Community Standard will be reported to the Office of Student Conduct. Note that programming submissions will be compared to one another using Stanford’s Measure of Software Similarity (MOSS) to detect signs of plagiarism. You have been warned!

Krishnendu Chakrabarty
Last updated: Thursday January 19, 2017