Claims
- 1. A method for modifying a design of an integrated circuit (IC) specifying a layout of a plurality of sinks so that the design also specifies a layout of a clock tree that is to deliver a clock signal from a root node within the IC to each of the sinks, the method comprising the steps of:
a. identifying positions within the IC of a first subset of the sinks; b. selecting a first point within the IC; c. selecting positions within the IC of a plurality of first subtree endpoints, wherein each first subtree endpoint corresponds to a separate sink of the first subset and resides substantially between and spaced from its corresponding sink and the first point; and d. modifying the design so that it specifies layouts of a plurality of first signal paths, wherein each first signal path extends between a separate one of the first subtree endpoints and its corresponding sink.
- 2. The method in accordance with claim 1 further comprising the steps of:
e. determining a position of a first gate within the IC; and f. modifying the design to specify a layout of a first subtree of the clock tree for delivering the clock signal from the first gate to the first subtree endpoints.
- 3. The method in accordance with claim 2 wherein the first subtree includes buffers sized and positioned such that the first subtree delivers the clock signal from the first gate to each first subtree endpoint with substantially similar path delays.
- 4. The method in accordance with claim 1 wherein the first point is proximate to a centroid of the identified positions of the first subset of sinks.
- 5. The method in accordance with claim 1 wherein each first subtree endpoint resides substantially midway between its corresponding sink and the first point.
- 6. The method in accordance with claim 1 wherein the first signal paths as specified provide substantially similar path delays.
- 7. The method in accordance with claim 5 wherein at least one of the first signal paths as specified includes a buffer for buffering the clock signal.
- 8. The method in accordance with claim 7 wherein the first subtree includes buffers sized and positioned such that the first subtree delivers the clock signal from the first gate to each first subtree endpoint with substantially similar path delays.
- 9. The method in accordance with claim 3wherein the first point is proximate to a centroid of the identified positions of the first subset of sinks, wherein each first subtree endpoint resides substantially midway between its corresponding sink and the first point, wherein the first signal paths as specified provide substantially similar path delays, wherein at least one of the first signal paths as specified includes a buffer for buffering the clock signal, and wherein the first subtree includes buffers sized and positioned such that the first subtree delivers the clock signal from the first gate to each first subtree endpoint with substantially similar path delays.
- 10. The method in accordance with claim 2 further comprising the steps of:
g. identifying positions within the IC of a second subset of the sinks; h. selecting a second point within the IC; i. selecting positions within the IC of a plurality of second subtree endpoints, wherein a first one of the second subtree endpoints resides substantially between and spaced from its the first gate the second point, and wherein each other second subtree endpoint corresponds to a separate sink of the second subset and resides substantially between and spaced from its corresponding sink and the second point; and j. modifying the design so that it specifies layouts of a plurality of second signal paths, wherein one of the second signal paths extends from the first one of the second subtree endpoints to the first gate, and wherein each other of the second signal paths extends between a separate one of the other second subtree endpoints and its corresponding sink.
- 11. The method in accordance with claim 10 further comprising the steps of:
k. determining a position of a second gate within the IC; and l. modifying the design to specify a layout of a second subtree of the clock tree for delivering the clock signal from the second gate to the second subtree endpoints.
- 12. The method in accordance with claim 11 wherein second subtree includes buffers sized and positioned such that the second subtree delivers the clock signal from the second gate to each second subtree endpoint with substantially similar path delays.
- 13. The method in accordance with claim 10 wherein the second point is proximate to a centroid of the identified positions of the second subset of sinks and the first gate.
- 14. The method in accordance with claim 10 wherein the first one of the second subtree endpoints resides substantially midway between the first gate and the second point and wherein each other second subtree endpoint resides substantially midway between its corresponding sink and the second point.
- 15. The method in accordance with claim 10 wherein all second signal paths as specified provide substantially similar path delays.
- 16. The method in accordance with claim 14 wherein at least one of the second signal paths as specified includes a buffer for buffering the clock signal.
- 17. The method in accordance with claim 16 wherein second subtree includes buffers sized and positioned such that the second subtree delivers the clock signal from the second gate to each second subtree endpoint with substantially similar path delays.
- 18. The method in accordance with claim 12wherein the first subtree includes buffers sized and positioned such that the first subtree delivers the clock signal from the first gate to each first subtree endpoint with substantially similar path delays, wherein the first point is proximate to a centroid of the identified positions of the first subset of sinks, wherein each first subtree endpoint resides substantially midway between its corresponding sink and the first point, wherein the first signal paths as specified provide substantially similar path delays, wherein at least one of the first signal paths as specified includes a buffer for buffering the clock signal, and wherein the first subtree includes buffers sized and positioned such that the first subtree delivers the clock signal from the first gate to each first subtree endpoint with substantially similar path delays, wherein the second point is proximate to a centroid of the identified positions of the second subset of sinks and the first gate, wherein the first one of the second subtree endpoints resides substantially midway between the first gate and the second point and wherein each other second subtree endpoint resides substantially midway between its corresponding sink and the second point, wherein all second signal paths as specified provide substantially similar path delays, wherein at least one of the second signal paths as specified includes a buffer for buffering the clock signal, and wherein second subtree includes buffers sized and positioned such that the second subtree delivers the clock signal from the second gate to each second subtree endpoint with substantially similar path delays.
- 19. Computer readable media storing software which when read and executed by a computer causes the computer to carry out a method for modifying a design of an integrated circuit (IC) specifying a layout of a plurality of sinks so that the design also specifies a layout of a clock tree that is to deliver a clock signal from a root node within the IC to each of the sinks, wherein the method comprises the steps of:
a. identifying positions within the IC of a first subset of the sinks; b. selecting a first point within the IC; c. selecting positions within the IC of a plurality of first subtree endpoints, wherein each first subtree endpoint corresponds to a separate sink of the first subset and resides substantially between and spaced from its corresponding sink and the first point; and d. modifying the design so that it specifies layouts of a plurality of first signal paths, wherein each first signal path extends between a separate one of the first subtree endpoints and its corresponding sink.
- 20. The computer readable media in accordance with claim 19 wherein the method further comprises the steps of:
e. determining a position of a first gate within the IC; and f. modifying the design to specify a layout of a first subtree of the clock tree for delivering the clock signal from the first gate to the first subtree endpoints.
- 21. The computer readable media in accordance with claim 20 wherein the first subtree includes buffers sized and positioned such that the first subtree delivers the clock signal from the first gate to each first subtree endpoint with substantially similar path delays.
- 22. The computer readable media in accordance with claim 19 wherein the first point is proximate to a centroid of the identified positions of the first subset of sinks.
- 23. The computer readable media in accordance with claim 19 wherein each first subtree endpoint resides substantially midway between its corresponding sink and the first point.
- 24. The computer readable media in accordance with claim 19 wherein the first signal paths as specified provide substantially similar path delays.
- 25. The computer readable media in accordance with claim 24 wherein at least one of the first signal paths as specified includes a buffer for buffering the clock signal.
- 26. The computer readable media in accordance with claim 25 wherein the first subtree includes buffers sized and positioned such that the first subtree delivers the clock signal from the first gate to each first subtree endpoint with substantially similar path delays.
- 27. The computer readable media in accordance with claim 21wherein the first point is proximate to a centroid of the identified positions of the first subset of sinks, wherein each first subtree endpoint resides substantially midway between its corresponding sink and the first point, wherein the first signal paths as specified provide substantially similar path delays, wherein at least one of the first signal paths as specified includes a buffer for buffering the clock signal, and wherein the first subtree includes buffers sized and positioned such that the first subtree delivers the clock signal from the first gate to each first subtree endpoint with substantially similar path delays.
- 28. The computer readable media in accordance with claim 20 wherein the method further comprises the steps of:
g. identifying positions within the IC of a second subset of the sinks; h. selecting a second point within the IC; i. selecting positions within the IC of a plurality of second subtree endpoints, wherein a first one of the second subtree endpoints resides substantially between and spaced from its the first gate the second point, and wherein each other second subtree endpoint corresponds to a separate sink of the second subset and resides substantially between and spaced from its corresponding sink and the second point; and j. modifying the design so that it specifies layouts of a plurality of second signal paths, wherein one of the second signal paths extends from the first one of the second subtree endpoints to the first gate, and wherein each other of the second signal paths extends between a separate one of the other second subtree endpoints and its corresponding sink.
- 29. The computer readable media in accordance with claim 28 wherein the method further comprises the steps of:
k. determining a position of a second gate within the IC; and l. modifying the design to specify a layout of a second subtree of the clock tree for delivering the clock signal from the second gate to the second subtree endpoints.
- 30. The computer readable media in accordance with claim 29 wherein second subtree includes buffers sized and positioned such that the second subtree delivers the clock signal from the second gate to each second subtree endpoint with substantially similar path delays.
- 31. The computer readable media in accordance with claim 28 wherein the second point is proximate to a centroid of the identified positions of the second subset of sinks and the first gate.
- 32. The computer readable media in accordance with claim 28 wherein the first one of the second subtree endpoints resides substantially midway between the first gate and the second point and wherein each other second subtree endpoint resides substantially midway between its corresponding sink and the second point.
- 33. The computer readable media in accordance with claim 28 wherein all second signal paths as specified provide substantially similar path delays.
- 34. The computer readable media in accordance with claim 22 wherein at least one of the second signal paths as specified includes a buffer for buffering the clock signal.
- 35. The computer readable media in accordance with claim 34 wherein second subtree includes buffers sized and positioned such that the second subtree delivers the clock signal from the second gate to each second subtree endpoint with substantially similar path delays.
- 36. The computer readable media in accordance with claim 30wherein the first subtree includes buffers sized and positioned such that the first subtree delivers the clock signal from the first gate to each first subtree endpoint with substantially similar path delays, wherein the first point is proximate to a centroid of the identified positions of the first subset of sinks, wherein each first subtree endpoint resides substantially midway between its corresponding sink and the first point, wherein the first signal paths as specified provide substantially similar path delays, wherein at least one of the first signal paths as specified includes a buffer for buffering the clock signal, and wherein the first subtree includes buffers sized and positioned such that the first subtree delivers the clock signal from the first gate to each first subtree endpoint with substantially similar path delays, wherein the second point is proximate to a centroid of the identified positions of the second subset of sinks and the first gate, wherein the first one of the second subtree endpoints resides substantially midway between the first gate and the second point and wherein each other second subtree endpoint resides substantially midway between its corresponding sink and the second point, wherein all second signal paths as specified provide substantially similar path delays, wherein at least one of the second signal paths as specified includes a buffer for buffering the clock signal, and wherein second subtree includes buffers sized and positioned such that the second subtree delivers the clock signal from the second gate to each second subtree endpoint with substantially similar path delays.
- 37. A method for synthesizing a gated clock tree of an integrated circuit (IC), the gated clock tree comprising gates and buffers interconnected by signal paths for conveying a clock signal from a root node downstream through the clock tree to a plurality of sinks within the IC, the method comprising the steps of:
a. selecting a gate to be included in the clock tree; b. synthesizing a portion of gated clock tree residing downstream of the selected gate; c. repeating steps a and b with a separate one of the gates to be included in the clock tree being selected at each repetition of step a until each gate to be included in the clock tree has been selected at step a and a portion of the clock tree residing downstream of each gate to be included in the clock tree has been synthesized at step b; and d. synthesizing portions of the clock tree residing upstream of all gates to be included in the clock tree.
- 38. The method in accordance with claim 37 wherein step b comprises the substeps of:
b1. determining a position of a centroid of a set of any and all sinks and gates residing downstream of the selected gate that are to receive the clock signal via the selected gate without first passing through any other gate downstream of the selected gate; b2. establishing a set of subtree endpoints, each residing between the centroid and a corresponding sink or gate of the set of sinks and gates determined at substep b1; b3. synthesizing a separate signal path for conveying the clock signal from each subtree endpoint to each one of the sinks and gates of the set; and b4. synthesizing a balanced subtree for conveying the clock signal from the selected gate to each subtree endpoint.
- 39. The method in accordance with claim 39 wherein path delays within the signal paths synthesized at step b3 are selected to limit differences in path delays between the selected gate and all sinks of the clock tree residing downstream of selected gate.
- 40. The method in accordance with claim 39 wherein buffers are included in signal paths synthesized at step b3, sized and positioned to limit differences in path delays between the selected gate and all sinks of the clock tree residing downstream of selected gate.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] The present application claims the benefit of the filing date of U.S. Provisional Application No. 60/342,006, filed Dec. 18, 2001.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60342006 |
Dec 2001 |
US |