Global routing determination method and storage medium
First Claim
1. A global routing determination method which successively divides a region which includes cells forming a circuit into a plurality of blocks, and hierarchically determines a global routing among the cells while arranging the cells in the blocks, comprising the steps of:
- (a) selecting a K-pattern which indicates a position of at least one terminal which is to be coupled by a wiring with respect to a predetermined number of blocks, from a registered K-pattern group;
(b) reading Q-patterns which indicate wiring patterns with respect to the selected K-pattern, from a registered Q-pattern group; and
(c) determining, as a global routing, a Q-pattern which has a wiring from a source terminal to a target terminal within the selected K-pattern with a signal delay time satisfying a predetermined condition, from among the read Q-patterns, said predetermined condition placing priority on a total wiring length over a density or disorder of wirings among the blocks in which the source terminal and the target terminal exist.
1 Assignment
0 Petitions
Accused Products
Abstract
A global routing determination method successively divides a region which includes cells forming a circuit into a plurality of blocks, and hierarchically determines a global routing among the cells while arranging the cells in the blocks. The global routing determination method includes the steps of selecting a K-pattern which indicates a position of at least one terminal which is to be coupled by a wiring with respect to a predetermined number of blocks, from a registered K-pattern group, reading Q-patterns which indicate wiring patterns with respect to the selected K-pattern, from a registered Q-pattern group, and determining, as a global routing, a Q-pattern which has a wiring from a source terminal to a target terminal within the selected K-pattern with a signal delay time satisfying a predetermined condition, from among the read Q-patterns, where the predetermined condition places priority on a total wiring length than a density or disorder of wirings among the blocks in which the source terminal and the target terminal exist.
19 Citations
14 Claims
-
1. A global routing determination method which successively divides a region which includes cells forming a circuit into a plurality of blocks, and hierarchically determines a global routing among the cells while arranging the cells in the blocks, comprising the steps of:
-
(a) selecting a K-pattern which indicates a position of at least one terminal which is to be coupled by a wiring with respect to a predetermined number of blocks, from a registered K-pattern group;
(b) reading Q-patterns which indicate wiring patterns with respect to the selected K-pattern, from a registered Q-pattern group; and
(c) determining, as a global routing, a Q-pattern which has a wiring from a source terminal to a target terminal within the selected K-pattern with a signal delay time satisfying a predetermined condition, from among the read Q-patterns, said predetermined condition placing priority on a total wiring length over a density or disorder of wirings among the blocks in which the source terminal and the target terminal exist. - View Dependent Claims (2)
- COST(Q)=COSTV1(Q)×
δ
(Q, V1)+COSTV2(Q)×
δ
(Q, V2)+COSTH1(Q)×
δ
(Q, H1)+COSTH2(Q)×
δ
(Q, H2)
where each read Q-pattern is made up of 2×
2 blocks, boundaries x between two mutually adjacent blocks of the read Q-pattern are respectively denoted by V1, V2, H1 and H2, a function δ
(Q, x) has a value 1 when a wiring passes through the boundary x and has a value 0 when a wiring does not pass through the boundary x, C1 and C2 are constants, C(x) denotes a number of wirings passing through the boundary x, W(x) denotes a number of wirings which can pass through the boundary, and relationships
-
-
3. A global routing determination method which successively divides a region which includes cells forming a circuit into a plurality of blocks, and hierarchically determines a global routing among the cells while arranging the cells in the blocks, comprising the steps of:
-
(a) selecting a K-pattern which indicates a position of at least one terminal which is to be coupled by a wiring with respect to a predetermined number of blocks, from a registered K-pattern group;
(b) reading Q-patterns which indicate wiring patterns with respect to the selected K-pattern, from a registered Q-pattern group; and
(c) determining, as a global routing, a Q-pattern which has a wiring from a source terminal to a target terminal within the selected K-pattern with a signal delay time satisfying a predetermined condition, from among the read Q-patterns, said step (c) determining, as the global routing, a Q-pattern which minimizes a slack S described by formulas
delay(i)−
maxDelay(i);
maxDelay(i)−
delay(i)<
0where maxDelay (i) denotes a signal delay time caused by a wiring from a requested source terminal to a target terminal, and delay(i) denotes a signal delay time which is obtained as a result of actually forming the wiring from the source terminal to the target terminal. - View Dependent Claims (4, 5, 6, 7, 8, 9, 10)
where a tree T has a source s0, an edge from a node v towards the source s0 is denoted by ev, a resistance of the edge ev is denoted by rev, a capacitance of the edge ev is denoted by Cev, a subtree of the node v is denoted by Tv, a capacitance of the subtree Tv is denoted by Cv, an ON-resistance of an output driver of the source s0 is denoted by rd, a sum total of wiring lengths is denoted by Cs0, and the Elmore delay D(v) indicates a delay from the source s0 to the target v.
-
-
5. The global routing determination method as claimed in claim 3, wherein, when the target terminal is connected to another target terminal which is included in a block different from a predetermined block which includes the target terminal, with respect to the Q-patterns satisfying S>
- 0, said step (c) branches a wiring from a block which includes the source terminal to a block other than the predetermined block which includes the target terminal, and if a signal delay time of the branched wiring is smaller than that of an original wiring and a relationship maxDelay(j)−
delay(j)≧
0 is satisfied, where maxDelay(j) denotes the signal delay time caused by the branched wiring and delay(j) denotes the signal delay time of the branched wiring which is actually formed from the target terminal to the other target terminal, said step (c) determines the Q-pattern which includes the branched wiring as the global routing.
- 0, said step (c) branches a wiring from a block which includes the source terminal to a block other than the predetermined block which includes the target terminal, and if a signal delay time of the branched wiring is smaller than that of an original wiring and a relationship maxDelay(j)−
-
6. The global routing determination method as claimed in claim 5, wherein, when the target terminal is connected to another target terminal which is included in a block different from a predetermined block which includes the target terminal, said step (c) removes a wiring from the target terminal to the other target terminal and forms another wiring which connects to the other target terminal via a path other than the that of the removed wiring, and if a signal delay time of the other wiring is smaller than that of an original wiring, and a relationship maxDelay(k)−
- delay(k)≧
0 is satisfied, where maxDelay(k) denotes a signal delay time caused by the other wiring and delay(k) denotes a signal delay time of the other wiring which is actually formed from the target terminal to the other target terminal, and said step (c) determines the Q-pattern which includes the other wiring as the global routing.
- delay(k)≧
-
7. The global routing determination method as claimed in claim 3, wherein, when the target terminal is connected to another target terminal which is included in a predetermined block which includes the target terminal, and no further target terminals connected to the target terminal exist in blocks other than the predetermined block, said step (c) branches a wiring from a block which includes the source terminal into the predetermined block, and if a signal delay time of the branched wiring is smaller than that of an original wiring, and a relationship maxDelay(j)−
- delay(j)≧
0 is satisfied, where maxDelay(j) denotes a signal delay time caused by the branched wiring and delay(j) denotes a signal delay time of the branched wiring which is actually formed from the source terminal to the other target terminal, said step (c) determines the Q-pattern which includes the branched wiring as the global routing.
- delay(j)≧
-
8. The global routing determination method as claimed in claim 7, wherein, when the target terminal is connected to another target terminal which is included in a predetermined block which includes the target terminal, and a further target terminal connected to the target terminal exists in a block other than the predetermined block, said step (c) removes a wiring from the target terminal to the other target terminal, and forms another wiring which connects to the other target terminal via a path different from that of the removed wiring, and if a signal delay time of the other wiring to the other target terminal is smaller than that of an original wiring, and a relationship maxDelay(k)−
- delay(k)≧
0 is satisfied, where maxDelay(k) denotes a signal delay time caused by the other wiring and delay(k) denotes a signal delay time of the other wiring which is actually formed from the target terminal to the other target terminal, said step (c) determines the Q-pattern which includes the other wiring as the global routing.
- delay(k)≧
-
9. The global routing determination method as claimed in claim 3, wherein, with respect to the Q-pattern which satisfies the relationship S≧
- 0, when the target terminal is connected to another target terminal which is included in a block other than a predetermined block which includes the target terminal, said step (c) inserts a buffer in a wiring from the target terminal to the other target terminal, and if a signal delay time of the wiring to the other target terminal and inserted with the buffer is smaller than that of an original wiring which does not include the buffer, and a relationship maxDelay(j)−
delay(j)≧
0 is satisfied, where maxDelay(j) denotes a signal delay time caused by the wiring from the target terminal to the other target terminal and inserted with the buffer and delay(j) denotes a signal delay time of the wiring which is actually formed from the target terminal to the other target terminal and is inserted with the buffer, said step (c) determines the Q-pattern which includes the wiring to the other target terminal and inserted with the buffer as the global routing.
- 0, when the target terminal is connected to another target terminal which is included in a block other than a predetermined block which includes the target terminal, said step (c) inserts a buffer in a wiring from the target terminal to the other target terminal, and if a signal delay time of the wiring to the other target terminal and inserted with the buffer is smaller than that of an original wiring which does not include the buffer, and a relationship maxDelay(j)−
-
10. The global routing determination method as claimed in claim 3, wherein, when the target terminal is connected to another target terminal which is included in a predetermined block which includes the target terminal, and no further target terminal connected to the target terminal exists in a block other than the predetermined block, said step (c) inserts a buffer in a wiring from the target terminal to the other target terminal, and if a signal delay time of the wiring to the other target terminal and inserted with the buffer is smaller than that of an original wiring, and a relationship maxDelay(j)−
- delay(j)≧
0 is satisfied, where maxDelay(j) denotes a signal delay time caused by the wiring inserted with the buffer and delay(j) denotes a signal delay time of the wiring which is inserted with the buffer and is actually formed from the target terminal to the other target terminal, said step (c) determines the Q-pattern which includes the wiring inserted with the buffer as the global routing.
- delay(j)≧
-
11. A computer-readable storage medium which stores a program for causing a computer to successively divide a region which includes cells forming a circuit into a plurality of blocks, and to hierarchically determine a global routing among the cells while arranging the cells in the blocks, comprising:
-
first means for causing the computer to select a K-pattern which indicates a position of at least one terminal which is to be coupled by a wiring with respect to a predetermined number of blocks, from a registered K-pattern group;
second means for causing the computer to read Q-patterns which indicate wiring patterns with respect to the selected K-pattern, from a registered Q-pattern group; and
third means for causing the computer to determine, as a global routing, a Q-pattern which has a wiring from a source terminal to a target terminal within the selected K-pattern with a signal delay time satisfying a predetermined condition, from among the read Q-patterns, said predetermined condition placing priority on a total wiring length over a density or disorder of wirings among the blocks in which the source terminal and the target terminal exist. - View Dependent Claims (12)
-
-
13. A computer-readable storage medium which stores a program for causing a computer to successively divide a region which includes cells forming a circuit into a plurality of blocks, and to hierarchically determine a global routing among the cells while arranging the cells in the blocks, comprising:
-
first means for causing the computer to select a K-pattern which indicates a position of at least one terminal which is to be coupled by a wiring with respect to a predetermined number of blocks, from a registered K-pattern group;
second means for causing the computer to read Q-patterns which indicate wiring patterns with respect to the selected K-pattern, from a registered Q-pattern group; and
third means for causing the computer to determine, as a global routing, a Q-pattern which has a wiring from a source terminal to a target terminal within the selected K-pattern with a signal delay time satisfying a predetermined condition, from among the read Q-patterns, said third means determining, as the global routing, a Q-pattern which minimizes a slack S described by formulas
delay(i)−
maxDelay(i);
maxDelay(i)−
delay(i)<
0where maxDelay (i) denotes a signal delay time caused by a wiring from a requested source terminal to a target terminal, and delay(i) denotes a signal delay time which is obtained as a result of actually forming the wiring from the source terminal to the target terminal. - View Dependent Claims (14)
where a tree T has a source s0, an edge from a node v towards the source s0 is denoted by ev, a resistance of the edge ev is denoted by rev, a capacitance of the edge ev is denoted by Cev, a subtree of the node v is denoted by Tv, a capacitance of the subtree Tv is denoted by Cv, an ON-resistance of an output driver of the source s0 is denoted by rd, a sum total of wiring lengths is denoted by Cs0, and the Elmore delay D(v) indicates a delay from the source s0 to the target v.
-
Specification