On the performance of level-clocked circuits

Although it is well-known that substituting level-sensitive latches for edge-triggered registers can boost circuit performance, results of measuring the performance gained by using latches in real circuits-when retiming is used to optimize the performance of both types of circuits-have been disappointing. In this paper we re-examine the speedup that can be expected from using latches and develop upper and lower bounds on the clock period of retimed circuits that are tighter than previously published bounds. We then show experimentally that pipelined level-clocked circuits almost always achieve the lower bound while edge-clocked circuits seldom do. These bounds also illuminate where performance from level-clocking can and cannot be achieved. For the circuits that do benefit from latches, the average speedup is about 11%, although much greater speedups are common. Another factor affecting performance that has generally been ignored is clock skew. Clocks in edge-clocked circuits must be slowed down by an amount equal to the clock skew while level-clocked circuits are more tolerant of clock skew. We show experimentally that on average level-clocked circuits can tolerate clock skew of 15% of the clock period which can be translated directly into increased performance.

[1]  R. K. Brayton,et al.  Graph algorithms for clock schedule optimization , 1992, 1992 IEEE/ACM International Conference on Computer-Aided Design.

[2]  Michel Dagenais,et al.  On the calculation of optimal clocking parameters in synchronous circuits with level-sensitive latches , 1989, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[3]  Carl Ebeling,et al.  The practical application of retiming to the design of high-performance systems , 1993, Proceedings of 1993 International Conference on Computer Aided Design (ICCAD).

[4]  Brian Lockyear Algorithms for retiming level-clocked circuits and their use in increased circuit robustness , 1995 .

[5]  Alexander Ishii Timing in level-clocked circuits , 1992 .

[6]  T. G. Szymanski,et al.  Verifying clock schedules , 1992, 1992 IEEE/ACM International Conference on Computer-Aided Design.

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

[8]  Alexander T. Ishii Retiming gated-clocks and precharged circuit structures , 1993, Proceedings of 1993 International Conference on Computer Aided Design (ICCAD).

[9]  Marios C. Papaefthymiou,et al.  Edge-triggering vs. two-phase level-clocking , 1993 .

[10]  Christer Svensson,et al.  A unified single-phase clocking scheme for VLSI systems , 1990 .

[11]  Charles E. Leiserson,et al.  A TIMING ANALYSIS OF LEVEL-CLOCKED CIRCUITRY , 1990 .

[12]  C. E. Leiserson,et al.  Optimal Retiming of Multi-Phase, Level-Clocked Circuits , 1991 .

[13]  Kunle Olukotun,et al.  Analysis and design of latch-controlled synchronous digital circuits , 1992, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[14]  Charles E. Leiserson,et al.  Optimizing Synchronous Circuitry by Retiming (Preliminary Version) , 1983 .

[15]  Marios C. Papaefthymiou,et al.  TIM: A Timing Package for Two-Phase, Level-Clocked Circuitry , 1993, 30th ACM/IEEE Design Automation Conference.

[16]  Thomas G. Szymanski,et al.  Computing optimal clock schedules , 1992, [1992] Proceedings 29th ACM/IEEE Design Automation Conference.

[17]  Trevor N. Mudge,et al.  CheckT/sub c/ and minT/sub c/: timing verification and optimal clocking of synchronous digital circuits , 1990, 1990 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.