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:
- After every lecture: In classroom.
^ These are *real* office hours, not just answering a few short questions - feel free to approach after class with substantive issues. - By appointment: Feel free to email to meet if the above times don't work for you.
Teaching Assistants:
- Kevin Jiang (kevin.jiang AT duke.edu), Tuesday lab
- Will Denton (will.denton AT duke.edu), Tuesday lab
- Anthony Fernando (anthony.fernando AT duke.edu), Wednesday lab
- Elaine Guo (elaine.guo AT duke.edu), Wednesday lab
- Vincent Chen (vincent.j.chen AT duke.edu), Thursday lab
- Alison Zhang (alison.zhang AT duke.edu), Grader
- Jackson Peurach (jackson.peurach AT duke.edu), Grader
- Pragyat Khanal (pragyat.khanal AT duke.edu), Grader
Recitations:
Section(s) | Room | Time | Lead(s) |
---|---|---|---|
01-02 | Teer 210/216 | Tue 3:05pm-6:05pm | Kevin Jiang, Will Denton |
03 | Teer 210/216 | Wed 3:05pm-6:05pm | Elaine Guo, Anthony Fernando |
04-05 | Teer 210/216 | Thu 3:05pm-6:05pm | Vincent Chen |
Links:
- Ed forum - get help and discuss course material
- Canvas - submit code and see grades
- GradeScope - submit homework assignments and get feedback
- Feedback form - send anonymous feedback to the instructor
Schedule
Additional resources
Setup guides:- Tool Chain Setup
- Testing Verilog Modules
- Making test benches (supplementary video)
- Hardware Design Setup
- Validating Timing in Vivado
- Circuit timing in Vivado (supplementary video)
- Wrapper files
- Using a PLL to make a custom clock in Vivado (supplementary video)
- Git Setup for ECE 350
- multdiv-simulator: A Python simulator of the multiplication and division algorithms used in this course
- John Board's version of the slides from Spring 2023 (all topics in one giant doc)
- Wallace Tree resources:
- Implementation of a CMOS Wallace-tree Multiplier by Li et al.
- MIT courseware, 6.111: Multiplication
- The textbook that's available in the lab (starting around pg. 265)
- Nexys A7: Details about the FPGA used throughout this course
- 2-Input NAND Gate: Details about the 74LS00 IC Chip used in Lab 2
- 8-Input Multiplexer: Details about the 74LS151 TTL IC Chip used in Lab 3
- 2-Input NOR Gate: Details about the 74LS02 IC Chip used in Lab 4
- JK Flip Flop: Details about the 74LS109 IC Chip used in Lab 4
- Precision Timer: Details about the NE555 Timer used in Lab 4
- TXS0108E level shifter demoed in the multivoltage circuit video for Lab 7
- ADC0808 analog-to-digital converter demoed in the multivoltage circuit video for Lab 7
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 | % |
---|---|
Homeworks | 15% |
Midterm exams | 20% |
Processor + Checkpoints | 45% |
Final project | 20% |
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:
- Submission is 0-24 hours late: total score is multiplied by 0.9
- Submission is 24-48 hours late: total score is multiplied by 0.8
- Submission is more than 48 hours late: no credit
- No credit without prior permission from the instructor
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.