CA2229404A1 - Method and apparatus for optimization of standard cell libraries - Google Patents

Method and apparatus for optimization of standard cell libraries Download PDF

Info

Publication number
CA2229404A1
CA2229404A1 CA002229404A CA2229404A CA2229404A1 CA 2229404 A1 CA2229404 A1 CA 2229404A1 CA 002229404 A CA002229404 A CA 002229404A CA 2229404 A CA2229404 A CA 2229404A CA 2229404 A1 CA2229404 A1 CA 2229404A1
Authority
CA
Canada
Prior art keywords
library
components
designations
pmos
sizes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
CA002229404A
Other languages
French (fr)
Inventor
Louis C. Fisher
John S. Jensen
Thomas F. Rossman
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cascade Design Automation Corp
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Publication of CA2229404A1 publication Critical patent/CA2229404A1/en
Abandoned legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/06Power analysis or power optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

A method and apparatus (100) for optimization (104) of standard cell libraries (114). A methodology for optimization of device sizes in CMOS standard cell libraries is described.

Description

W O 97/48061 PCTrUS97/10305 Description METHOD AND APPARATUS FOR OPTIMIZATION OF STANDARD CELL LIBRARIES

s Technical Field The present invention relates to methods and apparatus ~or designing an integrated circuit, and more particularly, to methods and apparatus for optimizing st~n~Ard cell libraries that are used ~or designing an integrated circuit.

Back~round of the Invention Digital standard cells are used in a variety of integrated systems using integrated circuits (ICs) produced from stan~rd cell libraries. These systems have wide variability in design ;_ requirements. In some systems, power consumption is critical, in others, min;m~l silicon area is important due to its reduced cos~, and, in some systems, operating speed is the dominant consideration. Given the varying requirements of system designs and tne widespread usage of digital standard cells, it is desiraDle to have standard cell libraries which are tuned to these specific needs.
Previous optimizations o~ st~n~rd cell libraries have focusea cn specific circuits and implementations. Typically, stanaara cell optimization has been limited to the design of a ~5 bufIG~ or inverter chain which has been optimized to m;nimize power cissipation or signal delay. An example of low power op~imizztion is disclosed in "Energy Control and Accurate Delay Est~ma~ion in the Design of CMOS Buf~ers," by Sha Ma and Paul Franzon, IEEE Journal of Solid-State Circuits, vol. 29, no. 9, pp. '--Q-1153, Septem~er 1994. "Variable-tape CMOS buffer," by S.R. Vemura and A.R. Thorbjornsen, IEEE Journal o~ Solid-State Circuits, vol. Z6, no. 9, pp. 1265-1269, September, 1991, discusses an example of minim~l delay buffer optimization. As a ~atte- c practice, the delay optimization ef~orts have been __ primar ly targeting the ratio of successive stages rather than the ~r~os to PMOS ratio. However, no reference has disclosed the advan~zgGs of providing a single method and apparatus for opti-_zing tG any one o~ a chosen set o~ parameters.

W O97/48061 PCTAUS97/103~!;

Summarv of the Invention According to one aspect, the invention is a method for designing a set of device specifications for a library of st~n~rd cell components for use in composing an integrated circuit. The method includes the steps of a) determining a process technology for building the components and b) determining an optimization criterion from a predetermined set of optimization criteria. The method further includes the step lo of c~ specifying a set of library-specific knowledge. Further, the method includes the step of d) processing the set of library-specific knowledge as a function of the process technology and the optimization criterion and producing the sel of device speci~ications therefrom.
According to another aspect, the invention is a method for designing a set of device specifications for a library of CMOS
st~n~d cell components for use in composing an integrated circuit. Each of the CMOS standard cell components includes N-type transistors and P-type transistors. The method includes the ZO steps of a) determining a process technology for building the CMOS standard cell components, and b) determining an optimization criterion from a predetermined set of optimization criteria. The method further includes the step of c) specifying a set of library-specific knowledge. Also the method includes the step of d) processing the set of library-specific knowledge as a function o~ the process technology and the optimization criterion and producing the set of device specifications therefrom.
According to a still further aspect, the invention is an apparatus for designing a set of device specifications for a library of standard cell components for use in composing an integrated circuit. The apparatus includes an input circuit to specify a process technology for building the components and an input circuit to specify an optimization criterion selected from a predetermined set of optimization criteria. The apparatus also includes a memory device to specify a set of library-specific knowledge. The apparatus further includes a processing circuit to process the set of li~rary-specific knowledge as a function W O 97/48061 rCT~US97/10305 of the process technology and the optimization criterion and producing the set o~ device specifications therefrom.

