JP3367869B2 - Wiring reduction processing method, wiring reduction processing device, and storage medium for storing wiring reduction processing program - Google Patents

Wiring reduction processing method, wiring reduction processing device, and storage medium for storing wiring reduction processing program

Info

Publication number
JP3367869B2
JP3367869B2 JP20151897A JP20151897A JP3367869B2 JP 3367869 B2 JP3367869 B2 JP 3367869B2 JP 20151897 A JP20151897 A JP 20151897A JP 20151897 A JP20151897 A JP 20151897A JP 3367869 B2 JP3367869 B2 JP 3367869B2
Authority
JP
Japan
Prior art keywords
wiring
node
load
shortening
tree
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
JP20151897A
Other languages
Japanese (ja)
Other versions
JPH1145940A (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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP20151897A priority Critical patent/JP3367869B2/en
Priority to US09/122,634 priority patent/US6122443A/en
Publication of JPH1145940A publication Critical patent/JPH1145940A/en
Application granted granted Critical
Publication of JP3367869B2 publication Critical patent/JP3367869B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、半導体集積回路の
レイアウト・データを一次元コンパクションする際の面
積縮小処理に続いて行われる、優先度を考慮した総配線
長を短縮する配線短縮方法、配線短縮処理装置、および
配線短縮処理プログラムを記録する記憶媒体に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a wiring shortening method and wiring for shortening the total wiring length in consideration of priority, which is carried out following an area reduction process when one-dimensionally compacting layout data of a semiconductor integrated circuit. Shortening device, and
The present invention relates to a storage medium for recording a wiring shortening program .

【0002】[0002]

【従来の技術】半導体集積回路(以下、ICと呼ぶ)の
レイアウト設計において、オブジェクトを移動させてそ
の間隔を詰めることによりICレイアウトの面積を小さ
くする処理を、コンパクション処理と呼ぶ。コンパクシ
ョン処理を行うツールはコンパクタと呼ばれる。なお、
オブジェクトとは、コンパクション処理において同時に
同方向に同距離だけ移動させる(あるいは局所的に相対
的位置関係が固定された)一纏まりのレイアウト部分で
ある。
2. Description of the Related Art In a layout design of a semiconductor integrated circuit (hereinafter referred to as an IC), a process of reducing an area of an IC layout by moving an object to reduce a space between the objects is called a compaction process. Tools that perform compaction processing are called compactors. In addition,
An object is a set of layout parts that are simultaneously moved in the same direction by the same distance in the compaction process (or the relative positional relationship is locally fixed).

【0003】大規模ICレイアウトを設計する際に、設
計者が概略だけを設計し、これをコンパクタで最適化す
ることにより、設計者の負担を軽減することが可能であ
る。製造技術の進歩によりデザインルールを変更して当
初のオブジェクト間隔を詰めることが可能になった場合
に、コンパクタを使って自動的にレイアウトの面積を小
さくすることができる。その他、様々な局面でコンパク
タは利用される。
When designing a large-scale IC layout, the designer can design only the outline and optimize it with a compactor, thereby reducing the burden on the designer. If advances in manufacturing techniques allow design rules to be modified to reduce the initial object spacing, a compactor can be used to automatically reduce the layout area. In addition, the compactor is used in various situations.

【0004】後述する配線長短縮問題は、このコンパク
ション処理において現れる重要な問題である。
The wiring length shortening problem described later is an important problem that appears in this compaction process.

【0005】人手を減らすという観点から、コンパクタ
は大規模レイアウトの最適化において重要であるが、大
規模レイアウト上の二次元的な配線を高速かつ厳密に最
適化することは困難である。ただし、一般に厳密に最適
化できなくても、実用に耐え得る程度のコンパクトなレ
イアウトを高速に作成できれば良いので、一方向毎に順
番にコンパクション処理を行うことが多い(一次元コン
パクション)。
From the viewpoint of reducing manpower, the compactor is important in optimizing the large-scale layout, but it is difficult to optimize the two-dimensional wiring on the large-scale layout at high speed and strictly. However, in general, even if optimization cannot be performed strictly, it is sufficient if a compact layout that can be practically used can be created at high speed, and thus compaction processing is often performed sequentially in each direction (one-dimensional compaction).

【0006】図28に一次元コンパクションを行うコン
パクタの構成を示す。以下では、説明の便宜上、ICレ
イアウトの左右方向をx方向と呼び、上下方向をy方向
と呼ぶものとする。
FIG. 28 shows the structure of a compactor for performing one-dimensional compaction. Hereinafter, for convenience of explanation, the left-right direction of the IC layout is referred to as the x direction, and the up-down direction is referred to as the y direction.

【0007】まず、入力部202からレイアウトデータ
を入力する。
First, layout data is input from the input unit 202.

【0008】次に、処理方向決定部204で、処理対象
をx方向とy方向のいずれかに定める。例えば、1回目
と3回目のコンパクションをx方向、2回目と4回目の
コンパクションをy方向とする。
Next, the processing direction determining unit 204 determines the processing target as either the x direction or the y direction. For example, the first and third compactions are in the x direction, and the second and fourth compactions are in the y direction.

【0009】次に、制約グラフ作成部206では、オブ
ジェクトの処理方向についての位置的な制約関係を表現
する制約グラフを作成する。詳しくは後述するが、制約
グラフは、オブジェクトを制約グラフの頂点(ノード)
に対応させ、2頂点を結ぶ枝に対して該2頂点に対応す
る2つのオブジェクトの接近可能な限界距離を格納させ
たものである。以降、この制約グラフを参照しながら処
理が行われる。
Next, the constraint graph creating unit 206 creates a constraint graph expressing a positional constraint relationship with respect to the processing direction of the object. As will be described later in detail, the constraint graph refers to an object as a vertex (node) of the constraint graph
Is stored for each branch connecting the two vertices. After that, the processing is performed with reference to this constraint graph.

【0010】次に、面積縮小部208では、制約グラフ
を参照しながら出来るだけオブジェクトを処理方向の片
側に詰める処理を行う。例えば、x方向の処理において
オブジェクトを出来るだけ左側に詰める。以下では、面
積縮小部208は、頂点の座標をより小さくする方向に
オブジェクトを詰めるものとする。
Next, the area reduction unit 208 performs processing for packing the objects on one side in the processing direction as much as possible while referring to the constraint graph. For example, in processing in the x direction, objects are packed to the left as much as possible. In the following, the area reduction unit 208 is assumed to pack the objects in a direction in which the coordinates of the vertices are made smaller.

【0011】次に、配線短縮部210では、制約グラフ
を参照しながら配線を短縮するように素子を移動させ
る。なお、面積縮小部208により既に各オブジェクト
は頂点の座標を出来るだけ小さくする方向に詰められて
おり、頂点の座標をより小さくする素子の移動はできな
いので、配線短縮部208では、頂点の座標を大きくす
る処理のみを考えれば良いことになる。
Next, the wiring shortening section 210 moves the element so as to shorten the wiring while referring to the constraint graph. Note that the area reduction unit 208 has already packed each object in a direction in which the coordinates of the vertices are made as small as possible, and the element that makes the coordinates of the vertices smaller cannot be moved. It is only necessary to consider the processing to increase the size.

【0012】次に、終了判定部212では、終了条件が
成立したか否かを判断する。終了条件が成立したならば
終了して出力部214から結果を出力し、終了条件が成
立していないならば、処理方向決定部204に戻り、処
理方向を変えて同様のコンパクション処理が繰り返して
行われる。
Next, the end determination unit 212 determines whether or not the end condition is satisfied. If the end condition is satisfied, the operation is ended and the result is output from the output unit 214. If the end condition is not satisfied, the process direction determination unit 204 is returned to, the processing direction is changed, and the same compaction process is repeated. Be seen.

【0013】ここで、面積縮小部208の処理と配線短
縮部210の処理について説明する。上記のように面積
縮小部208ではオブジェクトを処理方向の片側に詰め
る処理を行う。この結果、面積縮小部208の処理が終
了した段階で、配線が伸びてしまう部分が生じる。図2
9を参照して面積縮小部208での処理により配線が伸
びてしまう様子を説明する。
Here, the processing of the area reduction unit 208 and the processing of the wiring reduction unit 210 will be described. As described above, the area reduction unit 208 performs processing for packing the object on one side in the processing direction. As a result, at the stage where the processing of the area reduction unit 208 is completed, there is a portion where the wiring extends. Figure 2
A situation in which the wiring extends due to the processing in the area reduction unit 208 will be described with reference to FIG.

【0014】図29(a)に示されるようなA〜Dの4
つのオブジェクからなるトレイアウトをx方向に縮小す
るために、面積縮小部208によりオブジェクトを左側
に寄せる処理を行った結果、オブジェクトCが左側に寄
せられた例が図29(b)である。ところで、オブジェ
クトCが図29(b)と比較して少し右側にある(c)
のような場合でも、レイアウト全体の面積は変わらな
い。つまり、面積を最小にするためには、必ずしもオブ
ジェクトCを左端いっぱいに寄せる必要はないことがわ
かる。しかも、図29(b)と(c)のレイアウトを比
較した場合、以下の2点において、(b)の配線が劣っ
ていることがわかる。 (1)図29(b)の方が、配線が長すぎるため、与え
られたレイアウトに比べて抵抗が大きくなる。 (2)図29(b)は、次にy方向にコンパクションを
実行する際、オブジェクトCがじゃまになって、オブジ
ェクトAを下側に詰めることができない。このため、最
終的に出力されるレイアウトの面積が大きくなる。
4 of A to D as shown in FIG.
FIG. 29B shows an example in which the object C is moved to the left as a result of the processing of moving the object to the left by the area reduction unit 208 in order to reduce the layout composed of two objects in the x direction. By the way, the object C is slightly on the right side of FIG. 29 (b) (c).
Even in such cases, the area of the entire layout does not change. In other words, it is understood that the object C does not necessarily have to be moved to the left end to minimize the area. Moreover, when the layouts of FIGS. 29B and 29C are compared, it can be seen that the wiring of FIG. 29B is inferior in the following two points. (1) In FIG. 29B, the wiring is too long, so that the resistance becomes larger than that in the given layout. (2) In FIG. 29B, when the compaction is executed next in the y direction, the object C becomes a hindrance and the object A cannot be packed downward. Therefore, the area of the layout finally output becomes large.

【0015】一般に、オブジェクトを出来る限り片側に
寄せて面積縮小を行ったとき、オブジェクトを移動させ
ても面積の変化しない範囲がある。図29(b)と
(c)の比較から推測できるように、配線長を短くする
ことが全体の面積を小さくすることにつながることが多
い(例えば文献“Y.E.Cho: A Subjec
tive Review of Compactio
n, Proc. 22ndDesign Autom
ation Conferenve,1985,pp.
396−404”)。従って、配線短縮部210の処理
では、この許容範囲内で配線長を短くすることが解くべ
き問題となる。
Generally, when an object is moved to one side as much as possible to reduce the area, there is a range in which the area does not change even if the object is moved. As can be inferred from the comparison between FIGS. 29 (b) and 29 (c), shortening the wiring length often leads to a reduction in the entire area (for example, the document “YE Cho: A Subjec”).
live Review of Compactio
n, Proc. 22nd Design Autom
ation Conference, 1985, pp.
396-404 ″). Therefore, in the processing of the wiring shortening unit 210, shortening the wiring length within this allowable range is a problem to be solved.

【0016】このような問題は配線長短縮問題と呼ば
れ、一次元コンパクションにおいて、重要な問題であ
る。
Such a problem is called a wiring length shortening problem and is an important problem in one-dimensional compaction.

【0017】より一般的には、配線短縮問題は、「制約
条件のもとにコストを最小化する問題である」と定義す
ることができる。より効果的な一次元コンパクションを
実現するためには、この問題を効率的に解くことが重要
となる。以下、この配線短縮問題に関連して説明を行
う。
More generally, the wiring shortening problem can be defined as "a problem that minimizes cost under constraint conditions". In order to realize more effective one-dimensional compaction, it is important to solve this problem efficiently. Hereinafter, description will be made in relation to this wiring shortening problem.

【0018】まず、「コスト」について説明する。以下
では、x方向の処理について説明するがy方向の処理に
ついても同様である。
First, the "cost" will be described. Hereinafter, the process in the x direction will be described, but the same applies to the process in the y direction.

【0019】総配線長を短縮する際、個々の配線に着目
して、それぞれが短くなるようにするだけでは、全体の
配線を十分に短くすることはできない。また、配線毎に
短縮の際の優先度が異なるときに、これらの優先度を考
慮することも不可能である。そこで、全ての配線に基づ
いたコストを定義し、このコストが小さくなるように個
々の素子を移動することが考えられる。
When shortening the total wiring length, it is not possible to sufficiently shorten the entire wiring only by paying attention to each wiring and making each wiring short. Further, when the priorities at the time of shortening are different for each wiring, it is impossible to consider these priorities. Therefore, it is conceivable to define the cost based on all the wirings and move the individual elements so as to reduce the cost.

【0020】ここで、一直線の配線と、折れ線からなる
配線の各線分とを、ラインと呼ぶものとする。x方向の
配線の長さは、x方向のラインの和をとることで、求め
ることができる。
Here, the straight line and each line segment of the broken line are referred to as a line. The wiring length in the x direction can be obtained by taking the sum of the lines in the x direction.

【0021】各配線は、それぞれ短縮の際の優先度が異
なる。例えば、一般に抵抗の大きなマスクレイヤーに属
する配線は、優先的に短くしたいという要求がある。そ
こで、コストを計算する際に、ラインの長さに、一定の
優先度を乗じて、コストを算出する。配線の折れ曲がり
点毎のx座標をxi 、優先度をcijとして、コストを式
(1)のように表すことができる。なお、優先度の値の
大きいラインほど優先的に短くしなければならないライ
ンであるものとする。ここで、Jはラインの両端と対応
する添字の組合せの集合である。
The wirings have different priorities when shortened. For example, there is a demand that wirings belonging to a mask layer, which generally has a large resistance, be preferentially shortened. Therefore, when calculating the cost, the cost is calculated by multiplying the line length by a certain priority. The cost can be expressed as in Expression (1), where x i is the x-coordinate of each bending point of the wiring and c ij is the priority. It is assumed that a line having a higher priority value is a line which should be preferentially shortened. Here, J is a set of combinations of subscripts corresponding to both ends of the line.

【0022】[0022]

【数1】 [Equation 1]

【0023】式(1)の絶対値を外すと式(2)のよう
になる。
If the absolute value of equation (1) is removed, equation (2) is obtained.

【0024】[0024]

【数2】 [Equation 2]

【0025】式(1)と式(2)はライン両端のx座標
の大小関係が逆転しない範囲で等価である。
The expressions (1) and (2) are equivalent to each other within the range in which the magnitude relationship of the x-coordinates at both ends of the line is not reversed.

【0026】式(2)では、係数wi が正なら座標xi
を小さくし、係数wi が負なら座標xi を大きくするこ
とで、コストを下げることができる。式(1)と式
(2)が等価でなければならないので、この操作はライ
ンの左右が入れ替わらない範囲で行われなければならな
い。式(1)を最小化するためにラインの左右を入れ替
える必要が生じるが、一本のラインでも左右が入れ替わ
った時点で、式(2)を修正しなければならない。
In equation (2), if the coefficient w i is positive, the coordinate x i
Can be reduced, and the coefficient w i is negative, the coordinate x i can be increased to reduce the cost. Since the equations (1) and (2) must be equivalent, this operation must be performed within a range where the left and right sides of the line are not interchanged. Although it is necessary to replace the left and right of the lines in order to minimize the expression (1), the expression (2) must be corrected when the left and right of one line are replaced.

