Minimizing path delay in a machine by compensation of timing through selective placement and partitioning
First Claim
1. A computer implemented method for minimizing path delay and optimizing cycle time of a circuit design, said circuit design having a plurality of blocks connected to each other by interblock net segments, said method comprising the steps of:
- a) measuring path criticality as a function of path slack;
b) cataloguing said paths comprised of net segments contained in nets attached to a placed block for determining all the paths affected by a selected block placement;
c) developing an acceptance factor based on the most critical path in said nets, whereby said path criticality acceptance factor is based on the ratio of said path slack to said machine cycle time; and
d) interconnecting the blocks comprising said circuit design in accord with said improved net segments configuration, thereby achieving an optimized circuit design.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for minimizing cycle time to improve machine performance is described. The approach prioritizes placement and partitioning decisions based on the criticality of paths and their constituent net segments. It provides an initial coarse approximation to a final more optimum configuration by iteratively improving on it through the use of deterministic techniques. The method optimizes placement by means of heuristic algorithms that are based on a cost function that is dependent on net segment and path criticality.
136 Citations
22 Claims
-
1. A computer implemented method for minimizing path delay and optimizing cycle time of a circuit design, said circuit design having a plurality of blocks connected to each other by interblock net segments, said method comprising the steps of:
-
a) measuring path criticality as a function of path slack; b) cataloguing said paths comprised of net segments contained in nets attached to a placed block for determining all the paths affected by a selected block placement; c) developing an acceptance factor based on the most critical path in said nets, whereby said path criticality acceptance factor is based on the ratio of said path slack to said machine cycle time; and d) interconnecting the blocks comprising said circuit design in accord with said improved net segments configuration, thereby achieving an optimized circuit design. - View Dependent Claims (2, 3, 4)
-
-
5. A computer implemented method for minimizing path delay and optimizing cycle time of a circuit design based on global considerations, said circuit design having a plurality of blocks connected to each other by interblock net segments, said method comprising the steps of:
-
a) measuring net segment criticality as a function of net segment slack; b) cataloguing said net segments contained in nets attached to a placed block for determining all said net segments affected by a selected block placement; c) developing an acceptance factor based on the most critical net segment in said nets, whereby said net segment criticality acceptance factor is based on the ratio of said net segment slack to said machine cycle time; and d) interconnecting the blocks comprising said circuit design in accord with said improved net segments configuration, thereby achieving an optimized circuit design. - View Dependent Claims (6)
-
-
7. A computer implemented method for minimizing path delay and optimizing cycle time of a circuit design, said circuit design having a plurality of blocks connected to each other by interblock net segments, said method comprising the steps of:
-
a) determining the delay of each of said net segments interconnecting said blocks and prioritizing said net segments in accordance to a predetermined criterion for criticality; b) achieving an initial coarse approximation to a final optimum configuration based on said net segment criticality; c) improving said coarse approximation to the final optimum configuration by assigning a cost function to said net segments as a function of said net segment criticality; d) using said cost function to achieve by heuristic means an improved net segment configuration over the initial coarse approximation; and e) interconnecting the blocks comprising said circuit design in accord with said improved net segments configuration, thereby achieving an optimized circuit design. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
-
14. A computer implemented method for minimizing path delay and optimizing cycle time of a circuit design, said circuit design having a plurality of blocks connected to each other by interblock net segments, said method comprising the steps of:
-
a) generating a set of path delay equations for all machine paths in terms of block delays and interblock net segment connections; b) generating a path delay slack by subtracting the total functional block delay of said path from the cycle time requirement; c) expressing the set of said path delay slacks for all machine paths, such that each of said path delay slack is comprised of a summation of net segment delay factors defined in terms of source and destination tags of said net segments; d) estimating an initial net segment slack by applying equipartition rule; e) extracting the smallest delay value of multiple path net segments from a list of multiple values for all multi-use "pinned" net segments and using said smallest value as a singular value for said multiple path net segments; f) ordering all said net segments in ascending slack value; g) accounting for associativity among said net segments by establishing growth centers of said net segments to achieve net coagulation; and h) interconnecting the blocks comprising said circuit design in accord with said improved net segments configuration, thereby achieving an optimized circuit design. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A computer implemented method for minimizing path delay and optimizing cycle time of a circuit design based on local considerations, said circuit design having a plurality of blocks connected to each other by interblock net segments, said method comprising the steps of:
-
a) measuring path criticality as a function of path slack; b) cataloguing said paths comprised of net segments contained in nets attached to a placed block for determining all the paths affected by a selected block placement; c) indexing all said net segments contained in each in said nets by assigning a composite weight generated by a code based on path criticality, whereby the assigned indexed weight for each net segment in said nets is likewise a function of path criticality such that the highest indexed weight is assigned to the net segment contained in the most critical path; d) developing an acceptance factor based on said composite weight, whereby composite weight is a function of path criticality of each net segment in said net, and whereby said composite weight is defined by a code containing said indexed weight for each said net segment in said net; and e) interconnecting the blocks comprising said circuit design in accord with said improved net segments configuration, thereby achieving an optimized circuit design. - View Dependent Claims (20, 21)
-
-
22. A computer implemented method for minimizing path delay and optimizing cycle time of a circuit design based on local considerations, said circuit design having a plurality of blocks connected to each other by interblock net segments, said method comprising the steps of:
-
a) measuring net segment criticality as a function of net segment slack; b) cataloguing said net segments contained in nets attached to a placed block for determining all the net segments affected by a selected block placement; c) indexing all said net segments contained in each said nets by assigning a composite weight generated by a code based on net segment criticality, whereby said assigned indexed weight of each said net segment in said nets is likewise a function of net segment criticality, and such that the highest indexed weight is assigned to the net segment deemed most critical; d) developing an acceptance factor based on said composite weight, whereby said composite weight is a function of the criticality of each said net segment in said net and whereby said composite weight is defined by a code containing said indexed weights for each said net segment in said net; and e) interconnecting the blocks comprising said circuit design in accord with said improved net segments configuration, thereby achieving an optimized circuit design.
-
Specification