This CS294 seminar will focus on the problem of declarative design and design-space exploration for computer architectures. Modern hardware designs are increasingly complex systems with many specialized processing engines. The complexity of these systems and the severe physical constraints imposed by technology scaling are limiting the hardware efficiency gains possible using traditional manual design. Automated exploration of much larger design spaces is required to uncover further efficiency gains, but will require a much higher level of design description to avoid restricting the set of possible design solutions while maintaining architect productivity.

This class will consist of lectures and projects in three related areas of high-level architecture design. First, we will refine and extend earlier work in hardware pattern languages to provide a structure around which to base future high-level hardware design tools. Second, we will develop implementations of patterns as flexible parameterized design generators using the Chisel hardware construction language. Third, we will examine automatic design-space optimization methods and simulation techniques that effectively explore large design spaces while maximizing objective functions such as Tasks/Joule and Performance/Area.

Course Calendar with Handouts
Subject to Change.

Week Date Instr Lecture Assignments
1 Tue Jan 22 JB Lecture 1: Overview and Potential Projects pdf
Thu Jan 24 JB Lecture 2: Chisel Review pdf Rethinking Digital Design: Why Design Must Change
2 Tue Jan 29 JB Lecture 3: Generators and Parameterization pdf Chisel Tutorial
Thu Jan 31 KA Lecture 4: Patterns I pdf Using a Configurable Processor Generator for Computer Architecture Prototyping
3 Tue Feb 5 KA Lecture 5: Patterns II pdf Design Patterns for Reconfigurable Computing
Thu Feb 7 JB Lecture 6: Advanced Chisel pdf Verification Driven Formal Architecture and Microarchitecture Modeling
4 Tue Feb 12 JB Lecture 7: Embedded Domain Specific Languages pdf 802.11a Transmitter: A Case Study in Microarchitectural Exploration
Thu Feb 14 JH Lecture 8: Spiral by James Hoe pdf Computer Generation of Hardware for Linear Digital Signal Processing Transforms
5 Tue Feb 19 Lecture 9: discussion Accurate and Efficient Regression Modeling for Microarchitectural Performance and Power Prediction
Thu Feb 21 JS Lecture 10: Hardware / Software Codesign by John Shalf pdf Energy-Efficient Computing For Extreme-Scale Science
6 Tue Feb 26 JB Lecture 11: Design Space Exploration pdf Decoupling Algorithms from Schedules for Easy Optimization of Image Processing Pipelines
Thu Feb 28 JB Lecture 12: Optimization by Ali Rahimi pdf SPIRAL: Code Generation for DSP Transforms
7 Tue Mar 5 KA Lecture 13: Relevant Advanced Software Engineering Approaches by Martin Maas pdf Project Proposal due (before class)
Thu Mar 7 All Initial project proposal presentations.
8 Tue Mar 12 No class
Thu Mar 14 All Private project meetings with groups.
9 Tue Mar 19 All No class.
Thu Mar 21 All Public project progress presentations.
10 Tue Mar 26 All Spring Recess
Thu Mar 28 All Spring Recess
11 Tue Apr 2 No class.
Thu Apr 4 All Private project meetings with groups.
12 Tue Apr 9 No class.
Thu Apr 11 All Public project progress presentations.
13 Tue Apr 16 Private project meetings with groups.  
Thu Apr 18 All No Class  
14 Tue Apr 23 Josep Torrellas Guest Lecture III
Thu Apr 25 Public project progress presentations.
15 Tue Apr 30 No class.
Thu May 2 All Private project meetings with groups.
Tue May 7 All Final Project Presentations : 320 Soda
Thu May 9 All Final Project Presentations : 320 Soda
Wed May 15 All Final Project Reports Due at 11:59PM (NO EXTENSIONS)