【0027】適当なタイミングで、長さが0になったラ
インを反転して式(2)のコストを書き直すことで、式
(1)のコストを最小化することができる。
By rewriting the line having the length of 0 and rewriting the cost of the equation (2) at an appropriate timing, the cost of the equation (1) can be minimized.

【0028】次に、上記の「制約条件」について説明す
る。
Next, the above-mentioned "constraint condition" will be described.

【0029】以下では、特に指定しない限りxi は配線
の折れ曲り点を含む、素子を示すポリゴンの辺のx座標
を表すものとする。デザインルールは、製造工程により
定まる条件で、素子間の位置関係に関する制約条件であ
る。この条件は一般に以下のように表すことができる。 xi −xj ≧dij (3) このxi と制約グラフの頂点を対応させ、式(3)を図
30のような制約グラフに表現する。
In the following, x i represents the x coordinate of the side of the polygon indicating the element including the bending point of the wiring unless otherwise specified. The design rule is a condition determined by the manufacturing process and is a constraint condition regarding the positional relationship between elements. This condition can be generally expressed as follows. x i −x j ≧ d ij (3) This x i is associated with the vertex of the constraint graph, and the equation (3) is expressed in the constraint graph as shown in FIG.

【0030】制約グラフでは、頂点vに座標X(v)、
枝eに制約条件の値D(e)が格納されており、図30
の枝は制約条件 X(vq )−X(vp )≧D(epq) (4) を表している。
In the constraint graph, a vertex v has coordinates X (v),
A value D (e) of the constraint condition is stored in the branch e, and FIG.
Represents the constraint condition X (v q ) −X (v p ) ≧ D (e pq ) (4).

【0031】一般にラインの端点xiと、これに対応す
る頂点の座標X(vp )との間には、ci を定数とし
て、xi =X(vp )+ci なる関係がある。従って、
コストは、定数項を除いて式(5)のように表すことが
できる。
In general, there is a relationship of x i = X (v p ) + c i between the end point xi of the line and the coordinate X (v p ) of the corresponding vertex, with c i being a constant. Therefore,
The cost can be expressed as in Expression (5) except for the constant term.

【0032】[0032]

【数3】 [Equation 3]

【0033】図31は一般の制約グラフの一例で、レイ
アウトの右端の点に対応するシンクと左端の点に対応す
るソースを追加してあるため、制約グラフは連結なグラ
フである。
FIG. 31 is an example of a general constraint graph. Since the sink corresponding to the rightmost point and the source corresponding to the leftmost point of the layout are added, the constraint graph is a connected graph.

【0034】配線長短縮問題は、制約グラフの表す制約
条件を満たす範囲で、式(1)のコストを最小にする問
題である。
The wiring length reduction problem is a problem that minimizes the cost of the equation (1) within a range satisfying the constraint condition represented by the constraint graph.

【0035】ここで従来の配線短縮方法である局所的改
善法とグループ改善法について説明する。
The local improvement method and the group improvement method, which are conventional wiring shortening methods, will now be described.

【0036】コストを小さくするためには、頂点vp
重みW(vp )が正であれば頂点の位置を小さくすれば
良く、頂点の重みが負であれば頂点の位置を大きくすれ
ば良い。ところで、配線短縮処理に先だって面積縮小処
理を行って、各頂点の座標を可能な限り小さくするの
で、配線短縮部では頂点の座標をより小さくすることは
できない。そこで、前述したように、配線短縮部では頂
点の座標を大きくする処理のみを考えれば良い。
To reduce the cost, if the weight W (v p ) of the vertex v p is positive, the position of the vertex may be reduced, and if the weight of the vertex is negative, the position of the vertex may be increased. good. By the way, since the area reduction processing is performed prior to the wiring shortening processing to make the coordinates of each vertex as small as possible, the wiring shortening unit cannot further reduce the coordinates of the vertices. Therefore, as described above, only the process of increasing the coordinates of the vertices need be considered in the wiring shortening unit.

【0037】各頂点の重みが負であれば、制約条件に違
反しない範囲で頂点の座標を大きくすると、コストをか
なり小さくできる。このような方法は局所改善法と呼ば
れる。
If the weight of each vertex is negative, the cost can be considerably reduced by increasing the coordinates of the vertex within the range where the constraint condition is not violated. Such a method is called a local improvement method.

【0038】しかしながら、局所改善法のみでは最適解
と離れたところで収束してしまうことが知られている。
局所改善法で配線を十分に短縮できない例を表したの
が、図32である。図32の配線の近傍に付した黒丸は
その両側のオブジェクトがこれ以上近付けないことを示
している。
However, it is known that the local improvement method alone causes convergence at a distance from the optimum solution.
FIG. 32 shows an example in which the wiring cannot be sufficiently shortened by the local improvement method. The black circles attached to the vicinity of the wiring in FIG. 32 indicate that the objects on both sides of the line cannot approach any more.

【0039】ところが、図32の例では、複数個のオブ
ジェクトを同時に動かすことで、よりコストの小さな配
置に到達できる。例えば、図32のオブジェクト(A〜
H)の全体を1つにまとめた一団を考えた場合、この一
団には右から優先度4の配線が繋がっているのに対し、
左からは優先度1の配線と優先度2に配線が繋がってい
る。このため、全体のオブジェクトをまとめて右側に動
かせば優先度1の配線と優先度2の配線が延びるもの
の、優先度4の配線が縮むため、コストが小さくなるこ
とがわかる。同様に、斜線の3つのオブジェクト(B,
D,E)をまとめて動かしてもコストを小さくできる。
However, in the example of FIG. 32, by moving a plurality of objects at the same time, it is possible to reach an arrangement with a smaller cost. For example, the objects (A to
If you consider a group of H) as a whole, this group is connected to the wiring of priority 4 from the right,
From the left, the wiring of priority 1 and the wiring of priority 2 are connected. Therefore, if all the objects are moved together to the right, the wirings of priority 1 and the wirings of priority 2 are extended, but the wirings of priority 4 are contracted, so that the cost is reduced. Similarly, three shaded objects (B,
The cost can be reduced by moving D and E) together.

【0040】このように、複数の頂点を1つのグループ
として、グループ内の頂点を同時に動かす方法はグルー
プ改善法と呼ばれる。グループ全体を右側に移動させ
て、コストが下がるかどうかは、グループに含まれる全
ての頂点の重みの和をとって見れば分かる。局所改善法
の場合と同様にこの値が負であれば右側に移動させてコ
ストが下がることが分かる。
As described above, a method in which a plurality of vertices are regarded as one group and the vertices in the group are simultaneously moved is called a group improvement method. It can be seen by moving the whole group to the right side and seeing if the cost is reduced by summing the weights of all the vertices included in the group. As in the case of the local improvement method, it can be seen that if this value is negative, the cost is reduced by moving it to the right.

【0041】グループ改善法では、グループ内の同時に
動かすべき頂点を木(ツリー)に格納することで、効率
よく処理を実行できる。ここで作成される木では、親か
ら子に向かうタイトな制約グラフの枝が存在する。処理
中、同時に移動させるべき頂点のグループは刻々と変わ
って行くので、グループを移動させる毎に木のメンバを
修正しなければならない。
In the group improvement method, the process can be executed efficiently by storing the vertices to be moved simultaneously in the group in a tree. In the tree created here, there is a tight constraint graph branch from the parent to the child. During processing, the group of vertices that should be moved simultaneously changes every moment, so the tree members must be modified each time the group is moved.

【0042】図32では、全オブジェクトを右に移動す
るよりも、斜線の3つのオブジェクト(B、D、E)を
右に移動する方が、コストが小さくでき、この3つのオ
ブジェクト(B、D、E)を右に移動させることがこの
状態では最適な操作である。この3つのオブジェクト
(B、D、E)をメンバに持つ木をいかに効率よく求め
るかが課題となる。
In FIG. 32, the cost can be reduced by moving the three shaded objects (B, D, E) to the right rather than moving all the objects to the right. , E) is the optimal operation in this state. The problem is how to efficiently obtain a tree that has these three objects (B, D, E) as members.

【0043】従来の手法(例えば文献“W.L.Sch
iele,Improved Compaction
by Minnimized Length of W
ires, Proc. 20th Design A
utomation Conf.,1983,pp.1
21−127”、文献“G.Lakhani,R.Va
radarajan:A Wire−Length M
inimazation Algorithm for
Circuit Layout Compactio
n.IEEE Internatonal Sympo
sium onCircuits and Syste
ms,Vol.1,pp.276−279”、文献
“C.Kingsley:A Hiererachic
al,Error−Tolerant Compact
or,IEEE 21st Design Autma
tion Conf.,1984,pp.126−13
2”)では、木の根から各頂点までの経路上の頂点の重
みの和を求めて蓄積値とし、ある葉(リーフ)の蓄積値
が正であれば、この経路上の頂点を固定して、それ以外
の頂点を分離して移動させた。この方法について図33
を参照しながら説明する。
A conventional method (for example, the document “W. L. Sch.
iele, Improved Compaction
by Minimized Length of W
ires, Proc. 20th Design A
automation Conf. , 1983, pp. 1
21-127 ", reference" G. Lakhani, R .; Va
radarajan: A Wire-Length M
inimation Algorithm for
Circuit Layout Compaction
n. IEEE International Sympo
sium onCircuits and System
ms, Vol. 1, pp. 276-279 ", reference" C. Kingsley: A Hiererachic
al, Error-Tolerant Compact
or, IEEE 21st Design Automa
section Conf. , 1984, pp. 126-13
2 "), the sum of the weights of the vertices on the path from the root of the tree to each vertex is calculated as an accumulated value. If the accumulated value of a leaf is positive, the vertex on this path is fixed, The other vertices were separated and moved.
Will be described with reference to.

【0044】図33(a)では、頂点を表す円の中の数
値が頂点の重みであり、頂点の脇に記した括弧内の数値
が蓄積値である。従来法によれば、一番下の経路上の頂
点301〜303を固定すべきことが分かり、図33
(b)のように分離する。次に、分離された部分木のう
ち、重みの合計が負となるものを探す。この結果、
(b)の点線で囲んだ2つの頂点をさらに右側に移動さ
せれば良いことが分かる。
In FIG. 33A, the numerical value in the circle representing the apex is the weight of the apex, and the numerical value in parentheses beside the apex is the accumulated value. According to the conventional method, it was found that the vertices 301 to 303 on the bottom path should be fixed, and
Separate as in (b). Next, among the separated subtrees, a tree whose sum of weights is negative is searched for. As a result,
It is understood that the two vertices surrounded by the dotted line in (b) should be moved further to the right.

【0045】しかしながら、この方法を採用しても、図
32のレイアウトの場合は、うまく斜線の3つのオブジ
ェクト(B,D,E)を移動させることができない。
However, even if this method is adopted, in the case of the layout of FIG. 32, the three shaded objects (B, D, E) cannot be moved properly.

【0046】図32と対応するグループで蓄積値を算出
したものが図34である。図34から分かる通り、全て
の木の葉の蓄積値は負であるため、この木を分解してオ
ブジェクトBとDとEを分離することはできない。
FIG. 34 shows the accumulated value calculated in the group corresponding to FIG. As can be seen from FIG. 34, since the accumulated value of the leaves of all trees is negative, it is not possible to decompose this tree to separate objects B, D and E.

【0047】また、以上に示した方法以外にも、線形計
画法をグラフ上で実行することで、良い解を得ようとす
る方法(文献“J.Lee,C.K.Wong:A P
erformance−Aimed Cell Com
pactor with Automatic Jog
s,IEEE Trans. Computer−Ai
ded Design,Vol.11,No.12,1
992,pp.1495−1507,1992”、文献
“T. Yoshimura: A Graph Th
eoretical Compaction Algo
rithm,IEEE Proc. ISCA 85,
1985,pp.1455−1458”)も提案されて
いるが、これらの方法では、処理速度が遅くなる問題が
あった。
In addition to the method described above, a method for obtaining a good solution by executing a linear programming method on a graph (reference “J. Lee, CK Wong: AP”).
erformance-Aimed Cell Com
actor with Automatic Jog
s, IEEE Trans. Computer-Ai
ded Design, Vol. 11, No. 12, 1
992, pp. 1495-1507, 1992 ", document" T. Yoshimura: A Graph Th
eoretical compaction Algo
ritm, IEEE Proc. ISCA 85,
1985, pp. 1455-1458 ") has been proposed, but these methods have a problem that the processing speed becomes slow.

【0048】[0048]

【発明が解決しようとする課題】従来の一次元コンパク
ション処理では、面積縮小処理に続いて行われる配線短
縮処理でグループ改善法を用いたものにあっては、配線
のコストの値を下げるようなオブジェクトの移動が可能
であるにもかかわらず当該オブジェクトを移動させるこ
とができないために、十分なコンパクションができない
という問題点があった。また、配線短縮処理で線形計画
法を用いたものにあっては処理に時間がかかる問題点が
あった。
In the conventional one-dimensional compaction process, when the group improvement method is used in the wiring shortening process performed after the area reduction process, the value of the wiring cost is reduced. There is a problem that sufficient compaction cannot be performed because the object cannot be moved even though the object can be moved. In addition, there is a problem that the processing takes time in the case of using the linear programming in the wiring shortening processing.

【0049】本発明は、上記事情を考慮してなされたも
ので、半導体集積回路のレイアウトに対する一次元コン
パクション処理における面積縮小処理に続いて行われる
配線を短縮する配線短縮処理方法であって、効率的にか
つ効果的に配線のコストを下げるようなオブジェクトの
移動を実行可能な配線短縮処理方法、配線短縮処理装
置、および配線短縮処理プログラムを記録する記憶媒体
を提供することを目的とする。
The present invention has been made in view of the above circumstances, and is a wiring shortening method for shortening the wiring that is performed following the area reduction processing in the one-dimensional compaction processing for the layout of the semiconductor integrated circuit. Wiring shortening method and wiring shortening processing device capable of moving an object to reduce wiring cost effectively and effectively
And a storage medium for recording the wiring shortening program .

【0050】[0050]

【課題を解決するための手段】本発明は、オブジェクト
間を配線してなる配線パターンにおける特定のオブジェ
クトを、配線ごとに設定された短縮優先度を考慮した配
線短縮のパフォーマンスを示す負荷に従って移動するこ
とにより、前記配線の長さを短縮する配線短縮処理方法
であって、所定の位置関係を持つ複数のオブジェクトを
それぞれノードとしてツリーを形成する第1のステップ
と、前記各ツリーについて、該ツリーのリーフ側から順
次、子ノードの負荷に基づく該子ノードに対する親ノー
ドの負荷を算出する第2のステップと、所定の条件を満
たす負荷を持つノードをルートノードとするツリー部分
に対応するオブジェクトを移動対象として特定する第3
のステップとを有し、前記所定の位置関係は、2つのオ
ブジェクトが互いに接近可能な限界距離に位置する関係
であり、前記ツリーにおいて該2つのオブジェクトのう
ちオブジェクト移動方向の上流側に位置するオブジェク
トを親ノード、下流側に位置するオブジェクトを子ノー
ドとし、リーフノードを含む子ノードを持たないノード
の負荷を、該ノードに一端を持つ配線部分のうち該ノー
ドを移動すると配線が伸張されるものの短縮優先度の総
和から該ノードに一端を持つ配線線分のうち該ノードを
移動すると配線が短縮されるものの短縮優先度の総和を
減じて得た重み値とし、子ノードを持つノードの負荷
を、該ノードの重み値に、該ノードの子ノードの負荷の
うち正の値のものをすべて加算したものとし、前記負荷
の満たすべき所定の条件は、前記負荷が負の値であるこ
とを特徴とする。また、本発明は、オブジェクト間を配
線してなる配線パターンにおける特定のオブジェクト
を、配線ごとに設定された短縮優先度を考慮した配線短
縮のパフォーマンスを示す負荷に従って移動することに
より、前記配線の長さを短縮する配線短縮処理方法であ
って、所定の位置関係を持つ複数のオブジェクトをそれ
ぞれノードとしてツリーを形成する第1のステップと、
前記各ツリーについて、該ツリーのリーフ側から順次、
子ノードの負荷に基づく該子ノードに対する親ノードの
負荷を算出する第2のステップと、所定の条件を満たす
負荷を持つノードをルートノードとするツリー部分に対
応するオブジェクトを移動対象として特定する第3のス
テップとを有し、各配線線分の短縮優先度を、該配線線
分の長さと該配線線分の幅と該配線線分の属するマスク
・レイヤの関数とすることを特徴とする。
According to the present invention, a specific object in a wiring pattern formed by wiring between objects is moved according to a load showing a performance of wiring shortening in consideration of shortening priority set for each wiring. As a result, in the wiring shortening method for shortening the length of the wiring, a first step of forming a tree by using a plurality of objects having a predetermined positional relationship as nodes, and A second step of sequentially calculating the load of the parent node with respect to the child node based on the load of the child node from the leaf side, and moving the object corresponding to the tree part whose root node is the node having the load satisfying a predetermined condition Third to identify as a target
And the predetermined positional relationship is a relationship in which the two objects are located at a limit distance that allows the two objects to approach each other, and the object located upstream of the two objects in the object moving direction in the tree. Is a parent node, and the object located downstream is a child node, and the load of a node that does not have a child node, including leaf nodes, is expanded by moving the node in the wiring part that has one end Although the wiring is shortened by moving the node among the wiring line segments having one end at the node from the sum of the shortening priorities, the weight is obtained by subtracting the sum of the shortening priorities, and the load of the node having the child node is set. , The weight value of the node plus all positive loads of the child nodes of the node, Matter, wherein said load is a negative value. In addition, the present invention moves a specific object in a wiring pattern formed by wiring between objects according to a load indicating a wiring shortening performance in consideration of a shortening priority set for each wiring, thereby lengthening the wiring length. A first step of forming a tree with a plurality of objects having a predetermined positional relationship as nodes, respectively,
For each tree, from the leaf side of the tree,
A second step of calculating the load of the parent node with respect to the child node based on the load of the child node, and a second step of specifying an object corresponding to a tree part whose root node is a node having a load satisfying a predetermined condition as a movement target. 3), and the shortening priority of each wiring line segment is a function of the length of the wiring line segment, the width of the wiring line segment, and the mask layer to which the wiring line segment belongs. .