Brief Description of the Drawings s Figure 1 is a block diagram of the method of the present invention.
Figure 2 is a flow ~hart of a method for designing a set of device specifications having low power consumption.
Figure 3 is a more detailed flow chart o~ the method for designing a set of device specifications having low power consumptl-on, shown in Figure 2.
Figure 4 is a flow chart o~ a method ~or checking the noise margin of a com.~ination of logic gates.
Figure 5 is a ~low chart of a method for checking the noise margin o~ a speci~ic logic gate.
Figure 6 is a flow chart of a method for mi n;mi zing the area of a logic gate.
Figure 7 is a flow chart o~ a method for optimizing the NMOS and PMOS widths of a logic gate.
~o Figure 8 is a flow chart of a method for optimizing the ratio of NMOS to PMOS widths of a predetermined logic gate.
Figure 9 is a flow chart of a method ~or optimizing the total width of a predetermined logic gate.
Figure 10 is a ~low chart o~ a method for optimizing either 2s the NMOS width or the PMOS width o~ a predetermined logic gate.
Figure 11 is a ~low chart of a method for optimizing the PMOS width of a predétermined logic gate.
Figure 12 is a ~low chart o~ a method ~or optimizing the NMOS width o~ a predetermined logic gate.
Figure 13 is a flow chart of a method for m~im; zing the speed o~ a predetermined logic gate.

Detailed Description of the Preferred Emhodiment of the Invention 3, Figure 1 is a block diagram of the method of the present invention. The method 100 includes a step 102 o~ determining the process technology for building the components desired. The me~hod 100 also includes a step 104 o~ determining an .
W O 97/48061 PCT~US97/10305 optimization criterion from a predetermined set of optimization criteria.
The standard cell compilers of the present invention all use one of three sets o~ transistor sizes. The three sets of s transistor sizes are respectively optimized for low power, high speed, or m;n;m~l area designs, thereby producing stAn~rd cell libraries that are optimized accordingly. For example, the st~n~rd cell height is a function of the transistor sizes. This provides a means of determining an area cost when performing device size optimization.
Each set of transistor sizes consists of four NMOS and ~our PMOS sizes. The ~our sizes are selected based on the number o~
transistors connected in series. For example, a two input NAND
gate has two NMOS devices in series. Therefore such a gate would have the transistor size selected for two NMOS transistors in series. The notation used ~or this transistor size is N_2s. The same two input NAND gate has one PMOS device in series.
There~ore such a gate would use the transistor size selected for a single PMOS transistor in series, P_ lS.
The goal of transistor size optimization is to determine the ~our NMOS and four PMOS transistor sizes which will optimize the standard cell library to achieve m;n;m~l power dissipation, m~;ml~m operating speed, or m;n;m~l silicon area. Details of the three optimization procedures ~ollow.
Referring again to Figure 1, a sizer program 106 receives the results of the steps 102 and 104 and information from a library speci~ic ~nowledge database 108. As will be described in greater detail subsequently, the sizer program 106 then processes the set of library-specific ~nowledge as a function o~
the process technology and the optimization criterion to produce a set of device specifications 110. Subsequently the set of device specifications 110 can then be made available to a parameterization library compiler 112 which compiles the desired standard cell components and produces a resulting library 114.
Figure 2 is a ~low chart of a method ~or designing a set of device specifications having low power consumption. In an integrated circuit, power dissipation is minimized by reducing capacitance as much as is practical. This is implemented with W O 97/48061 PCTrUS97/1030 minim~l device sizes, subject to a lower limit imposed by setting a mi nimllm noise margin ~or the gates. The noise margin limit insures that the standard cells will be suf~iciently imml~n~ to power supply noise. Noise margin is defined as the difference between the logic threshold of a gate and the power supply. The gate's logic threshold is evaluated with the output of the inverting gate shorted to all inputs. Logic thresholds are evaluated for all gates in the standard cell library across temperature, power supply, and process variations. Transistor sizes are adjusted if a gate ~ails to meet a noise margin requirement and the process is restarted. This is repeated until all gates pass the noise margin requirement. A preference for reducing transistor sizes is included in the process, however, transistor si2es will be increased if re~uired to meet the noise margin requirements. In addition, the output rise and fall times for the gates are limited, by limiting the m~i mllm capacitance that a gate can drive. The m~;mllm capacitance limits the feed through current through the PMOS and NMOS devices from the power supply to ground.
~o Figure 2 is a ~low chart of a method for designing a set o~
device specifications having low power consumption. The method 200 includes an initialization step 202 in which each of the four NMOS and ~our PMOS transistor sizes is set to ba, the m;n;mllm size allowed by the design rules of the specific process technology. After this, in step 204, the state noise margin (NM) is checked by performing the subroutine Check NM(), which will be described in greater detail subsequently.
Figure 3 is a more detailed flow chart o~ the method 200 for designing a set o~ device specifications having low power consumption, shown in Figure 2. The method 200 starts with ini~ialization of minim~l ly-sized devices (step 202). Next the static NM o~ NOR gates built with the m;n;m~l ly-sized devices is tested (step 300). If the NM of the NOR gates is too low, the size o~ the PMOS devices is increased (step 302) and step 300 is performed again.
Eventually the NM of the NOR gates reaches a sufficiently high level and the method 200 proceeds to the step 308. In step 308, the NM o~ NAND gates is tested. I~ it is too high, the W O 97/48061 PCTAUS97/1030s method 200 proceeds to the step 310, where the size of NMOS
devices is increased and step 308 is again performed.
Again, eventually the NM of NAND gates is not too high, at which point the method 200 determines the logic threshold of S complex gates (step 312), which are various combinations of NMOS
and PMOS sizes. If the NM of complex gates is outside of a range bounded by predetermined values, the method 200 determines if the NM is too low (step 314). If it is, the size of PMOS devices is increased and the method 200 returns to the step 312. If th.e NM is not too low, it must be too high, in which case the method moves ~o the step 318, where the size of NMOS devices is increased and step 312 is reperformed. If the value of NM is within the determined range, the method 200 moves to step 304, where it is determined whether there are any changes for complex gates. If there are, the method returns to step 300 to begln the process again. If there are no changes for complex gates, the method goes to the stop step 306 and tenminates.
Figure 4 is a flow chart of a method for checking the noise margin of a combination o~ logic gates. The method 400 begins with step 402, which determines whether the PMOS and NMOS
devices are changing as the method 400 is used. Initially, the PMOS and NMOS devices are changing, so the method 400 moves to the step 404, where NOR gates are checked by evaluating the effect of changing the values of the four PMOS sizes, by using the subroutine Check NM_gate (), which will be described in greater detail subsequently. Next, the method 400 moves to step 408, where NAND gates are checked by evaluating the effect of changing the values of the four NMOS sizes, again by using the subroutine Check NM_gate (). Finally, the method 400 moves to step 410, where complex gates are checked by evaluating the effect of changing the values of three of the four NMOS sizes and three of the four PMOS sizes, again by using the subroutine Check NM_gate (). The method 400 then returns to step 402, where any changes to PMOS and NMOS are determined. I~ there are non, the method 400 moves to the return step 406.
Figure 5 is a flow chart of a method for checking the noise margin of a specific logic gate. The method 500 begins with step 502, where initial values for NMOS and PMOS sizes, m;n;m~l NMOS

