Timing and area optimization for standard-cell VLSI circuit design

A standard cell library typically contains several versions of any given gate type, each of which has a different gate size. We consider the problem of choosing optimal gate sizes from the library to minimize a cost function (such as total circuit area) while meeting the timing constraints imposed on the circuit. After presenting an efficient algorithm for combinational circuits, we examine the problem of minimizing the area of a synchronous sequential circuit for a given clock period specification. This is done by appropriately selecting a size for each gate in the circuit from a standard-cell library, and by adjusting the delays between the central clock distribution node and individual flip-flops. Experimental results show that by formulating gate size selection together with the clock skew optimization as a single optimization problem, it is not only possible to reduce the optimized circuit area, but also to achieve faster clocking frequencies. Finally, we address the problem of making this work applicable to very large synchronous sequential circuits by partitioning these circuits to reduce the computational complexity. >

[1]  Leonard W. Cotten Circuit implementation of high-speed pipeline systems , 1965, AFIPS '65 (Fall, part I).

[2]  David Bryan,et al.  Combinational profiles of sequential benchmark circuits , 1989, IEEE International Symposium on Circuits and Systems,.

[3]  Jochen A. G. Jess,et al.  Gate sizing in MOS digital circuits with linear programming , 1990, Proceedings of the European Design Automation Conference, 1990., EDAC..

[4]  M. Chan,et al.  PROMPT3-a cell-based transistor sizing program using heuristic and simulated annealing algorithms , 1989, 1989 Proceedings of the IEEE Custom Integrated Circuits Conference.

[5]  Andrew Lim,et al.  On the circuit implementation problem (combinatorial logic circuits) , 1992, [1992] Proceedings 29th ACM/IEEE Design Automation Conference.

[6]  Brian W. Kernighan,et al.  An efficient heuristic procedure for partitioning graphs , 1970, Bell Syst. Tech. J..

[7]  Ieee Circuits,et al.  IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems information for authors , 2018, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[8]  Pak K. Chan Algorithms for library-specific sizing of combinational logic , 1991, DAC '90.

[9]  David Hung-Chang Du,et al.  Efficient Algorithms for Extracting the K Most Critical Paths in Timing Analysis , 1989, 26th ACM/IEEE Design Automation Conference.

[10]  Malgorzata Marek-Sadowska,et al.  Delay and area optimization in standard-cell design , 1990, 27th ACM/IEEE Design Automation Conference.

[11]  Alberto Sangiovanni-Vincentelli,et al.  Optimization-based transistor sizing , 1988 .

[12]  Weitong Chuang,et al.  Delay and area optimization for discrete gate sizes under double-sided timing constraints , 1993, Proceedings of IEEE Custom Integrated Circuits Conference - CICC '93.

[13]  R. M. Mattheyses,et al.  A Linear-Time Heuristic for Improving Network Partitions , 1982, 19th Design Automation Conference.

[14]  Chingwei Yeh,et al.  A general purpose multiple way partitioning algorithm , 1991, DAC '91.

[15]  Peter M. Kogge,et al.  The Architecture of Pipelined Computers , 1981 .

[16]  W. C. Elmore The Transient Response of Damped Linear Networks with Particular Regard to Wideband Amplifiers , 1948 .

[17]  F. Brglez,et al.  A neutral netlist of 10 combinational benchmark circuits and a target translator in FORTRAN , 1985 .

[18]  T. I. Kirkpatrick,et al.  PERT as an aid to logic design , 1966 .

[19]  Wei-Tong Chuang Timing and Area Optimization for VLSI Circuit and Layout , 1994 .

[20]  David Marple Transistor Size Optimization in the Tailor Layout System , 1989, 26th ACM/IEEE Design Automation Conference.

[21]  Sachin S. Sapatnekar,et al.  A convex optimization approach to transistor sizing for CMOS circuits , 1991, 1991 IEEE International Conference on Computer-Aided Design Digest of Technical Papers.

[22]  Laura A. Sanchis,et al.  Multiple-Way Network Partitioning , 1989, IEEE Trans. Computers.

[23]  C. D. Gelatt,et al.  Optimization by Simulated Annealing , 1983, Science.

[24]  Andrew B. Kahng,et al.  Geometric Embeddings for Faster and Better Multi-Way Netlist Partitioning , 1993, 30th ACM/IEEE Design Automation Conference.

[25]  G. Ding Discrete optimization , 1977 .

[26]  Balakrishnan Krishnamurthy,et al.  An Improved Min-Cut Algonthm for Partitioning VLSI Networks , 1984, IEEE Transactions on Computers.

[27]  Andrew B. Kahng,et al.  New spectral methods for ratio cut partitioning and clustering , 1991, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[28]  Martine D. F. Schlag,et al.  Spectral K-Way Ratio-Cut Partitioning and Clustering , 1993, 30th ACM/IEEE Design Automation Conference.

[29]  Narendra Karmarkar,et al.  A new polynomial-time algorithm for linear programming , 1984, Comb..

[30]  Sung-Mo Kang,et al.  iCOACH: A circuit optimization aid for CMOS high-performance circuits , 1991, Integr..

[31]  Kye S. Hedlund Aesop: A Tool for Automated Transistor Sizing , 1987, 24th ACM/IEEE Design Automation Conference.

[32]  Sartaj Sahni,et al.  On the circuit implementation problem , 1992, DAC '92.

[33]  Ren-Song Tsay,et al.  An exact zero-skew clock routing algorithm , 1993, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

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