【0051】[0051]

【0052】好ましくは、前記手順は、レイアウト面積
を縮小するためのオブジェクトの移動が実行された後に
実行するものであり、前記レイアウト面積を縮小するた
めのオブジェクトの移動は、オブジェクトを一次元コン
パクション方向の一方の側に可能な限りつめて配置する
ように移動するものであり、前記手順においては、前記
一次元コンパクション方向の他方の側に位置するオブジ
ェクトから順に移動対象とするようにしてもよい。
Preferably, the procedure is executed after the movement of the object for reducing the layout area is executed, and the movement of the object for reducing the layout area is performed in the one-dimensional compaction direction. The object is moved so as to be arranged on one side as close as possible, and in the procedure, objects to be moved may be sequentially arranged from the object located on the other side in the one-dimensional compaction direction.

【0053】好ましくは、前記手順を実行しても全ての
オブジェクトが移動できなかったことが2回繰り返され
た条件、前記手順を実行しても全てのオブジェクトが移
動できなかった条件、繰り返し回数が規定回数を越えた
条件、配線の各線分の長さの重み付け総和値に相当する
コストの変化が規定値より小さくなった条件のうちの1
つの条件または所定の組合せで定められた条件からなる
終了条件が成立するまで、前記手順を繰り返し実行する
ようにしてもよい。
Preferably, the condition that all the objects cannot be moved even after executing the above procedure is repeated twice, the condition that all the objects cannot move even after performing the above procedure, and the number of repetitions is One of the conditions in which the specified number of times is exceeded, and the change in cost corresponding to the weighted sum of the lengths of the wire segments is smaller than the specified value.
The above procedure may be repeatedly executed until an end condition consisting of one condition or a condition defined by a predetermined combination is satisfied.

【0054】好ましくは、各オブジェクト間の関係を制
約グラフにより表現し、配線線分の両端の位置関係が逆
転しない範囲で、前記オブジェクトを移動するようにし
てもよい。
Preferably, the relationship between the respective objects may be represented by a constraint graph, and the objects may be moved within a range in which the positional relationship between both ends of the wiring line segment is not reversed.

【0055】好ましくは、配線線分の両端の位置関係が
逆転しない範囲で、前記オブジェクトを移動するととも
に、前記オブジェクトの移動が完了した時点で、配線線
分の長さが0となったものがあれば、該配線線分の両端
の位置関係を反転して、前記ツリーの構造を修正し、改
めて前記負荷を求めた後に、所定の条件を満たす負荷を
持つノードをルートノードとするツリー部分に対応する
全オブジェクトを一体として移動させるようにしてもよ
い。
Preferably, the object is moved within a range in which the positional relationship between both ends of the wiring line segment is not reversed, and the length of the wiring line segment becomes 0 when the movement of the object is completed. If so, the positional relationship of both ends of the wiring line segment is reversed, the structure of the tree is corrected, the load is obtained again, and then the tree part having a load satisfying a predetermined condition as the root node is added to the tree part. All corresponding objects may be moved as a unit.

【0056】好ましくは、配線線分の両端の位置関係が
逆転しない範囲で、前記オブジェクトを移動するととも
に、前記終了条件が成立した時点で、配線線分の長さが
0となったものがあれば、該配線線分の両端の位置関係
を反転した上で、改めて前記終了条件が成立するまで、
前記手順を繰り返し実行するようにしてもよい。
Preferably, the object may be moved within a range in which the positional relationship between both ends of the wiring line segment is not reversed, and the length of the wiring line segment becomes 0 when the end condition is satisfied. For example, after reversing the positional relationship of both ends of the wiring line segment, until the end condition is satisfied again,
You may make it repeat the said procedure.

【0057】好ましくは、配線線分の両端の位置関係が
逆転しない範囲で、前記オブジェクトを移動するととも
に、前記終了条件が成立した時点で、配線線分の長さが
0となったものまたは配線線分の両端と対応する頂点間
の枝がタイトな枝になったものがあれば、該配線線分の
両端をマージした上で、改めて前記終了条件が成立する
まで、前記手順を繰り返し実行するようにしてもよい。
Preferably, the object is moved within a range in which the positional relationship between both ends of the wiring line segment is not reversed, and the length of the wiring line segment becomes 0 at the time when the end condition is satisfied or If there is a tight branch between the vertices corresponding to both ends of the line segment, both ends of the wiring line segment are merged, and the above procedure is repeated until the end condition is satisfied again. You may do it.

【0058】好ましくは、レイアウトの変更が発生して
いる部分を特定して、変更前と変更後の違いを表示する
形態または総配線長および前記コストの少なくとも一方
の変化状態を表示する形態により収束状態を提示すると
ともに、ユーザから入力された繰り返し回数を前記終了
条件として用いるようにしてもよい。
It is preferable that the portion where the layout is changed is specified and the difference between before and after the change is displayed or the change state of at least one of the total wiring length and the cost is displayed. The state may be presented and the number of repetitions input by the user may be used as the ending condition.

【0059】[0059]

【0060】好ましくは、前記レイアウトの特定の部分
に限定して特定のデザインルールおよび配線線分別の短
縮優先度を設定可能とするようにしてもよい。
Preferably, a specific design rule and a shortening priority for wiring line classification may be set only in a specific portion of the layout.

【0061】なお、以上の方法に係る各発明は装置に係
る発明としても成立する。また、以上の方法に係る発明
は、相当する手順あるいは手段をコンピュータに実行さ
せるためのプログラムを記録した機械読取り可能な媒体
としても成立する。すなわち、オブジェクト間を配線し
てなる配線パターンにおける特定のオブジェクトを、配
線ごとに設定された優先度を考慮した配線短縮のパフォ
ーマンスを示す負荷に従って移動することにより前記配
線の長さを短縮する配線短縮装置において、所定の位置
関係を持つ複数のオブジェクトをそれぞれノードとして
ツリーを形成する手段と、前記各ツリーについて、該ツ
リーのリーフ側から順次、子ノードの負荷に基づく該子
ノードに対する親ノードの負荷を算出する手段と、所定
の条件を満たす負荷を持つノードをルートノードとする
ツリー部分に対応するオブジェクトを移動対象として特
定する手段とを具備することを特徴とする。 また、オブ
ジェクト間を配線してなる配線パターンにおける特定の
オブジェクトを、配線ごとに設定された優先度を考慮し
た配線短縮のパフォーマンスを示す負荷に従って移動す
ることにより前記配線の長さを短縮する配線短縮プログ
ラムを記憶するコンピュータ読み取り可能な記憶媒体に
おいて、前記プログラムは、所定の位置関係を持つ複数
のオブジェクトをそれぞれノードとしてツリーを形成す
るプログラムコードと、前記各ツリーについて、該ツリ
ーのリーフ側から順次、子ノードの負荷に基づく該子ノ
ードに対する親ノードの負荷を算出するプログラムコー
ドと、所定の条件を満たす負荷を持つノードをルートノ
ードとするツリー部分に対応するオブジェクトを移動対
象として特定するプログラムコードとを具備することを
特徴とする。
The inventions relating to the above method also hold as inventions relating to the apparatus. Further, the invention according to the above method is also realized as a machine-readable medium in which a program for causing a computer to execute a corresponding procedure or means is recorded. That is, wire between objects
A specific object in the wiring pattern
A wiring shortening performance that considers the priority set for each line.
The load is indicated by
Predetermined position on the wire shortening device that shortens the wire length
Multiple related objects as nodes
Means for forming a tree and the tree for each tree
Based on the load of the child node, in order from the leaf side of Lee
A means for calculating the load of the parent node on the node, and a predetermined
The node with the load that satisfies the condition of is set as the root node
The object corresponding to the tree part is specified as the movement target.
And means for determining. Also, of
Of the wiring pattern formed by wiring between
Considering the priority set for each object,
Move according to the load showing the performance of shortened wiring
Wiring shortening program that shortens the length of the wiring by
A computer-readable storage medium that stores RAM
In addition, the program is a plurality of programs having a predetermined positional relationship.
Form a tree with each object as a node
For each program tree and each tree,
Based on the load of the child node, from the leaf side of
Program code that calculates the load of the parent node on the node
And a node that has a load that satisfies a predetermined condition.
Move the object corresponding to the tree part
With the program code specified as an elephant
Characterize.

【0062】本発明によれば、所定の位置関係を持つ複
数のオブジェクトをそれぞれノードとしてツリーを形成
し、ツリーの下流側から上流側に向かって、各ノードの
負荷を下流側ノードの負荷を反映させながら順次求めて
いくので、負荷に基づいて容易に移動すべきオブジェク
トのグループを求めることができ、効率的にかつ効果的
に配線のコストを下げるようなオブジェクトの移動を実
行することができる。
According to the present invention, a tree is formed with each of a plurality of objects having a predetermined positional relationship as nodes, and the load of each node is reflected from the downstream side of the tree to the upstream side of the tree. Since the groups are sequentially obtained while being performed, the group of objects to be moved can be easily obtained based on the load, and the movement of the objects can be executed efficiently and effectively so as to reduce the wiring cost.

【0063】[0063]

【発明の実施の形態】以下、図面を参照しながら発明の
実施の形態を説明する。
BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will be described below with reference to the drawings.

【0064】本発明は、前述したグループ改善法により
配線長を短縮するものであり、グループを特定するため
の木の構成方法を改善したものである。
The present invention shortens the wiring length by the above-mentioned group improvement method, and improves the tree construction method for specifying the group.

【0065】図1に、本発明の一実施形態に係るコンパ
クション処理装置の構成例を示す。図2に、本コンパク
ション処理装置の処理手順の一例を示す。
FIG. 1 shows a structural example of a compaction processing apparatus according to an embodiment of the present invention. FIG. 2 shows an example of the processing procedure of the compaction processing apparatus.

【0066】図3に、本実施形態の配線短縮部の内部構
成例を示す。図4に、本配線短縮部の処理手順の一例を
示す。また、図5に、本実施形態の配線短縮部の重み決
定処理および素子移動処理の手順の一例を示す。
FIG. 3 shows an example of the internal structure of the wiring shortening unit of this embodiment. FIG. 4 shows an example of the processing procedure of the main wiring shortening unit. Further, FIG. 5 shows an example of a procedure of weight determination processing and element movement processing of the wiring shortening unit of the present embodiment.

【0067】図1に示されるように本実施形態のコンパ
クション処理装置は、入力部2、処理方向決定部4、制
約グラフ作成部6、面積縮小部8、配線短縮部10、終
了判定部12、出力部14を備えている。本コンパクシ
ョン処理装置は、計算機とプログラム(あるいは計算機
およびオペレーティング・システムならびにプログラ
ム)で構成することが可能である。
As shown in FIG. 1, the compaction processing apparatus of this embodiment has an input unit 2, a processing direction determination unit 4, a constraint graph creation unit 6, an area reduction unit 8, a wiring reduction unit 10, an end determination unit 12, The output unit 14 is provided. The compaction processing device can be composed of a computer and a program (or a computer and an operating system and a program).

【0068】説明の便宜上、ICレイアウトの左右方向
をx方向と呼び、上下方向をy方向と呼ぶものとする。
また、具体例を用いて説明する場合には、まずオブジェ
クトを左側に詰めるように移動した後にコストを低くす
るようにオブジェクトを右側に移動する場合を用いるも
のとする。
For convenience of explanation, the left and right directions of the IC layout will be referred to as the x direction and the up and down directions will be referred to as the y direction.
Further, in the case of using a specific example, it is assumed that the object is first moved to the left side and then moved to the right side to reduce the cost.

【0069】入力部2は、処理対象となるICのレイア
ウト・データを入力する(ステップS11)。
The input unit 2 inputs the layout data of the IC to be processed (step S11).

【0070】レイアウト・データは、例えば、各マスク
レイヤごとの各パターンの座標(例えば素子を示すポリ
ゴンの対角にある2点の座標値)からなる。
The layout data is composed of, for example, the coordinates of each pattern for each mask layer (for example, the coordinate values of two points on the diagonal of a polygon indicating an element).

【0071】また、入力部2は、デザインルールのデー
タを入力する。なお、デザインルール・データベースを
備えて、外部からは入力部2を通じてデザインルールの
識別情報を入力し、この識別情報をキーとしてデザイン
ルール・データベースから該当するデザインルールのデ
ータを検索して得るようにしてもよい。
The input section 2 also inputs design rule data. A design rule database is provided, and design rule identification information is input from the outside through the input unit 2, and the design rule database is searched for using the identification information as a key to obtain the data. May be.

【0072】各配線の優先度は、その配線の属性(例え
ばマスク・レイヤ)に応じて決まるものとする。配線の
優先度のデータ(例えば配線の属性と優先度の対応を示
すデータ)は、入力部2から入力するか、またはデータ
ベースを備えて、外部からは入力部2を通じて識別情報
を入力し、この識別情報をキーとしてデータベースから
該当するデータを検索して得るものとする。
The priority of each wiring is determined according to the attribute (eg mask layer) of the wiring. The wiring priority data (for example, the data indicating the correspondence between the wiring attributes and the priorities) is input from the input unit 2 or provided with a database, and the identification information is input from the outside through the input unit 2. It is assumed that the data is retrieved from the database by using the identification information as a key.

