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
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:33
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)
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 |