Method and apparatus for adaptive timing optimization of an integrated circuit design
First Claim
1. A method of optimizing a functional block within a netlist of an integrated circuit design, the method comprising:
- (a) defining a continuous set of possible combinations in which each combination in the set satisfies a predetermined criteria and assigning a corresponding delay value to each of a plurality of pins of the block, wherein each pin corresponds to a respective signal path through the block and wherein the delay values together form a delay value combination that is selected from the continuous set of possible combinations; and
(b) generating a circuit configuration for the block with a plurality of logic cells that are interconnected in the netlist such that the respective signal paths through the block have delays based on the corresponding delay values assigned in step (a).
10 Assignments
0 Petitions
Accused Products
Abstract
An optimization apparatus and method optimizes a functional block within a netlist of an integrated circuit design. A corresponding delay value is assigned to each of a plurality of pins of the block. Each pin corresponds to a respective signal path through the block. The delay values together form a delay value combination, which is selected from a continuous set of possible combinations in which each combination in the set satisfies a predetermined criteria. A circuit configuration for the block is then generated with a plurality of logic cells that are interconnected in the netlist such that the respective signal paths have delays through the block that are based on the corresponding delay values.
-
Citations
28 Claims
-
1. A method of optimizing a functional block within a netlist of an integrated circuit design, the method comprising:
-
(a) defining a continuous set of possible combinations in which each combination in the set satisfies a predetermined criteria and assigning a corresponding delay value to each of a plurality of pins of the block, wherein each pin corresponds to a respective signal path through the block and wherein the delay values together form a delay value combination that is selected from the continuous set of possible combinations; and (b) generating a circuit configuration for the block with a plurality of logic cells that are interconnected in the netlist such that the respective signal paths through the block have delays based on the corresponding delay values assigned in step (a). - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method of optimizing a functional block within a netlist of an integrated circuit design, the method comprising:
-
(a) assigning a current penalty value to each of a plurality of pins of the block, wherein each pin corresponds to a respective signal path through the block; (b) assigning a current delay value to each of the plurality of pins of the block based on the corresponding current penalty value; (c) identifying at least one of the pins as a critical pin in the netlist; (d) updating the current penalty value of the at least one critical pin based on a history of the respective pin being identified as the critical pin in step (c); (e) repeating step (b) using the current penalty value updated in step (d); and (f) generating an internal circuit configuration for the block with logic cells that are interconnected in the netlist such that the respective signal paths through the block have delays that are based on the current delay values. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A computer-readable medium comprising instructions readable by a computer-aided design tool for optimizing a functional block within a netlist of an integrated circuit which, when executed, cause the tool to perform steps comprising:
-
(a) assigning a current penalty value to each of a plurality of pins of the block, wherein each pin corresponds to a respective signal path through the block; (b) assigning a current delay value to each of the plurality of pins of the block based on the corresponding current penalty value; (c) identifying at least one of the pins as a critical pin in the netlist; (d) updating the current penalty value of the at least one critical pin based on a history of the respective pin being identified as the critical pin in step (c); (e) repeating step (b) using the current penalty value updated in step (d); and (f) generating a circuit configuration for the block with logic cells that are interconnected in the netlist such that the respective signal paths through the block have delays that are based on the current delay values.
-
-
28. An integrated circuit netlist comprising a functional block, which is optimized by a process comprising:
-
(a) assigning a current penalty value to each of a plurality of pins of the block, wherein each pin corresponds to a respective signal path through the block; (b) assigning a current delay value to each of the plurality of pins of the block based on the corresponding current penalty value; (c) identifying at least one of the pins as a critical pin in the netlist; (d) updating the current penalty value of the at least one critical pin based on a history of the respective pin being identified as the critical pin in step (c); (e) repeating step (b) using the current penalty value updated in step (d); and (f) generating a circuit configuration for the block with logic cells that are interconnected in the netlist such that the respective signal paths through the block have delays that are based on the current delay values.
-
Specification