【0073】また、優先度をライン別に設定するように
してもよい。例えば、ラインの優先度を、ラインの長さ
とライン幅とラインが作成されるマスク・レイヤの関数
としてもよい。この関数は、例えば、マスク・レイヤに
応じて定められた値が大きくなるほど関数値が大きくな
り、ライン長が長くなるほど関数値が大きくなり、ライ
ンの幅が広くなるほど関数値が小さくなるような関数で
ある。また、この関数を選択可能としてもよい。
The priority may be set for each line. For example, the line priority may be a function of line length, line width, and the mask layer in which the line is created. This function is, for example, a function that increases as the value determined according to the mask layer increases, increases as the line length increases, and decreases as the line width increases. Is. Also, this function may be selectable.

【0074】また、レイアウトの特定の部分に限定し
て、特定のデザインルールおよびライン別の優先度を設
定可能としてもよい。
Further, it is possible to set a specific design rule and a priority for each line only in a specific portion of the layout.

【0075】処理方向決定部4は、処理対象をx方向と
y方向のいずれかに定める(ステップS12)。例え
ば、1回目のコンパクションをx方向、2回目のコンパ
クションをy方向と決定する。例えば、これを1セット
として、2セット分のコンパクションを行う場合、x方
向、y方向、x方向、y方向の順に処理方向を決定す
る。
The processing direction determination unit 4 determines the processing target to be either the x direction or the y direction (step S12). For example, the first compaction is determined as the x direction and the second compaction is determined as the y direction. For example, when two sets of compaction are performed with this set as one set, the processing direction is determined in the order of x direction, y direction, x direction, y direction.

【0076】制約グラフ作成部6は、レイアウト・デー
タおよびデザインルール・データを参照して、処理方向
についての制約グラフを作成する(ステップS13)。
The constraint graph creating section 6 refers to the layout data and the design rule data to create a constraint graph for the processing direction (step S13).

【0077】例えば、図10のような8つのオブジェク
トA〜Hを含むレイアウトに対して、図14のような制
約グラフが作成される。図14において、各頂点を表す
円の中には対応するオブジェクトの識別情報A〜Hと頂
点の座標を示してある。また、頂点間を結ぶ枝に対して
その頂点間に最低限必要な間隔(接近限界距離と呼ぶ)
を記している。
For example, a constraint graph as shown in FIG. 14 is created for a layout including eight objects A to H as shown in FIG. In FIG. 14, the identification information A to H of the corresponding object and the coordinates of the vertices are shown in the circles representing the vertices. In addition, the minimum required distance between the vertices that connect the vertices (called the approach limit distance)
Is written.

【0078】なお、図10においては、各配線に対して
その優先度の値を記している。また、図14の両頂点座
標の差から接近限界距離を減じて得られる、両頂点に対
応する両オブジェクトがあとどれだけ接近できる余裕が
あるかを示す接近余裕距離(スラックと呼ぶ)が0以上
のものを、図10の配線に対して括弧書きの数字で記
し、スラックが0のものを図10の配線に対して黒丸で
示している。なお、制約グラフにおいてスラックが0の
枝をタイトな枝と呼ぶものとする。
In FIG. 10, the value of the priority is shown for each wiring. Further, the approach margin distance (called slack), which is obtained by subtracting the approach limit distance from the difference between the coordinates of both vertices in FIG. 14, and which indicates how much margin both objects corresponding to both vertices can approach, is 0 or more. 10 are indicated by parenthesized numbers with respect to the wiring of FIG. 10, and those with zero slack are indicated by black circles with respect to the wiring of FIG. In the constraint graph, a branch with 0 slack is called a tight branch.

【0079】なお、制約グラフにおいて枝はオブジェク
ト間の位置的制約関係を与えるもので、必ずしも配線に
対応するものではない(ある枝の両端の2頂点に対応す
るオブジェクト間が配線で結合されていないこともあ
る)。
In the constraint graph, the branches give a positional constraint relationship between objects and do not necessarily correspond to wiring (objects corresponding to two vertices at both ends of a branch are not connected by wiring). Sometimes).

【0080】ここで、各素子パターンとオブジェクトと
制約グラフの頂点(ノード)との関連について説明す
る。
Here, the relationship between each element pattern, the object, and the vertex (node) of the constraint graph will be described.

【0081】図6に、上記の関連を説明するためのIC
のレイアウト・パターン例(一部分を抜き出してきたも
の)を示す。前述のように処理方向はx方向とする。図
6において、30は(処理対象となる)配線パターンで
あり、31と33は拡散層のパターンであり、36と3
8は他の配線パターンであり、32と37と34と39
はコンタクト・ホールのパターンであり、35は拡散層
31と結合を持つ他の配線のパターンである。図6の場
合、31,32,36,37のパターンと配線30の左
側端部と配線35の右側端部とがまとめて移動するパタ
ーン群あるいは素子群であり、これが1つのオブジェク
ト(Jとする)を形成する。同様に、33,34,3
8,39と配線30の右側端部がまとめて移動するパタ
ーン群あるいは素子群であり、これが1つのオブジェク
ト(Iとする)を形成する。
FIG. 6 shows an IC for explaining the above relation.
An example of the layout pattern (partially extracted) is shown. As described above, the processing direction is the x direction. In FIG. 6, 30 is a wiring pattern (which is a processing target), 31 and 33 are diffusion layer patterns, and 36 and 3
8 is another wiring pattern, 32, 37, 34 and 39
Is a pattern of contact holes, and 35 is a pattern of another wiring having a bond with the diffusion layer 31. In the case of FIG. 6, the pattern of 31, 32, 36, 37, the left end of the wiring 30 and the right end of the wiring 35 are a group of patterns or elements that move together, and this is one object (J. ) Is formed. Similarly, 33, 34, 3
8, 39 and the right end of the wiring 30 are a group of patterns or elements that move together, which forms one object (denoted as I).

【0082】制約グラフは、オブジェクトJに対応する
頂点(頂点jとする)からオブジェクトIに対応する頂
点(頂点iとする)の向きに結合を持つものとなる。ま
た、例えば、オブジェクトJの基準点をパターン31の
左下の角のx座標をXj とし、オブジェクトIの基準点
をパターン33の左下の角のx座標をXi とすると、頂
点jの座標としてXj が記憶され、頂点iの座標として
i が記憶される。また、両オブジェクト間すなわち両
頂点間に与えられる制約条件の値(接近限界距離)は、
両オブジェクトに該当するデザインルールのうち最も接
近限界距離を小さくするものにより規定されることにな
る。接近限界距離は、対応する2頂点間を結ぶ枝に対応
して記憶される。
The constraint graph has a connection from the vertex corresponding to the object J (denoted as vertex j) to the vertex corresponding to the object I (denoted as vertex i). Further, for example, the x-coordinate of the lower left corner of the pattern 31 a point of the object J and X j, when the x-coordinate of the lower left corner of the reference point of the object I patterns 33 and X i, as the coordinates of the vertices j X j is stored, and X i is stored as the coordinate of the vertex i. Also, the value of the constraint condition (approach limit distance) given between both objects, that is, between both vertices, is
Of the design rules corresponding to both objects, the one that minimizes the approach limit distance will be defined. The approach limit distance is stored in correspondence with the branch connecting the corresponding two vertices.

【0083】面積縮小処理での移動、配線短縮処理での
移動は、この制約グラフの頂点の座標すなわちオブジェ
クトIの基準点の座標を処理方向に移動することにより
行われる。ここで、1つのオブジェクトでは、その基準
点と各パターンとの相対的位置関係は常に固定されたも
のとなっている。よって、例えば図7のように各パター
ンについて、それが属するオブジェクトに対応する頂点
の識別情報とその頂点の座標(オブジェクトの基準点)
からの相対座標とを記憶しておくことにより、頂点の座
標を移動した場合、各パターンの座標は、図7のような
テーブルと制約グラフから求めることができる。
The movement in the area reduction processing and the movement in the wiring shortening processing are performed by moving the coordinates of the vertices of the constraint graph, that is, the coordinates of the reference point of the object I in the processing direction. Here, in one object, the relative positional relationship between the reference point and each pattern is always fixed. Therefore, for example, as shown in FIG. 7, for each pattern, the identification information of the vertex corresponding to the object to which it belongs and the coordinates of the vertex (reference point of the object)
When the coordinates of the vertices are moved, the coordinates of each pattern can be obtained from the table and constraint graph shown in FIG.

【0084】例えば、配線パターン30の左側端部のx
座標をxt とし、対応頂点jの座標Xj からの相対座標
をd2 とすると、xt は、xt =Xj +d2 で表され
る。同様に、配線パターン30の右側端部のx座標をx
s とし、対応頂点iの座標Xiからの相対座標をd1
すると、xs は、xs =Xi +d1 で表される。
For example, x at the left end of the wiring pattern 30.
Coordinates and x t, the coordinates relative to the coordinates X j of the corresponding vertices j and d 2, x t is represented by x t = X j + d 2 . Similarly, the x coordinate of the right end of the wiring pattern 30 is set to x
and s, the relative coordinates from the coordinates X i of the corresponding vertex i and d 1, x s is expressed by x s = X i + d 1 .

【0085】また、配線パターン30のx方向の長さを
Lとすると、Lは、 L=xs −xt =(Xi +d1 )−(Xj +d2 ) =(Xi −Xj )+(d1 −d2 ) =Lij+定数 のように、配線パターン30の右側端部の属するオブジ
ェクトIと左側端部の属するオブジェクトJとの基準点
間の距離Lijにオフセット差(d1 −d2 )を加えたも
のになる。つまり、オブジェクトIとオブジェクトJの
基準点間距離Lijによって、一意に配線パターン30の
x方向の長さをLが決定される。したがって、前述のよ
うに、コストは、定数項を除いて式(5)のように表す
ことができる。コストを評価する際に、式(1)を用い
るためには、各配線の長さを求める必要があるが、式
(5)は頂点の座標だけで算出できる利点がある。
When the length of the wiring pattern 30 in the x direction is L, L is L = x s −x t = (X i + d 1 ) − (X j + d 2 ) = (X i −X j ) + (D 1 −d 2 ) = L ij + constant such that the offset difference ( ij) between the reference points of the object I to which the right end of the wiring pattern 30 belongs and the object J to which the left end of the wiring pattern 30 belongs. d 1 −d 2 ) is added. That is, the length L of the wiring pattern 30 in the x direction is uniquely determined by the distance L ij between the reference points of the object I and the object J. Therefore, as described above, the cost can be expressed as in Expression (5) except for the constant term. In order to use the formula (1) when evaluating the cost, it is necessary to obtain the length of each wiring, but the formula (5) has an advantage that it can be calculated only by the coordinates of the vertices.

【0086】面積縮小処理での移動、配線短縮処理での
移動やコストの計算・評価等は、オブジェクトの基準点
すなわち制約グラフの頂点座標や頂点座標間の制約条件
を扱うことで処理可能となり、各パターンの移動後の座
標は最後に求めればよいことになる。
The movement in the area reduction processing, the movement in the wiring shortening processing, the cost calculation / evaluation, etc. can be processed by handling the reference points of the object, that is, the vertex coordinates of the constraint graph and the constraint conditions between the vertex coordinates. The coordinates after the movement of each pattern may be obtained last.

【0087】なお、図8の示す折れ曲り部分を持つ配線
のように、x方向処理におけるy方向の配線線分40や
y方向処理におけるx方向の配線線分43のように、配
線線分自体が1つのオブジェクトを形成する場合があ
る。また、図8において、例えばy方向処理を考える
と、x方向の配線線分42,43,44がそれぞれオブ
ジェクトを形成するが、このような場合には、配線線分
43を上方に移動する際、配線線分43のy座標が配線
線分42,44のy座標を越えない範囲で配線線分43
を上方に移動するものとする(つまり接近限界距離=0
となる)。配線線分43のy座標が配線線分42,44
のy座標を越える移動を可能にするには、後述するライ
ン反転処理を行う。配線線分42,43,44をまとめ
て上方に移動させるためには、後述するマージ処理を行
う。
It should be noted that, like the wiring having the bent portion shown in FIG. 8, the wiring line segment 40 in the y direction in the x direction processing and the wiring line segment 43 in the x direction in the y direction processing are the wiring line segments themselves. May form an object. In FIG. 8, considering the y-direction processing, the wiring line segments 42, 43, and 44 in the x direction form objects, respectively. In such a case, when the wiring line segment 43 is moved upward. , The y-coordinate of the wiring line segment 43 does not exceed the y-coordinates of the wiring line segments 42 and 44.
To move upward (that is, approach limit distance = 0
Will be). The y coordinate of the wiring line segment 43 is the wiring line segments 42 and 44.
In order to enable movement beyond the y coordinate of, the line inversion processing described later is performed. In order to move the wiring line segments 42, 43, 44 together upward, a merge process described below is performed.

【0088】次に、面積縮小部8では、制約グラフを参
照しながら出来るだけオブジェクトを処理方向の片側に
詰める処理を行う(ステップS14)。例えば、x方向
の処理においてオブジェクトを出来るだけ左側に詰め
る。以下では、面積縮小部8は、頂点の座標をより小さ
くする方向(x方向の処理では左側、y方向の処理では
下側とする)にオブジェクトを詰めるものとする。
Next, the area reduction unit 8 performs processing for packing the objects as much as possible to one side in the processing direction while referring to the constraint graph (step S14). For example, in processing in the x direction, objects are packed to the left as much as possible. In the following, the area reduction unit 8 packs the objects in the direction in which the coordinates of the vertices are made smaller (left in the processing in the x direction and lower in the processing in the y direction).

【0089】実際には、制約グラフを参照して頂点の座
標を出来るだけ小さくするとともに、制約グラフのうち
移動した頂点の座標値を更新する操作を行う。
Actually, the coordinate of the vertex is made as small as possible by referring to the constraint graph, and the coordinate value of the moved vertex in the constraint graph is updated.

【0090】次に、配線短縮部10では、後述する木
(ツリー)を作成するとともに、制約グラフを参照・更
新しながら配線を短縮するように(より詳しくはなるべ
くコストを小さくするように)オブジェクトを移動させ
る(ステップS15)。なお、面積縮小部8により既に
各オブジェクトは頂点の座標を出来るだけ小さくする方
向に詰められており、頂点の座標をより小さくするオブ
ジェクトの移動はできないので、配線短縮部10では、
頂点の座標を大きくする処理のみを考えれば良いことに
なる。
Next, the wiring shortening unit 10 creates a tree (to be described later) and shortens the wiring while referring to and updating the constraint graph (more specifically, to reduce the cost as much as possible). Is moved (step S15). Note that the area reduction unit 8 has already packed each object in the direction in which the coordinates of the vertices are made as small as possible, and the objects that make the coordinates of the vertices smaller cannot be moved.
Only the process of increasing the coordinates of the vertices need be considered.

【0091】ところで、本実施形態では、従来のグルー
プ改善法における「蓄積値」に代わって、頂点の「負
荷」を求め、この負荷に基づいて最適な頂点のグループ
を求める。そこで、まず、図9を参照しながら本実施形
態にて用いる「負荷」について説明する。
By the way, in the present embodiment, instead of the "accumulated value" in the conventional group improvement method, the "load" of the vertices is obtained, and the optimum vertex group is obtained based on this load. Therefore, first, the “load” used in this embodiment will be described with reference to FIG. 9.

【0092】図9に頂点のグループを求めるために作成
される木の一例を示す。図9は、図32のレイアウトに
対応するものである。図9では、頂点を表す円の中に、
対応するオブジェクトの識別情報と頂点の重みを記入し
てある。ここで、重みは、式(5)の重みW(vp )の
ことである。例えば、オブジェクトAは、優先度1の配
線の右側端部を含み、優先度1と優先度5の2つの配線
の左側端部を含むので、オブジェクトAの重みは、+1
−1−5=−5となる。
FIG. 9 shows an example of a tree created to obtain a group of vertices. FIG. 9 corresponds to the layout of FIG. In Figure 9, in the circle that represents the vertex,
The identification information of the corresponding object and the weight of the vertex are entered. Here, the weight is the weight W (v p ) of the equation (5). For example, since the object A includes the right end portion of the wiring having the priority 1 and the left end portions of the two wirings having the priority 1 and the priority 5, the weight of the object A is +1.
-1-5 = -5.

