Designing a reorder buffer in Bluespec

Production capabilities for complex VLSI chips have outpaced the ability of current generation CAD tools to design and verify such chips effectively. Bluespec is designed to synthesize high-level descriptions in the form of guarded atomic actions into high quality structural RTL. While much work has been done on verifying both the correctness and synthesizability of Bluespec descriptions, the work on realistic large scale designs is in early stages. This paper explores the design of the reorder buffer for an out-of-order superscalar processor with a MIPS I ISA. We discuss the design methodologies which are suited for large scale Bluespec design and discuss some of the difficulties we encountered. Even though the work is still in progress, we show what level of performance is achievable under the current Bluespec compiler and what problems need to be solved to make the tool viable for commercial production environments.

[1]  Stephen A. Edwards,et al.  The synchronous languages 12 years later , 2003, Proc. IEEE.

[2]  Nikil D. Dutt,et al.  SPARK: a high-level synthesis framework for applying parallelizing compiler transformations , 2003, 16th International Conference on VLSI Design, 2003. Proceedings..

[3]  Heinrich Meyr,et al.  Architecture implementation using the machine description language LISA , 2002, Proceedings of ASP-DAC/VLSI Design 2002. 7th Asia and South Pacific Design Automation Conference and 15h International Conference on VLSI Design.

[4]  Daniel D. Gajski,et al.  High ― Level Synthesis: Introduction to Chip and System Design , 1992 .

[5]  Srinivas Devadas,et al.  ISDL: an instruction set description language for retargetability , 1997, DAC.

[6]  Kaisa Sere,et al.  Action systems in pipelined processor design , 1997, Proceedings Third International Symposium on Advanced Research in Asynchronous Circuits and Systems.

[7]  James C. Hoe,et al.  Operation-centric hardware description and synthesis , 2004, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[8]  Mark R. Greenstreet,et al.  From high-level descriptions to vlsi circuits , 1988, BIT Comput. Sci. Sect..

[9]  James C. Hoe,et al.  Synthesis of operation-centric hardware descriptions , 2000, IEEE/ACM International Conference on Computer Aided Design. ICCAD - 2000. IEEE/ACM Digest of Technical Papers (Cat. No.00CH37140).

[10]  David L. Dill,et al.  The Murphi Verification System , 1996, CAV.

[11]  Xiaowei Shen,et al.  Using term rewriting systems to design and verify processors , 1999, IEEE Micro.

[12]  Minh N. Do,et al.  Youn-Long Steve Lin , 1992 .