' CA 02229404 1998-02-12 , W O 97/48061 PCTrUS97/10305 and PMOS step sizes, and logic thresholds LTmin and LTmax are set. After the method 500 moves to the step 504, the logic threshold is compared to the current values o~ the logic ~hresholds LTmin and LTmax. I~ the logic threshold is neither too high nor too low, the method 500 moves to the step 506, where the values o~ NMOS and PMOS sizes are established, and then to step 508, from which the subroutine returns. I~ the logic threshold is either too high or too low, the method 500 moves to the step 510, where a logic threshold is calculated again ~or high and low supply voltage, combinations o~ strengths o~ P and-N, and m;nimllm and ~;m1lm temperatures.
A~ter moving to step 512, the method 500 then compares the logic threshold to the thresholds. I~ the logic threshold is too high, he method proceeds to the comparison step 514 to determine whether the logic threshold is too high. If it is, the method 500 moves to the step 516, where the new size of PMOS is compared to the mi nimllm acceptable PMOS size. If the new size of PMOS is greater than the m;n;mllm accept,~ble PMOS size, the size or the incremental change in PMOS size is reduced by a factor of 2 (ste2 520) Otherwise (step 524), the size of the incremental change ~n NMOS size is reduced by a ~actor o~ 2. If the size o~
the incremental change in PMOS size is reduced by a ~actor o~ 2, the method moves to the step 522, where the current PMOS size is reduced by the new value o~ the incremental change. On the other -_ nand, -' the size of the incremental change in NMOS size is reduced by a ~actPr of 2, the current NMOS size is increased by the new value o~ the incremental change in PMOS size.
. step 518 o~ method 500, the logic threshold is tested.
I' ~~ is too low, the method 500 goes to the step 528. At this 3G ~oint ~ests are performed on the current value o~ NMOS size similar to the tests that are per~ormed on the current value o~
PMOS s- Z~ in steps 516, 520, 522, 524 and 526. Eventually the methc~ 500 reaches the step 534, where the NM is again reevc~uated ant the method returns to the step 504.
J5 ~ -. m~.l area optimization is designed to achieve the fas~es~ ?ossi~le cells in the min;mnm area. The devices are sized ~ ~ill up the minimum standard cell height. In addition ~5 tr.e c:~eck .or minimum noise margin, the ratio o~ gate output rise to output ~all times are controlled. To achieve this goal, an initial set of transistor sizes is selected taking in to considerations the standard cell height requirements This initial set of transistor sizes is further optimized using iterative SPICE simulations to m; n;m; ze gate delays without increasing the st~n~rd cell height. In this process, m~;mllm speed gates are ob~;n~ within a m;n;m~l layout area. The initial set o~ transistor sizes approximately equalizes the rise and fall times of the various gates, using the current ratios 0 specified in Table 1, "Initial Current Ratios for Area Optimization". These sets of currents were empirically found t:o provide a good tradeoff between area and performance.

Table 1: Initial Current Ratios For Area Optimization NMOS PMOS

