Sweepline triangulation for spanning graphs

US11734486B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11734486-B2
Application numberUS-202117467631-A
CountryUS
Kind codeB2
Filing dateSep 7, 2021
Priority dateSep 7, 2021
Publication dateAug 22, 2023
Grant dateAug 22, 2023

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.

Aspects of the invention include systems and methods for implementing a sweepline triangulation technique to optimize spanning graphs for circuit routing. A non-limiting example computer-implemented method includes receiving an unrouted net having a plurality of elements. The elements can include pins, vias, and wires. A sweepline is passed across the unrouted net until the sweepline intersects an element of the plurality of elements. In response to the sweepline intersecting the element, the sweepline is stopped and one or more nodes on the sweepline and one or more previous nodes are identified. A connectivity graph is built from the one or more nodes and the one or more previous nodes. The connectivity graph includes one or more arcs and one or more guides. A minimum spanning tree is built by removing one or more guides from the connectivity graph and the unrouted net is routed based on the minimum spanning tree.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method for circuit routing, the method comprising: receiving an unrouted net comprising a plurality of elements, wherein the elements comprise pins, vias, and wires; passing a sweepline across the unrouted net until the sweepline intersects an element of the plurality of elements; in response to the sweepline intersecting the element, stopping the sweepline and identifying one or more nodes on the sweepline and one or more previous nodes; building a connectivity graph from the one or more nodes and the one or more previous nodes, the connectivity graph comprising one or more arcs and one or more guides; building a minimum spanning tree by removing one or more guides from the connectivity graph; and routing the unrouted net based on the minimum spanning tree. 2. The computer-implemented method of claim 1 further comprising, for each node on the sweepline: defining an upper sweepline triangle and a lower sweepline triangle; tagging each previous node in the upper sweepline triangle with a first indicator; and tagging each previous node in the lower sweepline triangle with a second indicator. 3. The computer-implemented method of claim 2 further comprising removing any node with both the first indicator and the second indicator. 4. The computer-implemented method of claim 1 , wherein the previous nodes correspond to a previous location of the sweepline. 5. The computer-implemented method of claim 1 , wherein the sweepline intersects the element at a first location; and, further comprising, passing the sweepline to a second location. 6. The computer-implemented method of claim 1 , wherein a guide represents an open between a first node and a second node in the connectivity graph. 7. The computer-implemented method of claim 1 , wherein an arc is created between two adjacent nodes of a wire segment and between a top pad and a bottom pad of a via. 8. A system comprising a memory having computer readable instructions and one or more processors for executing the computer readable instructions, the computer readable instructions controlling the one or more processors to perform operations comprising: receiving an unrouted net comprising a plurality of elements, wherein the elements comprise pins, vias, and wires; passing a sweepline across the unrouted net until the sweepline intersects an element of the plurality of elements; in response to the sweepline intersecting the element, stopping the sweepline and identifying one or more nodes on the sweepline and one or more previous nodes; building a connectivity graph from the one or more nodes and the one or more previous nodes, the connectivity graph comprising one or more arcs and one or more guides; building a minimum spanning tree by removing one or more guides from the connectivity graph; and routing the unrouted net based on the minimum spanning tree. 9. The system of claim 8 further comprising, for each node on the sweepline: defining an upper sweepline triangle and a lower sweepline triangle; tagging each previous node in the upper sweepline triangle with a first indicator; and tagging each previous node in the lower sweepline triangle with a second indicator. 10. The system of claim 9 further comprising removing any node with both the first indicator and the second indicator. 11. The system of claim 8 , wherein the previous nodes correspond to a previous location of the sweepline. 12. The system of claim 8 , wherein the sweepline intersects the element at a first location; and, further comprising, passing the sweepline to a second location. 13. The system of claim 8 , wherein a guide represents an open between a first node and a second node in the connectivity graph. 14. The system of claim 8 , wherein an arc is created between two adjacent nodes of a wire segment and between a top pad and a bottom pad of a via. 15. A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by one or more processors to cause the one or more processors to perform operations comprising: receiving an unrouted net comprising a plurality of elements, wherein the elements comprise pins, vias, and wires; passing a sweepline across the unrouted net until the sweepline intersects an element of the plurality of elements; in response to the sweepline intersecting the element, stopping the sweepline and identifying one or more nodes on the sweepline and one or more previous nodes; building a connectivity graph from the one or more nodes and the one or more previous nodes, the connectivity graph comprising one or more arcs and one or more guides; building a minimum spanning tree by removing one or more guides from the connectivity graph; and routing the unrouted net based on the minimum spanning tree. 16. The computer program product of claim 15 further comprising, for each node on the sweepline: defining an upper sweepline triangle and a lower sweepline triangle; tagging each previous node in the upper sweepline triangle with a first indicator; and tagging each previous node in the lower sweepline triangle with a second indicator. 17. The computer program product of claim 16 further comprising removing any node with both the first indicator and the second indicator. 18. The computer program product of claim 15 , wherein the previous nodes correspond to a previous location of the sweepline. 19. The computer program product of claim 15 , wherein the sweepline intersects the element at a first location; and, further comprising, passing the sweepline to a second location. 20. The computer program product of claim 15 , wherein a guide represents an open between a first node and a second node in the connectivity graph.

Assignees

Inventors

Classifications

  • G06F30/394Primary

    Routing (G06F30/396 takes precedence) · CPC title

  • Graphs; Linked lists (G06F16/9027 takes precedence) · CPC title

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 US11734486B2 cover?
Aspects of the invention include systems and methods for implementing a sweepline triangulation technique to optimize spanning graphs for circuit routing. A non-limiting example computer-implemented method includes receiving an unrouted net having a plurality of elements. The elements can include pins, vias, and wires. A sweepline is passed across the unrouted net until the sweepline intersects…
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 22 2023 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 10 related publications on this page (citations in our corpus or others sharing the same primary CPC).