Retiming Pulsed-Latch Circuits With Regulating Pulse Width

A pulsed-latch is an ideal sequencing element for high-performance application-specific integrated circuit designs due to its simple timing model and reduced sequencing overhead. The possibility of time-borrowing while a latch is transparent is deliberately ignored in pulsed-latch circuits to simplify the timing model. However, using more than one pulse width allows another form of time-borrowing, which preserves the simple timing model. The associated problem of allocating pulse widths is called pulse width allocation (PWA); and we combine it with retiming to achieve a shorter clock period in pulsed-latch circuits than can be obtained by retiming or PWA alone, with less requirement for extra latches than standard retiming. An exact solution can be obtained by an integer linear programming, but this is restricted to small circuits. We therefore introduce a practical heuristic, which performs clock skew scheduling to find the minimum clock period and then brings the clock skew as nearly back to zero as possible by converting it to combined retiming and PWA. Experiments with 45 nm technology circuits suggest that the heuristic algorithm achieves a clock period that is close to minimum in most circuits, with an average 23% reduction compared to initial circuit, at an average cost of a 16% increase in the number of latches. On the same benchmarks, standard retiming achieves a 20% reduction in clock period with a 29% increase in the number of latches. The cost in extra area and energy is reasonable.

[1]  Samuel D. Naffziger,et al.  The implementation of the Itanium 2 microprocessor , 2002, IEEE J. Solid State Circuits.

[2]  Hyein Lee,et al.  Pulse width allocation with clock skew scheduling for optimizing pulsed latch-based sequential circuits , 2008, 2008 IEEE/ACM International Conference on Computer-Aided Design.

[3]  Hai Zhou,et al.  A new efficient retiming algorithm derived by formal manipulation , 2008, TODE.

[4]  Robert K. Brayton,et al.  Minimum padding to satisfy short path constraints , 1993, ICCAD '93.

[5]  Marios C. Papaefthymiou,et al.  DelaY: An Efficient Tool for Retiming with Realistic Delay Modeling , 1995, 32nd Design Automation Conference.

[6]  Doris Schmitt-Landsiedel,et al.  Architectural assessment of design techniques to improve speed and robustness in embedded microprocessors , 2009, 2009 46th ACM/IEEE Design Automation Conference.

[7]  Sachin S. Sapatnekar,et al.  Utilizing the retiming-skew equivalence in a practical algorithm for retiming large circuits , 1996, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[8]  Marios C. Papaefthymiou,et al.  Optimizing two-phase, level-clocked circuitry , 1997, JACM.

[9]  H. Suzuki,et al.  A 100 MHz, 0.4 W RISC processor with 200 MHz multiply adder, using pulse-register technique , 1996, 1996 IEEE International Solid-State Circuits Conference. Digest of TEchnical Papers, ISSCC.

[10]  Youngsoo Shin,et al.  Retiming and time borrowing: Optimizing high-performance pulsed-latch-based circuits , 2009, 2009 IEEE/ACM International Conference on Computer-Aided Design - Digest of Technical Papers.

[11]  F. Weber,et al.  An out-of-order three-way superscalar multimedia floating-point unit , 1999, 1999 IEEE International Solid-State Circuits Conference. Digest of Technical Papers. ISSCC. First Edition (Cat. No.99CH36278).

[12]  Edwin Hsing-Mean Sha,et al.  Retiming and clock skew for synchronous systems , 1994, Proceedings of IEEE International Symposium on Circuits and Systems - ISCAS '94.

[13]  F. Weber,et al.  Flow-through latch and edge-triggered flip-flop hybrid elements , 1996, 1996 IEEE International Solid-State Circuits Conference. Digest of TEchnical Papers, ISSCC.

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

[15]  Hai Zhou,et al.  An efficient retiming algorithm under setup and hold constraints , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[16]  Yao-Wen Chang,et al.  Pulsed-Latch Aware Placement for Timing-Integrity Optimization , 2011, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[17]  Hans-Georg Martin Retiming by combination of relocation and clock delay adjustment , 1993, Proceedings of EURO-DAC 93 and EURO-VHDL 93- European Design Automation Conference.

[18]  B. Korte,et al.  Clock scheduling and clocktree construction for high performance ASICs , 2003, ICCAD-2003. International Conference on Computer Aided Design (IEEE Cat. No.03CH37486).

[19]  Nasser A. Kurd,et al.  A multigigahertz clocking scheme for the Pentium(R) 4 microprocessor , 2001, IEEE J. Solid State Circuits.

[20]  Marios C. Papaefthymiou,et al.  Eecient Pipelining of Level-clocked Circuits with Min-max Propagation Delays , 1995 .

[21]  Yao-Wen Chang,et al.  Pulsed-Latch Aware Placement for Timing-Integrity Optimization , 2011, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[22]  Atsushi Takahashi,et al.  Clock period minimization method of semi-synchronous circuits by delay insertion , 2004, The 2004 IEEE Asia-Pacific Conference on Circuits and Systems, 2004. Proceedings..

[23]  Hiroyuki Sugiyama,et al.  A 1.3 GHz fifth generation SPARC64 microprocessor , 2003, 2003 IEEE International Solid-State Circuits Conference, 2003. Digest of Technical Papers. ISSCC..

[24]  Sunil P. Khatri,et al.  A robust, fast pulsed flip-flop design , 2008, GLSVLSI '08.

[25]  Hai Zhou,et al.  Clock Skew Scheduling with Delay Padding for Prescribed Skew Domains , 2007, 2007 Asia and South Pacific Design Automation Conference.

[26]  John P. Fishburn,et al.  Clock Skew Optimization , 1990, IEEE Trans. Computers.

[27]  Lawrence T. Clark,et al.  An embedded 32-b microprocessor core for low-power and high-performance applications , 2001 .

[28]  Hiroyuki Sugiyama,et al.  A 1.3 GHz fifth generation SPARC64 microprocessor , 2003 .

[29]  P. R. Stephan,et al.  SIS : A System for Sequential Circuit Synthesis , 1992 .

[30]  Hyein Lee,et al.  Pulse Width Allocation and Clock Skew Scheduling: Optimizing Sequential Circuits Based on Pulsed Latches , 2010, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[31]  Youngsoo Shin,et al.  Statistical time borrowing for pulsed-latch circuit designs , 2010, 2010 15th Asia and South Pacific Design Automation Conference (ASP-DAC).

[32]  Eby G. Friedman,et al.  Incorporating interconnect, register, and clock distribution delays into the retiming process , 1997, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[33]  Marios C. Papaefthymiou,et al.  Retiming and clock scheduling for digital circuit optimization , 2002, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..