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.
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 |