Correct-by-construction microarchitectural pipelining

This paper presents a method for correct-by-construction microarchitectural pipelining that handles cyclic systems with dependencies between iterations. Our method combines previously known bypass and retiming transformations with a few transformations valid only for elastic systems with early evaluation (namely, empty FIFO insertion, FIFO capacity sizing, insertion of anti-tokens, and introducing early evaluation multiplexors). By converting the design to a synchronous elastic form and then applying this extended set of transformations, one can pipeline a functional specification with an automatically generated distributed controller that implements stalling logic resolving data hazards off the critical path of the design. We have developed an interactive toolkit for exploring elastic microarchitectural transformations. The method is illustrated by pipelining a few simple examples of instruction set architecture ISA specifications.

[1]  Pradip Bose,et al.  Synchronous interlocked pipelines , 2002, Proceedings Eighth International Symposium on Asynchronous Circuits and Systems.

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

[3]  Charles E. Leiserson,et al.  Retiming synchronous circuitry , 1988, Algorithmica.

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

[5]  Alice C. Parker,et al.  Sehwa: a software package for synthesis of pipelines from behavioral specifications , 1988, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

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

[7]  J. Cortadella,et al.  Performance analysis of concurrent systems with early evaluation , 2006, 2006 IEEE/ACM International Conference on Computer Aided Design.

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

[9]  Richard M. Karp,et al.  A characterization of the minimum cycle mean in a digraph , 1978, Discret. Math..

[10]  Erich Bloch,et al.  The engineering design of the stretch computer , 1959, IRE-AIEE-ACM '59 (Eastern).

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

[12]  Jean-Christophe Le Lann,et al.  POLYCHRONY for System Design , 2003, J. Circuits Syst. Comput..

[13]  Mark Aagaard,et al.  Simplifying the design and automating the verification of pipelines with structural hazards , 2005, TODE.

[14]  Jordi Cortadella,et al.  Synchronous Elastic Circuits with Early Evaluation and Token Counterflow , 2007, 2007 44th ACM/IEEE Design Automation Conference.

[15]  Luca P. Carloni,et al.  Using functional independence conditions to optimize the performance of latency-insensitive systems , 2007, ICCAD 2007.

[16]  John Launchbury,et al.  Elementary Microarchitecture Algebra , 1999, CAV.

[17]  Jordi Cortadella,et al.  Synchronous Elastic Networks , 2006, 2006 Formal Methods in Computer Aided Design.

[18]  M. Singh,et al.  Counterflow Pipelining: Architectural Support for Preemption in Asynchronous Systems using Anti-Tokens , 2006, 2006 IEEE/ACM International Conference on Computer Aided Design.

[19]  S. Hassoun,et al.  Using precomputation in architecture and logic resynthesis , 1998, 1998 IEEE/ACM International Conference on Computer-Aided Design. Digest of Technical Papers (IEEE Cat. No.98CB36287).

[20]  Alberto L. Sangiovanni-Vincentelli,et al.  Theory of latency-insensitive design , 2001, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[21]  Alberto L. Sangiovanni-Vincentelli,et al.  Coping with Latency in SOC Design , 2002, IEEE Micro.