General Information Edit

Introduction to the design and implementation of practical digital circuits. Students start with boolean algebra and working up to a single-cycle microprocessor by the end or the semester. Labs are created using Altera Quartus and are written in Verilog. It is one of the three 2000 level classes required to major in ECE. (Crosslisted as ENGRD 2300).

Prerequisites Edit

CS 1110 or CS 1112

Topics Covered Edit

  • Boolean logic
  • State machines
  • Combinational and sequential digital logic
  • Basic structure of ROM and RAM memories
  • Single-cycle CPU
  • Pipelined CPU
  • Memory hierarchies
  • Input/output systems

Workload Edit

  • The weekly problem sets are relatively easy.
  • The labs may take hours depending on how prepared you are and how quickly you can debug.
  • Heavy workload from prelabs and labs
  • Heavy workload from prelabs and labs, light problem sets (Zhang)

Advice Edit

  • It is really helpful to have the prelabs fully tested and working before going into lab so you don't have to spend too much time in lab.
  • In lab get a good, working breadboard and FPGA so you don't spend hours debugging. The odds of getting a bad FPGA aren't trivial at all, I got them in around a third of the labs.
  • If you are working across computers (e.g. coding at home, deploying it on the lab computer, know that just copying the source files is enough, trying to copy entire projects leads to trouble. Always ask a TA about such problems, as Quartus seems to forget configurations and settings once in a while.
  • Go to office hours. Someone has probably seen your bugs before.
  • Read the textbook for the first half of the course, second half pay attention to the lecture slides. Practice prelims are usually harder than the actual prelim. Prelim I had an extremely low mean, so it's worthwhile to do well on that to get ahead of the curve early on. (Zhang)
  • Every lecture has an in class quiz (which he announces ahead of time). Quizzes aren't too difficult but are a pain--pay attention to the slide or two before (Zhang)
  • Sometimes you can finish a lab on your own after lab time ends, or come another day. Sometimes you can't. Don't count on it or it may bite you.

Testimonials Edit

  • Took with Zhang, the material is not too difficult but he lectures quickly and its easy to miss things that he says.
  • Took with Zhang, learned a lot but he lectures too quickly and it's hard to understand what he says sometimes. He's clearly a really smart guy, but sometimes he goes way too quickly. He doesn't post slides ahead of time.
  • Took with Zhang. Great teacher, but you have to be a quick learner. Review slides after lessons because he goes quickly. Go to his office hours, he answers questions much more slowly and works through problems systematically.
  • Took with Albonesi. If you get food coma, then please don't eat before lecture. The professor is blessed with a nice, soothing voice that unfortunately turns the class into a snooze fest. His exams are straight-forward.

Past Offerings Edit

Semester Time Professor Median Grade
Fall 2013 David Albonesi A
Spring 2014 TR 1:25-2:40 Zhiru Zhang B+
Fall 2014 TR 11:40-12:55 Edward Suh B+
Spring 2015 TR 1:25-2:40 Zhiru Zhang B+
Fall 2015 TR 11:40-12:55 Edward Suh B
Spring 2016 TR 1:25-2:40 Zhiru Zhang B+
Fall 2016 TR 11:40-12:55 David Albonesi A-
Spring 2017 TR 1:25-2:40 Zhiru Zhang B+
Spring 2018 TR 1:25-2:40 Zhiru Zhang A-
Fall 2018 TR 11:40-12:55 David Albonesi B+
Spring 2019 TR 1:25-2:40 Edward Suh


Community content is available under CC-BY-SA unless otherwise noted.