【0093】頂点vの負荷R(v)を求めるには、式
(6)に従って、木の葉となる頂点(リーフ・ノード)
から順に枝に向かって計算を進めて行けば良い。ここ
で、S(v)は木における頂点vの子の集合である。ま
た、θ(x)はx<0のとき0となりx≧0のとき1と
なる関数(またはx≦0のとき0となりx>0のとき1
となる関数)である。
To obtain the load R (v) of the vertex v, the vertex (leaf node) which is the leaf of the tree is calculated according to the equation (6).
From then on, you can proceed to the branch in order. Where S (v) is the set of children of vertex v in the tree. Further, θ (x) is a function that becomes 0 when x <0 and becomes 1 when x ≧ 0 (or 0 when x ≦ 0 and 1 when x> 0).
Function).

【0094】[0094]

【数4】 [Equation 4]

【0095】つまり、リーフ・ノードの負荷は、リーフ
・ノードの重みと等しくなる。そして、親となる頂点
(親ノード)の負荷は、その親ノードの重みに、その子
となる頂点(子ノード)の負荷であって正のものを加算
して得た値となる。
That is, the load of the leaf node becomes equal to the weight of the leaf node. Then, the load of the parent vertex (parent node) is a value obtained by adding the weight of the parent node and the positive load of the child vertex (child node).

【0096】この値は、各頂点を右側に移動しようとし
た際の負荷に相当する。例えば、頂点vAの場合、頂点
vAの重みは−5であるが、これより右にある子孫達に
よって右側への移動を妨げられる。どの程度妨げられる
かは、子供の頂点の負荷の値を見れば良い。具体的に
は、頂点vCの負荷は+7であるから、これは頂点vA
が右側に行くことを妨げる。一方、頂点vBの負荷は−
3であるから、頂点vAが右側に行くことを妨げない。
つまり、θ(R(vB))=θ(−3)=0、θ(R
(vC))=θ(+7)=1であるから、頂点vAの負
荷R(vA)は、R(vA)=W(vA)+R(vC)
=(−5)+(+7)=+2と求まる。
This value corresponds to the load when moving each vertex to the right. For example, in the case of the vertex vA, the weight of the vertex vA is -5, but the descendants on the right of the vertex vA prevent the movement to the right. To see how disturbed it is, look at the load value at the top of the child. Specifically, since the load of the vertex vC is +7, this is the vertex vA.
Prevent you from going to the right. On the other hand, the load on the vertex vB is −
Since it is 3, it does not prevent the vertex vA from going to the right.
That is, θ (R (vB)) = θ (−3) = 0, θ (R
Since (vC)) = θ (+7) = 1, the load R (vA) at the vertex vA is R (vA) = W (vA) + R (vC)
= (-5) + (+ 7) = + 2.

【0097】図9の場合、負荷が負である頂点vBを木
の根(ルート)とする全ての頂点(すなわち、頂点v
B,vD,vE)の座標を大きくする(右に移動する)
ことができる。
In the case of FIG. 9, all the vertices (that is, the vertices v whose roots are the vertices vB whose load is negative)
Increase the coordinates of (B, vD, vE) (move to the right)
be able to.

【0098】図33を参照しながら説明したように、従
来のグループ改善法では、図32のレイアウトはこれ以
上移動させることができないが、本実施形態によれば、
図32のレイアウトのオブジェクトB,D,Eを移動し
て、コストをより小さくすることができる。
As described with reference to FIG. 33, the layout of FIG. 32 cannot be moved any more by the conventional group improvement method, but according to this embodiment,
The cost can be further reduced by moving the objects B, D and E in the layout of FIG.

【0099】次に、配線短縮部10の構成や動作につい
て説明する。
Next, the structure and operation of the wiring shortening section 10 will be described.

【0100】図3に示されるように、本配線短縮部10
は、重み決定部100、素子移動部102、終了判定部
104、ライン反転部106を備えている。
As shown in FIG. 3, the main wiring shortening unit 10
Includes a weight determining unit 100, an element moving unit 102, an end determining unit 104, and a line inverting unit 106.

【0101】重み決定部100は、各オブジェクトに対
応する頂点の重みを求める(ステップS21)。素子移
動部102は、処理方向のライン両端の座標の大小関係
が逆転しない範囲で、オブジェクトの移動、すなわち移
動すべき頂点の選択、移動量の決定、制約グラフの頂点
の座標の更新、木の構造の更新、負荷の更新などを行う
(ステップS22)。終了判定部104は、配線短縮処
理を終了するか、ライン反転処理を行って再度処理を実
行するか、ライン反転処理を行わずに再度処理を実行す
るかを判定する(ステップS23,S24)。ライン反
転部106は、図8のような場合にラインの長さが0に
なったものについて、対応する2つの頂点の結合関係を
逆転させるように、制約グラフ、木、コスト関数を修正
するライン反転処理を行う(ステップS25)。
The weight determining section 100 obtains the weight of the vertex corresponding to each object (step S21). The element moving unit 102 moves an object, that is, selects a vertex to be moved, determines a movement amount, updates the coordinates of the vertices of a constraint graph, and a tree within a range in which the magnitude relation of the coordinates of both ends of the line in the processing direction is not reversed. The structure is updated and the load is updated (step S22). The termination determination unit 104 determines whether to terminate the wiring shortening process, perform the line inversion process and perform the process again, or perform the process again without performing the line inversion process (steps S23 and S24). The line inversion unit 106 corrects the constraint graph, the tree, and the cost function so that the connection relationship between the two corresponding vertices is reversed with respect to the line whose length becomes 0 in the case of FIG. Inversion processing is performed (step S25).

【0102】以下、図4のステップS21,S22の重
み決定処理および素子移動処理について図5を参照しな
がらかつまた具体例の処理過程を追いながら詳しく説明
する。なお、図5のステップS31がステップS21に
対応し、図5のその他のステップがステップS22に対
応する。
The weight determining process and the element moving process in steps S21 and S22 of FIG. 4 will be described in detail below with reference to FIG. Note that step S31 in FIG. 5 corresponds to step S21, and the other steps in FIG. 5 correspond to step S22.

【0103】図10〜図13に、配線短縮処理における
オブジェクトの移動の様子を示す。図10〜図13で
は、配線毎にその優先度を示し、オブジェクトの間隔が
これ以上詰めることができない状態のものについてはオ
ブジェクト間の配線に対して黒丸を付記し、詰めるだけ
の余裕があればその値(スラック)を括弧内に示してあ
る。例えば、図10のオブジェクトAとBではその間隔
を3だけ詰めることが可能である。また、BとDの間は
これ以上詰めることができない。
10 to 13 show how objects are moved in the wiring shortening process. 10 to 13, the priority is shown for each wiring, and in the case where the spacing between objects cannot be reduced further, a black circle is added to the wiring between the objects, and if there is a margin for the reduction, The value (slack) is shown in parentheses. For example, in the objects A and B in FIG. 10, the interval can be reduced by 3. Further, the space between B and D cannot be further reduced.

【0104】図14は、制約グラフ作成処理部6におい
てレイアウト・データとデザインルールから作成される
制約グラフを表している。図14では、頂点を示す円の
中には、対応するオブジェクトの識別情報と頂点の座標
を示してあるが、頂点の座標の値は、オブジェクトの移
動にともない、図15〜図17のように順次更新され
る。すなわち、図14〜図17の頂点の座標は、それぞ
れ、図10〜図13における配置と対応している。ま
た、枝に与えられた値は、その枝に対応する2つの頂点
間に必要な間隔(接近限界距離)を表している。
FIG. 14 shows a constraint graph created from layout data and design rules in the constraint graph creation processing section 6. In FIG. 14, the identification information of the corresponding object and the coordinates of the vertices are shown in the circle indicating the vertices. The values of the coordinates of the vertices are as shown in FIGS. 15 to 17 as the object moves. It will be updated sequentially. That is, the coordinates of the vertices in FIGS. 14 to 17 correspond to the arrangements in FIGS. 10 to 13, respectively. In addition, the value given to the branch represents the necessary interval (approach limit distance) between the two vertices corresponding to the branch.

【0105】制約グラフの2の頂点の座標とその枝の接
近限界距離から、対応するオブジェクト間のスラックを
求めることができる。例えば、図14において、頂点B
の位置は26、頂点Aの位置は20で、その差が6であ
るのに対して、AとBの間に必要な間隔は3であること
が分かるので、AB間の余裕は3であることが分かる。
これは、図10において、オブジェクトAB間に3の余
裕があることと対応している。実際の処理では、この制
約グラフを利用して、個々のオブジェクト間にどれだけ
の余裕(スラック)があるかを算出する。
The slack between corresponding objects can be obtained from the coordinates of the two vertices of the constraint graph and the approach limit distance of its branches. For example, in FIG. 14, vertex B
The position of is 26 and the position of the vertex A is 20, and the difference is 6, while it can be seen that the required distance between A and B is 3, so the margin between AB is 3. I understand.
This corresponds to the fact that there is a margin of 3 between the objects AB in FIG. In actual processing, this constraint graph is used to calculate how much slack (slack) exists between individual objects.

【0106】図18〜図21は、処理中に木がどのよう
に変化しているかを表している。
18 to 21 show how a tree changes during processing.

【0107】さて、グループで移動させるための条件
は、木の根の負荷が負であることであり、負荷が負であ
る根を持つ木に含まれる全ての頂点の座標を大きくす
る。そこで、ステップS35でYESの場合は木の頂点
の座標を大きくする処理を行い、NOの場合は次の木を
選択する。
The condition for moving in groups is that the load on the root of the tree is negative, and the coordinates of all the vertices included in the tree having a root with a negative load are increased. Therefore, if YES in step S35, the process of increasing the coordinates of the vertices of the tree is performed, and if NO, the next tree is selected.

【0108】先に説明したように本配線短縮処理は、例
えば、左側一杯に寄せた素子を右側に移動させる処理で
あった。この場合、右側の素子を移動させたときに、左
側の素子との間に隙間ができて、左側の素子の移動範囲
が広がる。従って、右側の素子から順に移動させること
で、処理が終了するまでの繰り返し回数を減らすことが
できる。そこで、ステップS33では、座標の大きな木
から順に選択すると良い。
As described above, the main wiring shortening process is, for example, a process of moving the elements, which are arranged close to the left side, to the right side. In this case, when the element on the right side is moved, a gap is created between the element on the left side and the element on the left side, and the moving range of the element on the left side is expanded. Therefore, by sequentially moving from the element on the right side, the number of repetitions until the processing is completed can be reduced. Therefore, in step S33, it is advisable to select trees in descending order of coordinates.

【0109】実際に木を移動させようとするとき、移動
量を決める必要がある。木を右側に移動させて行くと、
木に含まれるある頂点と、木に含まれない別の頂点との
間の制約条件の等号が成立してそれ以上右に移動すると
この制約条件に違反する限界まで到達する。このとき
の、木に含まれる頂点のことをクリティカルノード、木
に含まれない頂点のことをリミットノードと呼び、この
ときの木の移動量がスラックである。ステップS37で
は木をスラックの大きさだけ移動させる。また、ステッ
プS38ではリミットノードを木に加えているため、こ
れ以降はリミットノードも木の一部として他の頂点と共
に移動する。
When actually moving a tree, it is necessary to determine the amount of movement. If you move the tree to the right,
When the equal sign of the constraint between a certain vertex included in the tree and another vertex not included in the tree is satisfied and further rightward movement is reached, the limit at which this constraint is violated is reached. The vertices included in the tree at this time are called critical nodes, and the vertices not included in the tree are called limit nodes. The amount of movement of the tree at this time is slack. In step S37, the tree is moved by the size of the slack. Further, since the limit node is added to the tree in step S38, the limit node also moves together with other vertices as a part of the tree thereafter.

【0110】ここで、オブジェクトの配置が図10の状
態に(木が図18の状態に)あるものとする。処理開始
直後は、ステップS31にて各頂点で負荷=重みとして
処理を始めるが、後のステップS38が実行されるごと
に木が更新される。
Here, it is assumed that the objects are arranged in the state of FIG. 10 (the tree is in the state of FIG. 18). Immediately after the start of the process, the process is started with load = weight at each vertex in step S31, but the tree is updated every time the subsequent step S38 is executed.

【0111】ステップS33で根Aを選択したとする
と、ステップS35にて図18を参照すると根の負荷が
負であることから、ステップS36に進む。
If the root A is selected in step S33, referring to FIG. 18 in step S35, the load on the root is negative, so the flow advances to step S36.

【0112】図10に示されるようにAを右側へ移動す
ることを考えたときに、余裕の最も小さいものはBであ
るから、ステップS36において、リミットノードは頂
点B、クリティカルノードは頂点A、スラックは3であ
ることがわかる。これらは、図14の制約グラフを参照
することにより算出することができる。頂点Aから出て
いる枝の値(接近限界距離)と、その枝の終点の座標と
始点の座標との差を比較してスラックを求めることがで
きるので、頂点Aから出ているすべての枝のスラックを
求め、その中から最小のスラック、およびそれに対応し
たリミットノードとクリティカルノードを求めればよ
い。
When considering moving A to the right as shown in FIG. 10, the smallest margin is B, so in step S36, the limit node is vertex B, the critical node is vertex A, It turns out that the slack is three. These can be calculated by referring to the constraint graph of FIG. Since the slack can be obtained by comparing the difference between the value of the branch coming out of the vertex A (approach limit distance) and the coordinates of the end point and the start point of the branch, all branches coming out of the vertex A Slack is calculated, and the minimum slack, and the limit node and critical node corresponding thereto are calculated.

【0113】次に、ステップS37に進む。ここで、ス
ラックが3であることから図15のように頂点Aの座標
は20から23に変更され、AB間の枝がタイトな枝と
なる。
Then, the process proceeds to step S37. Here, since the slack is 3, the coordinates of the vertex A are changed from 20 to 23 as shown in FIG. 15, and the branch between AB becomes a tight branch.

【0114】この結果、配置は図11の様に変化し、A
B間には黒丸が記されていることになる。また、ステッ
プS38により木も変更されて、図19の様になる。
As a result, the arrangement changes as shown in FIG.
A black circle is written between B. Further, the tree is also changed in step S38, as shown in FIG.

【0115】その後、ステップS35に進むが、ここ
で、木の根Aの負荷が負であることから、再びステップ
S36に進む。
After that, the process proceeds to step S35, but since the load on the root A of the tree is negative here, the process proceeds to step S36 again.

【0116】以下、ステップS36からステップS38
まで先程と同様に進んで、図12、図16、図20のよ
うな状態に変化するが、今回は根の負荷が正となってい
ることから、ステップS35ではステップS33に進
む。ここで、頂点Aを根とする木に対する処理は一段落
し、次の木の処理に移る。
Hereinafter, steps S36 to S38
Up to the above, the state changes to those shown in FIGS. 12, 16 and 20, but since the root load is positive this time, the process proceeds to step S33 in step S35. Here, the processing for the tree having the vertex A as a root is completed, and the processing for the next tree is performed.

【0117】次に、ステップS33で頂点Cが選ばれた
とする。図20を参照すると、頂点Cの負荷は正である
ので、ステップS35から再びステップS33に戻る。
このように、負荷が正である頂点はスキップされること
になる。
Next, it is assumed that the vertex C is selected in step S33. Referring to FIG. 20, since the load on the vertex C is positive, the process returns from step S35 to step S33.
In this way, vertices with a positive load will be skipped.

