High-level modeling and FPGA prototyping of microprocessors

Emerging high-level hardware description and synthesis technologies in conjunction with field-programmable gate arrays (FPGAs) have significantly lowered the threshold for hardware development. Opportunities exist to integrate these technologies into a tool for exploring and evaluating microarchitectural designs. This paper presents a case study in developing the synthesizable high-level model of a superscalar processor and producing a working prototype in FPGA. Using an experimental operation-centric hardware description language, we have created the synthesizable model of a superscalar speculative out-of-order core for the integer subset of SimpleScalar PISA. A prototype implementation is produced by synthesizing the high-level model for the Spyder FPGA prototyping board. In addition, we have modified the baseline processor model to create derivative processor designs that add newly proposed experimental mechanisms. The derivative models are useful both in testing the completeness and correctness of new mechanisms and in assessing the mechanisms' impact on implementation area and cycle time.

[1]  Tag Gon Kim,et al.  A design and tool reuse methodology for rapid prototyping of application specific instruction set processors , 1999, Proceedings Tenth IEEE International Workshop on Rapid System Prototyping. Shortening the Path from Specification to Prototype (Cat. No.PR00246).

[2]  Eric W. Weisstein Term Rewriting System , 2003 .

[3]  T. N. Vijaykumar,et al.  Is SC + ILP = RC? , 1999, ISCA.

[4]  Gary Peterson,et al.  UltraSPARC-I , 1995, DAC '95.

[5]  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).

[6]  Anoop Gupta,et al.  Complete computer system simulation: the SimOS approach , 1995, IEEE Parallel Distributed Technol. Syst. Appl..

[7]  Sarita V. Adve,et al.  RSIM: a simulator for shared-memory multiprocessor and uniprocessor systems that exploit ILP , 1997, WCAE-3 '97.

[8]  Soo-Ik Chae,et al.  Emulator environment based on an FPGA prototyping board , 2000, Proceedings 11th International Workshop on Rapid System Prototyping. RSP 2000. Shortening the Path from Specification to Prototype (Cat. No.PR00668).

[9]  James Gateley UltraSPARC™ -I Emulation , 1995, DAC 1995.

[10]  Trevor Mudge,et al.  Rapid Prototyping & Evaluation of High-Performance Computers , 1996 .

[11]  Fredrik Larsson,et al.  Simics: A Full System Simulation Platform , 2002, Computer.

[12]  Margaret Martonosi,et al.  Wattch: a framework for architectural-level power analysis and optimizations , 2000, Proceedings of 27th International Symposium on Computer Architecture (IEEE Cat. No.RS00201).

[13]  Samuel D. Naffziger,et al.  The implementation of the next-generation 64b itanium microprocessor , 2002 .

[14]  B.S. Suparjo,et al.  Rapid prototyping asynchronous processor , 2000, ICSE 2000. 2000 IEEE International Conference on Semiconductor Electronics. Proceedings (Cat. No.00EX425).

[15]  Michael Gschwind,et al.  FPGA prototyping of a RISC processor core for embedded applications , 2001, IEEE Trans. Very Large Scale Integr. Syst..

[16]  Ming Wang,et al.  Hardware emulation for functional verification of K5 , 1996, DAC '96.

[17]  James C. Hoe,et al.  Dual use of superscalar datapath for transient-fault detection and recovery , 2001, Proceedings. 34th ACM/IEEE International Symposium on Microarchitecture. MICRO-34.

[18]  Todd M. Austin,et al.  The SimpleScalar tool set, version 2.0 , 1997, CARN.