Automatic pipelining from transactional datapath specifications

We present a transactional datapath specification (T-spec) and the tool (T-piper) to synthesize automatically an in-order pipelined implementation from it. T-spec abstractly views a datapath as executing one transaction at a time, computing next system states based on current ones. From a T-spec, T-piper can synthesize a pipelined implementation that preserves original transaction semantics, while allowing simultaneous execution of multiple overlapped transactions across pipeline stages. T-piper not only ensures the correctness of pipelined executions, but can also employ forwarding and speculation to minimize performance loss due to data dependencies. Design case studies on RISC and CISC processor pipeline development are reported.

[1]  Rainer Leupers,et al.  RTL processor synthesis for architecture exploration and implementation , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.

[2]  Rajiv Gupta,et al.  Automatic generation of microarchitecture simulators , 1998, Proceedings of the 1998 International Conference on Computer Languages (Cat. No.98CB36225).

[3]  Nikil D. Dutt,et al.  Synthesis-driven exploration of pipelined embedded processors , 2004, 17th International Conference on VLSI Design. Proceedings..

[4]  Markus Freericks,et al.  Describing instruction set processors using nML , 1995, Proceedings the European Design and Test Conference. ED&TC 1995.

[5]  R. Guerrieri,et al.  IP-reusable 32-bit VLIW Risc core , 2001, Proceedings of the 27th European Solid-State Circuits Conference.

[6]  Soha Hassoun,et al.  Architectural retiming: pipelining latency-constrained circuits , 1996, DAC '96.

[7]  Jonathan Rose,et al.  Exploration and Customization of FPGA-Based Soft Processors , 2007, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[8]  Ricardo E. Gonzalez,et al.  Xtensa: A Configurable and Extensible Processor , 2000, IEEE Micro.

[9]  Jordi Cortadella,et al.  Synthesis of synchronous elastic architectures , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[10]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[11]  David L. Dill,et al.  Automatic verification of Pipelined Microprocessor Control , 1994, CAV.

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

[13]  I. Pyo,et al.  Application-driven design automation for microprocessor design , 1992, [1992] Proceedings 29th ACM/IEEE Design Automation Conference.

[14]  Lesley Shannon,et al.  Standardizing the performance assessment of reconfigurable processor architectures , 2003, 11th Annual IEEE Symposium on Field-Programmable Custom Computing Machines, 2003. FCCM 2003..

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

[16]  Arvind,et al.  High-level synthesis: an essential ingredient for designing complex ASICs , 2004, ICCAD 2004.

[17]  Kenneth L. McMillan,et al.  A methodology for hardware verification using compositional model checking , 2000, Sci. Comput. Program..

[18]  Daniel Kroening,et al.  Automated pipeline design , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[19]  Jordi Cortadella,et al.  Correct-by-construction microarchitectural pipelining , 2008, ICCAD 2008.

[20]  Yoshinori Takeuchi,et al.  PEAS-III: an ASIP design environment , 2000, Proceedings 2000 International Conference on Computer Design.

[21]  Sumit Gupta,et al.  SPARK: A Parallelizing Approach to the High-Level Synthesis of Digital Circuits , 2004 .

[22]  Trevor Mudge,et al.  MiBench: A free, commercially representative embedded benchmark suite , 2001 .

[23]  Yoshinori Takeuchi,et al.  Design of application specific CISC using PEAS-III , 2002, Proceedings 13th IEEE International Workshop on Rapid System Prototyping.

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

[25]  Martin C. Rinard,et al.  High-level automatic pipelining for sequential circuits , 2001, International Symposium on System Synthesis (IEEE Cat. No.01EX526).