Optimizing two-phase, level-clocked circuitry

We investigate two strategies for reducing the clock period of a two-phase, level-clocked circuit: clock tuning, which adjusts the waveforms that clock the circuit, and retiming, which relocates circuit latches. These methods can be used to convert a circuit with edge-triggered latches into a faster level-clocked one. We model a two-phase circuit as a graph G 5 (V, E) whose vertex set V is a collection of combinational logic blocks, and whose edge set E is a set of interconnections. Each interconnection passes through zero or more latches, where each latch is clocked by one of two periodic, nonoverlapping waveforms, or phases. We give efficient polynomial-time algorithms for problems involving the timing verification and optimization of two-phase circuitry. Included are algorithms for —verifying proper timing: O(VE) time. —minimizing the clock period by clock tuning: O(VE) time. —retiming to achieve a given clock period when the phases are symmetric: O(VE 1 V lg V) time. —retiming to achieve a given clock period when either the duty cycle (high time) of one phase or the ratio of the phases’ duty cycles is fixed: O(V) time. We give fully polynomial-time approximation schemes for clock period minimization, within any given relative error e . 0, by —retiming and tuning when the duty cycles of the two phases are required to be equal: O((VE 1 V lg V)lg(V/e)) time. —retiming and tuning when either the duty cycle of one phase is fixed or the ratio of the phases’ duty cycles is fixed: O(V lg(V/e)) time. —simultaneous retiming and clock tuning with no conditions on the duty cycles of the two phases: O(V(1/e)lg(1/e) 1 (VE 1 V lg V)lg(V/e)) time. The first two of these approximation algorithms can be used to obtain the optimum clock period in the special case where all propagation delays are integers. We generalize most of the results for two-phase clocking schemes to simple multiphase clocking disciplines, including ones with overlapping phases. Typically, the algorithms to verify and optimize This research was supported in part by the Defense Advanced Research Projects Agency under Grant N00014-91-J-1698. Authors’ present addresses: A. T. Ishii, NEC USA C&C Research Laboratories, Princeton, NJ 08540; C. E. Leiserson, Massachusetts Institute of Technology, Laboratory for Computer Science, Cambridge, MA 02139; M. C. Papaefthymiou, Advanced Computer Architecture Laboratory, Room 2218 EECS Building, Ann Arbor, MI 48109-2122. Permission to make digital / hard copy of part or all of this work for personal or classroom use is granted without fee provided that the copies are not made or distributed for profit or commercial advantage, the copyright notice, the title of the publication, and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery (ACM), Inc. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and /or a fee. q 1997 ACM 0004-5411/97/0100-0148 $03.50 Journal of the ACM, Vol. 44, No. 1, January 1997, pp. 148–199. the timing of k-phase circuitry are at most a factor of k slower than the corresponding algorithms for two-phase circuitry. Our algorithms have been implemented in TIM, a timing package for two-phase, level-clocked circuitry developed at MIT.

[1]  Donald B. Johnson,et al.  Efficient Algorithms for Shortest Paths in Sparse Networks , 1977, J. ACM.

[2]  James B. Orlin,et al.  Finding minimum cost to time ratio cycles with small integral transit times , 1993, Networks.

[3]  Nimrod Megiddo,et al.  Linear Programming in Linear Time When the Dimension Is Fixed , 1984, JACM.

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

[5]  Robert K. Brayton,et al.  Retiming of circuits with single phase transparent latches , 1991, [1991 Proceedings] IEEE International Conference on Computer Design: VLSI in Computers and Processors.

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

[7]  G. Dantzig,et al.  FINDING A CYCLE IN A GRAPH WITH MINIMUM COST TO TIME RATIO WITH APPLICATION TO A SHIP ROUTING PROBLEM , 1966 .

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

[9]  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.

[10]  Alice C. Parker,et al.  Theory of Clocking for Maximum Execution Overlap of High-Speed Digital Systems , 1988, IEEE Trans. Computers.

[11]  Charles E. Leiserson,et al.  Optimizing synchronous systems , 1981, 22nd Annual Symposium on Foundations of Computer Science (sfcs 1981).

[12]  Lynn Conway,et al.  Introduction to VLSI systems , 1978 .

[13]  Marios C. Papaefthymiou Understanding retiming through maximum average-weight cycles , 1991, SPAA '91.

[14]  M. C. Papaefthymiou ON RETIMING SYNCHRONOUS CIRCUITRY AND MIXED-INTEGER OPTIMIZATION , 1990 .

[15]  Narendra V. Shenoy,et al.  Verifying clock schedules , 1992, ICCAD 1992.

[16]  M. R. Rao,et al.  Combinatorial Optimization , 1992, NATO ASI Series.

[17]  Sachin S. Sapatnekar,et al.  Clock Skew Optimization , 1999 .

[18]  Daniel W. Dobberpuhl,et al.  The design and analysis of VLSI circuits , 1985 .

[19]  Nicholas C. Rumin,et al.  Automatic determination of optimal clocking parameters in synchronous MOS VLSI circuits , 1988 .

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

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

[22]  Charles E. Leiserson,et al.  A Mixed-Integer Linear Programming Problem which is Efficiently Solvable , 1988, J. Algorithms.

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

[24]  Marios C. Papaefthymiou,et al.  A Timing Analysis and Optimization System for Level-Clocked Circuitry , 1993 .

[25]  Kenneth Steiglitz,et al.  Combinatorial Optimization: Algorithms and Complexity , 1981 .

[26]  Robert K. Brayton,et al.  Retiming and resynthesis: optimizing sequential networks with combinational techniques , 1991, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[27]  Robert H. Halstead,et al.  Computation structures , 1990, MIT electrical engineering and computer science series.

[28]  Stephen H. Unger,et al.  Clocking Schemes for High-Speed Digital Systems , 1986, IEEE Transactions on Computers.

[29]  Nimrod Megiddo,et al.  Partitioning with Two Lines in the Plane , 1985, J. Algorithms.