EE290A: Advanced Topics in CAD |
||
Outline Lectures Homework Project Logistics |
Tu. Th. 2:00-3:30pm, Hogan Room (531 Cory Hall) Kurt Keutzer and Richard Newton The microelectronics industry is build upon Moore's Law, which changes many aspects of the design of an electronic system at an exponential rate. As such, it has proved impossible for any single approach to the design of single-chip electronic systems to last more than about a decade without requiring a significant change in the way we construct and verify such systems. In 1971, the invention of the microprocessor was one such change. In the early 1980's, the use of regular layout structures and the adoption of physical synthesis (the birth of the ASIC industry) was a major change and in the late 1980's the widespread adoption of logic synthesis fundamentally changed the way in which most designers approached their task. We need another major change if we are to achieve the full potential of tomorrow's silicon--in fact we are already late! One of the key ideas both industry and academia is exploring in this direction is that of design re-use. If over than 90% of a design involves the reuse of pre-existing components, then we have increased design productivity by at least order of magnitude. But what does it mean to actually re-use a design? To begin with, we need a way of capturing, encapsulating and abstracting design components such that there is a significant advantage in the re-use of an existing design. How do we abstract such a component for use in other contexts and preserve as much of the work we have already done in optimizing, verifying, and testing the component? At what levels should we capture the component design and why? These are a few of the questions we wish to address this Spring semester in our seminar, oriented towards the understanding of what a useful component-based methodology should look like and how to implement it efficiently. The goal is not as much to solve the problem, but to formulate it and identify the key open research issues that need to be addressed. To that end, we plan to tackle the problem by taking one or more real designs developed here at Berkeley and revisiting them in the context of a component-based approach. The course will be organized around the three major emphases of component-based design,
implementation(hard, firm, and soft), and component-based verification. We
will emphasize both the software and hardware aspects of implementation, and their
tradeoffs. In many areas, we will invite guest lecturers to present the state-of-the-art
and help us sort through the issues. Some of the topics we will be covering include:
Grading for the course will be centered about a project that relates to the area of component-based design and an associated class presentation at the end of the semester. During the semester there will be one or more paper-review assignments for presentation to the class as a whole. We anticipate that most of the projects will involve the review and characterization of a particular form of component, in terms of its design issues, implementation, and verification, and metrics associated with each aspect. At the end of the semester, we hope to share a deep understanding of the open issues associated with the implementation of parameterized hardware/software designs in future silicon processes, the EDA tools needed for their implementation and the strengths/weaknesses of existing tools, and the metrics needed to characterize them. |