Sharing global route topologies in detailed routing

US10042970B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10042970-B2
Application numberUS-201615191576-A
CountryUS
Kind codeB2
Filing dateJun 24, 2016
Priority dateJun 24, 2016
Publication dateAug 7, 2018
Grant dateAug 7, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

According to an aspect, a method includes accessing an initial layout of global wires and a congestion related metric for each net in a gate level design description of an integrated circuit. A second layout is accessed that specifies, for each net, detailed routing information that includes connections between specific wires in the regions of the integrated circuit. A list of nets with a same source region and target region in the initial layout as the failing net is generated. A net in the list of nets is selected and the failing net is rerouted over the selected net. The rerouting includes the global router updating the initial layout and the detailed router updating the second layout. The congestion related metric for each net is updated in response to the global router updating the initial layout.

First claim

Opening claim text (preview).

What is claimed is: 1. A system for creating layouts of integrated circuits, the system comprising: a memory storing computer readable instructions; and a processor for executing the computer readable instructions to cause the system to perform: accessing an initial layout of global wires and a congestion related metric for each net in a gate level design description of an integrated circuit, the initial layout created by a global router based on the gate level design description, the initial layout of wires specifying connections between regions on the integrated circuit; accessing a second layout that specifies, for each net, detailed routing information including connections between specific wires in the regions of the integrated circuit, the second layout created by a detailed router based on the initial layout and including a failing net that is missing a connection in the second layout between two of the regions; generating a list of nets with a same source region and target region in the initial layout as the failing net; selecting a net in the list of nets; rerouting the failing net over the selected net, the rerouting comprising the global router updating the initial layout and the detailed router updating the second layout; updating the congestion related metric for each net in response to the global router updating the initial layout; and causing the integrated circuit to be fabricated based at least in part on the updated initial layout and the updated second layout. 2. The system of claim 1 , wherein the selecting comprises iterating through the list of nets in an order determined by the congestion related metrics until one of a net that corrects the failing net is identified and there are no more nets in the list of nets. 3. The system of claim 1 , wherein the instructions further cause the system to compute a congestion value for each pair of adjacent regions, wherein the congestion value is input to the selecting and the rerouting. 4. The system of claim 1 , wherein the instructions further cause the system to compute a weighted congestion score as the congestion metric for each net, the computing comprising: computing a congestion value for each pair of adjacent regions that reflects a number of connections between the pair; computing an average of the congestion values along a path of the net from source region to target region; computing a maximum value of the congestion values along the path of the net from the source region to the target region; and weighting the average and maximum congestion values along with an input weight of the net to generate the weighted congestion score for the net. 5. The system of claim 1 , wherein each net has two pin connections. 6. The system of claim 1 , wherein each net has at least three pin connections. 7. The system of claim 1 , wherein the instructions further cause the system to perform: identifying a net which causes a design rule violation for the initial layout; generating a second list of nets with the same source region and target region in the initial layout as the identified net; selecting a second net in the second list of nets; rerouting the identified net over the second selected net, the rerouting comprising the global router updating the initial layout; and updating the congestion related metric for each net in response to rerouting the identified net over the second selected net. 8. The system of claim 7 , wherein the design rule violation is selected from the group consisting of a congestion violation, a length violation, and a timing violation. 9. A computer program for creating layouts of integrated circuits, the computer program product comprising: a tangible storage medium readable by a processor and storing instructions executable by the processor for: accessing, using a processor, an initial layout of global wires and a congestion related metric for each net in a gate level design description of an integrated circuit, the initial layout created by a global router based on the gate level design description, the initial layout of wires specifying connections between regions on the integrated circuit; accessing, using the processor, a second layout that specifies, for each net, detailed routing information including connections between specific wires in the regions of the integrated circuit, the second layout created by a detailed router based on the initial layout and including a failing net that is missing a connection in the second layout between two of the regions; generating a list of nets with a same source region and target region in the initial layout as the failing net; selecting a net in the list of nets; rerouting the failing net over the selected net, the rerouting comprising the global router updating the initial layout and the detailed router updating the second layout; updating the congestion related metric for each net in response to the global router updating the initial layout; and causing the integrated circuit to be fabricated based at least in part on the updated initial layout and the updated second layout. 10. The computer program product of claim 9 , wherein the selecting comprises iterating through the list of nets in an order based on the congestion related metrics until one of a net that corrects the failing net is identified and there are no more nets in the list of nets. 11. The computer program product of claim 9 , wherein the instructions are further executable for computing a congestion value for each pair of adjacent regions, wherein the congestion value is input to the selecting and the rerouting. 12. The computer program product of claim 9 , wherein the instructions are further executable for: identifying a net which causes a design rule violation for the initial layout; generating a second list of nets with the same source region and target region in the initial layout as the identified net; selecting a second net in the second list of nets; rerouting the identified net over the second selected net, the rerouting comprising the global router updating the initial layout; and updating the congestion related metric for each net in response to rerouting the identified net over the second selected net.

Assignees

Inventors

Classifications

  • Constraint-based CAD · CPC title

  • Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM] (optical proximity correction [OPC] design processes G03F1/36) · CPC title

  • G06F30/394Primary

    Routing (G06F30/396 takes precedence) · CPC title

  • Circuit design at the physical level (physical level design for reconfigurable circuits G06F30/347) · CPC title

  • Physics · mapped topic

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10042970B2 cover?
According to an aspect, a method includes accessing an initial layout of global wires and a congestion related metric for each net in a gate level design description of an integrated circuit. A second layout is accessed that specifies, for each net, detailed routing information that includes connections between specific wires in the regions of the integrated circuit. A list of nets with a same …
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F30/394. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 07 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).