We present a high-level synthesis technique that takes as input two orthogonal descriptions: (a) a behavioral architectural contract between the implementation and the user, and (b) a microarchitecture on which the architectural contract can be implemented. We describe a prototype compiler that generates control required to enforce the contract, and thus, synthesizes the pair of descriptions to hardware. Categories and Subject Descriptors B.5.2 [Register Transfer Level Implementation]: De
Nikhil A. Patil, Ankit Bansal, Derek Chiou