JP3247011B2 - Cell placement improvement apparatus and method - Google Patents

Cell placement improvement apparatus and method

Info

Publication number
JP3247011B2
JP3247011B2 JP07335494A JP7335494A JP3247011B2 JP 3247011 B2 JP3247011 B2 JP 3247011B2 JP 07335494 A JP07335494 A JP 07335494A JP 7335494 A JP7335494 A JP 7335494A JP 3247011 B2 JP3247011 B2 JP 3247011B2
Authority
JP
Japan
Prior art keywords
cell
cells
wiring length
vector
net
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP07335494A
Other languages
Japanese (ja)
Other versions
JPH07282104A (en
Inventor
泉 新田
利行 澁谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP07335494A priority Critical patent/JP3247011B2/en
Publication of JPH07282104A publication Critical patent/JPH07282104A/en
Application granted granted Critical
Publication of JP3247011B2 publication Critical patent/JP3247011B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は、VLSI(大規模集積
回路)の自動レイアウトにおけるセル配置改善装置及び
方法に関する。近年の回路技術の進歩にともない、VL
SIの集積度の向上と回路規模の増大は著しいものがあ
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an apparatus and a method for improving cell layout in automatic layout of VLSI (Large Scale Integrated Circuit). With the recent development of circuit technology, VL
There are remarkable improvements in the degree of integration of SI and the increase in circuit scale.

【0002】集積度の向上、回路規模の増大に伴い、V
LSIチップに含まれるセルの数も増え、セルの配置の
最適解を得ることはますます困難な問題となっている。
このため、セルの配置の最適解を計算する処理効率の向
上が望まれている。
As the degree of integration and circuit scale increase, V
The number of cells included in an LSI chip has also increased, and it has become increasingly difficult to obtain an optimal solution for cell placement.
For this reason, it is desired to improve the processing efficiency of calculating the optimal solution of the cell arrangement.

【0003】[0003]

【従来の技術】従来、VLSI等のセルの初期配置決定
後に、局所的にセルの位置を修正して配線長を低減する
方法として、(1)セルの回転、(2)セルの移動、
(3)セルの交換があり、それぞれ次のように操作を行
っていた。
2. Description of the Related Art Conventionally, after the initial placement of cells such as a VLSI is determined, the method of locally correcting the cell position and reducing the wiring length includes (1) cell rotation, (2) cell movement,
(3) The cells were exchanged, and the respective operations were performed as follows.

【0004】(1)セルを90度ずつ回転させ、配線長
を計算する。この回転で配線長が減少すればセルをその
向きに置く。 (2)セルを空いている場所に移動し、配線長を計算す
る。この移動で配線長が減少すればセルをその場所に置
く。
(1) The cell is rotated by 90 degrees to calculate the wiring length. If the wiring length is reduced by this rotation, the cell is placed in that direction. (2) Move the cell to a vacant place and calculate the wiring length. If the wire length is reduced by this movement, the cell is placed at that location.

【0005】(3)セルを2つ以上選び、それらの位置
を交換する。交換前と後の配線長を比較し、交換によっ
て配線長が短くなる場合に交換後の位置に決定し、それ
以外は元の位置に戻す。
(3) Two or more cells are selected and their positions are exchanged. The wiring lengths before and after the replacement are compared, and when the wiring length is shortened by the replacement, the position is determined as the position after the replacement, and otherwise the position is returned to the original position.

【0006】[0006]

【発明が解決しようとする課題】上記従来の配線長が減
少するセルの位置を見つけ出す方式は、次のような課題
があった。
The above-described conventional method of finding the position of a cell in which the wiring length is reduced has the following problems.

【0007】(1)セルの回転を行う場合、1つのセル
について、90度ずつ4つの向きに関して配線長を計算
する必要があった。 (2)セルの移動を行う場合、セルを置くことのできる
すべての場所について、その場所に移した時の配線長を
計算する必要があった。
(1) When rotating a cell, it is necessary to calculate the wiring length for one cell in four directions at 90 degrees. (2) When a cell is moved, it is necessary to calculate the wiring length when the cell is moved to all places where the cell can be placed.

【0008】(3)セルの交換を行う場合、セルがn個
で、2つのセルの交換を行う場合は、1つのセルに対し
て、n−1通りの組み合わせの配線長を調べる必要があ
った。
(3) When exchanging cells, when n cells are exchanged and when two cells are exchanged, it is necessary to check n-1 combinations of wiring lengths for one cell. Was.

【0009】本発明は、初期配置決定後に、すべてのセ
ルについて、その場所へ移動すると、そのセルに関する
配線長が不変かあるいは減少するような領域(以下「セ
ルベクタ=cell vector」という)を計算
し、セルベクタ内でセルの回転、移動、交換を行うこと
によって、調べる候補の数を低減し、処理効率の向上を
図ることを目的とする。
According to the present invention, a region (hereinafter, referred to as "cell vector") is calculated for all cells after the initial placement is determined, in which, when the cell is moved to the location, the wiring length of the cell is unchanged or reduced. By rotating, moving, and exchanging cells in a cell vector, the number of candidates to be examined is reduced, and the processing efficiency is improved.

【0010】[0010]

【課題を解決するための手段】本発明は、上記の課題を
解決するため、次のように構成した。図1は本発明の原
理説明図であり、図1(A)はセルベクタの説明図であ
り、図1(B)は装置構成図を示す。
SUMMARY OF THE INVENTION The present invention has the following construction to solve the above-mentioned problems. FIG. 1 is an explanatory diagram of the principle of the present invention, FIG. 1A is an explanatory diagram of a cell vector, and FIG. 1B is a device configuration diagram.

【0011】図1(A)において、セルAのセルベクタ
を斜線部分で示す。セルAの中心を点c、セルAを移動
した中心点をc’とし、セルAはその他のセルb、セル
d、セルeとネット(配線)で接続されている。なお、
配線の数字は配線の長さである。
In FIG. 1A, the cell vector of the cell A is indicated by hatching. The center of the cell A is a point c and the center point of the movement of the cell A is c ', and the cell A is connected to the other cells b, d, and e by a net (wiring). In addition,
The number of the wiring is the length of the wiring.

【0012】図1(B)において、入力部12は、セル
の位置情報、セルとネットの接続関係等の初期配置デー
タを入力するものである。セル配置改善部11は、セル
ベクタを計算し、セルの回転、移動、交換等の変化をさ
せセル配置の改善を行うものである。出力部13は、セ
ル配置改善後のセル位置、セルとネットの接続関係、配
線長等を出力するものである。
In FIG. 1B, an input unit 12 is for inputting initial position data such as cell position information and connection relation between a cell and a net. The cell placement improving unit 11 calculates a cell vector and changes the rotation, movement, exchange, etc. of the cell to improve the cell placement. The output unit 13 outputs a cell position after the cell arrangement is improved, a connection relation between the cell and the net, a wiring length, and the like.

【0013】[0013]

【作用】上記構成に基づく作用を図1に基づいて説明す
る。図1(B)の入力部12から、各セルの位置情報、
セルとネットの接続関係等の初期配置データをセル配置
改善部11に入力する。
The operation based on the above configuration will be described with reference to FIG. From the input unit 12 of FIG. 1B, the position information of each cell,
Initial placement data such as a connection relationship between a cell and a net is input to the cell placement improving unit 11.

【0014】セル配置改善部11では、すべてのセルに
ついて、そのセルを移動した時に、そのセルに関する配
線長が不変または減少する領域を計算し、その領域をセ
ルベクタ(cell vector)とする。
The cell placement improving section 11 calculates, for all the cells, a region where the wiring length of the cell remains unchanged or decreases when the cell is moved, and defines the region as a cell vector.

【0015】次に、セル配置改善部11は、セルベクタ
内でセルの回転、移動、交換等の変化を行うことによっ
て配線長を低減する。図1(A)の例では、セルAの中
心が点cにある時、セルAとセルbの配線長は7、セル
Aとセルdの配線長は7、セルAとセルeの配線長は9
であり、セルAの配線長の合計は23となる。セルAの
中心点cをセルベクタAの内点c’に移動すると、配線
長の合計は19に減少することになる。
Next, the cell placement improving unit 11 reduces the wiring length by changing the rotation, movement, replacement, etc. of the cell in the cell vector. In the example of FIG. 1A, when the center of cell A is at point c, the wiring length of cell A and cell b is 7, the wiring length of cell A and cell d is 7, and the wiring length of cell A and cell e. Is 9
And the total wiring length of the cell A is 23. When the center point c of the cell A is moved to the inner point c ′ of the cell vector A, the total wiring length is reduced to 19.

【0016】このセル配置改善部11による改善後のセ
ル位置、セルとネットの接続関係、配線長等が出力部1
3より出力される。以上のようにして、各セルについ
て、配線長が短くなる領域であるセルベクタを予め計算
して、調べる候補の数を低減し、局所配置改善の処理効
率の向上を図ることができる。
The cell position, the connection relationship between the cell and the net, the wiring length, and the like after the improvement by the cell arrangement improving unit 11 are output from the output unit 1.
3 is output. As described above, for each cell, a cell vector, which is a region where the wiring length is reduced, is calculated in advance, the number of candidates to be examined can be reduced, and the processing efficiency of local arrangement improvement can be improved.

【0017】[0017]

【実施例】以下、本発明の実施例を図面に基づいて説明
する。図2〜図10は、本発明の実施例を示した図であ
る。
Embodiments of the present invention will be described below with reference to the drawings. 2 to 10 are views showing an embodiment of the present invention.

【0018】§1:セルベクタの説明 初期配置決定後に、あるセルを局所的に移動した時、そ
のセルに関する配線長が不変か、或いは減少するような
領域であるセルベクタを求める方法を説明する。
§1: Description of Cell Vector A method for obtaining a cell vector which is an area where the wiring length of a certain cell is invariable or reduced when a certain cell is locally moved after the initial placement is determined.

【0019】各セルに関して、X、Y方向それぞれにつ
いて配線長が不変または減少する区間を計算し、それを
セルベクタとする。このセルベクタはセルの中心を含む
矩形の領域となり、セルから出るネットの数、方向に依
存することとなる。
For each cell, a section where the wiring length is unchanged or reduced in each of the X and Y directions is calculated, and the calculated section is used as a cell vector. This cell vector becomes a rectangular area including the center of the cell, and depends on the number and direction of nets coming out of the cell.

【0020】以下X方向の計算手順を示す。 (1)セル中心のX座標をcx とする。 (2)ネットを、セル中心cx を始点、接続先のセルの
中心を終点とするベクトルとして考える。
The calculation procedure in the X direction will be described below. (1) Let the x coordinate of the cell center be c x . (2) A net is considered as a vector having a cell center c x as a start point and a center of a connected cell as an end point.

【0021】(3)ネットを終点のX座標の小さい順
(昇順)にソートする。ソート後のネット終点のX座標
をx1 、x2 ・・・とする。 (4)図2は、ネットの総数が偶数(2n)の場合のセ
ルベクタの説明図である。
(3) Sort the nets in ascending order of ascending X coordinate of the end point. The X coordinate of the net end point after sorting and x 1, x 2 ···. (4) FIG. 2 is an explanatory diagram of a cell vector when the total number of nets is an even number (2n).

【0022】イ.cx <xn の時(図2(イ)参照)、
この時セル中心であるネットの始点cx は、ネットの総
数の半分(2n)/2の終点xn より左側(負側)に位
置するため、cx とxn の区間では配線長は減少し、x
n とxn+1 の区間では、中間であり、一方が増加すると
他方が同じだけ減少するため、配線長は不変となる。
A. When c x <x n (see FIG. 2A),
At this time, the starting point c x of the net, which is the cell center, is located on the left side (negative side) of the ending point x n of half (2n) / 2 of the total number of nets, so that the wiring length decreases in the section between c x and x n. Then x
In the section between n and x n + 1 , the line length is in the middle, and when one increases, the other decreases by the same amount, so that the wiring length remains unchanged.

【0023】 ・区間〔cx 、xn 〕 :減少・・・・・・・ ・区間〔xn 、xn+1 〕:不変・・・・・・・ ロ.xn <cx <xn+1 の時(図2(ロ)参照)、この
時、ネットの始点cxは、ネットの終点数の中間位置と
なるため配線長は不変となる。
Section [c x , x n ]: Decrease ····· Section [x n , x n + 1 ]: Invariant ···· When x n <c x <x n + 1 (refer to FIG. 2B), at this time, the wiring length is invariable because the starting point c x of the net is located at an intermediate position of the number of ending points of the net.

【0024】 ・区間〔xn 、xn+1 〕:不変・・・・・・・ ハ.xn+1 <cx の時(図2(ハ)参照)、この時、ネ
ットの始点cx は、ネット総数の中間位置(上記ロ.の
位置)より右側(上側)となるため、配線長は、xn
n+1 の区間では不変、xn+1 とcx の区間では減少す
ることになる。
Section [x n , x n + 1 ]: invariant When x n + 1 <c x (see FIG. 2C), at this time, the starting point c x of the net is on the right side (upper side) of the intermediate position of the total number of nets (the position of the above item B). long, with x n and x n + 1 of intervals unchanged, it will be reduced in a section of x n + 1 and c x.

【0025】 ・区間〔xn 、xn+1 〕:不変・・・・・・・ ・区間〔xn+1 、cx 〕:減少・・・・・・・ 従って、min(cx 、xn )をcx とxn のいずれか
小さい方をとることを、又、max(cx 、xn+1 )を
x とxn+1 のいずれか大きい方をとることをそれぞれ
示すものとすると、上記区間〜をまとめると、セル
ベクタのX方向の領域は、〔min(cx 、xn )、m
ax(cx 、xn+1 )〕となる。
Interval [x n , x n + 1 ]: invariant ··· · Interval [x n + 1 , c x ]: decreasing ····· min (c x , shows a x n) to take whichever c x and x n small addition, max (c x, x n + 1) to c x and x n + 1, whichever is larger to take each If the above sections ( 1 ) to (4) are put together, the area in the X direction of the cell vector is [min (c x , x n ), m
ax (c x , x n + 1 )].

【0026】なお、Y方向の計算もネットの総数が偶数
(2n)の場合は、X方向と同様に、Y方向の領域は
〔min(cy 、yn )、max(cy 、yn+1 )〕と
なる。(5)図3は、ネットの総数が奇数(2n+1)
の場合のセルベクタの説明図である。
[0026] In the case the total number of calculations net Y direction even (2n), like the X-direction, a region of the Y-direction is [min (c y, y n) , max (c y, y n +1 )]. (5) FIG. 3 shows that the total number of nets is odd (2n + 1)
FIG. 4 is an explanatory diagram of a cell vector in the case of FIG.

【0027】イ.cx =xn+1 の時(図3(イ)参
照)、この時、ネットの始点cx は、ネットの終点の中
間のxn+1 と一致するため、配線長が不変又は減少する
区間はない。
A. When c x = x n + 1 (see FIG. 3A), at this time, the starting point c x of the net coincides with x n + 1 in the middle of the end point of the net, so that the wiring length is unchanged or reduced. There are no sections.

【0028】ロ.cx <xn+1 の時(図3(ロ)参
照)、この時、ネットの始点cx は、ネット終点の中間
n+1 より左側(負側)になるためcx とxn+1 の区間
で配線長が減少することになる。
B. When c x <x n + 1 (see FIG. 3 (b)), since the start point c x of the net is on the left side (negative side) of the middle x n + 1 of the end point of the net, c x and x n The wiring length decreases in the section of +1 .

【0029】 ・区間〔cx 、xn+1 〕:減少・・・・・・・ ハ.xn+1 <cx の時(図3(ハ)参照)、この時、ネ
ットの始点cx は、ネット終点の中間xn+1 より右側
(上側)になるためxn+1 とcx の区間で配線長が減少
することになる。
Section [c x , x n + 1 ]: Decrease C. When x n + 1 <c x (see FIG. 3C), at this time, the start point c x of the net is on the right side (upper side) of the middle x n + 1 of the end point of the net, so x n + 1 and c The wiring length decreases in the section of x .

【0030】 ・区間〔xn+1 、cx 〕:減少・・・・・・・ 従って、上記区間、より、セルベクタのX方向の領
域は〔min(cx 、xn+1 )、max(cx
n+1 )〕となる。また、セルベクタのY方向の領域も
同様に〔min(cy 、yn+1 )、max(cy 、y
n+1 )〕となる。
[Interval (x n + 1 , c x ): Decrease] Therefore, from the above interval, the area of the cell vector in the X direction is [min (c x , x n + 1 ), max (C x ,
xn + 1 )]. Similarly, the Y-direction of the region of Serubekuta [min (c y, y n + 1), max (c y, y
n + 1 )].

【0031】§2:セルを回転する場合の説明 セルの初期配置終了後、すべてのセルについて、セルベ
クタを計算し、そのセルを90度ずつ回転した場合、配
線長が短くなるかどうかを調べる。配線長が短くなる向
きにセルを配置する。この回転する際に、セルがセルベ
クタ領域外に出る場合には、その向きは配線長を計算せ
ずに候補から外し、次の向きを調べる。
§2: Description of Rotating Cells After the initial placement of cells, cell vectors are calculated for all cells, and if the cells are rotated by 90 degrees, it is checked whether the wiring length is reduced. The cells are arranged in a direction in which the wiring length becomes shorter. If the cell goes out of the cell vector area during this rotation, the direction is excluded from the candidates without calculating the wiring length, and the next direction is examined.

【0032】図4は、セルを回転する場合の説明図であ
り、セルAから出る配線の方向が決まっている場合、セ
ルAを180度回転した場合、セルAとセルbの配線長
が短くなる例を示す。
FIG. 4 is an explanatory view of the case where the cell is rotated. When the direction of the wiring coming out of the cell A is fixed, when the cell A is rotated by 180 degrees, the wiring length of the cell A and the cell b is short. Here is an example.

【0033】§3:セルを移動する場合の説明 セルの初期配置終了後、すべてのセルについてセルベク
タを計算する。次にセルベクタ内でセルの移動可能な位
置を1箇所検出し、セルを移動する。これにより、セル
の配置がかわるため、この移動したセル及びそのセルと
ネットで接続されているセルについて、セルベクタを再
計算する。
§3: Description of the case where cells are moved After the initial placement of cells, cell vectors are calculated for all cells. Next, one movable position of the cell is detected in the cell vector, and the cell is moved. As a result, the cell arrangement is changed, so that the cell vector is recalculated for the moved cell and the cell connected to the cell by the net.

【0034】図1は、セルAの中心点cをc’に移動し
た場合の説明であり、中心点をcからc’に移動するこ
とにより合計の配線長が23から19に減少する場合を
示す。
FIG. 1 shows the case where the center point c of the cell A is moved to c ′. The case where the total wiring length is reduced from 23 to 19 by moving the center point from c to c ′ is shown. Show.

【0035】なお、セルAの移動場所は、配線長の減少
する可能性の大きい、セルベクタ内の端から行って調べ
ることが有効である。また、この移動を行った後、更に
図4で説明した回転を行ってセルの配線長を低減するこ
とができる。
It is effective to check the moving location of the cell A from the end of the cell vector where the wiring length is likely to decrease. After this movement, the rotation described with reference to FIG. 4 is further performed to reduce the wiring length of the cell.

【0036】§4:セルの交換の説明 セルの初期配置終了後、すべてのセルについて、セルベ
クタを計算する。次に交換可能なセルの2つ組を検出
し、交換する。交換可能なセルは、それぞれ自分のセル
中心が相手のセルベクタ領域内にあるようなセル2つ組
が交換可能である。
§4: Description of Cell Exchange After the initial placement of cells, cell vectors are calculated for all cells. Next, a pair of replaceable cells is detected and replaced. The exchangeable cells can be exchanged in pairs of cells each having its own cell center in the cell vector area of the other party.

【0037】この交換によって、交換したセル及びそれ
らのネットで接続されているセルのセルベクタが変化す
るため、該当するセルベクタの再計算を行う。これを交
換可能な2つ組がなくなるまで繰り返す。
Since the exchange changes the cell vectors of the exchanged cells and the cells connected by their nets, the corresponding cell vectors are recalculated. This is repeated until there are no more replaceable pairs.

【0038】図5は2つのセルを交換する説明図であ
り。図5(A)は、交換可能なセルAとセルBを示す。
この場合、セルAのセル中心はセルBのセルベクタ内に
あり、セルBのセル中心はセルAのセルベクタ内にあ
る。
FIG. 5 is an explanatory diagram for exchanging two cells. FIG. 5A shows exchangeable cells A and B.
In this case, the cell center of cell A is in the cell vector of cell B, and the cell center of cell B is in the cell vector of cell A.

【0039】交換前のセルAの配線長は、セルAとセル
dが9、セルAとセルfが7、セルAとセルhが7で合
計で23となり、セルBの配線長は、セルBとセルeが
3、セルBとセルgが10となり合計で13となる。
Before the replacement, the wiring length of the cell A is 9 for the cell A and the cell d, 7 for the cell A and the cell f, 7 for the cell A and the cell h, and the wiring length of the cell B is 23 B and cell e are 3 and cell B and cell g are 10, which is 13 in total.

【0040】交換後のセルAの配線長は、セルAとセル
dが5、セルAとセルfが3、セルAとセルhが11と
なり合計で19となり、セルBの配線長は、セルBとセ
ルeが7、セルBとセルgが6となり合計で13とな
る。
The wiring length of the cell A after the replacement is 5 for the cell A and the cell d, 3 for the cell A and the cell f, 11 for the cell A and the cell h, and the wiring length of the cell B is 19 B and cell e are 7, and cell B and cell g are 6, giving a total of 13.

【0041】図5(B)は、上記セルAとセルBの交換
前と交換後の配線長を示しており、交換後は、全体の配
線長が減少している。図6は、2つのセルを交換する処
理フローチャートである。以下、処理番号S1〜S5に
従って説明する。
FIG. 5B shows the wiring length before and after the replacement of the cells A and B. After the replacement, the entire wiring length is reduced. FIG. 6 is a processing flowchart for exchanging two cells. Hereinafter, description will be given according to the processing numbers S1 to S5.

【0042】S1:セルベクタが重なる2つのセル(c
1、c2)があるか判断する。重なる2つのセルc1、
c2がある場合(YES)処理番号S2に移る。もし、
重なる2つのセルc1、c2がない場合(NO)は、こ
の処理を終了(STOP)する。
S1: Two cells (c
1, c2) is determined. Two overlapping cells c1,
If c2 exists (YES), the process proceeds to the process number S2. if,
If there are no two overlapping cells c1 and c2 (NO), this process ends (STOP).

【0043】S2:セルc2がセルc1のセルベクタに
含まれるか判断する。セルc2がセルc1のセルベクタ
に含まれる場合(YES)は処理番号S3に移る。も
し、セルc2がセルc1のセルベクタに含まれない場合
(NO)は、処理番号S1に戻り、処理番号S1で次の
候補を調べる。
S2: It is determined whether the cell c2 is included in the cell vector of the cell c1. If the cell c2 is included in the cell vector of the cell c1 (YES), the process moves to the process number S3. If the cell c2 is not included in the cell vector of the cell c1 (NO), the process returns to the processing number S1, and the next candidate is checked with the processing number S1.

【0044】S3:セルc1がセルc2のセルベクタに
含まれるか判断する。セルc1がセルc2のセルベクタ
に含まれる場合(YES)、処理番号S4に移る。も
し、セルc1がセルc2のセルベクタに含まれない場合
(NO)は、処理番号S1に戻り、次の候補を調べる。
S3: It is determined whether the cell c1 is included in the cell vector of the cell c2. When the cell c1 is included in the cell vector of the cell c2 (YES), the process proceeds to a process number S4. If the cell c1 is not included in the cell vector of the cell c2 (NO), the process returns to the processing number S1, and the next candidate is examined.

【0045】S4:2つのセルc1とセルc2を交換し
て処理番号S5へ移る。 S5:交換したセルc1、c2とこれらとネットで接続
されているセルのセルベクタの再計算を行って、処理番
号S1に戻る。
S4: The two cells c1 and c2 are exchanged, and the process proceeds to the processing number S5. S5: Recalculate the cell vectors of the exchanged cells c1 and c2 and the cells connected to them by a net, and return to the processing number S1.

【0046】このような、図6の2つのセルの交換は、
配線長が減少する可能性の大きい距離の離れているもの
から行うのが有効である。また、図6の処理終了後、各
セルの配線長を計算することになる。
The exchange of the two cells in FIG. 6 is as follows.
It is effective to perform the operation from a long distance, where the wiring length is likely to decrease. After the processing of FIG. 6, the wiring length of each cell is calculated.

【0047】更に、このセルの交換を行った後、図4で
説明したセルの回転を行って配線長を低減することがで
きる。 §5:3つのセルを交換する説明 セルの初期配置終了後、すべてのセルについて、セルベ
クタを計算する。次に交換可能なセル3つ組を検出し、
交換をする。この交換で配線長が不変化、又は減少する
ことになる。交換によって、交換したセル及びそれらの
ネットで接続されているセルのセルベクタが変化するた
め、該当するセルのセルベクタの再計算を行う。この交
換を交換可能な3つ組がなくなるまで繰り返す。
Further, after the replacement of the cells, the rotation of the cells described with reference to FIG. 4 can be performed to reduce the wiring length. §5: Description of exchanging three cells After the initial arrangement of cells, cell vectors are calculated for all cells. Next, the exchangeable cell triplet is detected,
Exchange. With this replacement, the wiring length does not change or decreases. Since the exchange changes the cell vectors of the exchanged cells and the cells connected by those nets, the cell vector of the corresponding cell is recalculated. This exchange is repeated until there are no more exchangeable triplets.

【0048】図7は、3つのセルを交換する説明図1で
ある。図7(A)は交換可能なセルA、セルB、セルC
を示す。図7(A)中、数字は配線長である。この場
合、セルBのセル中心がセルAのセルベクタに含まれ、
セルCのセル中心がセルBのセルベクタに含まれ、セル
Aのセル中心がセルCのセルベクタに含まれている。
FIG. 7 is an explanatory diagram 1 for exchanging three cells. FIG. 7A shows exchangeable cells A, B, and C.
Is shown. In FIG. 7A, the numbers are the wiring lengths. In this case, the cell center of cell B is included in the cell vector of cell A,
The cell center of the cell C is included in the cell vector of the cell B, and the cell center of the cell A is included in the cell vector of the cell C.

【0049】これにより、セルAはセルBの位置に、セ
ルBをセルCの位置に、セルCをセルAの位置に反時計
方向に交換することによって配線長が不変、又は減少す
ることになる。
Thus, by replacing the cell A in the position of the cell B, replacing the cell B in the position of the cell C, and replacing the cell C in the position of the cell A in the counterclockwise direction, the wiring length is unchanged or reduced. Become.

【0050】この交換前において、セルAの配線長は、
セルAとセルdが12、セルAとセルgが10、セルA
とセルkが10となり、合計で32となる。セルBの配
線長は、セルBとセルeが10、セルBとセルfが10
となり、合計で20となる。また、セルCの配線長は、
セルCとセルhが8、セルCとセルiが12、セルCと
セルjが12となり、合計で32となる。
Before this replacement, the wiring length of cell A is
Cell A and cell d are 12, cell A and cell g are 10, cell A
And the cell k becomes 10, which is 32 in total. The wiring length of cell B is 10 for cell B and cell e, and 10 for cell B and cell f.
And a total of 20. The wiring length of the cell C is
The cell C and the cell h are 8, the cell C and the cell i are 12, the cell C and the cell j are 12, and the total is 32.

【0051】この交換後において、セルAの配線長は、
セルAとセルdが4、セルAとセルgが10、セルAと
セルkが10となり、合計で24となる。セルBの配線
長は、セルBとセルeが16、セルBとセルfが4とな
り、合計で20となる。また、セルCの配線長は、セル
Cとセルhが14、セルCとセルiが6、セルCとセル
jが6となり、合計で26となる。
After this replacement, the wiring length of the cell A becomes
Cell A and cell d are 4, cell A and cell g are 10, cell A and cell k are 10, and the total is 24. The wiring length of cell B is 16 for cell B and cell e, and 4 for cell B and cell f, for a total of 20. The wiring length of the cell C is 14 for the cell C and the cell h, 6 for the cell C and the cell i, and 6 for the cell C and the cell j, for a total of 26.

【0052】図7(B)は、上記セルA、セルB、セル
Cの交換前と交換後の配線長を示しており、交換後は、
全体の配線長が減少している。図8は、3つのセルを交
換する説明図2であり、図8(A)は時計方向のセル交
換の説明である。
FIG. 7B shows the wiring lengths before and after the replacement of the cells A, B, and C.
The overall wiring length has decreased. FIG. 8 is an explanatory diagram 2 for exchanging three cells, and FIG. 8 (A) is an explanation of clockwise cell exchange.

【0053】図8(A)において、セルBのセル中心が
セルAのセルベクタに含まれ、セルCのセル中心がセル
Bのセルベクタに含まれ、セルAのセル中心がセルCの
セルベクタに含まれている。
In FIG. 8A, the cell center of cell B is included in the cell vector of cell A, the cell center of cell C is included in the cell vector of cell B, and the cell center of cell A is included in the cell vector of cell C. Have been.

【0054】この場合、セルA→セルB、セルB→セル
C、セルC→セルAのように時計方向にセルの位置を交
換することによって、配線長が不変又は減少することに
なる。
In this case, by changing the positions of the cells in the clockwise direction such as cell A → cell B, cell B → cell C, cell C → cell A, the wiring length is unchanged or reduced.

【0055】図8(B)は、セルリストの説明であり、
セルc1のリストL1は、セルc1のセルベクタ領域内
に存在する他のセルのリストである。この例では、セル
c1のリストL1には、セルc2、セルc12、セルc
4が保持されている。セルc1のリストL2は、セルc
1の位置が他のセルベクタ内に存在する場合の、他のセ
ルのリストである。この例では、セルc1のリストL2
には、セルc16、セルc3が保持されている。
FIG. 8B is an explanation of the cell list.
The list L1 of the cell c1 is a list of other cells existing in the cell vector area of the cell c1. In this example, the cell c2, cell c12, cell c
4 are held. The list L2 of the cell c1 is the cell c1
9 is a list of other cells when the position of 1 exists in another cell vector. In this example, the list L2 of the cell c1
Holds a cell c16 and a cell c3.

【0056】同様に、セルc2のリストL1には、セル
c9、セルc3が、セルc2のリストL2にはセルc
1、セルc8がそれぞれ保持されている。このように、
セル毎に2種類のリストを保持することにより図8
(B)では、セルc1、セルc2、セルc3の3つ組が
検出できる。
Similarly, the cell c9 and the cell c3 are included in the list L1 of the cell c2, and the cell c9 is included in the list L2 of the cell c2.
1. Cell c8 is held. in this way,
By holding two types of lists for each cell, FIG.
In (B), a triple of cell c1, cell c2, and cell c3 can be detected.

【0057】図9は、3つのセルを交換する処理フロー
チャートである。以下、図9の処理番号S11〜S17
に従って説明する。 S11:セルベクタが重なる2つのセル(c1、c2)
があるか判断する。重なる2つのセルc1、c2がある
場合(YES)処理番号S12に移る。もし、重なる2
つのセルc1、c2がない場合(NO)は、この処理を
終了(STOP)する。
FIG. 9 is a flowchart of a process for exchanging three cells. Hereinafter, the process numbers S11 to S17 in FIG.
It will be described according to. S11: Two cells (c1, c2) with overlapping cell vectors
Determine if there is. When there are two overlapping cells c1 and c2 (YES), the process proceeds to the process number S12. If overlapping 2
If there are no two cells c1 and c2 (NO), this process ends (STOP).

【0058】S12:セルc2がセルc1のセルベクタ
に含まれるか判断する。セルc2がセルc1のセルベク
タに含まれる場合(YES)は処理番号S14へ移る。
もし、セルc2がセルc1のセルベクタに含まれない場
合(NO)は、処理番号S13に移る。
S12: It is determined whether the cell c2 is included in the cell vector of the cell c1. If the cell c2 is included in the cell vector of the cell c1 (YES), the process proceeds to a process number S14.
If the cell c2 is not included in the cell vector of the cell c1 (NO), the process proceeds to a process number S13.

【0059】S13:セルc1がセルc2のセルベクタ
に含まれるか判断する。セルc1がセルc2のセルベク
タに含まれる場合(YES)は処理番号S14に移る。
もし、セルc1がセルc2のセルベクタに含まれない場
合(NO)は、処理番号S11に戻り、次の候補を調べ
る。
S13: It is determined whether the cell c1 is included in the cell vector of the cell c2. When the cell c1 is included in the cell vector of the cell c2 (YES), the process proceeds to a process number S14.
If the cell c1 is not included in the cell vector of the cell c2 (NO), the process returns to the process number S11 to check the next candidate.

【0060】S14:セルc3がセルc2のセルベクタ
に含まれ、セルc1がセルc3のセルベクタに含まれる
ようなセルc3があるか判断する。このようなセルc3
がある場合(YES)処理番号S16に移る。もし、こ
のようなセルc3がない場合(NO)は、処理番号S1
5に移る。
S14: It is determined whether or not there is a cell c3 in which the cell c3 is included in the cell vector of the cell c2 and the cell c1 is included in the cell vector of the cell c3. Such a cell c3
If there is (YES), the process proceeds to the process number S16. If there is no such cell c3 (NO), the process number S1
Move to 5.

【0061】S15:セルc3がセルc1のセルベクタ
に含まれ、セルc2がセルc3のセルベクタに含まれる
ようなセルc3があるか判断する。このようなセルc3
がある場合(YES)処理番号S16に移る。もし、こ
のようなセルc3がない場合(NO)は、処理番号S1
1に戻り、次の候補を調べる。
S15: It is determined whether or not there is a cell c3 in which the cell c3 is included in the cell vector of the cell c1 and the cell c2 is included in the cell vector of the cell c3. Such a cell c3
If there is (YES), the process proceeds to the process number S16. If there is no such cell c3 (NO), the processing number S1
Return to 1 and examine the next candidate.

【0062】S16:3つのセルc1、c2、c3の交
換を行い、処理番号S17に移る。 S17:交換したセル及びそれらとネットで接続されて
いるセルのセルベクタの再計算を行って処理番号S11
に戻る。
S16: The three cells c1, c2, and c3 are exchanged, and the process proceeds to processing number S17. S17: Recalculate the cell vectors of the exchanged cells and the cells connected to them by the net, and execute the process number S11.
Return to

【0063】このように、3つのセルを交換した後、更
に図4で説明したセルの回転を行って配線長の低減を行
うことができる。 §6:セル3つ組及びセル2つ組の交換の組み合わせの
説明 3つのセルの交換と、2つのセルの交換とを組み合わせ
て配線長を低減する場合、まず、交換可能な3つのセル
の交換を行い、その後、交換可能な2つのセルの交換を
行う。
As described above, after the three cells have been exchanged, the wiring length can be reduced by further rotating the cells described with reference to FIG. §6: Description of Combination of Three-Cell and Two-Cell Replacement When reducing the wiring length by combining three-cell replacement and two-cell replacement, first, replace three replaceable cells. An exchange is performed, and then two exchangeable cells are exchanged.

【0064】図10は、3つのセル及び2つのセルを交
換する処理フローチャートである。以下、処理番号S2
1〜S26に従って説明する。 S21:図9の処理番号S11〜S15のようにして、
交換可能なセル3つ組があるか判断する。交換可能なセ
ル3つ組がある場合(YES)処理番号S22に移る。
もし、交換可能なセル3つ組がない場合(NO)は、処
理番号S24へ移る。
FIG. 10 is a flowchart of a process for exchanging three cells and two cells. Hereinafter, the processing number S2
A description will be given according to 1 to S26. S21: Like the process numbers S11 to S15 in FIG.
It is determined whether there is a set of replaceable cells. If there is a replaceable cell triplet (YES), the process proceeds to the process number S22.
If there is no replaceable cell triplet (NO), the process proceeds to the process number S24.

【0065】S22:交換可能な3つのセルを交換し
て、処理番号S23へ移る。 S23:交換したセル及びこれらとネットで接続されて
いるセルのセルベクタの再計算を行って処理番号S21
に戻る。
S22: The exchangeable three cells are exchanged, and the process proceeds to processing number S23. S23: Recalculate the cell vectors of the exchanged cells and the cells connected to the exchanged cells by the net, and execute the process number S21.
Return to

【0066】S24:図6の処理番号S1〜S3のよう
にして、交換可能なセル2つ組があるか判断する。交換
可能なセル2つ組がある場合(YES)処理番号S25
に移る。もし、交換可能なセル2つ組がない場合は、こ
の処理を終了(STOP)する。
S24: It is determined whether or not there are two replaceable cells as in the case of the process numbers S1 to S3 in FIG. When there are two replaceable cells (YES), processing number S25
Move on to If there is no replaceable cell pair, this process is terminated (STOP).

【0067】S25:交換可能な2つのセルを交換して
処理番号S26へ移る。 S26:交換したセルとこれらとネットで接続されてい
るセルのセルベクタの再計算を行って、処理番号S24
に戻る。
S25: The exchangeable two cells are exchanged, and the process proceeds to the processing number S26. S26: Recalculate the cell vectors of the exchanged cells and the cells connected to the exchanged cells via the net, and process number S24
Return to

【0068】このような3つのセルの交換と2つのセル
の交換を行った後、更に図4で説明したセルの回転を行
って配線長の低減を行うことができる。
After the exchange of the three cells and the exchange of the two cells, the wiring length can be reduced by further rotating the cells described with reference to FIG.

【0069】[0069]

【発明の効果】以上のように、本発明によれば、セルの
初期配置決定後に、すべてのセルについてセルベクタを
計算し、セルベクタ内でセルの回転、移動、交換等を行
うことにより、配線長を低減するための処理効率を向上
することができる。
As described above, according to the present invention, the cell length is calculated by calculating the cell vectors for all the cells after the initial arrangement of the cells and rotating, moving, exchanging the cells in the cell vectors. Can be improved.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の原理説明図である。FIG. 1 is a diagram illustrating the principle of the present invention.

【図2】実施例におけるネットの総数が偶数(2n)の
場合のセルベクタの説明図である。
FIG. 2 is an explanatory diagram of a cell vector when the total number of nets is an even number (2n) in the embodiment.

【図3】実施例におけるネットの総数が奇数(2n+
1)の場合のセルベクタの説明図である。
FIG. 3 shows an example in which the total number of nets is an odd number (2n +
It is explanatory drawing of the cell vector in case of 1).

【図4】実施例におけるセルを回転する場合の説明図で
ある。
FIG. 4 is an explanatory diagram when a cell is rotated in the embodiment.

【図5】実施例における2つのセルを交換する説明図で
ある。
FIG. 5 is an explanatory diagram for exchanging two cells in the embodiment.

【図6】実施例における2つのセルを交換する処理フロ
ーチャートである。
FIG. 6 is a processing flowchart for exchanging two cells in the embodiment.

【図7】実施例における3つのセルを交換する説明図1
である。
FIG. 7 is an explanatory diagram 1 for exchanging three cells in the embodiment.
It is.

【図8】実施例における3つのセルを交換する説明図2
である。
FIG. 8 is an explanatory diagram 2 for exchanging three cells in the embodiment.
It is.

【図9】実施例における3つのセルを交換する処理フロ
ーチャートである。
FIG. 9 is a processing flowchart for exchanging three cells in the embodiment.

【図10】実施例における3つのセル及び2つのセルを
交換する処理フローチャートである。
FIG. 10 is a processing flowchart for exchanging three cells and two cells in the embodiment.

【符号の説明】[Explanation of symbols]

A、b、d、e セル c セルAの中心点 c’ 移動後のセルAの中心点 11 セル配置改善部 12 入力部 13 出力部 A, b, d, e cell c center point c of cell A center point of cell A after movement 11 cell placement improving unit 12 input unit 13 output unit

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭64−32385(JP,A) 特開 平4−94556(JP,A) 特開 平2−119242(JP,A) 特開 平6−332983(JP,A) 特開 平6−259504(JP,A) 特開 平5−63087(JP,A) 特開 平5−61846(JP,A) 特開 平4−360555(JP,A) 特開 平4−279976(JP,A) 特開 平4−252050(JP,A) 特開 平3−108358(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 17/50 H01L 21/82 ──────────────────────────────────────────────────続 き Continuation of front page (56) References JP-A-64-32385 (JP, A) JP-A-4-94556 (JP, A) JP-A-2-119242 (JP, A) JP-A-6-32 332983 (JP, A) JP-A-6-259504 (JP, A) JP-A-5-63087 (JP, A) JP-A-5-61846 (JP, A) JP-A-4-360555 (JP, A) JP-A-4-27976 (JP, A) JP-A-4-252050 (JP, A) JP-A-3-108358 (JP, A) (58) Fields investigated (Int. Cl. 7 , DB name) G06F 17/50 H01L 21/82

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 セルの初期配置データをセル配置改善手
段(11)に入力する入力手段(12)と、 セルを移動するとそのセルに接続されるすべての配線の
配線長の総和が移動以前に対して不変か短くなる領域を
計算する計算手段と、 前記領域内でセルの回転、移動、交換等の変化をさせる
セル配置改善手段(11)とを備えることを特徴とする
セル配置改善装置。
An input means (12) for inputting initial placement data of a cell to a cell placement improving means (11) ;
Calculating means for calculating a region in which the sum of the wiring lengths is invariable or shorter than before the movement; and cell arrangement improving means (11) for changing the rotation, movement, exchange, etc. of the cells in the region. Characteristic cell placement improvement device.
【請求項2】 セルの初期配置後、各セルについて、そ
の場所へセルを移動するとそのセルに接続されるすべて
の配線の配線長の総和が移動以前に対して不変か短くな
る領域を計算し、 前記領域内でセルを変化させることを特徴とするセル配
置改善方法。
2. After the initial placement of a cell, for each cell, when the cell is moved to that location, all connected to that cell
Calculating an area in which the sum of the wiring lengths of the wirings is unchanged or shorter than before the movement , and changing the cells in the area.
JP07335494A 1994-04-12 1994-04-12 Cell placement improvement apparatus and method Expired - Fee Related JP3247011B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP07335494A JP3247011B2 (en) 1994-04-12 1994-04-12 Cell placement improvement apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP07335494A JP3247011B2 (en) 1994-04-12 1994-04-12 Cell placement improvement apparatus and method

Publications (2)

Publication Number Publication Date
JPH07282104A JPH07282104A (en) 1995-10-27
JP3247011B2 true JP3247011B2 (en) 2002-01-15

Family

ID=13515753

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07335494A Expired - Fee Related JP3247011B2 (en) 1994-04-12 1994-04-12 Cell placement improvement apparatus and method

Country Status (1)

Country Link
JP (1) JP3247011B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9064498B2 (en) 2008-08-05 2015-06-23 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for processing an audio signal for speech enhancement using a feature extraction

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9064498B2 (en) 2008-08-05 2015-06-23 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for processing an audio signal for speech enhancement using a feature extraction

Also Published As

Publication number Publication date
JPH07282104A (en) 1995-10-27

Similar Documents

Publication Publication Date Title
EP0403826B1 (en) Minimizing the interconnection cost of electronically linked objects
Wimer et al. Optimal aspect ratios of building blocks in VLSI
US6532572B1 (en) Method for estimating porosity of hardmacs
JP2007043049A (en) Cell, standard cell, placement method using standard cell, standard cell library, and semiconductor integrated circuit
JPH03242953A (en) Logical cell arrangement of semiconductor integrated circuit
US20060112366A1 (en) Method and system for optimized automated IC package pin routing
JP3247011B2 (en) Cell placement improvement apparatus and method
JP2798055B2 (en) Layout method of semiconductor integrated circuit
JP3165592B2 (en) Data path automatic arrangement method and apparatus
JP3102365B2 (en) Placement and wiring method
JP3278600B2 (en) Automatic layout method and apparatus
JP3904620B2 (en) Automatic placement and routing equipment
JP3512757B2 (en) Optimization method in layout design
JP3382909B2 (en) Bus arrangement method
JP2848097B2 (en) Layout design method
JP3014157B2 (en) Automatic wiring method
JPH0661352A (en) Method of automatic layout and wiring for lsi
JP2620005B2 (en) Placement and wiring decision method
KR100248380B1 (en) Wire connection checker method in schematic editor
JPH1050845A (en) Method and device for changing cell layout
JPH10340959A (en) Layout method
JP2002215704A (en) Method and device for determining terminal position in module
Thulasiraman et al. On the design of a parallel algorithm for VLSI layout compaction
JPH0850604A (en) Layout design method for preventing clock skew
Carothers Routability checking for general area routing problems

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20011016

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081102

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees