CSE 467: Advanced Digital Design

Autumn 2013


Instructor and TA Information

Instructor: Gabe Cohn
Office: CSE 507
Email: gabecohn (AT) uw [d0t] edu
Office Hours: Friday 1:30-2:30pm in CSE 507, or by appointment

TA: Edward Wang
Office: CSE 507
Email: ejaywang (AT) uw [d0t] edu
Office Hours: Tuesday 10:00-11:00am in CSE 003, or by appointment

Course Email List: CSE467a_Au13 (AT) uw [d0t] edu

Lecture and Lab Time

Lecture: MWF 9:30-10:20
Location: CSE 303

Lab Section: Th 9:00-11:50
Location: CSE 003

Course Description

CSE 467 Advanced Digital Design (4): Advanced techniques in the design of digital systems. Hardware description languages, combinational and sequential logic synthesis and optimization methods, partitioning, mapping to regular structures. Emphasis on reconfigurable logic as an implementation medium. Memory system design. Digital communication including serial/parallel and synchronous/asynchronous methods. Prerequisite: either CSE 352 or CSE 370; either CSE 326 or CSE 332.

Course Goals

To provide in-depth understanding of digital systems and their design, from specification and simulation to construction and debugging. Students should learn how to build and optimize algorithms to run very quickly on custom hardware.

Textbook

There is no good textbook for this course. We will use the textbook below from CSE 352 as a reference. It covers many of the basic concepts we will be using and has an excellent treatment of designing with Verilog. I strongly advise you to read the Verilog chapter and follow the style given there. Try to forget other Verilog styles that you might have learned from reading Verilog “references”, which tell you everything you can do with Verilog without telling you how you should use Verilog.

Title: Digital Design and Computer Architecture
Authors: David Money Harris and Sarah L. Harris
Publisher: Mogan-Kaufman 2007
Errata: Here

Homework

A few homework assignments will be given throughout the quarter. Homework assignments will generally be given out on Wednesdays and will be due the following Wednesday at the start of class (unless otherwise noted).

Assignments turned in more than 10 minutes late (after 9:40am) will incur a 10% penalty. For every additional day (including weekend days) in which the assignment is late, an additional 10% is deduced from the score.

Assignment problems may sometimes be graded on a random basis. To get full credit for an assignment, you must, of course, turn-in solutions for each assigned problem. Only a subset of the problems may be graded in detail. You will not know in advance which problems this will be, so make sure to do all of them.

Please review the assignment solutions carefully before questioning a grade with either the instructor or the teaching assistants.

Labs

Labs make up an important part of the class. Labs will generally be given out on Mondays and will be due the following Monday at the start of class (unless otherwise noted).

Labs turned in more than 10 minutes late (after 9:40am) will incur a 10% penalty. For every additional day (including weekend days) in which the assignment is late, an additional 10% is deduced from the score.

Much of the lab can be completed during the 3 hour lab section on Thursdays, but additional time will be needed outside of the lab section.

The first two labs will be completed individually, but most of the remainder of the labs will be done in groups of two.

Final Project

The final project is an extended lab that will take several weeks at the end of the course. All of the labs build upon the final project. Like most of the labs, the final project will be completed in groups of two.

Exams

The will be no final exam, but there will be a 50 minute midterm taken in class. Student can use a single sheet of notes on the midterm.

Collaboration and Cheating

It is well known that students can learn a lot from each other given the chance. I encourage you to work with each other. However, I also expect the work you turn in for homework, labs and the design problems to be your own. That is, even though you may get ideas from other students, you are responsible for understanding it to the point where you can put the design together and get it to work. I also encourage you to help other students; however, although it is fine to discuss ideas or help them debug a design, please do not do their work for them.

I expect that the work you turn in is your own. To the extent that you get help, you must credit that help. When you do a joint problem or lab, all names must be on the assignment.

Grading

The course grade will be determined roughly as follows:

  • Homework: 13%
  • Labs: 40%
  • Midterm: 15%
  • Final Project: 32%

I do not grade on the curve. I'd be delighted if everyone got a 4.0.




Portions of this site may be reprinted or adapted for academic nonprofit purposes,
providing the source is accurately quoted and credited.
The CSE 467 Website: Copyright 2013, Department of Computer Science & Engineering, University of Washington.