Method of scaling table based cell library timing models in order to take into account process, temperature and power supply
First Claim
1. A method for producing a logic cell, the method comprising the following steps:
- (a) generating a timing model for the logic cell, including the following substeps;
(a.1) selecting output load indices (Load1, Load2, . . . ,Loadm) which specify output load for the first logic cell, (a.2) selecting input ramp indices (IR1, IR2, . . . ,IRn) which specify input ramp for the first logic cell, (a.3) generating baseline output ramp values (ORbl [j,k]) for each output load index (Loadj) and input ramp index (IRk) pair, (a.4) scaling the output load indices by a first scaling factor (λ
), (a.5) scaling the input ramp indices by a second scaling factor (ρ
), and (a.6) generating scaled output ramp values (ORscaled [j,k]) for each scaled output load index and scaled input ramp index pair, wherein a numerical value of ORscaled [j, k] represents a value of output ramp at new Process, Power supply, Temperature conditions when the output load for the first logic cell is equal to λ
*Loadj and the input ramp for the first logic cell is equal to ρ
*IRk; and
, (b) building the logic cell based on the timing model generated in step (a).
3 Assignments
0 Petitions
Accused Products
Abstract
A method is presented for generating a timing model for a logic cell. Output load indices (Load1, Load2, . . . ,Loadm) are selected which specify output load for the first logic cell. Input ramp indices (IR1, IR2, . . . ,IRn) are selected which specify input ramp for the first logic cell. Baseline output ramp values (ORbl [j,k]) are generated for each output load index (Loadj) and input ramp index (IRk) pair. In order to take into account process, power and temperature variations, scaling factors are used to scale the indices. For example these scaling factors can be utilized for many different logic cells in a cell library. In one embodiment, the output load indices are scaled by a first scaling factor (λ). The input ramp indices are scaled by a second scaling factor (ρ). Scaled output ramp values (ORscaled [j,k]) are generated for each scaled output load index and scaled input ramp index pair. A third scaling factor (γ) is used to generate the scaled output ramp values (ORscaled [j,k]). Additionally, delay values can be generated as well. Specifically, baseline delay values (Delaybl [j, k]) are generated for each output load index (Loadj) and input ramp index (IRk) pair. Scaled delay values (Delayscaled [j, k]) are generated for each scaled output load index and scaled input ramp index pair.
-
Citations
21 Claims
-
1. A method for producing a logic cell, the method comprising the following steps:
-
(a) generating a timing model for the logic cell, including the following substeps;
(a.1) selecting output load indices (Load1, Load2, . . . ,Loadm) which specify output load for the first logic cell, (a.2) selecting input ramp indices (IR1, IR2, . . . ,IRn) which specify input ramp for the first logic cell, (a.3) generating baseline output ramp values (ORbl [j,k]) for each output load index (Loadj) and input ramp index (IRk) pair, (a.4) scaling the output load indices by a first scaling factor (λ
),(a.5) scaling the input ramp indices by a second scaling factor (ρ
), and(a.6) generating scaled output ramp values (ORscaled [j,k]) for each scaled output load index and scaled input ramp index pair, wherein a numerical value of ORscaled [j, k] represents a value of output ramp at new Process, Power supply, Temperature conditions when the output load for the first logic cell is equal to λ
*Loadj and the input ramp for the first logic cell is equal to ρ
*IRk; and
,(b) building the logic cell based on the timing model generated in step (a). - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
3. A method as in claim 2 wherein baseline output ramp value at zero load and minimum input ramp (ORbl [0,1]) is approximated using the following equation:
-
4. A method as in claim 1 wherein substep (a.6) includes using a third scaling factor (γ
- ) to generate the scaled output ramp as a function of output load and input ramp ORscaled(Output Load, Input ramp) in accordance with the following equation;
- ) to generate the scaled output ramp as a function of output load and input ramp ORscaled(Output Load, Input ramp) in accordance with the following equation;
-
5. A method as in claim 4 wherein baseline output ramp value at zero load and minimum input ramp (ORbl [0,1]) is approximated using the following equation:
-
6. A method as in claim 1 wherein substep (a.6), includes using a third scaling factor (γ
- ) to generate the scaled output ramp values (ORscaled [j,k]).
-
7. A method as in claim 6 wherein a value of the first scaling factor varies dependent upon process, power and temperature variances, wherein a value of the second scaling factor also varies dependent upon process, power and temperature variance, and wherein a value of the third scaling factor also varies dependent upon process, power and temperature variance.
-
8. A method as in claim 7 wherein the value of the first scaling factor additionally varies based on whether voltage at an output node of the logic cell is rising or falling, wherein the value of the second scaling factor also varies based on whether voltage at the output node of the logic cell is rising or falling, and wherein the value of the third scaling factor also varies based on whether voltage at the output node of the logic cell is rising or falling.
-
9. A method as in claim 1 wherein step (a) additionally comprises the following substeps:
-
(a.7) generating baseline delay values (Delaybl [j, k]) for each output load index (Loadj) and input ramp index (IRk) pair; and
,(a.8) generating scaled delay values (Delayscaled [j, k]) for each scaled output load index and scaled input ramp index pair.
-
-
10. A method as in claim 9 wherein:
-
substep (a.8) includes the following substeps;
generating new values (Dt0bl [j, k]) for each output load index (Loadj) and input ramp index (IRk) pair based on the baseline delay values (Delaybl [j, k]), the baseline output ramp values (ORbl [j,k]), and a factor (φ
) which takes into account non-linearity of voltage waveforms within the logic cell, in accordance with the following equation;
-
-
11. A method as in claim 10 wherein baseline new value at zero load and zero input ramp (Dt0bl [0, 0]) is approximated using the following equation:
-
12. A method as in claim 9 wherein substep (a.8) includes the following substeps:
generating new values (Dt0bl [j, k]) for each output load index (Loadj) and input ramp index (IRk) pair based on the baseline delay values (Delaybl [j, k]), the baseline output ramp values (ORbl [j,k]), and a factor (φ
) which takes into account non-linearity of voltage waveforms within the logic cell, in accordance with the following equation;
-
13. A method as in claim 12 wherein baseline output ramp value at zero load and minimum input ramp (ORbl [0,1]) is approximated using the following equation:
-
14. A method for producing a logic cell, the method comprising the following steps:
-
(a) generating a timing model for the logic cell, including the following substeps;
(a.1) selecting output load indices (Load1, Load2, . . . ,Loadm) which specify output load for the first logic cell, (a.2) selecting input ramp indices (IR1, IR2, . . . ,IRn) which specify input ramp for the first logic cell, (a.3) generating baseline delay values (Delaybl [j, k]) for each output load index (Loadj) and input ramp index (IRk) pair, (a.4) scaling the output load indices by a first scaling factor (λ
),(a.5) scaling the input ramp indices by a second scaling factor (ρ
), and(a.6) generating scaled delay values (Delayscaled [j, k]) for each scaled output load index and scaled input ramp index pair, wherein a numerical value of Delayscaled [j, k] represents a value of transition delay at new Process, Power supply, Temperature conditions when the output load for the first logic cell is equal to λ
*Loadj and the input ramp for the first logic cell is equal to ρ
*IRk; and
,(b) building the logic cell based on the timing model generated in step (a). - View Dependent Claims (15, 16, 17, 18, 19, 20, 21)
generating baseline output ramp values (ORbl [j,k]) for each output load index (Loadj) and input ramp index (IRk) pair;
generating new values (Dt0bl [j, k]) for each output load index (Loadj) and input ramp index (IRk) pair based on the baseline delay values (Delaybl [j, k]), the baseline output ramp values (ORbl [j,k]), and a factor (φ
) which takes into account non-linearity of voltage waveforms within the logic cell, in accordance with the following equation;
-
-
16. A method as in claim 15 wherein baseline new value at zero load and zero input ramp (Dt0bl [0, 0]) is approximated using the following equation:
-
17. A method as in claim 14 wherein substep (a.6) includes the following substeps:
-
generating baseline output ramp values (ORbl [j,k]) for each output load index (Loadj) and input ramp index (IRk) pair;
generating new values (Dt0bl [j, k]) for each output load index (Loadj) and input ramp index (IRk) pair based on the baseline delay values (Delaybl [j, k]), the baseline output ramp values (ORbl [j,k]), and a factor (φ
) which takes into account non-linearity of voltage waveforms within the logic cell, in accordance with the following equation;
-
-
18. A method as in claim 17 wherein baseline output ramp value at zero load and minimum input ramp (ORbl [0,1]) is approximated using the following equation:
-
19. A method as in claim 14 wherein substep (a.6) includes using a third scaling factor (α
- ) to generate the scaled delay values (Delayscaled [j,k]).
-
20. A method as in claim 19 wherein a value of the first scaling factor varies dependent upon process, power and temperature variances, wherein a value of the second scaling factor also varies dependent upon process, power and temperature variance, and wherein a value of the third scaling factor also varies dependent upon process, power and temperature variance.
-
21. A method as in claim 20 wherein the value of the first scaling factor additionally varies based on whether voltage at an output node of the logic cell is rising or falling, wherein the value of the second scaling factor also varies based on whether voltage at the output node of the logic cell is rising or falling, and wherein the value of the third scaling factor does not vary based on whether voltage at the output node of the logic cell is rising or falling.
Specification