6.375 Complex Digital Systems

Spring 2016

Term: Spring 2016
Instructors: Arvind
Prerequisites: 6.004 or equivalent
Credit: 5-5-2
Lectures: MWF 2:30-4:00, 34-301
Group Meetings: 32-G866

6.375 is a project-oriented subject teaching a new method for designing multi-million-gate hardware designs using high-level synthesis tools in conjunction with standard commercial EDA tools. The emphasis is on modular and robust designs; reusable modules; correctness by construction; architectural exploration; meeting area and timing constraints; and developing functional FPGA prototypes. This subject relies on high-level architectural knowledge and programming expertise rather than knowledge of low-level circuit design.

The first half of the subject introduces Bluespec, a hardware description language based on guarded atomic actions, using examples of increasing complexity. In the labs each student will learn to design audio filters and simple processors, first only in simulation and then on an FPGA platform. Emphasis will also be placed on development of proper infrastructure for testing designs. These labs will prepare the student for the class project that follows.

In the second half of the subject, students will work in small groups on large hardware design projects supervised by the subject staff and graduate student mentors. Past projects have included out-of-order processors, cache-coherent memory systems, advanced DRAM access schedulers, spam filters to support 1Gbps line rate, and physical layer processing of 802.11a protocol. Students will be required to develop working FPGA prototypes of their implementations.