Computer Science 294-48: Hardware Design Patterns

Fall 2009

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.