Seri (M; n; mllm es Seri es Seri es Seri (Limited (Limited) es These sizes are then used to calculate a standard cell height. This initial device set is then further optimized using a se~uence similar to the high speed optimization, with the exception that the initial standard cell height is not allowed to increase. Optimization is done on a set of inverter, NAND and nor gates as identified in Table 2, "M; nim~l Area Gate Optimization Steps. This process establishes the set of W O 97/48061 PCTrUS97/10305 transistor sizes required to optimize the standard ce;l library for minim~l area. The optimization determines the one, two, and three in series NMOS and PMOS transistor sizes. The ~our in series NMOS and PMOS transistor sizes are set such that four in series devices will provide the same pull up or pull down current as the three in series transistor sizes. However, the ~our in series devices sizes are limited to the m~; mllm NMOS or PMOS device width as computed by the standard cell height routine in this step.
Next the ratio o~ pull up to pull down current is checked ~or the-inverter, NAND and nor gates. This ratio of pull up to pull aown current is limited. The NMOS or PMOS transistor width is reduced i~ possible, otherwise the opposite ~PMOS/NMOS) transistor size is increased, as required.
s A ~inal static noise margin check, as described ~or the Low Power Optimization, insures that the resulting standard cell llbrary meets the same noise margin requirements as the low power optimized cells.

Table 2: ~i n i m~ 1 Area Gate Optimization Steps St Gate NMOS PMOS
ep Optimi Device Device zed s s Sized Sized 1 2 2 in 1 in input series series NAND
2 invert 1 in er series 3 2 2 in input series nor 3 3 in lnput serles NAND
3 3 in i~put series _g_ W O 97/48061 PCTrUS97/1030S
, nor l l I

Figure 6 is a ~low chart of a method for m;nimi zing the area of a logic gate. In the method 600, the step 602 sets m;n;mnm NMOS and PMOS widths. Next, in step 604, the method 600 sizes other NMOS devices to match the pulldown current of N_ls and sizes other PMOS devices to match the pulldown current o~
P_ls. Moving to step 606, the method 600 establishes the current value o~ HeightLimit for the st~n~d cell height. This height is increased by 7 percent in step 608. In step 610, the m;nimllm NMOS width is set to ba, as is the m;n;mllm PMOS width. The series current o~ a single device of size min_n is determined in step 612, and then the mA~;m~lm NMOS width is set to the same as the two-in-series width necessary to provide 33 percent greater current than the series current of a single device o~ size min_n.
In step 616 of method 600, N_ls is set to min_n, N_2s is set to Max_n/2 and N_3s is determined ~rom these two values. In step 618, the series current of a single device of size min p i'3 determined. Then the m~;mllm PMOS width is set to the value o~
the three-in-series width necessary to provide series current oi-a single device o~ size min p (step 620).
In step 622, values of P_ls, P_2s, and P_3s are established. In step 624, the HeightLimit value is set to the min;mllm of its previous value and the standard cell height for the values set in step 622.
In step 626, SPICE is used iteratively to m;n;m; ze the delay for a two-input NAND by adjusting device sizes, using the subroutine opt_np(), to be discussed subsequently. In step 628, SPICE is used iteratively to min;m;ze the delay for an inverter by adjusting device sizes. In step 630, SPICE is used iteratively to mtn;m;ze the delay ~or a two-input NOR by adjusting device sizes. In step 632, SPICE is used iteratively to m;n;m;ze the delay for a three-input NAND by adjusting device sizes. Finally, in step 634, SPICE is used iteratively to minim;ze the delay for a three-input NOR by adjusting device sizes.
Next, in step 636, the three-in-series currents of N-3s ancL

W O 97/48061 PCT~US97110305 P_3s are determined. In step 638, values o~ N_~s and P_4s are determined by respective comparisons o~ the appropriate currents with the ~inimllm spaces available for NMOS and PMOS. In step 6~0, the static NM is checked, and in step 642, the rise and s fall times are checked to be within a ~actor o~ three o~ one another.
Figure 7 is a flow chart of a method for optimizing the NMOS and PMOS widths o~ a logic gate. In step 702 o~ method 700, parameters are initialized. Then the N-to-P ratio is optimized o by making use of the subroutiné opt_ratio(), which will be discussed subsequently. The method 700 then moves to the step 706, where the height is compared to the height limit. If the height is too high, the method 700 moves to the step 708, where the total device width is optimized using the subroutine li opc_total() with the decrease parameter. The subroutine opt_total() will be discussed subsequently. The method 700 then moves to the step 710. On the other hand, i~ the height is not over the height limit (step 706), the total device width is optimized using the subroutine opt_total() with the increase ~3 parameter.
Again, the height is compared to the height limit (step 710). If the height is not greater than the height limit, the methcd 700 moves to the step 714 where the N-to-P ratio is optimized using the subroutine opt_ratio(), with the increase ~_ parameter. On the other hand, if the height is greater than the heigh~ limit, the method 700 moves to the step 718 where the N-to-P ra~io is optimized using the subroutine opt_ratio(), with the cecrease parameter. Regardless, the method 700 next moves to the s~ep 716 where the best delay that is inside the height 3~ limit ~rom the previous iceration through this subroutine is determined. I~ the MatchCurrents parameter is set, other devices are resized to match the PMOS and NMOS currents.
In step 722 o~ method 700, there is a check ~or a better limit in case there is no hardlimit specified as a parameter. If ~i there s a better limit, the method 700 moves to the step 724 T,Jher- t~e percentage delay improvement is compared to the square of the percentage increase in the height. If the percentage aela~ -m~rove~ent is less than the square of the percentage !
.

CA 02229404 l998-02-l2 W O 97/48061 - PCT~US97/10305 ~ increase in the height, the method 700 moves ~o the step 726, where the devices sizes are accepted. RegardleSs, in step 728, other devices are resized to match currents if MatchCurrents is set.
Figure 8 is a ~low chart of a method ~or optimizing the ratio of NMOS to PMOS widths of a predetermined logic gate. In the method 800, the step 802 determines whether the P/N ratio has converged. If not, the su~routine return (step 804).
Othërwise, the st~n~rd cell height is recalculated and a standard load capacitance is established (step 806). Next, in step 808, the delay through the gate with the specified PMOS and NMOS sizes is calculated.
In step 810 two evaluations are made. One evaluation is based on a comparison which determines whether the st~n~d cell height is less than the height limit. If it is and the delay has improved, the method 800 moves to the step 824. The other evaluation is used if there is no hardlimit and the percentage delay imp~ov~-L-ent is greater than the square o~ the percentage increase in height. Again, i~ it is the method 800 moves to the step 824. Failing these two possibilities, the method 800 moves to the step 812, where the p step size is compared to the m;nimll~ allowable. If it is too small, the method 800 esta~lishes p step sizes in step 814 and moves to step 816.
Otherwise, the P/N ratio has converged (step 818), and the method moves to the step 816.
In step 816, the direction of change of the P/N ratio is determined. If it is increasing the value of PMOS is decreased and the value of NMOS is increased (step 818). Then the method 800 moves to the step 820. Otherwise the value of PMOS is increased and the value of NMOS is decreased, so that the direction o~ change is increasing. The method 800 then also passes to the step 820.
Step 820 resizes the other devices to match the NMOS and PMOS currents, and then returns to step 802. If the test at step 810 is passed, the method 800 moves to the step 824, where the direction of change is also evaluated. If it is increasing the PMOS value is increased and the NMOS value is decrease, and then the method 800 moves to the step 820. If the direction is chanye W O 97/48061 PCTrUS97/10305 is decreasing, the method 800 moves to the step 826, where the PMOS value is decreased and the NMOS value is increased, and the method moves to the step 820.
Figure 9 is a flow chart o~ a method for optimizing the total width o~ a predetermined logic gate. In step 902 o~ the method, it is de~ermined whether the value of the total width has converged. If it has not, the method 900 moves to the return step 904. I~ it has converged, the method 900 proceeds to the step 906, where the standard cell height and standard load 0 capacitance are set. In step 908, the delay through the gate type with the sizes PMOS/NMOS is calculated and the method 900 moves to the step 910.
In step 910 two evaluations are made. One evaluation is based on a comparison which determines whether the st~n~d cel~
height is less than the height limit. I~ it is and the delay has improved, the method 900 moves to the step 926. The other evaluation is used i~ there is no hardlimit and the percentage delay i~ ovelL~nt is greater than the square of the percentage increase in height. Again, if it is, the method 900 moves to the ,o step 926. Failing these two possibilities, the method 900 moves to the step 912, where the p step size is compared to the min;~lm allowable. If it is too small, the method 900 decreases p step sizes in step 914 and moves to step 916. Otherwise, the total width has converged (step 918), and the method moves to ~- the ste~ 916.
In st~p 916, the direction of change of the total width is dete~inea. I~ it is increasing the value o~ PMOS is decreased and the v~â l ue of NMOS is increased (step 920). Then the method 900 moves to the step 922. Otherwise the value o~ PMOS is increasea and the value o~ NMOS is decreased, so that the direc~ion o~ change is increasing. The method 900 then also passes to the step 922.
Step 922 resizes the other devices to match the NMOS and PMOS currents, and then returns to step 902. If the test at step __ 9'0 is passed, the method 900 moves to the step 926, where the direc-icn of cnange o~ the total width is also evaluated. I~ it is ircrcasir.s the PMOS value is increased and the NMOS value is dccrcâs~l ~nd then the method 900 moves to the step 922. If the W O97/48061 PCTrUS97/10305 direction in change is decreasing, the method 900 moves to the step 928, where the PMOS value is decreased and the NMOS value is increased, and the method 900 moves to the step 922.
Figure 10 is a flow chart of a method for optimizing either the NMOS width or the PMOS width of a predetermined logic gate.
In step 1002, the parameters are initialized. In step 1004, a swtich is made depending on whether the MOS is an NMOS. If it isn't, the PMOS size is optimized using opt_p(), which is discussed later. If it is, the NMOS size is optimized using opt_n(), which is also discussed later. In any case, the best delay inside the height limit is determined ~rom all previous runs, and the method moves to the step 1012. In step 1012, it :is determined whether there is a better delay that is over the height limit, assuming that there is no limit on the height. I~
there is a better delay, the method 1000 goes to the step 1014, where the percentage delay improvement is compared to the squa:re o~ the percentage increase in height. I~ the percentage delay imp~ove,..ellt is greater than the square o~ the percentage increase in height, the method 1000 proceeds to the step 1018, which accepts the device sizes for this pass through the subroutine. The method 1000 then moves to the step 1016. If the percentage delay impL~v~uellt is not greater than the square of the percentage increase in height, the method 1000 simply proceeds to the step 1016.
~5 Figure 11 is a flow chart of a method for optimizing the PMOS width of a predetermined logic gate. In step 1102 of the method 1100, it is determined whether the PMOS size has converged. If it has not converged, the method 1100 moves to the return step 1104. If it has converged, the method 1100 moves to the step 1106, where the st~n~rd cell height and st~n~d loa~
capacitance are set. In step 1108, the delay through the gate type with the sizes PMOS is calculated and the method 1100 moves to the step 1110.
In step 1110 two evaluations are made. One evaluation is 3s ~ased on a comparison which determines whether the standard cell height is less than the height limit. If it is and the delay has improved, the method 1100 moves to the step 1126. The other evaluation is used if there is no hardlimit and the percentage W O 97/48061 PCTrUS97/10305 -delay improvement is greater than the square of the percentage increase in height. Again, if it is, the method 1100 moves to the step 1126. Failing these two possibilities, the method 1100 moves to the step 1112, where the p step size is compared to the S m; ni mllm allowable. If it is too small, the method 1100 decreases p step sizes in step 1114 and moves to step 1116. Otherwise, the PMOS size has converged (step 1118), and the method moves to the step 1116.
In step 1116, the direction of change of the PMOS size is 0 determined. I~ it is increasing the value of PMOS is decreased (step 1120). Then the method 1100 moves to the step 1122.
otherwise the value o~ PMOS is increased, so that the direction of change is increasing. The method 1100 then also passes to the s~ep 1122.
Step 1122 does not resize the other devices, but returns to step ilO2. I~ the test at step 1110 is passed, the method 1100 moves to the step 1126, where the direction of change of the total width is also evaluated. I~ it is increasing the PMOS
value is increased, and then the method 1100 moves to the step 1122. If the direction in change is decreasing, the method 1100 moves to the step 1128, whe~e the PMOS value is decreased, and the method 1100 moves to the step 1122.
Figure 12 is a flow chart of a method for optimizing the NMOS width of a predetermined logic gate. In step 1202 of the methcd 1200, it is determined whether the NMOS size has conversed. If it has not converged, the method 1200 moves to the returr. step 120~. If it has converged, the method 1200 moves to the ste? 1206, where the standard cell height and standard load capacitance are set. In step 120~, the delay through the gate type ~"ith the size NMOS is calculated and the method 1200 moves to the step 1210.
In step 1210 two evaluations are made. One evaluation is based on a comparison ~Ihich determines whether the standard cell h_ight -s less than the height limit. If it is and the delay has ~5 im~roved, the method 1200 moves to the step 1226. The other e-JGluation is used if there is no hardlimit and the percentage delay improvement is greater than the square of the percentage increace in height. Again, if it is, the method 1200 moves to CA 02229404 l998-02-l2 W O 97/48061 ' PCTrUS97/1030!;

the step 1226. Failing these two possibilities, the method 1200 moves to the step 1212, where the n step size is compared to the m;nimllm allowable. I~ it is too small, the method 1200 decreases n step size in step 1214 and moves to step 1216. Otherwise, the NMOS size has converged (step 1218), and the method 1200 moves to the step 1216.
In step 1216, the direction of change of the NMOS size is de~ermined. If it is increasing the value of NMOS is decreased (step 1220). Then the method 1200 moves to the step 1222.
Otherwise the value of NMOS is increased, so that the direction of change is increasing. The method 1200 then also passes to the step 1222.
Step 1222 does not resize the other devices, but returns to step 1202. I~ the test at step 1210 is passed, the method 1200 moves to the step 1226, where the direction of change of the NMOS is also evaluated. If it is increasing the NMOS value is increased, and then the method 1200 moves to the step 1222. If the direction in change is decreasing, the method 1200 moves to the step 1228, where the NMOS value is decreased, and the method 1200 moves to the step 1222.
The goal of high speed optimization is to achieve m;n;m~l gate delays without excessive area increase. The area increase is determined by the cell height, as the standard cell widths ~o not vary significantly with the device sizes.
To accomplish this, a m;n~m~ standard cell height is computed based on m;n;m~m sized NMOS and one and one half (1.5) times m;n;mllm PMOS. The standard cell height is allowed to grow nom;nAlly twenty five percent (25~) over this m;n;ml7m Beyond this 25~, the standard cell height is allowed to increase further only when the increase in speed exceeds the s~auare of the height increase.
The device sizes are calculated to fit into this st~n~rd cell height using iterative SPICE simulations which select the optimum NMOS and PMOS transistor sizes to m;n;m,ze gate delays The gate delay is measured as the average of the input rising and input falling delays for three gates in series. Unused inputs are connected high for NAND gates or low for nor gates.
The load on each gate consists of the following gate plus a W O 97/48061 PCTrUS97/1030S

st~n~d load. A standard load is based on the input capacitance of ~our clocked inverters plus a routing capacitance which is scaled by the standard cell height. This load changes as the device sizes are optimized, reflecting the e~ect of load s capacitance as device sizes change. Optimization is done on a set of NAND and nor gates as identified in Ta~le 3, "High Speed Gate Optimization Steps" determining the transistor sizes for that gate. SPICE based optimization establishes the one, two, and three in series NMOS and PMOS transistor sizes required to lC optimize the standard cell li~rary ~or high speed operation. The ~our in series NMOS and PMOS transistor sizes are set such that ~our in series devices will provide the same pull up or pull down current as the three in series transistor sizes. However, the ~our in series devices sizes are limited to the ~;ml~m NMOS
l~ o~ PMOS device width as computed by the standard cell height routine in this step. A final static noise margin check insures that the high speed standard cell library meets the same noise margin requirements as the low power optimized cells.

Table 3: High Speed Gate Optimization Steps St Gate NMOS PMOS
ep Optimiz Device Devices ed s Sized Sized 1 2 input 2 in 1 in NAND series series 2 2 input 1 in 2 in nor ~series series 3 3 input 3 in NAND series 4 3 input 3 in nor series Figure 13 is a flow chart of a method for m~imi zing the speed of a predetermined logic gate. In step 1302 of the method 1300, the min;mllm width of NMOS is set to ba, while the minimllm PMOS width, P_ls, is set to 50 percent greater than ba. In step CA 02229404 l998-02-l2 WO 97/48061 PCT~US97/1030~j 1304 other NMOS devices are sized to match the pulldown current:
o~ N_ls, and other PMOS devices are sized to match the pullup current of P_ls. Passing to step 1306 the standard cell height with the designated devices sizes is calculated. Next, in step 1308, 17 percent is added to the value of the height limit.
In step 1310, the size o~ two-in-series NMOS is initialized to be large (i.e., 50 percent greater than N_2s). Also the size o~ one-in-series PMOS is initialized to be small (= ba). Next, the delay for a two-input NAND is m;n;m~ zed by iteratively running SPICE and adjusting device sizes, using the subroutine opt_np (? . Following this, in step 1314, seven percent is added to the height limit.
In step 1316, the delay for a two-input NOR is ~; n;m; zed by iteratively running SPI OE and adjusting device sizes, using the subroutine opt_np(). Following this, in step 1318, the st~n~rcl cell height is calculated with the new device size and used as the value o~ the height limit.
In step 1320, the delay for a three-input NAND is min;m;zed by iteratively running SPI OE and adjusting device sizes, using the subroutine opt_n_or_p(). Following this, in step 1322, the st~n~rd cell height is calculated with the new device size and used as the value of the height limit.
In step 1324, the delay for a three-input NOR is m;n;m;zed by iterati~ely running SPICB and adjusting device sizes, using the subroutine opt_n_or p(). Following this, in step 1326, the current ~or a three-in-series N-3s and the current ~or a three-in-series P_3s are found. Then, using these values in step 1328, the values for N_4s and P_4s are established as the m;n;mllm of the calculated values and the respective spaces available for NMOS and PMOS. Finally, in step 1330 the static NM is checked.
While the ~oregoing is a detailed description of the preferred embodiment of the invention, there are many alternative embodiments of the invention that would occur to those skilled in the art and which are within the scope of the present invention. Accordingly, the present invention is to be determined by the following claims.

Claims (20)

Claims
1. A method for designing a set of device specifications for a library of standard cell components for use in composing an integrated circuit, the method comprising the steps of:
a) determining a process technology for building the components;
b) determining an optimization criterion from a predetermined set of optimization criteria;
c) specifying a set of library-specific knowledge; and d) processing the set of library-specific knowledge as a function of the process technology and the optimization criterion and producing the set of device specifications therefrom.
2. The method of claim 1, wherein the predetermined set of optimization criteria includes speed of the components, area of the components, and power consumption of the components.
3. The method of claim 1, wherein the set of device specifications includes designations of device sizes and relative locations.
4. The method of claim 3, wherein the designations of device sizes include transistor gate widths.
5. The method of claim 3, wherein the designations of relative locations include locations of landmarks.
6. The method of claim 3, wherein the designations of relative locations include allocations of device type regions.
7. The method of claim 3, wherein the designations of relative locations include specification of connection points in the standard cell components.
8. A method for designing a set of device specifications for a library of CMOS standard cell components for use in composing an integrated circuit, each of the CMOS standard cell components including N-type transistors and P-type transistors, the method comprising the steps of:
a) determining a process technology for building the CMOS
standard cell components;
b) determining an optimization criterion from a predetermined set of optimization criteria;
c) specifying a set of library-specific knowledge; and d) processing the set of library-specific knowledge as a function of the process technology and the optimization criterion and producing the set of device specifications therefrom.
9. The method of claim 8, wherein the predetermined set of optimization criteria includes speed of the components, area of the components, and power consumption of the components.
10. The method of claim 8, wherein the set of device specifications includes designations of device sizes and relative locations.
11. The method of claim 10, wherein the designations of device sizes include transistor gate widths.
12. The method of claim 10, wherein the designations of relative locations include locations of landmarks.
13. The method of claim 10, wherein the designations of relative locations include allocations of device type regions.
14. The method of claim 10, wherein the designations of relative locations include specification of connection points in the standard cell components.
15. The method of claim 10, wherein the designations of device sizes include relative sizes of the N-type transistors and the P-type transistors.
16. The method of claim 10, further including the step of:
f) processing the set of device specifications by a parameterized library compiler.
17. The method of claim 16, further including the step of:
g) producing the library from the parameterized library compiler.
18. An apparatus for designing a set of device specifications for a library of standard cell components for use in composing an integrated circuit, the apparatus comprising:
an input circuit to specify a process technology for building the components;
an input circuit to specify an optimization criterion selected from a predetermined set of optimization criteria;
a memory device to specify a set of library-specific knowledge; and a processing circuit to process the set of library-specific knowledge as a function of the process technology and the optimization criterion and producing the set of device specifications therefrom.
19. The apparatus of claim 18, wherein the predetermined set of optimization criteria includes speed of the components, area of the components, and power consumption of the components.
20. The apparatus of claim 18, wherein the set of device specifications includes designations of device sizes and relative locations.
CA002229404A 1996-06-14 1997-06-13 Method and apparatus for optimization of standard cell libraries Abandoned CA2229404A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US1976796P 1996-06-14 1996-06-14
US60/019,767 1996-06-14