【0118】次に、ステップS33で頂点Bが選ばれた
とする。図20を参照すると、頂点Cの負荷は−5と負
であるので、ステップS36に進む。このときに処理の
対象となる木は、Bを根とする木であるから、この時点
で木は図21の様になっているとする。さらに、先程と
同様の処理を繰り返すことで、オブジェクトB、D、E
は右側に移動し、図13、図17の様になる。
Next, it is assumed that the vertex B is selected in step S33. Referring to FIG. 20, since the load on the vertex C is -5, which is negative, the process proceeds to step S36. Since the tree to be processed at this time is a tree whose root is B, it is assumed that the tree at this point is as shown in FIG. Further, by repeating the same processing as the above, the objects B, D, E
Moves to the right, as shown in FIGS. 13 and 17.

【0119】次に、図22に重み決定処理および素子移
動処理の手順の他の例を示す。図22の手順は図5の手
順を若干修正したものである。ここでは、相違点につい
て説明する。
Next, FIG. 22 shows another example of the procedure of the weight determining process and the element moving process. The procedure of FIG. 22 is a slight modification of the procedure of FIG. Here, the difference will be described.

【0120】オブジェクトをグループで移動させるため
の条件は、木の根の負荷が負であることであったので、
負荷が常に正である頂点を根とする木を構成する必要は
ない。しかして、式(6)から分かる通り、木の根の重
みが正であれば、木の根の負荷が負になることはない。
そこで、ステップS42では、重みが負の頂点だけを選
んでいる。
Since the condition for moving the objects in groups was that the load on the root of the tree was negative,
It is not necessary to construct a tree rooted at a vertex whose load is always positive. As can be seen from the equation (6), if the weight of the root of the tree is positive, the load on the root of the tree will not be negative.
Therefore, in step S42, only vertices having a negative weight are selected.

【0121】また、図22の処理に先だって、制約グラ
フのシンクからタイトな枝を逆向に辿って、辿れる範囲
の頂点にBLOCKEDのマークを付けておく。この処
理は、面積縮小部8の処理が終了した直後に実行してお
くことが望ましい。ここで、タイトな枝とは、枝の示す
制約条件の大きさと、枝の両端の頂点の距離が等しい枝
である。このとき、BLOCKEDのマークの付いた頂
点を移動させると、グラフのシンクの座標が大きくなる
ため、レイアウトの面積が大きくなる。
Further, prior to the processing of FIG. 22, a tight branch is traced backward from the sink of the constraint graph, and the apex of the traceable range is marked with BLOCKED. It is desirable to execute this processing immediately after the processing of the area reduction unit 8 is completed. Here, the tight branch is a branch in which the size of the constraint condition indicated by the branch is equal to the distance between the vertices at both ends of the branch. At this time, when the vertex with the BLOCKED mark is moved, the coordinates of the sink of the graph increase, and the layout area increases.

【0122】そこで、ステップS47にてリミットノー
ドにBLOCKEDのマークが付加されているか否か調
べ、付加されていればステップS50にてクリティカル
ノードから木の根までの経路上のすべての頂点にBLO
CKEDのマークを付加し、付加されていなければステ
ップS48とS49にて移動処理を行うようにする。こ
れによって、レイアウトの面積を大きくしてはならない
場合には、BLOCKEDのマークの付いた頂点を移動
しないようにする。
Therefore, in step S47, it is checked whether or not the BLOCKED mark is added to the limit node. If the mark is added, in step S50 BLO is added to all vertices on the path from the critical node to the root of the tree.
The mark of CKED is added, and if not added, the moving process is performed in steps S48 and S49. This prevents the vertices marked BLOCKED from moving if the layout area should not be increased.

【0123】さて、素子移動処理が終了すると、配線短
縮部10の終了判定部104は、ライン反転処理を行っ
て処理サイクルを再度実行するか、ライン反転処理を行
わずに処理サイクルを再度実行するか、処理を終了する
かを判定する。
When the element moving process is completed, the termination determining unit 104 of the wiring shortening unit 10 performs the line inversion process and re-executes the process cycle, or re-executes the process cycle without performing the line inversion process. Or whether to end the process.

【0124】終了判定部104での終了の判定条件には
以下のようなものが考えられる。 (1)全てのオブジェクトの位置が修正されなかった。 (2)全てのオブジェクトの位置が修正されないことが
2回続いた。 (3)ユーザの指定した一定の繰り返し回数t1を越え
た。 (4)コストの変化(例えば(前回コスト−今回コス
ト)あるいは(前回コスト−今回コスト)/今回コスト
等)がユーザの指定した値s1より小さくなった。 (5)上記の条件1または条件2と条件3と条件4のい
くつかを論理和などにて適宜組み合わせたもの。
The following conditions can be considered as the termination determination conditions in the termination determination unit 104. (1) The positions of all objects were not corrected. (2) The positions of all objects were not corrected twice. (3) The fixed number of times t1 specified by the user is exceeded. (4) The change in cost (for example, (previous cost-current cost) or (previous cost-current cost) / current cost) becomes smaller than the value s1 designated by the user. (5) A combination of some of the above condition 1 or condition 2, condition 3 and condition 4 by logical sum or the like.

【0125】なお、収束状態を提示し、上記の繰り返し
回数をユーザが決定して入力あるいは更新できるように
してもよい。あるいは、収束状態を提示し、ユーザから
終了を指示された場合には上記の条件の成立にかかわら
ず終了するようにしてもよい。
The convergence state may be presented so that the user can determine the number of repetitions and input or update it. Alternatively, the converged state may be presented, and when the user gives an instruction to end, the processing may be ended regardless of whether the above condition is satisfied.

【0126】収束状態の提示としては、例えば、レイア
ウトの変更が発生している部分を特定して、変更前と変
更後の違いを表示する方法、コストの変化状態あるいは
総配線長とコストの変化状態を表示するようにしてもよ
い。
As the presentation of the convergence state, for example, a method of identifying the portion where the layout is changed and displaying the difference before and after the change, the change state of the cost or the change of the total wiring length and the cost You may make it display a state.

【0127】なお、収束状態の提示は、ユーザの指示に
よって、頂点の移動の都度行うモードと、終了判定のと
きに行うモードとを切り替え可能としてもよい。
Note that the presentation of the convergence state may be switchable between a mode performed each time the vertex is moved and a mode performed when the end is determined, according to a user's instruction.

【0128】次に、上記の終了条件が成立しない場合に
は処理サイクルを再度実行することになるが、その際
に、ライン反転処理を行うか否かの判定には以下のよう
なものが考えられる。 (a)全てのオブジェクトの位置が修正されなかった
(上記の(1)を採用する場合は除く)。 (b)ユーザの指定した一定の繰り返し回数t2(上記
の(3)を採用する場合はt2<t1とする)を越え
た。 (c)上記の条件aと条件bを論理和にて組み合わせた
もの。
Next, if the above end condition is not satisfied, the processing cycle will be executed again. At that time, the following may be considered to determine whether or not to perform the line inversion processing. To be (A) The positions of all objects were not corrected (except when the above (1) is adopted). (B) The fixed number of times t2 specified by the user (t2 <t1 when the above (3) is adopted) is exceeded. (C) A combination of the above condition a and condition b by logical sum.

【0129】この他に、上記の終了条件が成立した場合
に、ライン処理を行った上で、もう1回だけ終了条件が
成立するまで重み決定処理および素子移動処理を実行す
る方法、図23のように処理サイクルを再度実行する場
合には、常にライン反転処理を実行する方法、図24の
1つの木に対応するオブジェクトを移動するごとにライ
ン反転処理を実行する方法など、種々の方法が考えられ
る。
In addition to the above, when the above end condition is satisfied, the line process is performed, and then the weight determination process and the element movement process are executed only once again until the end condition is satisfied. When the processing cycle is re-executed as described above, various methods such as a method of always executing the line inversion processing and a method of executing the line inversion processing each time the object corresponding to one tree in FIG. 24 is moved are considered. To be

【0130】さて、ライン反転部106は、前述のよう
にラインの長さが0になった場合に、ラインの左右を入
れ替えるライン反転処理を行う。具体的には、ラインの
両端に対応する2つの頂点の始点と終点の関係を逆転さ
せるように、制約グラフの結合関係と接近限界距離、木
の構造、木の頂点の重みと負荷を修正する。コスト関数
は、修正後の頂点の重みを用いる。本素子移動処理は、
頂点の位置関係が逆転しない範囲でオブジェクトを移動
させるので、オブジェクトが移動できなくなったとき
に、頂点間の距離が0であるものがあれば、頂点の位置
関係が逆になるように制約グラフ、木、コスト関数を修
正することで、さらにオブジェクトの移動が可能となる
場合がある。
Now, the line inversion unit 106 performs the line inversion process of switching the right and left of the line when the line length becomes 0 as described above. Specifically, the connection relation of the constraint graph and the approach limit distance, the tree structure, the weight and load of the vertex of the tree are modified so that the relation between the start point and the end point of the two vertices corresponding to both ends of the line is reversed. . The cost function uses the weight of the corrected vertex. This element movement process is
Since the object is moved within the range in which the positional relationship of the vertices is not reversed, if there is something in which the distance between the vertices is 0 when the object cannot be moved, a constraint graph that reverses the positional relationship of the vertices, In some cases, the objects can be moved further by modifying the tree and cost function.

【0131】配線短縮処理が終了すると、図7のような
各パターンとそれに対応する頂点とその頂点の座標に対
する処理方向の相対座標との関係を示すテーブルと、制
約グラフから得られる各頂点の座標とをもとにするなど
して、全レイアウト・パターンの座標データを計算し直
して、線短縮処理終了後におけるICレイアウト・デー
タを生成する。なお、面積縮小処理や配線短縮処理にお
いて、各頂点を移動するごとに、その頂点に対応するオ
ブジェクトに属する各パターンの座標を求めてその都度
ICレイアウト・データを更新するようにしてもよい。
When the wiring shortening process is completed, a table showing the relationship between each pattern as shown in FIG. 7, the corresponding vertices, and the relative coordinates in the processing direction with respect to the coordinates of the vertices, and the coordinates of each vertex obtained from the constraint graph. The coordinate data of all the layout patterns are recalculated based on, and the IC layout data after the line shortening process is generated. In the area reduction processing and the wiring shortening processing, each time the vertex is moved, the coordinates of each pattern belonging to the object corresponding to the vertex may be obtained and the IC layout data may be updated each time.

【0132】次に、終了判定部12では、終了条件が成
立したか否かを判断する(ステップS16)。終了条件
が成立したならば終了し、終了条件が成立していないな
らば、処理方向決定部4に戻り、処理方向を変えて同様
のコンパクション処理を繰り返して行う。終了条件に
は、一例として、規定回数の繰り返しが終了した条件が
考えられる。例えば、x方向の処理とy方向の処理が交
互に2回ずつで計4回の繰り返しが終了した場合であ
る。
Next, the end judging section 12 judges whether or not the end condition is satisfied (step S16). If the end condition is satisfied, the process ends. If the end condition is not satisfied, the process direction determination unit 4 is returned to, the process direction is changed, and the same compaction process is repeated. As an example of the end condition, a condition in which the specified number of repetitions have ended can be considered. For example, this is a case where the x-direction processing and the y-direction processing are alternately performed twice, and a total of four times of repetition is completed.

【0133】終了判定部12にて終了条件が成立したと
判断されたならば、出力部14は、コンパクション処理
されたICレイアウト・データを出力する(ステップS
17)。
If the termination determining unit 12 determines that the termination condition is satisfied, the output unit 14 outputs the compaction processed IC layout data (step S).
17).

【0134】次に、移動可能なオブジェクトを上記した
基本的な手順では移動できない場合について図25の例
を参照しながら説明する。
Next, a case where a movable object cannot be moved by the above basic procedure will be described with reference to the example of FIG.

【0135】図25(a)のラインL1,L2,L3
は、それぞれ、(b)の頂点v1,v2,v3と対応し
ていて、ライン両端の入れ替えを伴う移動を禁止してい
るために、v1とv2、v3とv2の間に制約条件の値
が0の枝がある。このとき、制約条件のために、L1と
L3はL2を越えて右側に移動することはできない。ま
た、各ラインの優先度を1として各頂点の重みを求める
と、(b)の各頂点の横に記したような重みが求まり、
L2の重みは2(>0)なので、L2は単独では右に移
動しない。一方、全ての頂点の重みの合計は負であるか
ら、全体を右側に移動することで、配線長は短縮される
はずであるが、このグラフは木に格納することができな
いため、全体を右側に移動させることはできず、(c)
に示す状態で処理は終了してしまう。
Lines L1, L2 and L3 of FIG.
Respectively correspond to the vertices v1, v2 and v3 of (b) and prohibit movement involving the interchange of both ends of the line. Therefore, the value of the constraint condition between v1 and v2, v3 and v2 is There are 0 branches. At this time, due to the constraint condition, L1 and L3 cannot move to the right beyond L2. Further, when the weight of each vertex is calculated with the priority of each line set to 1, the weight described next to each vertex of (b) is calculated,
Since the weight of L2 is 2 (> 0), L2 does not move to the right by itself. On the other hand, since the sum of the weights of all vertices is negative, moving the whole to the right should shorten the wiring length, but since this graph cannot be stored in a tree, the whole is to the right. Can not be moved to (c)
The processing ends in the state shown in.

【0136】そこで、ラインの長さが0になっている場
合、またはラインの左端と右端に対応する頂点の間の枝
がタイトな枝になっている場合は、ラインの両端が同一
の頂点を参照することにする。このとき、頂点の重み
は、元々参照されていた頂点の重みの合計に等しくす
る。(a)の3頂点の重みの合計は−2であるから、
(d)のように、新しい頂点vの重みは−2になる。
(d)の場合は、ラインは右側に移動して、配線長を短
縮できる。
Therefore, when the length of the line is 0, or when the branches between the vertices corresponding to the left end and the right end of the line are tight branches, both ends of the line have the same vertices. I will refer to it. At this time, the weight of the vertices is made equal to the sum of the weights of the vertices that were originally referenced. Since the sum of the weights of the three vertices in (a) is -2,
As in (d), the weight of the new vertex v becomes -2.
In the case of (d), the line moves to the right side, and the wiring length can be shortened.

【0137】この処理を実行するための配線短縮部10
の内部構成の一例を図26に示し、その手順の一例を図
27に示す。マージ処理部108以外の部分は、基本的
には上記したような図3の配線短縮部10と同様である
が、終了判定部104でマージ処理が必要であると判断
した場合に、マージ処理部108で、上記したラインと
頂点のマージ処理と制約グラフの変更、負荷の修正を行
った後、再度処理を続行する。
A wiring shortening unit 10 for executing this processing
FIG. 26 shows an example of the internal configuration of the above, and FIG. 27 shows an example of the procedure thereof. The portions other than the merge processing unit 108 are basically the same as the wiring shortening unit 10 of FIG. 3 as described above, but when the end determination unit 104 determines that the merge processing is necessary, the merge processing unit In step 108, the line and vertex merge processing, the constraint graph change, and the load correction described above are performed, and then the processing is resumed.

【0138】なお、終了判定部104でのマージ処理の
必要の有無の判断としては、例えば、終了判定部104
にてライン反転処理を行うと判断された蓄積回数が規定
回数の整数倍に当たる場合にライン反転処理の代わりに
マージ処理を行う方法が考えられる。例えば、規定回数
を4回とすると、3回のライン反転処理が行われた後
に、またライン反転処理を行うと判断されたならば、そ
の回はライン反転処理に代えてマージ処理を行う。
The determination of whether or not the merge process is necessary in the end determination unit 104 is, for example, the end determination unit 104.
A method is conceivable in which the merge process is performed instead of the line inversion process when the number of times of storage determined to perform the line inversion process is an integral multiple of the specified number. For example, assuming that the prescribed number of times is 4, if the line inversion process is determined to be performed again after the line inversion process is performed three times, the merge process is performed instead of the line inversion process.

