Patent US5802175A successfully refreshed from Google Patents.
Patent US5757656A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5757656A Expired / Lapsed US ⏱️ 0.0 years remaining

Method for routing breakouts

Assignee: Mentor Graphics Corp
•
Filing: 1995-12-20
•
Granted: 1998-05-26
•
Expires: 2015-12-20
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A computer-assisted method for routing breakouts includes finding a matching for a group of pins and vias, and then routing paths between matching pin-via pairs. The matching is computed efficiently and quickly by creating convex hull data structures to represent the pins and vias, and then computing a common tangent from these convex hull structures. The endpoints of the common tangent comprise matching pin-via pairs. A matching pair is routed to find a path between a pin and via pair that achieves predefined design constraints. The method can be extended to routing wire bond connections as well.\!

Inventors

  • 👤 John E. Hershberger
  • 👤 John R. Egan
  • 👤 Robert Mark Sumner

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 11:53
CPC Classifications
G; G06; G06F; G06F30/00; G06F30/30; G06F30/39; G06F30/394

Claims Analysis

Total Claims: 17
Claim 1
Independent Claim 227 words
A computer-assisted method for routing breakouts between pins and vias, comprising: reading coordinates of pins and vias from memory of a programmed computer system; creating a first convex hull structure representing the pins and a second convex hull structure representing the vias from the coordinates of the pins and the vias; finding a common tangent between the first and second convex hull structures having a first endpoint in the first convex hull structure and a second endpoint in the second convex hull structure; storing the first and second endpoints of the common tangent between the first and second convex hull structures as a first matching pin and via pair; removing the first and second endpoints from the first and second convex hull structures respectively; reconstructing the first and second convex hull structures to find first and second reconstructed convex hull structures; finding a common tangent between the first and second reconstructed convex hull structures having a first endpoint in the first reconstructed convex hull structure and a second endpoint in the second reconstructed convex hull structure; storing the first and second endpoints of the common tangent between the first and second reconstructed convex hull structures as a second matching pin and via pair; and routing a first path between the first pin and via pair, and routing a second path between the second pin and via pair.
Claim 2
Dependent Claim 227 words
A computer-assisted method for routing breakouts between pins and vias, comprising: reading coordinates of pins and vias from memory of a programmed computer system; creating a first convex hull structure representing the pins and a second convex hull structure representing the vias from the coordinates of the pins and the vias; finding a common tangent between the first and second convex hull structures having a first endpoint in the first convex hull structure and a second endpoint in the second convex hull structure; storing the first and second endpoints of the common tangent between the first and second convex hull structures as a first matching pin and via pair; removing the first and second endpoints from the first and second convex hull structures respectively; reconstructing the first and second convex hull structures to find first and second reconstructed convex hull structures; finding a common tangent between the first and second reconstructed convex hull structures having a first endpoint in the first reconstructed convex hull structure and a second endpoint in the second reconstructed convex hull structure; storing the first and second endpoints of the common tangent between the first and second reconstructed convex hull structures as a second matching pin and via pair; and routing a first path between the first pin and via pair, and routing a second path between the second pin and via pair.
Claim 3
Independent Claim 33 words
The method of claim I further including the step of: before creating the first and second convex hull structures, selectively eliminating vias so that the number of pins equals the number of vias.
Claim 4
Independent Claim 148 words
A method for routing breakouts between pins and vias in an electrical circuit design, comprising: creating a first convex hull structure representing pins and a second convex hull representing vias from coordinates of the pins and vias stored in memory of a programmed computer system; performing the following steps on the first and second convex hull structures repeatedly to find matching pin-via pairs: finding a common tangent between the first and second convex hull structures having a first endpoint in the first convex hull structure and a second endpoint in the second convex hull structure; storing the first and second endpoints of the first common tangent as a matching pin-via pair; reconstructing the first and second convex hull structures after removing the first and second endpoints from the respective convex hull structures; and routing the matching pin-via pairs using the first and second endpoints of the common tangent.
Claim 5
Independent Claim 148 words
A method for routing breakouts between pins and vias in an electrical circuit design, comprising: creating a first convex hull structure representing pins and a second convex hull representing vias from coordinates of the pins and vias stored in memory of a programmed computer system; performing the following steps on the first and second convex hull structures repeatedly to find matching pin-via pairs: finding a common tangent between the first and second convex hull structures having a first endpoint in the first convex hull structure and a second endpoint in the second convex hull structure; storing the first and second endpoints of the first common tangent as a matching pin-via pair; reconstructing the first and second convex hull structures after removing the first and second endpoints from the respective convex hull structures; and routing the matching pin-via pairs using the first and second endpoints of the common tangent.
Claim 6
Dependent Claim 230 words
A computer-readable medium on which is stored a computer program for routing breakouts, said computer program comprising instructions, which when executed by a computer, perform the steps of: creating a first convex hull structure representing the pins and a second convex hull structure representing the vias from coordinates of the pins and the vias; finding a common tangent between the first and second convex hull structures having a first endpoint in the first convex hull structure and a second endpoint in the second convex hull structure; storing the first and second endpoints of the common tangent between the first and second convex hull structures as a first matching pin and via pair; removing the first and second endpoints from the first and second convex hull structures respectively; reconstructing the first and second convex hull structures to find first and second reconstructed convex hull structures; finding a common tangent between the first and second reconstructed convex hull structures having a first endpoint in the first reconstructed convex hull structure and a second endpoint in the second reconstructed convex hull structure; storing the first and second endpoints of the common tangent between the first and second reconstructed convex hull structures as a second matching pin and via pair; and routing a first path between the first pin and via pair, and routing a second path between the second pin and via pair.
Claim 7
Dependent Claim 230 words
A computer-readable medium on which is stored a computer program for routing breakouts, said computer program comprising instructions, which when executed by a computer, perform the steps of: creating a first convex hull structure representing the pins and a second convex hull structure representing the vias from coordinates of the pins and the vias; finding a common tangent between the first and second convex hull structures having a first endpoint in the first convex hull structure and a second endpoint in the second convex hull structure; storing the first and second endpoints of the common tangent between the first and second convex hull structures as a first matching pin and via pair; removing the first and second endpoints from the first and second convex hull structures respectively; reconstructing the first and second convex hull structures to find first and second reconstructed convex hull structures; finding a common tangent between the first and second reconstructed convex hull structures having a first endpoint in the first reconstructed convex hull structure and a second endpoint in the second reconstructed convex hull structure; storing the first and second endpoints of the common tangent between the first and second reconstructed convex hull structures as a second matching pin and via pair; and routing a first path between the first pin and via pair, and routing a second path between the second pin and via pair.
Claim 8
Dependent Claim 276 words
A computer-assisted method for routing breakouts between pins and vias, comprising: reading coordinates of pins and vias from memory of a programmed computer system; creating a first convex hull structure representing the pins and a second convex hull structure representing the vias from the coordinates of the pins and the vias; determining whether the pins nest within the vias, and determining whether the vias nest within the pins; and if either the pins nest the vias, or the vias nest the vias, then splitting the first and second convex hull structures so that the pins and vias do not nest; finding a common tangent between the first and second convex hull structures having a first endpoint in the first convex hull structure and a second endpoint in the second convex hull structure; storing the first and second endpoints of the common tangent between the first and second convex hull structures as a first matching pin and via pair; removing the first and second endpoints from the first and second convex hull structures respectively; reconstructing the first and second convex hull structures to find first and second reconstructed convex hull structures; finding a common tangent between the first and second reconstructed convex hull structures having a first endpoint in the first reconstructed convex hull structure and a second endpoint in the second reconstructed convex hull structure; storing the first and second endpoints of the common tangent between the first and second reconstructed convex hull structures as a second matching pin and via pair; and routing a first path between the first pin and via pair, and routing a second path between the second pin and via pair.
Claim 9
Dependent Claim 276 words
A computer-assisted method for routing breakouts between pins and vias, comprising: reading coordinates of pins and vias from memory of a programmed computer system; creating a first convex hull structure representing the pins and a second convex hull structure representing the vias from the coordinates of the pins and the vias; determining whether the pins nest within the vias, and determining whether the vias nest within the pins; and if either the pins nest the vias, or the vias nest the vias, then splitting the first and second convex hull structures so that the pins and vias do not nest; finding a common tangent between the first and second convex hull structures having a first endpoint in the first convex hull structure and a second endpoint in the second convex hull structure; storing the first and second endpoints of the common tangent between the first and second convex hull structures as a first matching pin and via pair; removing the first and second endpoints from the first and second convex hull structures respectively; reconstructing the first and second convex hull structures to find first and second reconstructed convex hull structures; finding a common tangent between the first and second reconstructed convex hull structures having a first endpoint in the first reconstructed convex hull structure and a second endpoint in the second reconstructed convex hull structure; storing the first and second endpoints of the common tangent between the first and second reconstructed convex hull structures as a second matching pin and via pair; and routing a first path between the first pin and via pair, and routing a second path between the second pin and via pair.
Claim 10
Dependent Claim 239 words
A computer-assisted method for routing breakouts between pins and vias, comprising: reading coordinates of pins and vias from memory of a programmed computer system; creating a first convex hull structure representing the pins and a second convex hull structure representing the vias from the coordinates of the pins and the vias; finding a common tangent between the first and second convex hull structures having a first endpoint in the first convex hull structure and a second endpoint in the second convex hull structure; storing the first and second endpoints of the common tangent between the first and second convex hull structures as a first matching pin and via pair; removing the first and second endpoints from the first and second convex hull structures respectively; reconstructing the first and second convex hull structures to find first and second reconstructed convex hull structures; finding a common tangent between the first and second reconstructed convex hull structures having a first endpoint in the first reconstructed convex hull structure and a second endpoint in the second reconstructed convex hull structure; storing the first and second endpoints of the common tangent between the first and second reconstructed convex hull structures as a second matching pin and via pair; routing a first path between the first pin and via pair, and routing a second path between the second pin and via pair; and swapping the first and second routing paths to reduce total routing length.
Claim 11
Dependent Claim 239 words
A computer-assisted method for routing breakouts between pins and vias, comprising: reading coordinates of pins and vias from memory of a programmed computer system; creating a first convex hull structure representing the pins and a second convex hull structure representing the vias from the coordinates of the pins and the vias; finding a common tangent between the first and second convex hull structures having a first endpoint in the first convex hull structure and a second endpoint in the second convex hull structure; storing the first and second endpoints of the common tangent between the first and second convex hull structures as a first matching pin and via pair; removing the first and second endpoints from the first and second convex hull structures respectively; reconstructing the first and second convex hull structures to find first and second reconstructed convex hull structures; finding a common tangent between the first and second reconstructed convex hull structures having a first endpoint in the first reconstructed convex hull structure and a second endpoint in the second reconstructed convex hull structure; storing the first and second endpoints of the common tangent between the first and second reconstructed convex hull structures as a second matching pin and via pair; routing a first path between the first pin and via pair, and routing a second path between the second pin and via pair; and swapping the first and second routing paths to reduce total routing length.
Claim 12
Dependent Claim 269 words
A computer-assisted method for routing breakouts between pins and vias, comprising: reading coordinates of pins and vias from memory of a programmed computer system; creating a first convex hull structure representing the pins and a second convex hull structure representing the vias from the coordinates of the pins and the vias; creating a binary tree structure representing an ordered set of the pins and vias, the binary tree structure having leaves representing the coordinates of pins or vias, wherein the first and second convex hull structures are created from the binary tree structure; finding a common tangent between the first and second convex hull structures having a first endpoint in the first convex hull structure and a second endpoint in the second convex hull structure; storing the first and second endpoints of the common tangent between the first and second convex hull structures as a first matching pin and via pair; removing the first and second endpoints from the first and second convex hull structures respectively; reconstructing the first and second convex hull structures to find first and second reconstructed convex hull structures; finding a common tangent between the first and second reconstructed convex hull structures having a first endpoint in the first reconstructed convex hull structure and a second endpoint in the second reconstructed convex hull structure; storing the first and second endpoints of the common tangent between the first and second reconstructed convex hull structures as a second matching pin and via pair; and routing a first path between the first pin and via pair, and routing a second path between the second pin and via pair.
Claim 13
Dependent Claim 269 words
A computer-assisted method for routing breakouts between pins and vias, comprising: reading coordinates of pins and vias from memory of a programmed computer system; creating a first convex hull structure representing the pins and a second convex hull structure representing the vias from the coordinates of the pins and the vias; creating a binary tree structure representing an ordered set of the pins and vias, the binary tree structure having leaves representing the coordinates of pins or vias, wherein the first and second convex hull structures are created from the binary tree structure; finding a common tangent between the first and second convex hull structures having a first endpoint in the first convex hull structure and a second endpoint in the second convex hull structure; storing the first and second endpoints of the common tangent between the first and second convex hull structures as a first matching pin and via pair; removing the first and second endpoints from the first and second convex hull structures respectively; reconstructing the first and second convex hull structures to find first and second reconstructed convex hull structures; finding a common tangent between the first and second reconstructed convex hull structures having a first endpoint in the first reconstructed convex hull structure and a second endpoint in the second reconstructed convex hull structure; storing the first and second endpoints of the common tangent between the first and second reconstructed convex hull structures as a second matching pin and via pair; and routing a first path between the first pin and via pair, and routing a second path between the second pin and via pair.
Claim 14
Dependent Claim 294 words
A computer-assisted method for routing breakouts between pins and vias, comprising: reading coordinates of pins and vias from memory of a programmed computer system; creating a first convex hull structure representing the pins and a second convex hull structure representing the vias from the coordinates of the pins and the vias; finding a common tangent between the first and second convex hull structures having a first endpoint in the first convex hull structure and a second endpoint in the second convex hull structure; storing the first and second endpoints of the common tangent between the first and second convex hull structures as a first matching pin and via pair; removing the first and second endpoints from the first and second convex hull structures respectively; reconstructing the first and second convex hull structures to find first and second reconstructed convex hull structures; finding a common tangent between the first and second reconstructed convex hull structures having a first endpoint in the first reconstructed convex hull structure and a second endpoint in the second reconstructed convex hull structure; storing the first and second endpoints of the common tangent between the first and second reconstructed convex hull structures as a second matching pin and via pair; and routing a first path between the first pin and via pair, and routing a second path between the second pin and via pair; wherein the first and second convex hull structures are binary tree structures including: leaves having data fields for representing the coordinates of pins or vias; nodes having data fields for representing an upper convex hull for the descendant leaves of the nodes; and a root node having a data field for representing an upper convex hull of all active pins or vias in the convex hull structure.
Claim 15
Dependent Claim 294 words
A computer-assisted method for routing breakouts between pins and vias, comprising: reading coordinates of pins and vias from memory of a programmed computer system; creating a first convex hull structure representing the pins and a second convex hull structure representing the vias from the coordinates of the pins and the vias; finding a common tangent between the first and second convex hull structures having a first endpoint in the first convex hull structure and a second endpoint in the second convex hull structure; storing the first and second endpoints of the common tangent between the first and second convex hull structures as a first matching pin and via pair; removing the first and second endpoints from the first and second convex hull structures respectively; reconstructing the first and second convex hull structures to find first and second reconstructed convex hull structures; finding a common tangent between the first and second reconstructed convex hull structures having a first endpoint in the first reconstructed convex hull structure and a second endpoint in the second reconstructed convex hull structure; storing the first and second endpoints of the common tangent between the first and second reconstructed convex hull structures as a second matching pin and via pair; and routing a first path between the first pin and via pair, and routing a second path between the second pin and via pair; wherein the first and second convex hull structures are binary tree structures including: leaves having data fields for representing the coordinates of pins or vias; nodes having data fields for representing an upper convex hull for the descendant leaves of the nodes; and a root node having a data field for representing an upper convex hull of all active pins or vias in the convex hull structure.
Claim 16
Dependent Claim 255 words
A computer-assisted method for routing breakouts between pins and vias, comprising: reading coordinates of pins and vias from memory of a programmed computer system; creating a first convex hull structure representing the pins and a second convex hull structure representing the vias from the coordinates of the pins and the vias; before creating the first and second convex hull structures, placing the vias on a mounting surface according to predefined design constraints, and storing the coordinates of the vias; finding a common tangent between the first and second convex hull structures having a first endpoint in the first convex hull structure and a second endpoint in the second convex hull structure; storing the first and second endpoints of the common tangent between the first and second convex hull structures as a first matching pin and via pair; removing the first and second endpoints from the first and second convex hull structures respectively; reconstructing the first and second convex hull structures to find first and second reconstructed convex hull structures; finding a common tangent between the first and second reconstructed convex hull structures having a first endpoint in the first reconstructed convex hull structure and a second endpoint in the second reconstructed convex hull structure; storing the first and second endpoints of the common tangent between the first and second reconstructed convex hull structures as a second matching pin and via pair; and routing a first path between the first pin and via pair, and routing a second path between the second pin and via pair.
Claim 17
Dependent Claim 255 words
A computer-assisted method for routing breakouts between pins and vias, comprising: reading coordinates of pins and vias from memory of a programmed computer system; creating a first convex hull structure representing the pins and a second convex hull structure representing the vias from the coordinates of the pins and the vias; before creating the first and second convex hull structures, placing the vias on a mounting surface according to predefined design constraints, and storing the coordinates of the vias; finding a common tangent between the first and second convex hull structures having a first endpoint in the first convex hull structure and a second endpoint in the second convex hull structure; storing the first and second endpoints of the common tangent between the first and second convex hull structures as a first matching pin and via pair; removing the first and second endpoints from the first and second convex hull structures respectively; reconstructing the first and second convex hull structures to find first and second reconstructed convex hull structures; finding a common tangent between the first and second reconstructed convex hull structures having a first endpoint in the first reconstructed convex hull structure and a second endpoint in the second reconstructed convex hull structure; storing the first and second endpoints of the common tangent between the first and second reconstructed convex hull structures as a second matching pin and via pair; and routing a first path between the first pin and via pair, and routing a second path between the second pin and via pair.

References Cited (Backward Citations)

US5019992A Cited
US5581738A Cited
US5513119A Cited
US5548747A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-05-25 2001-11-24 2002-05-26 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-05-25 2005-11-24 2006-05-26 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-05-25 2009-11-24 2010-05-26 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag