Method and apparatus for optimizing differential pairs based on timing constraints
First Claim
1. A method comprising:
- recognizing a differential pair;
combining the differential pair into one or more trunks;
determining a propagation delay over the differential pair;
comparing the determined propagation delay to a timing constraint;
adjusting a length of the one or more trunks, if the timing constraint is not met;
repeating the determining, comparing, and adjusting, if the timing constraint is not met, until the timing constraint is met or until the timing constraint cannot be met; and
producing an adjusted differential pair from the one or more trunks, if the timing constraint is met.
1 Assignment
0 Petitions
Accused Products
Abstract
A method to optimize differential pairs, based on timing constraints, includes recognizing that two separate traces form a differential pair, and combining sections of the differential pair into one or more trunks. Then, a propagation delay is determined over the differential pair. The determined propagation delay is compared to a timing constraint for the differential pair. If the timing constraint is not met, a length of one or more of the trunks is adjusted and the propagation delay is redetermined and compared to the timing constraint. If the timing constraint is still not met, the process is repeated until the timing constraint is met or until the timing constraint cannot be met. If the timing constraint is eventually met, the one or more trunks are used to produce an adjusted differential pair.
-
Citations
30 Claims
-
1. A method comprising:
-
recognizing a differential pair;
combining the differential pair into one or more trunks;
determining a propagation delay over the differential pair;
comparing the determined propagation delay to a timing constraint;
adjusting a length of the one or more trunks, if the timing constraint is not met;
repeating the determining, comparing, and adjusting, if the timing constraint is not met, until the timing constraint is met or until the timing constraint cannot be met; and
producing an adjusted differential pair from the one or more trunks, if the timing constraint is met. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
receiving a database representing a physical circuit layout, said database specifying differential pair employment rules; and
analyzing the database to recognize a pair of individual traces substantially complying with the differential pair employment rules.
-
-
3. The method of claim 1, wherein the combining comprises:
-
recognizing sections of the differential pair between endpoint regions and via regions; and
converting said sections into the one or more trunks, wherein a particular trunk is a single line representation of a particular section of the differential pair.
-
-
4. The method of claim 1, wherein the determining comprises one of:
-
formulating the determined propagation delay in a fast mode based on an accumulated capacitance for the differential pair; and
simulating operation of a physical circuit layout containing the differential pair in a slow mode and measuring the determined propagation delay in the simulation.
-
-
5. The method of claim 1, wherein the comparing comprises:
ascertaining if the determined propagation delay falls within a maximum and minimum propagation delay defined by the timing constraint.
-
6. The method of claim 1, wherein the adjusting comprises:
-
identifying a time differential between the determined propagation delay and the timing constraint;
identifying one or more particular trunks from the one or more trunks;
estimating a length of the one or more particular trunks that is equivalent to the time differential based on a propagation delay factor; and
changing one or more particular lengths of the one or more particular trunks by a total amount equal to the estimated length.
-
-
7. The method of claim 6, wherein the identifying one or more particular trunks comprises:
employing a selection criteria wherein, if the determined propagation delay is less than the timing constraint, straight sections of the one or more trunks are examined, in order of decreasing length, for surrounding available space, wherein said available space must satisfy a minimum spacing requirement factor, and wherein parallel available space is preferred over perpendicular available space, and if the determined propagation delay is more than the timing constraint, the one or more trunks are examined, in order of decreasing length, for deviations from a most direct path, wherein perpendicular deviations are preferred over parallel deviations.
-
8. The method of claim 6, wherein the changing comprises:
-
adding one or more trombone lengths to the one or more particular trunks if the determined propagation delay is less than the timing constraint; and
removing one or more trombone lengths from the one or more particular trunks if the determined propagation delay is more than the timing constraint.
-
-
9. The method of claim 1, wherein the producing comprises:
dividing the one or more trunks into separate individual traces of the adjusted differential pair.
-
10. The method of claim 1, wherein traces of the differential pair propagate in one of a single layer and separate adjacent layers of one of a printed circuit board and a chip.
-
11. A machine-readable storage medium having stored therein a plurality of programming instructions, designed to be executed by a processor, wherein execution of the plurality of programming instructions implements the method of:
-
recognizing a differential pair;
combining the differential pair into one or more trunks;
determining a propagation delay over the differential pair;
comparing the determined propagation delay to a timing constraint;
adjusting a length of the one or more trunks, if the timing constraint is not met;
repeating the determining, comparing, and adjusting, if the timing constraint is not met, until the timing constraint is met or until the timing constraint cannot be met; and
producing an adjusted differential pair from the one or more trunks, if the timing constraint is met. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
receiving a database representing a physical circuit layout, said database specifying differential pair employment rules; and
analyzing the database to recognize a pair of individual traces substantially complying with the differential pair employment rules.
-
-
13. The machine readable storage medium of claim 11, wherein the combining comprises:
recognizing sections of the differential pair between endpoint regions and via regions; and
converting said sections into the one or more trunks, wherein a particular trunk is a single line representation of a particular section of the differential pair.
-
14. The machine readable storage medium of claim 11, wherein the determining comprises one of:
-
formulating the determined propagation delay in a fast mode based on an accumulated capacitance for the differential pair; and
simulating operation of a physical circuit layout containing the differential pair in a slow mode and measuring the determined propagation delay in the simulation.
-
-
15. The machine readable storage medium of claim 11, wherein the comparing comprises:
ascertaining if the determined propagation delay falls within a maximum and minimum propagation delay defined by the timing constraint.
-
16. The machine readable storage medium of claim 11, wherein the adjusting comprises:
-
identifying a time differential between the determined propagation delay and the timing constraint;
identifying one or more particular trunks from the one or more trunks;
estimating a length of the one or more particular trunks that is equivalent to the time differential based on a propagation delay factor; and
changing one or more particular lengths of the one or more particular trunks by a total amount equal to the estimated length.
-
-
17. The machine readable storage medium of claim 16, wherein the identifying one or more particular trunks comprises:
employing a selection criteria wherein, if the determined propagation delay is less than the timing constraint, straight sections of the one or more trunks are examined, in order of decreasing length, for surrounding available space, wherein said available space must satisfy a minimum spacing requirement factor, and wherein parallel available space is preferred over perpendicular available space, and if the determined propagation delay is more than the timing constraint, the one or more trunks are examined, in order of decreasing length, for deviations from a most direct path, wherein perpendicular deviations are preferred over parallel deviations.
-
18. The machine readable storage medium of claim 16, wherein the changing comprises:
-
adding one or more trombone lengths to the one or more particular trunks if the determined propagation delay is less than the timing constraint; and
removing one or more trombone lengths from the one or more particular trunks if the determined propagation delay is more than the timing constraint.
-
-
19. The machine readable storage medium of claim 11, wherein the producing comprises:
dividing the one or more trunks into separate individual traces of the adjusted differential pair.
-
20. The machine readable storage medium of claim 11, wherein traces of the differential pair propagate in one of a single layer and separate adjacent layers of one of a printed circuit board and a chip.
-
21. An apparatus comprising:
-
an optimizer, said optimizer to recognize a differential pair, combine the differential pair into one or more trunks, determine a propagation delay over the differential pair, compare the determined propagation delay to a timing constraint, adjust a length of the one or more trunks, if the timing constraint is not met, repeat the determined, comparing, and adjusting, if the timing constraint is not met, until the timing constraint is met or until the timing constraint cannot be met, and produce an adjusted differential pair from the one or more trunks, if the timing constraint is met. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
receive a database representing a physical circuit layout, said database specifying differential pair employment rules; and
analyze the database to recognize a pair of individual traces substantially complying with the differential pair employment rules.
-
-
23. The apparatus of claim 21, wherein the optimizer to combine the differential pair into one or more trunks is to:
-
recognize sections of the differential pair between endpoint regions and via regions; and
convert said sections into the one or more trunks, wherein a particular trunk is a single line representation of a particular section of the differential pair.
-
-
24. The apparatus of claim 21, wherein the optimizer to determine the propagation delay is to one of:
-
formulate the determined propagation delay in a fast mode based on an accumulated capacitance for the differential pair; and
simulate operation of a physical circuit layout containing the differential pair in a slow mode and measure the determined propagation delay in the simulation.
-
-
25. The apparatus of claim 21, wherein the optimizer to compare the determined propagation delay to the timing constraint is to:
ascertain if the determined propagation delay falls within a maximum and minimum propagation delay defined by the timing constraint.
-
26. The apparatus of claim 21, wherein the optimizer to adjust the length of the one or more trunks is to:
-
identify a time differential between the determined propagation delay and the timing constraint;
identify one or more particular trunks from the one or more trunks;
estimate a length of the one or more particular trunks that is equivalent to the time differential based on a propagation delay factor; and
change one or more particular lengths of the one or more particular trunks by a total amount equal to the estimated length.
-
-
27. The apparatus of claim 26, wherein the optimizer to identify the one or more particular trunks is to:
employ a selection criteria wherein, if the determined propagation delay is less than the timing constraint, straight sections of the one or more trunks are examined, in order of decreasing length, for surrounding available space, wherein said available space must satisfy a minimum spacing requirement factor, and wherein parallel available space is preferred over perpendicular available space, and if the determined propagation delay is more than the timing constraint, the one or more trunks are examined, in order of decreasing length, for deviations from a most direct path, wherein perpendicular deviations are preferred over parallel deviations.
-
28. The apparatus of claim 26, wherein the optimizer to change the one or more particular lengths is to:
-
add one or more trombone lengths to the one or more particular trunks if the determined propagation delay is less than the timing constraint; and
remove one or more trombone lengths from the one or more particular trunks if the determined propagation delay is more than the timing constraint.
-
-
29. The apparatus of claim 21, wherein the optimizer to produce the adjusted differential pair is to:
divide the one or more trunks into separate individual traces of the adjusted differential pair.
-
30. The apparatus of claim 21, wherein traces of the differential pair propagate in one of a single layer and separate adjacent layers of one of a printed circuit board and a chip.
Specification