【0139】あるいは、前述の終了条件が成立し、ライ
ン処理を行った上で、再度重み決定処理および素子移動
処理を実行した後に、再度前述の終了条件が成立した場
合に、マージ処理を行った上で、再度重み決定処理およ
び素子移動処理を実行する方法、図23のように処理サ
イクルを再度実行する場合には常にライン反転処理を実
行しあるいは図24の1つの木に対応するオブジェクト
を移動するごとにライン反転処理を実行する場合に、ラ
イン反転処理を行った蓄積回数が規定回数の整数倍に当
たる場合にライン反転処理の代わりにマージ処理を行う
方法、図23のように処理サイクルを再度実行する場合
には常にライン反転処理を実行しあるいは図24の1つ
の木に対応するオブジェクトを移動するごとにライン反
転処理を実行するとともに、前述のライン反転処理を行
うための条件と同じ条件(a,bなど)が成立した場合
にマージ処理を行う方法など、種々の方法が考えられ
る。
Alternatively, when the above-mentioned end condition is satisfied, the line processing is performed, the weight determination process and the element movement process are executed again, and then the above-mentioned end condition is satisfied again, the merge process is executed. In the above, the method of executing the weight determination processing and the element movement processing again, the line inversion processing is always executed when the processing cycle is executed again as shown in FIG. 23, or the object corresponding to one tree in FIG. 24 is moved. When the line inversion process is performed every time, the method of performing the merge process instead of the line inversion process when the number of accumulations of the line inversion process is an integral multiple of the specified number of times, the process cycle is performed again as shown in FIG. When executing, line inversion processing is always executed, or line inversion processing is executed every time an object corresponding to one tree in FIG. 24 is moved. Both a method of performing the merge processing when the same conditions as the conditions for performing line inversion process described above (a, b, etc.) is satisfied, various methods are conceivable.

【0140】ところで、以上の説明においては、オブジ
ェクトは、処理方向のラインの両端を包含しないもので
あったが、短縮対象から外したいラインを指定可能とし
てもよい。この場合、短縮対象から外したいラインを、
他の配線ではないパターンと同様に扱えばよい。
By the way, in the above description, the object does not include both ends of the line in the processing direction, but it is possible to specify a line to be excluded from the shortening target. In this case, the line you want to exclude from the shortening target,
It may be handled in the same manner as other non-wiring patterns.

【0141】また、レイアウトのうちの配置変更させた
くない特定範囲を指定可能としてもよい。この場合、該
特定範囲に包含されるラインをすべて他の配線ではない
パターンと同様に扱えばよい。
Further, it is possible to specify a specific range of the layout which is not desired to be changed. In this case, all the lines included in the specific range may be treated in the same manner as other non-wiring patterns.

【0142】なお、本実施形態にて説明した各機能は、
ハードウェアとしてもソフトウェアとしても実現可能で
ある。また、ソフトウェアとしても実現する場合、上記
した各手順あるいは手段をコンピュータに実行させるた
めのプログラムを記録した機械読取り可能な媒体として
実施することもできる。
The functions described in this embodiment are as follows.
It can be realized as hardware or software. When implemented as software, it can also be implemented as a machine-readable medium that records a program for causing a computer to execute the above-described procedures or means.

【0143】本発明は、上述した実施の形態に限定され
るものではなく、その技術的範囲において種々変形して
実施することができる。
The present invention is not limited to the above-described embodiments, but can be implemented with various modifications within the technical scope thereof.

【0144】[0144]

【発明の効果】本発明によれば、所定の位置関係を持つ
複数のオブジェクトをそれぞれノードとしてツリーを形
成し、ツリーの下流側から上流側に向かって、各ノード
の負荷を下流側ノードの負荷を反映させながら順次求め
ていくので、負荷に基づいて容易に移動すべきオブジェ
クトのグループを求めることができ、効率的にかつ効果
的に配線のコストを下げるようなオブジェクトの移動を
実行することができる。
According to the present invention, a tree is formed with a plurality of objects having a predetermined positional relationship as nodes, and the load of each node is changed from the downstream side of the tree toward the upstream side of the tree. It is possible to find the group of objects that should be moved easily based on the load, and to perform the object movement that reduces the wiring cost efficiently and effectively. it can.

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

【図1】本発明の一実施形態に係るコンパクション処理
装置の構成の一例を示す図
FIG. 1 is a diagram showing an example of a configuration of a compaction processing device according to an embodiment of the present invention.

【図2】本発明の一実施形態に係るコンパクション装置
の処理手順の一例を示すフローチャート
FIG. 2 is a flowchart showing an example of a processing procedure of the compaction device according to the embodiment of the present invention.

【図3】配線短縮部の内部構成の一例を示す図FIG. 3 is a diagram showing an example of an internal configuration of a wiring shortening unit.

【図4】配線短縮部の処理手順の一例を示すフローチャ
ート
FIG. 4 is a flowchart showing an example of a processing procedure of a wiring shortening unit.

【図5】配線短縮部の重み決定処理および素子移動処理
の手順の一例を示すフローチャート
FIG. 5 is a flowchart showing an example of a procedure of weight determination processing and element movement processing of a wiring shortening unit.

【図6】レイアウト・パターンの一例を示す図FIG. 6 is a diagram showing an example of a layout pattern.

【図7】各パターンと頂点と相対座標との対応を記憶し
たテーブルの一例を示す図
FIG. 7 is a diagram showing an example of a table in which correspondences between patterns, vertices, and relative coordinates are stored.

【図8】レイアウト・パターンの他の例を示す図FIG. 8 is a diagram showing another example of a layout pattern.

【図9】負荷を説明するための木の一例を示す図FIG. 9 is a diagram showing an example of a tree for explaining a load.

【図10】オブジェクトの配置状態の一例を示す図FIG. 10 is a diagram showing an example of an arrangement state of objects.

【図11】オブジェクトの配置状態の一例を示す図FIG. 11 is a diagram showing an example of an arrangement state of objects.

【図12】オブジェクトの配置状態の一例を示す図FIG. 12 is a diagram showing an example of an arrangement state of objects.

【図13】オブジェクトの配置状態の一例を示す図FIG. 13 is a diagram showing an example of an arrangement state of objects.

【図14】制約グラフの一例を示す図FIG. 14 is a diagram showing an example of a constraint graph.

【図15】制約グラフの一例を示す図FIG. 15 is a diagram showing an example of a constraint graph.

【図16】制約グラフの一例を示す図FIG. 16 is a diagram showing an example of a constraint graph.

【図17】制約グラフの一例を示す図FIG. 17 is a diagram showing an example of a constraint graph.

【図18】木の一例を示す図FIG. 18 is a diagram showing an example of a tree.

【図19】木の一例を示す図FIG. 19 is a diagram showing an example of a tree.

【図20】木の一例を示す図FIG. 20 is a diagram showing an example of a tree.

【図21】木の一例を示す図FIG. 21 is a diagram showing an example of a tree.

【図22】配線短縮部の重み決定処理および素子移動処
理の手順の他の例を示すフローチャート
FIG. 22 is a flowchart showing another example of the procedure of the weight determination processing and the element movement processing of the wiring shortening unit.

【図23】配線短縮部の処理手順の他の例を示すフロー
チャート
FIG. 23 is a flowchart showing another example of the processing procedure of the wiring shortening unit.

【図24】配線短縮部の処理手順のさらに他の例を示す
フローチャート
FIG. 24 is a flowchart showing still another example of the processing procedure of the wiring shortening unit.

【図25】マージ処理を説明するための図FIG. 25 is a diagram for explaining merge processing.

【図26】配線短縮部の内部構成の他の例を示す図FIG. 26 is a diagram showing another example of the internal configuration of the wiring shortening unit.

【図27】配線短縮部のマージ処理を含む処理手順の一
例を示すフローチャート
FIG. 27 is a flowchart showing an example of a processing procedure including merge processing of a wiring shortening unit.

【図28】従来のコンパクショタの構成の一例を示す図FIG. 28 is a diagram showing an example of a configuration of a conventional compactor.

【図29】面積縮小処理を説明するための図FIG. 29 is a diagram for explaining the area reduction processing.

【図30】制約グラフを説明するための図FIG. 30 is a diagram for explaining a constraint graph.

【図31】シンクとソースを持つ一般的な制約グラフの
一例を示す図
FIG. 31 is a diagram showing an example of a general constraint graph having a sink and a source.

【図32】オブジェクトの配置状態の一例を示す図FIG. 32 is a diagram showing an example of an arrangement state of objects.

【図33】蓄積値を説明するための木の一例を示す図FIG. 33 is a diagram showing an example of a tree for explaining accumulated values.

【図34】蓄積値を説明するための他の木の一例を示す
FIG. 34 is a diagram showing an example of another tree for explaining accumulated values.

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

2…装置入力部 4…処理方向決定部 6…制約グラフ作成部 8…面積縮小部 10…配線短縮部 12…終了判定部 14…出力部 100…重み決定部 102…素子移動部 104…終了判定部 106…ライン反転部 108…マージ処理部 2 ... Device input section 4 ... Processing direction determination unit 6 ... Constraint graph creation unit 8 ... Area reduction unit 10 ... Wiring shortening part 12 ... Termination determination unit 14 ... Output section 100 ... Weight determination unit 102 ... Element moving unit 104 ... Termination determination unit 106 ... Line inversion unit 108 ... Merge processing unit

フロントページの続き (58)調査した分野(Int.Cl.7,DB名) H01L 21/82 G06F 17/50 H01L 21/822 H01L 27/04 Front page continued (58) Fields surveyed (Int.Cl. 7 , DB name) H01L 21/82 G06F 17/50 H01L 21/822 H01L 27/04

