IP Library › Granted Patent US 11,126,780
Granted Patent B1
US 11,126,780 · App. 16/680,210 · Granted Sep 21, 2021

Automatic net grouping and routing

Inventors: Yi-Ting Chung (Hsinchu, TW); Kuan-Yu Liao (Hsinchu, TW); Shih-Pin Hung (Zhubei, TW); Kaichih Chi (Hsinchu, TW); Bing Chen (Austin, TX); Chun-Cheng Chi (Mountain View, CA)
Assignee: Synopsys, Inc.
G06F30/3953G06F30/394G06F30/3947G06F2115/02
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,126,780
App. No.
16/680,210
Granted
Sep 21, 2021
Kind
B1
Abstract

Techniques and systems for automatic net grouping and routing are described. Some embodiments can determine a set of net groups by automatically grouping nets that have (1) a same pin count, (2) a pin direction type that is in a predefined set of pin direction types, and (3) a pin order type that is in a predefined set of pin order types. Next, the embodiments can generate routing guidance by performing trunk planning for each net group. The embodiments can then perform detailed routing for each net in each net group by using the routing guidance.

Claims (31)

1. A non-transitory computer-readable storage medium storing instructions which, when executed by a processor, cause the processor to:

determine a set of net groups by automatically grouping bus-like nets which are not already part of a net group, and which have (1) a same pin count, (2) a pin direction type that is in a predefined set of pin direction types, and (3) a pin order type that is in a predefined set of pin order types;

generate routing guidance by performing trunk planning for each net group; and

perform detailed routing for each net in each net group by using the routing guidance.

2. The non-transitory computer-readable storage medium of claim 1 , wherein the predefined set of pin direction types comprises a vertical-vertical pin direction type, a vertical-horizontal pin direction type, a horizontal-vertical pin direction type, and a horizontal-horizontal pin direction type.

3. The non-transitory computer-readable storage medium of claim 2 , wherein the predefined set of pin order types comprises a same order type, a reverse order type, and an interleaved order type.

4. The non-transitory computer-readable storage medium of claim 1 , wherein said generating the routing guidance comprises constructing a constraint graph, wherein the constraint graph is a directed graph comprising a set of nodes and a set of directed edges, wherein each node in the constraint graph represents a net group, and each directed edge in the constraint graph represents a routing resource constraint between two net groups.

5. The non-transitory computer-readable storage medium of claim 4 , wherein the method comprises determining a minimum number of tracks required for routing the set of net groups by determining a maximum-weighted path in the constraint graph.

6. The non-transitory computer-readable storage medium of claim 5 , wherein the method comprises re-grouping nets in response to determining that the minimum number of tracks is greater than a capacity of a channel through which the net groups are to be routed.

7. The non-transitory computer-readable storage medium of claim 1 , wherein after performing detailed routing for each net in each net group by using the routing guidance, the method comprises performing detailed routing on nets that are not in the set of net groups.

8. An apparatus, comprising:

a memory storing instructions; and

a processor, coupled with the memory and to execute the instructions, the instructions when executed causing the processor to:

determine a set of net groups by automatically grouping bus-like nets which are not already part of a net group, and which have (1) a same pin count, (2) a pin direction type that is in a predefined set of pin direction types, and (3) a pin order type that is in a predefined set of pin order types;

generate routing guidance by performing trunk planning for each net group; and

perform detailed routing for each net in each net group by using the routing guidance.

9. The apparatus of claim 8 , wherein the predefined set of pin direction types comprises a vertical-vertical pin direction type, a vertical-horizontal pin direction type, a horizontal-vertical pin direction type, and a horizontal-horizontal pin direction type.

10. The apparatus of claim 9 , wherein the predefined set of pin order types comprises a same order type, a reverse order type, and an interleaved order type.

11. The apparatus of claim 8 , wherein said generating the routing guidance comprises constructing a constraint graph, wherein the constraint graph is a directed graph comprising a set of nodes and a set of directed edges, wherein each node in the constraint graph represents a net group, and each directed edge in the constraint graph represents a routing resource constraint between two net groups.

12. The apparatus of claim 11 , wherein the method comprises determining a minimum number of tracks required for routing the set of net groups by determining a maximum-weighted path in the constraint graph.

13. The apparatus of claim 12 , wherein the method comprises re-grouping nets in response to determining that the minimum number of tracks is greater than a capacity of a channel through which the net groups are to be routed.

14. The apparatus of claim 13 , wherein after performing detailed routing for each net in each net group by using the routing guidance, the method comprises performing detailed routing on nets that are not in the set of net groups.

15. A method for net grouping and routing, the method comprising:

determining, by a processor, a set of net groups by automatically grouping bus-like nets which are not a ready part of a net group, and which have (1) a same pin count, (2) a pin direction type that is in a predefined set of pin direction types, and (3) a pin order type that is in a predefined set of pin order types;

generating routing guidance by performing trunk planning for each net group; and

performing detailed routing for each net in each net group by using the routing guidance.

16. The method of claim 15 , wherein the predefined set of pin direction types comprises a vertical-vertical pin direction type, a vertical-horizontal pin direction type, a horizontal-vertical pin direction type, and a horizontal-horizontal pin direction type.

17. The method of claim 16 , wherein the predefined set of pin order types comprises a same order type, a reverse order type, and an interleaved order type.

18. The method of claim 15 , wherein said generating the routing guidance comprises constructing a constraint graph, wherein the constraint graph is a directed graph comprising a set of nodes and a set of directed edges, wherein each node in the constraint graph represents a net group, and each directed edge in the constraint graph represents a routing resource constraint between two net groups.

19. The method of claim 18 , comprising determining a minimum number of tracks required for routing the set of net groups by determining a maximum-weighted path in the constraint graph.

20. The method of claim 19 , comprising re-grouping nets in response to determining that the minimum number of tracks is greater than a capacity of a channel through which the net groups are to be routed.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2019
From: CHUNG, YI-TING; LIAO, KUAN-YU; HUNG, SHIH-PIN; CHI, KAICHIH; CHEN, BING; CHI, CHUN-CHENG
To: SYNOPSYS, INC.
Reel/Frame 051162/0795 →
Continuity (1)
Provisional Application 62758812 · Nov 12, 2018
Cited By (2)
US 12,353,812 US 12,406,124