Method and apparatus for coarse global routing
First Claim
1. A method for routing nets on an integrated circuit device, said method comprising the following steps:
- a. dividing a portion of the integrated circuit device into a first plurality of tiles using cut lines in a first direction and cut lines in a second direction;
b. forming a first routing graph as a function of said first plurality of tiles;
c. routing nets as a function of said first routing graph;
d. forming a new plurality of tiles by dividing the tiles of said first plurality of tiles;
e. forming a new routing graph as a function of said new plurality of tiles;
f. rerouting nets as a function of said new routing graph; and
g. repeating steps d, e and f, wherein, at each iteration of step d, the tiles are further divided by adding more cut lines in the first direction, while a number of cut lines in the second direction does not change.
10 Assignments
0 Petitions
Accused Products
Abstract
Nets are routed on an integrated circuit device by dividing a portion of the integrated circuit device into a first group of tiles. A first routing graph is then formed as a function of the first group of tiles and nets are routed as a function of the first routing graph. A new group of tiles is formed by dividing the tiles of the first group of tiles, a new routing graph is formed as a function of the new group of tiles, and nets are rerouted as a function of the new routing graph. The steps of the preceding sentence are then repeated and each time a new group of tiles is formed, the tiles are divided in a same first dimension, resulting in tiles have progressively smaller lengths in that first dimension, while the size of the tiles in a second dimension does not change.
-
Citations
33 Claims
-
1. A method for routing nets on an integrated circuit device, said method comprising the following steps:
-
a. dividing a portion of the integrated circuit device into a first plurality of tiles using cut lines in a first direction and cut lines in a second direction;
b. forming a first routing graph as a function of said first plurality of tiles;
c. routing nets as a function of said first routing graph;
d. forming a new plurality of tiles by dividing the tiles of said first plurality of tiles;
e. forming a new routing graph as a function of said new plurality of tiles;
f. rerouting nets as a function of said new routing graph; and
g. repeating steps d, e and f, wherein, at each iteration of step d, the tiles are further divided by adding more cut lines in the first direction, while a number of cut lines in the second direction does not change. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. An apparatus for routing nets on an integrated circuit device, said apparatus comprising
a. means for dividing a portion of the integrated circuit device into a first plurality of tiles using cut lines in a first direction and cut lines in a second direction; -
b. means for forming a first routing graph as a function of said first plurality of tiles;
c. means for routing nets as a function of said first routing graph;
d. means for forming a new plurality of tiles by dividing the tiles of said first plurality of tiles;
e. means for forming a new muting graph as a function of said new plurality of tiles;
f. means for rerouting nets as a function of said new routing graph; and
g. means for repeating the functions performed by means d, e and f, wherein, at each iteration of the function performed by means d, the tiles are further divided by adding more cut lines in the first direction, while a number of cut lines in the second direction does not change. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
-
-
33. A computer-readable storage medium storing a computer-executable program for use in routing nets on an integrated circuit device, comprising:
-
a computer-readable storage medium; and
means recorded on said storage medium for directing a computer processor to;
a. divide a portion of the integrated circuit device into a first plurality of tiles using cut lines in a first direction and cut lines in a second direction;
b. form a first routing graph as a function of said first plurality of tiles;
c. route nets as a function of said first routing graph;
d. form a new plurality of tiles by dividing the tiles of said first plurality of tiles;
e. form a new routing graph as a function of said new plurality of tiles;
f. reroute nets as a function of said new routing graph; and
g. repeat steps d, e and f, wherein, at each iteration of step d, the tiles are further divided by adding more cut lines in the first direction, while a number of cut lines in the second direction does not change.
-
Specification