Computer Science 294-48: Hardware Design Patterns

Fall 2009

Prof. Krste Asanović

Prof. John Wawrzynek

Meetings: Thursday, 2:00-3:30PM, 511 Soda

This course is a graduate seminar in which we will attempt to construct a hardware pattern language to capture common solutions to digital hardware engineering problems. The hardware pattern language will include common techniques for handling computation, communication, and synchronization in the context of large-scale digital VLSI systems. The intent is for the pattern language to be later used as a conceptual framework for teaching design or for developing high-level hardware design tools.

The course is intended for graduate students interested in computer architecture, reconfigurable computing, digital VLSI design, and ECAD. Each student will author one pattern, or a group of related patterns, and will also act as shepherd for another pattern or pattern group. The class can be taken together with CS250, and the design project from CS250 can be used to provide examples for the pattern to be authored in CS294-48. Participation in discussions developing the overall structure of the pattern language will be another important component of the class. The last few meetings of the class will be a pattern workshop where descriptions are refined by the entire group.

Detailed course info

Course Calendar with Handouts

Subject to Change.

Week Date Meeting Agenda Assignments Scribe Notes
1 Thu Aug 27 Course Introduction and Overview PDF De Hon et al., "Design Patterns for Reconfigurable Computing", FCCM 2004  
2 Thu Sep 3 BHPL Version 0.2 PDF   Chris Celio
3 Thu Sep 10 Example hardware systems (part 1). Present one hardware engine broken into patterns. Presentation Order and Slides Andrew Waterman
4 Thu Sep 17 Example hardware systems (part 2). Present one hardware engine broken into patterns. Presentation Order and Slides Henry Cook
5 Thu Sep 24 Example hardware systems (part 3). Present one hardware engine broken into patterns. Presentation Order and Slides Shaoyi Cheng
6 Thu Oct 1 BHPL Version 0.3 PDF   Greg Gibeling
7 Thu Oct 8 BHPL Version 0.4 PDF   Scott Beamer
8 Thu Oct 15 Extracting patterns from examples   Sarah Bird
9 Thu Oct 22 Extracting patterns from examples   Rimas Avizienis
10 Thu Oct 29 Extracting patterns from examples   Ilia Lebedev
11 Thu Nov 5 BHPL Version 0.5/Assign Patterns PDF   Yunsup Lee
12 Thu Nov 12 No Class    
13 Thu Nov 19 Patterns Workshop    
14 Thu Nov 26 Thanksgiving    
13 Tue Dec 1 Patterns Workshop    
15 Thu Dec 3 Class Wrap PDF    
16 Mon Dec 7   Draft report due to Shepherd  
  Wed Dec 9   Shepherd comments due back to author  
  Fri Dec 11   Final report due