IP Library Granted Patent US 8,935,650
Granted Patent B2
US 8,935,650 · App. 14/245,162 · Granted Jan 13, 2015

Method and apparatus for performing parallel routing using a multi-threaded routing procedure

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 8,935,650
App. No.
14/245,162
Granted
Jan 13, 2015
Kind
B2
Abstract

A method for designing a system to be implemented on a target device includes generating bounding boxes on the target device for nets in the system where a bounding box identifies routing resources available for routing its corresponding net. The nets in the system are assigned to a plurality of threads to be routed. The threads are executed so that a plurality of the nets are routed in parallel within their corresponding bounding box.

Claims (29)

1. A method for designing a system on a target device, comprising:

partitioning the target device with a partition line;

assigning nets having bounding areas that cross the partition line to be routed serially; and

assigning remaining nets in a first partition to be routed in parallel with remaining nets in a second partition, wherein at least one of the partitioning, the assigning nets, and the assigning remaining nets is performed by a processor.

2. The method of claim 1 , wherein the nets to be routed serially are routed before nets to be routed in parallel.

3. The method of claim 1 , wherein the partition line partitions the target device into equally sized areas.

4. The method of claim 1 , wherein the partition line partitions the target device to balance an amount of routing work for nets in each partition.

5. The method of claim 1 , wherein the partition line is created to intersect fewer than a predetermined number of bounding areas.

6. The method of claim 1 , wherein the plurality of nets routed in parallel have bounding areas free from overlap.

7. The method of claim 1 further comprising routing nets with overlapping bounding areas serially.

8. The method of claim 1 , wherein each bounding area corresponds to an area on the target device.

9. The method of claim 1 , wherein each bounding area defines routing resources that can be used for routing its corresponding net.

10. A non-transitory computer readable medium including sequences of instructions stored thereon for causing a computer to execute a method comprising:

partitioning a target device with a partition line;

assigning nets having bounding areas that cross the partition line to be routed serially; and

assigning remaining nets in a first partition to be routed in parallel with remaining nets in a second partition.

11. The non-transitory computer readable medium of claim 10 , wherein the nets to be routed serially are routed before nets to be routed in parallel.

12. The non-transitory computer readable medium of claim 10 , wherein the partition line partitions the target device into equally sized areas.

13. The non-transitory computer readable medium of claim 10 , wherein the partition line partitions the target device to balance an amount of routing work for nets in each partition.

14. The non-transitory computer readable medium of claim 10 , wherein the partition line is created to intersect fewer than a predetermined number of bounding areas.

15. The non-transitory computer readable medium of claim 10 , wherein the plurality of nets routed in parallel have bounding areas free from overlap.

16. A method for designing a system on a target device, comprising:

identifying dependencies of nets in the system;

identifying sets of nets such that nets in each of the sets are free from dependencies from nets from other sets; and

routing the sets of nets in parallel, wherein at least one of the identifying dependence, the identifying sets of nets, and the routing is performed by a processor.

17. The method of claim 16 further comprising assigning nets with a higher number of dependencies to be routed before nets with fewer or no dependencies.

18. The method of claim 16 , wherein identifying dependencies of the nets comprises determining whether a bounding area corresponding to a first net overlaps with a bounding area corresponding to a second net.

19. The method of claim 16 , wherein each bounding area corresponds to an area on the target device.

20. The method of claim 16 , wherein each bounding area defines routing resources that can be used for routing its corresponding net.

Assignments (2)
SECURITY INTEREST Recorded Sep 12, 2025
From: ALTERA CORPORATION
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 073431/0309 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2014
From: BETZ, VAUGHN; SWARTZ, JORDAN; GOUTERMAN, VADIM
To: ALTERA CORPORATION
Reel/Frame 032603/0165 →