Claims (14)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】オブジェクト間を配線してなる配線パター
ンにおける特定のオブジェクトを、配線ごとに設定され
短縮優先度を考慮した配線短縮のパフォーマンスを示
す負荷に従って移動することにより、前記配線の長さを
短縮する配線短縮処理方法であって、 所定の位置関係を持つ複数のオブジェクトをそれぞれノ
ードとしてツリーを形成する第1のステップと、 前記各ツリーについて、該ツリーのリーフ側から順次、
子ノードの負荷に基づく該子ノードに対する親ノードの
負荷を算出する第2のステップと、 所定の条件を満たす負荷を持つノードをルートノードと
するツリー部分に対応するオブジェクトを移動対象とし
て特定する第3のステップとを有し、 前記所定の位置関係は、2つのオブジェクトが互いに接
近可能な限界距離に位置する関係であり、前記ツリーに
おいて該2つのオブジェクトのうちオブジェクト移動方
向の上流側に位置するオブジェクトを親ノード、下流側
に位置するオブジェクトを子ノードとし、 リーフノードを含む子ノードを持たないノードの負荷
を、該ノードに一端を持つ配線部分のうち該ノードを移
動すると配線が伸張されるものの短縮優先度の総和から
該ノードに一端を持つ配線線分のうち該ノードを移動す
ると配線が短縮されるものの短縮優先度の総和を減じて
得た重み値とし、 子ノードを持つノードの負荷を、該ノードの重み値に、
該ノードの子ノードの負荷のうち正の値のものをすべて
加算したものとし、 前記負荷の満たすべき所定の条件は、前記負荷が負の値
である ことを特徴とする配線短縮処理方法。
1. The length of the wiring is obtained by moving a specific object in a wiring pattern formed by wiring between objects according to a load showing a performance of wiring shortening in consideration of a shortening priority set for each wiring. And a first step of forming a tree with a plurality of objects having a predetermined positional relationship as nodes, respectively, and for each tree, from the leaf side of the tree,
A second step of calculating the load of the parent node with respect to the child node based on the load of the child node; and a second step of specifying an object corresponding to a tree part whose root node is a node having a load satisfying a predetermined condition as a movement target . And the predetermined positional relationship is such that two objects are in contact with each other.
It is a relationship that is located at the closest possible distance,
How to move the object out of the two objects
Object located upstream of the parent node, downstream side
Loads a node that has a child node that is located in the node and has no child nodes including leaf nodes
Of the wiring part having one end to the node
Although the wiring is expanded when moving, from the sum of the shortening priority
Move the node among the wiring line segments that have one end at the node
Then, the wiring is shortened, but the sum of the shortening priority is reduced.
With the obtained weight value, the load of the node having the child node is set to the weight value of the node,
All positive load values of the child nodes of the node
The predetermined condition that the load should satisfy is that the load is a negative value.
The wiring shortening method is characterized in that
【請求項2】オブジェクト間を配線してなる配線パター
ンにおける特定のオブジェクトを、配線ごとに設定され
た短縮優先度を考慮した配線短縮のパフォーマンスを示
す負荷に従って移動することにより、前記配線の長さを
短縮する配線短縮処理方法であって、 所定の位置関係を持つ複数のオブジェクトをそれぞれノ
ードとしてツリーを形成する第1のステップと、 前記各ツリーについて、該ツリーのリーフ側から順次、
子ノードの負荷に基づく該子ノードに対する親ノードの
負荷を算出する第2のステップと、 所定の条件を満たす負荷を持つノードをルートノードと
するツリー部分に対応するオブジェクトを移動対象とし
て特定する第3のステップとを有し、 各配線線分の短縮優先度を、該配線線分の長さと該配線
線分の幅と該配線線分の属するマスク・レイヤの関数と
することを特徴とする配線短縮処理方法。
2. A wiring pattern formed by wiring objects.
A specific object in the
Shows the performance of wiring shortening considering the shortening priority.
The length of the wiring by moving according to the load.
This is a wiring shortening method that shortens the wiring, and
A first step of forming a tree as a node, and for each tree, from the leaf side of the tree,
Of the parent node for the child node based on the load of the child node
The second step of calculating the load and the node having the load satisfying the predetermined condition as the root node
Object corresponding to the tree part
And a third step of specifying the wiring line segment length and the wiring line segment length.
The width of the line segment and the function of the mask layer to which the wiring line segment belongs
A wiring shortening method characterized by:
【請求項3】前記手順は、レイアウト面積を縮小するた
めのオブジェクトの移動が実行された後に実行するもの
であり、 前記レイアウト面積縮小するためのオブジェクトの
動は、オブジェクトを一次元コンパクション方向の一方
の側に可能な限りつめて配置するように移動するもので
あり、 前記手順においては、前記一次元コンパクション方向の
他方の側に位置するオブジェクトから順に移動対象とす
ることを特徴とする請求項1または2に記載の配線短縮
処理方法。
3. The procedure reduces the layout area.
To be executed after moving the object for
The movement of the object for reducing the layout area is to move the object so as to be arranged on one side in the one-dimensional compaction direction as closely as possible. Is a moving target in order from an object located on the other side in the one-dimensional compaction direction, the wiring shortening method according to claim 1.
【請求項4】前記手順を実行しても全てのオブジェクト
が移動できなかったことが2回繰り返された条件、前記
手順を実行しても全てのオブジェクトが移動できなかっ
た条件、繰り返し回数が規定回数を越えた条件、配線の
各線分の長さの重み付け総和値に相当するコストの変化
が規定値より小さくなった条件のうちの1つの条件また
は所定の組合せで定められた条件からなる終了条件が成
立するまで、前記手順を繰り返し実行することを特徴と
する請求項1ないし3のいずれか1項に記載の配線短縮
処理方法。
4. A condition in which all objects cannot be moved even after executing the procedure is repeated twice, a condition in which all objects cannot move even after executing the procedure, and the number of repetitions is defined. An end condition consisting of one of the conditions of exceeding the number of times and the condition of the change in cost corresponding to the weighted sum value of the lengths of the wiring lines being smaller than the specified value, or a condition defined by a predetermined combination. The wiring shortening method according to any one of claims 1 to 3, wherein the procedure is repeatedly executed until the following is satisfied.
【請求項5】各オブジェクト間の関係を制約グラフによ
り表現し、配線線分の両端の位置関係が逆転しない範囲
で、前記オブジェクトを移動することを特徴とする請求
項1ないし4のいずれか1項に記載の配線短縮処理方
法。
5. The relationship between each object is expressed by a constraint graph, and the objects are moved within a range in which the positional relationship between both ends of the wiring line segment is not reversed. The wiring shortening method described in the item.
【請求項6】配線線分の両端の位置関係が逆転しない範
囲で、前記オブジェクトを移動するとともに、 前記オブジェクトの移動が完了した時点で、配線線分の
長さが0となったものがあれば、該配線線分の両端の位
置関係を反転して、前記ツリーの構造を修正し、改めて
前記負荷を求めた後に、所定の条件を満たす負荷を持つ
ノードをルートノードとするツリー部分に対応する全オ
ブジェクトを一体として移動させることを特徴とする請
求項1ないし3のいずれか1項に記載の配線短縮処理方
法。
6. The object may be moved within a range in which the positional relationship between both ends of the wiring line segment is not reversed, and the length of the wiring line segment may become 0 when the movement of the object is completed. For example, after reversing the positional relationship between both ends of the wiring line segment, modifying the structure of the tree and re-determining the load, it corresponds to the tree part whose root node is a node having a load satisfying a predetermined condition. The wiring shortening method according to any one of claims 1 to 3, wherein all the objects to be moved are moved as a unit.
【請求項7】配線線分の両端の位置関係が逆転しない範
囲で、前記オブジェクトを移動するとともに、 前記終了条件が成立した時点で、配線線分の長さが0と
なったものがあれば、該配線線分の両端の位置関係を反
転した上で、改めて前記終了条件が成立するまで、前記
手順を繰り返し実行することを特徴とする請求項4に記
載の配線短縮処理方法。
7. If the length of the wiring line segment is 0 when the object is moved within a range in which the positional relationship between both ends of the wiring line segment is not reversed, and the end condition is satisfied. 5. The wiring shortening method according to claim 4, further comprising reversing the positional relationship between both ends of the wiring line segment and repeating the procedure until the end condition is satisfied again.
【請求項8】配線線分の両端の位置関係が逆転しない範
囲で、前記オブジェクトを移動するとともに、 前記終了条件が成立した時点で、配線線分の長さが0と
なったものまたは配線線分の両端と対応する頂点間の枝
がタイトな枝になったものがあれば、該配線線分の両端
をマージした上で、改めて前記終了条件が成立するま
で、前記手順を繰り返し実行することを特徴とする請求
項4に記載の配線短縮処理方法。
8. A wiring line whose length becomes 0 when the object is moved within a range in which the positional relationship between both ends of the wiring line segment is not reversed and the end condition is satisfied. If there is a tight branch between the vertices corresponding to both ends of the minute, merge both ends of the wiring line segment and repeat the above procedure until the end condition is satisfied again. The wiring shortening method according to claim 4.
【請求項9】レイアウトの変更が発生している部分を特
定して、変更前と変更後の違いを表示する形態または総
配線長および前記コストの少なくとも一方の変化状態を
表示する形態により収束状態を提示するとともに、ユー
ザから入力された繰り返し回数を前記終了条件として用
いることを特徴とする請求項4に記載の配線短縮処理方
法。
9. A converged state by specifying a portion where the layout is changed and displaying the difference between before and after the change or by displaying a change state of at least one of the total wiring length and the cost. 5. The wiring shortening method according to claim 4, wherein the number of repetitions input by the user is used as the ending condition.
【請求項10】イアウトの特定の部分に限定して特定
のデザインルールおよび配線線分別の短縮優先度を設定
可能とすることを特徴とする請求項1または2に記載の
配線短縮処理方法。
10. A wiring shorten processing method according to claim 1 or 2, characterized in that to enable set up speed priority limited to specific design rules and wiring lines fractionation to a specific part of the layout.
【請求項11】オブジェクト間を配線してなる配線パタ
ーンにおける特定のオブジェクトを、配線ごとに設定さ
れた短縮優先度を考慮した配線短縮のパフォーマンスを
示す負荷に従って移動することにより、前記配線の長さ
を短縮する配線短縮装置において、 所定の位置関係を持つ複数のオブジェクトをそれぞれノ
ードとしてツリーを形成する手段と、 前記各ツリーについて、該ツリーのリーフ側から順次、
子ノードの負荷に基づく該子ノードに対する親ノードの
負荷を算出する手段と、 所定の条件を満たす負荷を持つノードをルートノードと
するツリー部分に対応するオブジェクトを移動対象とし
て特定する手段とを具備し、 前記所定の位置関係は、2つのオブジェクトが互いに接
近可能な限界距離に位置する関係であり、前記ツリーに
おいて該2つのオブジェクトのうちオブジェクト移動方
向の上流側に位置するオブジェクトを親ノード、下流側
に位置するオブジェクトを子ノードとし、 リーフノードを含む子ノードを持たないノードの負荷
を、該ノードに一端を持つ配線部分のうち該ノードを移
動すると0配線が伸張されるものの短縮優先度の総和か
ら該ノードに一端を持つ配線線分のうち該ノードを移動
すると配線が短縮されるものの短縮優先度の総和を減じ
て得た重み値とし、 子ノードを持つノードの負荷を、該ノードの重み値に、
該ノードの子ノードの負荷のうち正の値のものをすべて
加算したものとし、 前記負荷の満たすべき所定の条件は、前記負荷が負の値
である ことを特徴とする配線短縮装置。
11. The length of the wiring is obtained by moving a specific object in a wiring pattern formed by wiring between objects according to a load showing a performance of wiring shortening in consideration of a shortening priority set for each wiring. In a wiring shortening device for shortening, a means for forming a tree with a plurality of objects having a predetermined positional relationship as nodes, and for each tree, sequentially from the leaf side of the tree,
And a means for calculating the load of the parent node with respect to the child node based on the load of the child node, and a means for specifying an object corresponding to a tree part having a node having a load satisfying a predetermined condition as a root node as a movement target. and, wherein the predetermined positional relationship, contact two objects to each other
It is a relationship that is located at the closest possible distance,
How to move the object out of the two objects
Object located upstream of the parent node, downstream side
Loads a node that has a child node that is located in the node and has no child nodes including leaf nodes
Of the wiring part having one end to the node
When moved, the 0 wiring is expanded, but is it the sum of the shortening priority?
Move the node among the wiring line segments that have one end at the node
Then, the wiring is shortened, but the sum of the shortening priority is reduced.
And the load of the node having the child node as the weight value obtained by
All positive load values of the child nodes of the node
The predetermined condition that the load should satisfy is that the load is a negative value.
Wiring shortened and wherein the at.
【請求項12】オブジェクト間を配線してなる配線パタ
ーンにおける特定のオブジェクトを、配線ごとに設定さ
れた短縮優先度を考慮した配線短縮のパフォーマンスを
示す負 荷に従って移動することにより、前記配線の長さ
を短縮する配線短縮装置において、 所定の位置関係を持つ複数のオブジェクトをそれぞれノ
ードとしてツリーを形成する手段と、 前記各ツリーについて、該ツリーのリーフ側から順次、
子ノードの負荷に基づく該子ノードに対する親ノードの
負荷を算出する手段と、 所定の条件を満たす負荷を持つノードをルートノードと
するツリー部分に対応するオブジェクトを移動対象とし
て特定する手段とを具備し、 各配線線分の短縮優先度を、該配線線分の長さと該配線
線分の幅と該配線線分の属するマスク・レイヤの関数と
することを特徴とする配線短縮装置。
12. A wiring pattern formed by wiring between objects.
The specific object in the
The performance of wiring shortening considering the shortening priority
By moving according load indicating the length of the wiring
In line shortening device for shortening the respective multiple objects having a predetermined positional relationship Roh
Means for forming a tree as a node, and for each tree, from the leaf side of the tree,
Of the parent node for the child node based on the load of the child node
A means for calculating the load and a node having a load satisfying a predetermined condition as a root node
Object corresponding to the tree part
And means for specifying the shortening priority of each wiring line segment,
The width of the line segment and the function of the mask layer to which the wiring line segment belongs
A wiring shortening device characterized by:
【請求項13】オブジェクト間を配線してなる配線パタ
ーンにおける特定のオブジェクトを、配線ごとに設定さ
れた短縮優先度を考慮した配線短縮のパフォーマンスを
示す負荷に従って移動することにより、前記配線の長さ
を短縮する配線プログラムを記憶するコンピュータ読み
取り可能な記憶媒体において、前記プログラムは、 所定の位置関係を持つ複数のオブジェクトをそれぞれノ
ードとしてツリーを形成するプログラムコードと、 前記各ツリーについて、該ツリーのリーフ側から順次、
子ノードの負荷に基づく該子ノードに対する親ノードの
負荷を算出するプログラムコードと、 所定の条件を満たす負荷を持つノードをルートノードと
するツリー部分に対応するオブジェクトを移動対象とし
て特定するプログラムコードとを具備し、 前記所定の位置関係は、2つのオブジェクトが互いに接
近可能な限界距離に位置する関係であり、前記ツリーに
おいて該2つのオブジェクトのうちオブジェクト移動方
向の上流側に位置するオブジェクトを親ノード、下流側
に位置するオブジェクトを子ノードとし、 リーフノードを含む子ノードを持たないノードの負荷
を、該ノードに一端を持つ配線部分のうち該ノードを移
動すると0配線が伸張されるものの短縮優先度の総和か
ら該ノードに一端を持つ配線線分のうち該ノードを移動
すると配線が短縮されるものの短縮優先度の総和を減じ
て得た重み値とし、 子ノードを持つノードの負荷を、該ノードの重み値に、
該ノードの子ノードの負荷のうち正の値のものをすべて
加算したものとし、 前記負荷の満たすべき所定の条件は、前記負荷が負の値
である ことを特徴とする記憶媒体。
13. The length of the wiring is obtained by moving a specific object in a wiring pattern formed by wiring between objects according to a load showing a performance of wiring shortening in consideration of a shortening priority set for each wiring. In a computer-readable storage medium storing a wiring program for shortening, a program code for forming a tree with a plurality of objects having a predetermined positional relationship as nodes, and a leaf of the tree for each tree. From the side,
Program code for calculating the load of a parent node on the child node based on the load of the child node, and program code for specifying an object corresponding to a tree part whose root node is a node having a load satisfying a predetermined condition as a movement target comprising a predetermined positional relationship, contact two objects to each other
It is a relationship that is located at the closest possible distance,
How to move the object out of the two objects
Object located upstream of the parent node, downstream side
Loads a node that has a child node that is located in the node and has no child nodes including leaf nodes
Of the wiring part having one end to the node
When moved, the 0 wiring is expanded, but is it the sum of the shortening priority?
Move the node among the wiring line segments that have one end at the node
Then, the wiring is shortened, but the sum of the shortening priority is reduced.
And the load of the node having the child node as the weight value obtained by
All positive load values of the child nodes of the node
The predetermined condition that the load should satisfy is that the load is a negative value.
Storage medium characterized by at.
【請求項14】オブジェクト間を配線してなる配線パタ
ーンにおける特定のオブジェクトを、配線ごとに設定さ
れた短縮優先度を考慮した配線短縮のパフォーマンスを
示す負荷に従って移動することにより、前記配線の長さ
を短縮する配線プログラムを記憶するコンピュータ読み
取り可能な記憶媒体において、前記プログラムは、 所定の位置関係を持つ複数のオブジェクトをそれぞれノ
ードとしてツリーを形成するプログラムコードと、 前記各ツリーについて、該ツリーのリーフ側から順次、
子ノードの負荷に基づく該子ノードに対する親ノードの
負荷を算出するプログラムコードと、 所定の条件を満たす負荷を持つノードをルートノードと
するツリー部分に対応するオブジェクトを移動対象とし
て特定するプログラムコードとを具備し、 各配線線分の短縮優先度を、該配線線分の長さと該配線
線分の幅と該配線線分の属するマスク・レイヤの関数と
することを特徴とする記憶媒体。
14. A wiring pattern formed by wiring between objects.
The specific object in the
The performance of wiring shortening considering the shortening priority
The length of the wiring by moving according to the load shown
A computer reading that stores a wiring program that shortens
In the removable storage medium, the program stores a plurality of objects each having a predetermined positional relationship.
Program code for forming a tree as a code, and for each tree, from the leaf side of the tree,
Of the parent node for the child node based on the load of the child node
The program code that calculates the load and the node that has the load that satisfies the specified condition as the root node
Object corresponding to the tree part
And a shortening priority of each wiring line segment, the length of the wiring line segment and the wiring line segment.
The width of the line segment and the function of the mask layer to which the wiring line segment belongs
A storage medium characterized by:
JP20151897A 1997-07-28 1997-07-28 Wiring reduction processing method, wiring reduction processing device, and storage medium for storing wiring reduction processing program Expired - Fee Related JP3367869B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP20151897A JP3367869B2 (en) 1997-07-28 1997-07-28 Wiring reduction processing method, wiring reduction processing device, and storage medium for storing wiring reduction processing program
US09/122,634 US6122443A (en) 1997-07-28 1998-07-27 Wire length minimization apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20151897A JP3367869B2 (en) 1997-07-28 1997-07-28 Wiring reduction processing method, wiring reduction processing device, and storage medium for storing wiring reduction processing program

Publications (2)

Publication Number Publication Date
JPH1145940A JPH1145940A (en) 1999-02-16
JP3367869B2 true JP3367869B2 (en) 2003-01-20

Family

ID=16442382

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20151897A Expired - Fee Related JP3367869B2 (en) 1997-07-28 1997-07-28 Wiring reduction processing method, wiring reduction processing device, and storage medium for storing wiring reduction processing program

Country Status (1)

Country Link
JP (1) JP3367869B2 (en)

Also Published As

Publication number Publication date
JPH1145940A (en) 1999-02-16

Similar Documents

Publication Publication Date Title
US6122443A (en) Wire length minimization apparatus and method
US7721243B2 (en) Method and apparatus for routing
Sun et al. Efficient and effective placement for very large circuits
US7080336B2 (en) Method and apparatus for computing placement costs
US8112733B2 (en) Method and apparatus for routing with independent goals on different layers
US7055120B2 (en) Method and apparatus for placing circuit modules
JP4227304B2 (en) Outline wiring method and apparatus, and recording medium storing outline wiring program
US20030088841A1 (en) Partitioning placement method and apparatus
US20020100007A1 (en) Recursive partitioning placement method and apparatus
US6904580B2 (en) Method and apparatus for pre-computing placement costs
US20040103387A1 (en) Method and apparatus for computing capacity of a region for non-manhattan routing
US6996789B2 (en) Method and apparatus for performing an exponential path search
US7171635B2 (en) Method and apparatus for routing
US7003752B2 (en) Method and apparatus for routing
JP2004529402A5 (en)
US20040098698A1 (en) Method and apparatus for searching for a global path
JP2627512B2 (en) Network diagram creation device
Heng et al. A VLSI artwork legalization technique based on a new criterion of minimum layout perturbation
US7047513B2 (en) Method and apparatus for searching for a three-dimensional global path
US20070266307A1 (en) Auto-layout of shapes
JPH0421910B2 (en)
JP3367869B2 (en) Wiring reduction processing method, wiring reduction processing device, and storage medium for storing wiring reduction processing program
US6988257B2 (en) Method and apparatus for routing
CN115455890B (en) Schematic diagram layout method for heuristic row and column positioning
JP2548433B2 (en) Physical quantity distribution processing method

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071108

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20081108

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20091108

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees