CLIP: integer-programming-based optimal layout synthesis of 2D CMOS cells

A novel technique, <italic>CLIP</italic>, is presented for the automatic generation of optimal layouts of <italic>CMOS</italic> cells in the two-dimensional (2D) style. <italic>CLIP</italic> is based on integer-linear programming (<italic>ILP</italic>) and solves both the width and height minimization problems for 2D cells. Width minimization is formulated in a precise form that combines all factors influencing the 2D cell width—transistor placement, diffusion sharing, and vertical interrow connections—in a common problem space; this space is then searched in a systematic manner by the branch-and-bound algorithms used by <italic>ILP</italic> solvers. For height minimization, cell height is modeled accurately in terms of the horizontal wire routing density, and a minimum-height layout is found from among all layouts of minimum width. For exact width minimization alone, <italic>CLIP</italic>'s run times are in seconds for large circuits with 30 or more transistors. For both height and width optimization, <italic>CLIP</italic> is practical for circuits with up to 20 transistors. To extend <italic>CLIP</italic> to larger circuits, hierarchical methods are necessary. Since <italic>CLIP</italic> is optimum under the modeling assumptions, its layouts are significantly better than those generated by other, heuristic, layout tools.

[1]  Dennis V. Heinbuch,et al.  CMOS3 cell library , 1988 .

[2]  John P. Hayes,et al.  Width minimization of two-dimensional CMOS cells using integer programming , 1996, Proceedings of International Conference on Computer Aided Design.

[3]  C. Y. Roger Chen,et al.  Transistor chaining in CMOS leaf cells of planar topology , 1996, Proceedings of the Sixth Great Lakes Symposium on VLSI.

[4]  H. P. Williams,et al.  Model Building in Mathematical Programming , 1979 .

[5]  Rob A. Rutenbar,et al.  Integer programming based topology selection of cell-level analog circuits , 1995, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[6]  Yu-Chin Hsu,et al.  LiB: a CMOS cell compiler , 1991, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[7]  Brian W. Kernighan,et al.  AMPL: A Modeling Language for Mathematical Programming , 1993 .

[8]  John P. Hayes,et al.  Layout Minimization of CMOS Cells , 1991 .

[9]  Charles J. Poirier Excellerator: custom CMOS leaf cell layout generator , 1989, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[10]  John P. Hayes,et al.  Technology mapping for field-programmable gate arrays using integer programming , 1995, Proceedings of IEEE International Conference on Computer Aided Design (ICCAD).

[11]  Takashi Fujii,et al.  Two-dimensional layout synthesis for large-scale CMOS circuits , 1991, 1991 IEEE International Conference on Computer-Aided Design Digest of Technical Papers.

[12]  B. D. Bunday,et al.  Logic-Based 0-1 Constraint Programming , 1996 .

[13]  Takao Uehara,et al.  Optimal Layout of CMOS Functional Arrays , 1978, 16th Design Automation Conference.

[14]  Jaewon Kim,et al.  A timing-driven data path layout synthesis with integer programming , 1995, Proceedings of IEEE International Conference on Computer Aided Design (ICCAD).

[15]  John P. Hayes,et al.  A hierarchical technique for minimum-width layout of two-dimensional CMOS cells , 1997, Proceedings Tenth International Conference on VLSI Design.

[16]  Chi-Yuan Lo,et al.  GENAC: An Automatic Cell Synthesis Tool , 1989, 26th ACM/IEEE Design Automation Conference.

[17]  Avaneendra Gupta Integer-programming-based layout synthesis of two-dimensional CMOS cells , 1997 .

[18]  Richard C. Larson,et al.  Model Building in Mathematical Programming , 1979 .

[19]  R.L. Rivest,et al.  A "Greedy" Channel Router , 1982, 19th Design Automation Conference.

[20]  Martin D. F. Wong,et al.  On over-the-cell channel routing with cell orientations consideration , 1995, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[21]  Xin He,et al.  Minimum area layout of series-parallel transistor networks is NP-hard , 1991, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[22]  Davide Pandini,et al.  Optimum CMOS stack generation with analog constraints , 1995, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[23]  C. C. Chen,et al.  The Layout Synthesizer: An Automatic Netlist-to-Layout System , 1989, 26th ACM/IEEE Design Automation Conference.

[24]  H. Zhang,et al.  An improved algorithm for transistors pairing for compact layout of non-series-parallel CMOS networks , 1993, Proceedings of IEEE Custom Integrated Circuits Conference - CICC '93.

[25]  Sung-Mo Kang,et al.  A timing-driven data path layout synthesis with integer programming , 1995, ICCAD.

[26]  Jordi Carrabina,et al.  A combined pairing and chaining algorithm for CMOS layout generation , 1996, Proceedings ED&TC European Design and Test Conference.

[27]  Laurence A. Wolsey,et al.  Integer and Combinatorial Optimization , 1988, Wiley interscience series in discrete mathematics and optimization.

[28]  John P. Hayes,et al.  Near-optimum hierarchical layout synthesis of two-dimensional CMOS cells , 1999, Proceedings Twelfth International Conference on VLSI Design. (Cat. No.PR00013).

[29]  Ron Y. Pinter,et al.  Optimal Chaining of CMOS Transistors in a Functional Cell , 1987, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[30]  John P. Hayes,et al.  CLIP: an optimizing layout generator for two-dimensional CMOS cells , 1997, DAC.

[31]  John P. Hayes,et al.  Testing ICs: Getting to the Core of the Problem , 1996, Computer.

[32]  John P. Hayes,et al.  Technology mapping for field-programmable gate arrays using integer programming , 1995, ICCAD.

[33]  John P. Hayes,et al.  XPRESS: a cell layout generator with integrated transistor folding , 1996, Proceedings ED&TC European Design and Test Conference.

[34]  John P. Hayes,et al.  Optimal 2-D cell layout with integrated transistor folding , 1998, ICCAD '98.

[35]  Donald G. Baltus,et al.  SOLO: a generator of efficient layouts from optimized MOS circuit schematics , 1988, DAC '88.

[36]  Ronald L. Rivest,et al.  A "Greedy" Channel Router , 1982, DAC 1982.

[37]  Rob A. Rutenbar,et al.  Efficient area minimization for dynamic CMOS circuits , 1996, Proceedings of Custom Integrated Circuits Conference.

[38]  Rob A. Rutenbar,et al.  An O(n) algorithm for transistor stacking with performance constraints , 1996, DAC '96.