Declarative Design
What A technique for making it easier to design and redesign using descriptions of design at a much high level that make it easier for both a human or machine to manually or automatically explore potential implementation tradeoffs. We do this for instance by factoring designs into architectural specifications and microarchitectural implementations. Finally, we are inventing new automatic design space optimization methods that effectively explore over large design spaces while maximizing over variables that we care about such as joules / op and area.
Which 1. Hardware design patterns implemented in Chisel. 2. Decoupled networks of transactors, where a transactor is specified using multicycle transactional rules and is automatically scheduled onto a pipeline. 3. new optimization techniques 4. fast emulation hardware
Why It is getting harder and harder to achieve sizeable hardware efficiency gains using traditional manual design. In order to discover bigger efficiency gains we need larger design space exploration. Unfortunately, traditional computer architecture design involves a large amount of manual effort that dramatically slows down the search for better designs.
Who Jonathan Bachrach and Henry Cook and Krste Asanovic
How Chisel and Scala
When 2012-present
Where UC Berkeley EECS
And chisel and emulator