Publications (1)

Publication Number Publication Date
CA2229404A1 true CA2229404A1 (en) 1997-12-18

Family

ID=21794930

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002229404A Abandoned CA2229404A1 (en) 1996-06-14 1997-06-13 Method and apparatus for optimization of standard cell libraries

Country Status (5)

Country Link
EP (1) EP0852768A1 (en)
JP (1) JPH11511907A (en)
AU (1) AU3570697A (en)
CA (1) CA2229404A1 (en)
WO (1) WO1997048061A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4813499B2 (en) 2005-11-01 2011-11-09 富士通株式会社 Logic cell configuration processing method and program

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6124250A (en) * 1984-07-13 1986-02-01 Nippon Gakki Seizo Kk Semiconductor integrated circuit device
JPS63308343A (en) * 1987-06-10 1988-12-15 Matsushita Electric Ind Co Ltd Semiconductor integrated circuit
US5031111C1 (en) * 1988-08-08 2001-03-27 Trw Inc Automated circuit design method
US5173864A (en) * 1988-08-20 1992-12-22 Kabushiki Kaisha Toshiba Standard cell and standard-cell-type integrated circuit
JP3017789B2 (en) * 1990-10-18 2000-03-13 三菱電機株式会社 Layout design method for semiconductor integrated circuit device
US5459673A (en) * 1990-10-29 1995-10-17 Ross Technology, Inc. Method and apparatus for optimizing electronic circuits
US5225991A (en) * 1991-04-11 1993-07-06 International Business Machines Corporation Optimized automated macro embedding for standard cell blocks
JPH05274390A (en) * 1992-03-30 1993-10-22 Matsushita Electric Ind Co Ltd Circuit element allocation method, delay optimization method and logic design system
US5487018A (en) * 1993-08-13 1996-01-23 Vlsi Technology, Inc. Electronic design automation apparatus and method utilizing a physical information database
US5563801A (en) * 1993-10-06 1996-10-08 Nsoft Systems, Inc. Process independent design for gate array devices

