Patentable/Patents/US-8826215
US-8826215

Routing centric design closure

PublishedSeptember 2, 2014
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

Method of placing and routing circuit components including: dividing a layout area of an integrated circuit (IC) design into an array of tiles, each tile having a plurality of edges that are common to adjoining tiles; placing of circuit components into the layout area of the IC design such that each tile including a plurality of circuit components, the placing of circuit components being performed for primarily routability without resort to a timing model, routability being measured by congestion of wiring nets at the tile edges; performing a virtual timing operation of the IC design with a virtual timing model assuming ideal buffering is done to test the placement of circuit components; performing a wire synthesis operation of the IC design for layer assignment, buffering and timing optimization while minimizing degradation in routability; and performing a plurality of timing optimizations of the IC design while minimizing degradation in routability.

Patent Claims
18 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method of placing and routing circuit components comprising: dividing a layout area of an integrated circuit (IC) design into an array of tiles, each tile having a plurality of edges that are common to adjoining tiles; placing of circuit components into the layout area of the IC design such that each tile including a plurality of circuit components, the placing of circuit components being performed for primarily routability without resort to a timing model, routability being measured by congestion of wiring nets at the tile edges; performing a virtual timing operation of the IC design with a virtual timing model assuming ideal buffering is done to test the placement of circuit components; performing a wire synthesis operation of the IC design for layer assignment, buffering and timing optimization while minimizing degradation in routability; and performing a plurality of timing optimizations of the IC design while minimizing degradation in routability; moving circuit components during the plurality of timing optimizations such that a disruptiveness of moving circuit components varies from more disruptive in early timing optimizations to less disruptive in later timing optimizations; wherein the placing of circuit components starts good routability and the following timing optimization steps maintain the good routability; and wherein the method is performed by one or more computing devices.

2

2. The method of claim 1 further comprising adding one or more buffers after one of the plurality of timing optimizations.

3

3. The method of claim 1 wherein the layout area includes a plurality of metallization layers for routing wires and wherein the layer assignment of the wire synthesis includes routing at least one wire from a first metallization layer to a second metallization layer to relieve congestion or reduce timing delays on the first metallization layer.

4

4. The method of claim 1 wherein performing a virtual timing operation includes performing a layer assignment wherein the layer assignment includes routing at least one wire from a first metallization layer to a second metallization layer to relieve congestion or reduce timing delays on the first metallization layer.

5

5. The method of claim 1 wherein the virtual timing model includes any linear delay model that calculates a delay between any two connection points in the IC design assuming that buffers or inverters are inserted into the IC design optimally.

6

6. The method of claim 1 wherein the virtual timing operation includes a wiring model in combination with the virtual timing model such that the wiring model determines the point to point wiring topology for each wiring net of the IC design and the virtual timing model calculates the post-buffering timing delay for each point to point wiring net.

7

7. The method of claim 1 wherein if the virtual timing operation determines that the timing of the IC design is acceptable, then the method directly proceeds to wire synthesis while when the timing of the IC design is not acceptable in virtual timing, then further comprising incrementally moving the circuit components to improve the timing of the design.

8

8. The method of claim 7 wherein wire synthesis includes layer assignment, buffering, gate sizing and other optimization techniques.

9

9. The method of claim 1 wherein the plurality of timing optimizations include gate sizing, threshold voltage assignment and optimization, logic optimizations, layer assignment and cell movement.

10

10. A computer program product for placing and routing circuit components, the computer program product comprising: a non-transitory computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising: computer readable program code configured to divide a layout area of an integrated circuit (IC) design into an array of tiles, each tile having a plurality of edges that are common to adjoining tiles; computer readable program code configured to place circuit components into the layout area of the IC design such that each tile including a plurality of circuit components, the placement of circuit components being performed for primarily routability without resort to a timing model, routability being measured by congestion of wiring nets at the tile edges; computer readable program code configured to perform a virtual timing operation of the IC design with a virtual timing model assuming ideal buffering is done to test the placement of circuit components; computer readable program code configured to perform a wire synthesis operation of the IC design for layer assignment, buffering and timing optimization while minimizing degradation in routability; and computer readable program code configured to perform a plurality of timing optimizations of the IC design while minimizing degradation in routability; computer readable program code configured to move circuit components during the plurality of timing optimizations such that a disruptiveness of moving circuit components varies from more disruptive in early timing optimizations to less disruptive in later timing optimizations; and wherein the placing of circuit components starts good routability and the following timing optimization steps maintain the good routability.

11

11. The computer program product of claim 10 further comprising computer readable program code configured to add one or more buffers after one of the plurality of timing optimizations.

12

12. The computer program product of claim 10 wherein the layout area includes a plurality of metallization layers for routing wires and wherein the layer assignment of the wire synthesis includes computer readable program code configured to route at least one wire from a first metallization layer to a second metallization layer to relieve congestion or reduce timing delays on the first metallization layer.

13

13. The computer program product of claim 10 wherein computer readable program code configured to perform a virtual timing operation includes computer readable program code configured to perform a layer assignment wherein the layer assignment includes routing at least one wire from a first metallization layer to a second metallization layer to relieve congestion or reduce timing delays on the first metallization layer.

14

14. The computer program product of claim 10 wherein the virtual timing model includes any linear delay model that calculates a delay between any two connection points in the IC design assuming that buffers or inverters are inserted into the IC design optimally.

15

15. The computer program product of claim 10 wherein the virtual timing operation includes a wiring model in combination with the virtual timing model such that the wiring model determines the point to point wiring topology for each wiring net of the IC design and the virtual timing model calculates the post-buffering timing delay for each point to point wiring net.

16

16. The computer program product of claim 10 wherein when the virtual timing operation determines that the timing of the IC design is acceptable, then the computer program product directly proceeds to computer readable program code configured to perform wire synthesis while when the timing of the IC design is not acceptable in virtual timing, then further comprising computer readable program code configured to incrementally move the circuit components to improve the timing of the design.

17

17. The computer program product of claim 16 wherein wire synthesis includes layer assignment, buffering, gate sizing and other optimization techniques.

18

18. The computer program product of claim 10 wherein the plurality of timing optimizations include gate sizing, threshold voltage assignment and optimization, logic optimizations, layer assignment and cell movement.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

May 24, 2013

Publication Date

September 2, 2014

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Routing centric design closure” (US-8826215). https://patentable.app/patents/US-8826215

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.