Also Published As

Publication number Publication date
WO1997048061A1 (en) 1997-12-18
AU3570697A (en) 1998-01-07
JPH11511907A (en) 1999-10-12
EP0852768A1 (en) 1998-07-15

Similar Documents

Publication Publication Date Title
US8103975B2 (en) Apparatus and methods for optimizing the performance of programmable logic devices using multiple supply voltage
US5619420A (en) Semiconductor cell having a variable transistor width
US7523430B1 (en) Programmable logic device design tool with simultaneous switching noise awareness
US5594373A (en) Output driver circuitry with selective limited output high voltage
US20030088842A1 (en) Apparatus and methods for wire load independent logic synthesis and timing closure with constant replacement delay cell libraries
US7463057B1 (en) Integrated circuits with adjustable memory element power supplies
US5973541A (en) Parametric tuning of an integrated circuit after fabrication
US5596297A (en) Output driver circuitry with limited output high voltage
US5598122A (en) Voltage reference circuit having a threshold voltage shift
EP0451079A2 (en) Reducing clock skew in large-scale integrated circuits
US5235521A (en) Reducing clock skew in large-scale integrated circuits
US20070234266A1 (en) Method of optimizing IC logic performance by static timing based parasitic budgeting
JP2007538474A (en) Apparatus and method for tuning integrated circuit performance
EP0718741B1 (en) Voltage regulator for an output driver with reduced output impedance
US20010048333A1 (en) Buffer circuit block and design method of semiconductor integrated circuit by using the same
US5548241A (en) Voltage reference circuit using an offset compensating current source
US6988266B2 (en) Method of transforming variable loops into constant loops
EP2529283A2 (en) Zone-based leakage power optimization
Chen et al. The layout synthesizer: An automatic netlist-to-layout system
Nabaa et al. An adaptive FPGA architecture with process variation compensation and reduced leakage
Hashimoto et al. Post-layout transistor sizing for power reduction in cell-based design
CA2229404A1 (en) Method and apparatus for optimization of standard cell libraries
US8266561B2 (en) Systems and techniques for developing high-speed standard cell libraries
US7000210B2 (en) Adaptive adjustment of constraints during PLD placement processing
Fisher et al. Optimization of standard cell libraries for low power, high speed, or minimal area designs

Legal Events

Date Code Title Description
FZDE Discontinued