Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3068892B2 - Automatic wiring method - Google Patents
[go: Go Back, main page]

JP3068892B2 - Automatic wiring method - Google Patents

Automatic wiring method

Info

Publication number
JP3068892B2
JP3068892B2 JP3167222A JP16722291A JP3068892B2 JP 3068892 B2 JP3068892 B2 JP 3068892B2 JP 3167222 A JP3167222 A JP 3167222A JP 16722291 A JP16722291 A JP 16722291A JP 3068892 B2 JP3068892 B2 JP 3068892B2
Authority
JP
Japan
Prior art keywords
wiring
net
processing
route
cut
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
JP3167222A
Other languages
Japanese (ja)
Other versions
JPH0512384A (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 JP3167222A priority Critical patent/JP3068892B2/en
Publication of JPH0512384A publication Critical patent/JPH0512384A/en
Application granted granted Critical
Publication of JP3068892B2 publication Critical patent/JP3068892B2/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 method for a semiconductor integrated circuit or a printed circuit board, and more particularly to an automatic wiring method using a computer.

【0002】[0002]

【従来の技術】現在、設計期間の短縮と回路規模の増大
のために、大規模集積回路(LSI)のレイアウト設計
のために自動配線プログラムは必須な設計ツールであ
る。これまで自動配線のアルゴリズムとして、多数の方
法が提案されてきた。その代表的なものは、Leeの迷
路アルゴリズム・ラインサーチアルゴリズム・チャネル
配線アルゴリズム・階層的アルゴリズム等である。
2. Description of the Related Art At present, an automatic wiring program is an essential design tool for a layout design of a large-scale integrated circuit (LSI) in order to shorten a design period and increase a circuit scale. Many methods have been proposed so far as automatic wiring algorithms. Typical examples are Lee's maze algorithm, line search algorithm, channel wiring algorithm, and hierarchical algorithm.

【0003】これらの方法の内、Leeの迷路アルゴリ
スムは最も歴史も古く、そのオリジナルなバージョンを
高速化した方法がこれまで広く使われてきた。その理由
の一つは、もし解が存在するならば必ず配線経路が見つ
かるという探索能力に優れていること、その解が最短配
線経路として得られることなどのメリットによる。
[0003] Among these methods, Lee's maze algorithm is the oldest, and methods that speed up the original version have been widely used. One of the reasons is that it has an excellent search ability to always find a wiring route if a solution exists, and that the solution can be obtained as the shortest wiring route.

【0004】しかし、処理時間が掛かり、大規模チップ
配線領域を対象としてこのアルゴリズムを適用するなら
ば数日から数週間の膨大な時間が掛かることにもなる。
また、複数個のネットの中からどのネットから順に選択
して配線するかによって配線が不可能となる場合が発生
するなど、配線順序の決め方によっては全体の配線が完
了できないというデメリットを持つ。
[0004] However, it takes a long processing time, and if this algorithm is applied to a large-scale chip wiring area, an enormous amount of time of several days to several weeks is required.
Further, there is a demerit that the entire wiring cannot be completed depending on the method of determining the wiring order, such as a case where the wiring becomes impossible depending on which one of the plurality of nets is selected and wired in order.

【0005】これに対して、階層的な配線アルコリズム
は処理時間の面でLeeのアルゴリズムよりはるかに速
く、また、配線対象ネットを同時に扱うのでその処理順
序にも依存しない結果が得られる利点がある。この特徴
をもつ階層的アルコリズムの分類にはいるものは、トッ
プダウンに配線するものとしてBursteinの方法
[1983],Lautherの方法[1988] が、ボトムア
ップに配線するものとしてMarek−Sadowsk
akの方法[1984] が提案されている。
[0005] On the other hand, the hierarchical wiring algorithm is much faster than the Lee algorithm in terms of processing time, and has the advantage that the result is independent of the processing order because the wiring target nets are handled simultaneously. is there. Those that fall into the classification of hierarchical algorithms having this feature include Burstein's method [1983] and Lauther's method [1988] as wiring from the top down and Marek-Sadowsk as wiring from the bottom up.
Ak's method [1984] has been proposed.

【0006】今後、LSIの設計技術のさらなる自動化
やプロセス技術の進歩によってさらに大規模な回路が1
チップに搭載されてくると、配線プログラムが扱うデー
タ規模が大きくなり、それにつれて処理時間が増すの
で、実用的な時間で結果を得るためにはますます高速な
配線アルゴリズムが求められてくる。このような背景に
あって階層的な配線アルゴリズムは、その高速性のメリ
ットから将来の大規模データの配線のために最も重要な
アルゴリズムの一つであるといえる。
In the future, with the further automation of LSI design technology and the progress of process technology, a larger circuit will become one.
When a chip is mounted on a chip, the data scale handled by the wiring program increases, and the processing time increases accordingly. Therefore, an increasingly faster wiring algorithm is required to obtain a result in a practical time. Against this background, a hierarchical wiring algorithm is one of the most important algorithms for future large-scale data wiring because of its high speed.

【0007】しかし、この階層的アルゴリズムはローカ
ルな配線混雑の情報をみることができないので、階層が
下に(トップダウンなとき)あるいは上に(ボトムアッ
プなとき)進むにつれて、ある階層で配線できない状況
に出会ってしまう可能性がある。また、2端子が直線の
位置関係にありチップの両端にある場合などには、直線
で配線する結果を得るのに多大な手間が掛かる。さら
に、得られた配線結果を見ると逐次的に配線した結果と
比べて、折れ曲がりが不必要に多い冗長な配線経路とな
る場合があるなどの欠点を持つ。
However, since this hierarchical algorithm cannot see information on local wiring congestion, wiring cannot be performed in a certain hierarchy as the hierarchy goes down (top down) or up (bottom up). You may encounter the situation. Further, when the two terminals are in a linear positional relationship and are located at both ends of the chip, it takes a lot of time to obtain the result of wiring in a straight line. Further, when the obtained wiring results are viewed, compared with the result of the sequential wiring, there is a drawback that a redundant wiring path may have an unnecessary number of bends in many cases.

【0008】以下、配線領域に対して2分割を繰り返す
Lautherのアルゴリズムを階層的アルゴリズムの
一例として選び、このアルゴリズムを例として従来の配
線方法を説明する。
Hereinafter, the Lauter's algorithm which repeats two divisions for a wiring region is selected as an example of a hierarchical algorithm, and a conventional wiring method will be described using this algorithm as an example.

【0009】一般に、配線問題は詳細配線と概略配線の
2段階に分けて行われる。概略配線は、チップ全面に粗
い配線格子を設定して各ネットの概略配線経路を決定す
る。詳細配線では、概略配線結果を受けてチップの一部
分の配線領域を対象にビアの設定やデザインルールの制
約などを考慮して配線する。以下一般性を失うことなく
概略配線について説明するが、詳細配線についても同様
に適用可能である。
In general, the wiring problem is divided into two stages, detailed wiring and schematic wiring. In the rough wiring, a rough wiring grid is set on the entire surface of the chip to determine a rough wiring path of each net. In the detailed wiring, based on the result of the schematic wiring, wiring is performed in a wiring area of a part of the chip in consideration of via setting, design rule restrictions, and the like. The general wiring will be described below without loss of generality, but the same can be applied to the detailed wiring.

【0010】いま、図30(a)のように、チップ上の
配線領域Dに詳細配線用の配線グリッド(図中、点線)
が定義されているとき、ネットの概略配線経路を決定す
るために図30(b)のような概略グリッドを設けて、
概略配線経路の情報をこのグリッドのセグメントとして
求めるものとする。概略グリッドで囲まれた配線領域を
概略格子と呼ぶ。概略配線を行うに当たり、まず、この
概略格子の各境界辺(図30(b)のSi,j,k )につい
て、その境界辺を詳細配線グリッドが何本通過可能かと
いう値(以下、配線容量と呼ぶ)を求める。概略配線問
題は、「この配線容量をオーバーしないで、全てのネッ
トの配線経路を概略グリッド上で求める」問題となる。
Now, as shown in FIG. 30A, a wiring grid (dotted line in the figure) for detailed wiring is placed in a wiring area D on the chip.
Is defined, a general grid as shown in FIG. 30B is provided to determine the general wiring route of the net,
It is assumed that the information of the schematic wiring route is obtained as a segment of this grid. The wiring area surrounded by the general grid is called a general grid. In performing the general wiring, first, for each boundary side (Si, j, k in FIG. 30B) of this general lattice, a value (hereinafter, wiring capacity) indicating how many detailed wiring grids can pass through the boundary side Call). The general wiring problem is a problem of “determining wiring routes of all nets on a general grid without exceeding this wiring capacity”.

【0011】次に、2分割処理に基づく階層的配線処理
を説明する。図31(a)〜(e)は階層的に配線領域
を分割して行く様子を示す図である。
Next, a hierarchical wiring process based on the two-partitioning process will be described. FIGS. 31A to 31E are diagrams showing a state in which the wiring region is divided hierarchically.

【0012】第一階層での処理は、配線領域D0,1 を垂
直のカットラインで2分割し(図31(b))、このカ
ットラインを横切るカットネットに対して、そのカット
位置を割り当てる。このとき考慮することは、 (1) カットライン上の各境界辺Si,j,k の配線容量をオ
ーバーしないで割り当てられないこと (2) カットネットの配線長をできるだけ最短化すること
などである。
In the processing in the first hierarchy, the wiring area D0,1 is divided into two by a vertical cut line (FIG. 31B), and the cut position is assigned to a cut net crossing this cut line. The considerations at this time are (1) that the wiring is not allocated without exceeding the wiring capacity of each boundary side Si, j, k on the cut line. (2) The wiring length of the cut net is minimized as much as possible. .

【0013】この問題は、各カットネットに対して境界
辺Si,j,k に割り当てたときのコストCi,j,k(1)を配線
長に依存した形で定義して、全カットネットに対して総
コストを最小化する問題として解かれる。この問題は、
ネットワークフロー問題に帰着させて解くことができ
る。
The problem is that the cost Ci, j, k (1) when each cut net is assigned to the boundary side Si, j, k is defined in a form depending on the wiring length, and is applied to all cut nets. On the other hand, it is solved as a problem that minimizes the total cost. This problem,
It can be solved by reducing it to a network flow problem.

【0014】図32のツリー構造図に示すように、この
処理を順次各部分領域に対して再帰的に行って、部分領
域が最終的なサイズとなる最終階層まで処理を進めて、
全体の配線を完了させるものである。
As shown in the tree structure diagram of FIG. 32, this processing is sequentially performed recursively on each partial area, and the processing is advanced to the final hierarchy where the partial area has a final size.
This completes the entire wiring.

【0015】このようにして配線経路が得られる様子を
図33(a)〜(d)に示す。同図のように、トップダ
ウンに階層が深まるにつれてカットライン上にカット位
置(図中、網塗り)が割り当てられ、同電位端子Tの間
を結ぶネットの配線経路が決定されていく。図34
(a)に、配線領域にカットラインが順次挿入されて行
く様子を示し、これに対応する階層構造を図34(b)
に示す。図34(b)は、各カットラインに対応したそ
の位置と方向を示す情報をノードとし、カットラインで
分割された部分領域に設定されるカットラインの同様な
情報をその子ノードとするツリー図である。
FIGS. 33 (a) to 33 (d) show how the wiring route is obtained in this manner. As shown in the figure, as the hierarchy deepens from the top down, cut positions (shaded in the figure) are allocated on the cut lines, and the wiring route of the net connecting the same potential terminals T is determined. FIG.
FIG. 34A shows a state in which cut lines are sequentially inserted into the wiring area, and the corresponding hierarchical structure is shown in FIG.
Shown in FIG. 34B is a tree diagram in which information indicating the position and direction corresponding to each cut line is set as a node, and similar information of the cut line set in a partial area divided by the cut line is set as a child node thereof. is there.

【0016】以下、従来の階層的概略配線の第一の問題
点を具体的に説明する。図35は従来の階層的な配線方
法で、直線配線を行う際の問題点を説明するための図で
ある。
Hereinafter, the first problem of the conventional hierarchical schematic wiring will be specifically described. FIG. 35 is a diagram for explaining a problem in performing a straight wiring by a conventional hierarchical wiring method.

【0017】いま、2つの端子Tが直線で結べる位置に
あり、かつTからTへの直線上の各概略格子境界辺の配
線容量は十分な大きさである場合を考える。このとき、
図35(b)のツリー図で示すようなカットラインの挿
入につれてカットライン上のカット位置が割り当てられ
る。図35(b)で示したノードのうち網塗りしたノー
ド5a〜5gは、配線経路(T,T)を求めるときにカ
ットネットの割当処理に絡んだノードである。この7回
の割当処理によってカット位置1a〜1gが割り当てら
れる。
Now, let us consider a case where the two terminals T are located at a position where they can be connected by a straight line, and the wiring capacitance at each approximate grid boundary on the straight line from T to T is sufficiently large. At this time,
As the cut line is inserted as shown in the tree diagram of FIG. 35B, a cut position on the cut line is assigned. Among the nodes shown in FIG. 35 (b), the nodes 5a to 5g, which are shaded, are nodes involved in the process of allocating the cut net when obtaining the wiring route (T, T). The cut positions 1a to 1g are allocated by these seven allocation processes.

【0018】各割当処理においてはカットネットを求め
る処理、コスト行列を決定する処理、カットライン上で
のカット位置を割り当てる処理などからなる。従って、
図35(a)のような直線的な配線経路が得られるまで
には相当の手間を必要とする。これを逐次的なフラット
な処理によって端子Tから端子Tに向かって探索すれ
ば、これよりはるかに手間の掛からない処理で配線経路
が決定される。
Each allocation process includes a process for obtaining a cut net, a process for determining a cost matrix, and a process for allocating a cut position on a cut line. Therefore,
A considerable amount of time is required until a linear wiring path as shown in FIG. If this is searched from the terminal T to the terminal T by sequential flat processing, the wiring path is determined by processing much less troublesome than this.

【0019】また、図36(a)のように概略配線経路
としてL字型の配線経路を決定する場合でも、トップ階
層から何階層か下ったときに直線の位置関係にある端子
間のかっと位置の割り当てをするケースが起こる。一般
に概略配線はこのようにL字型などの単純な配線経路で
結べる場合が多いので、直線部分が長い配線経路が得ら
れるが、この結果を得るのに従来の方法では先に述べた
ように手間の掛る処理であった。
Even when an L-shaped wiring path is determined as a schematic wiring path as shown in FIG. 36 (a), the parentheses between terminals that are in a linear positional relationship when going down several layers from the top layer. A case occurs where a location is assigned. In general, general wiring can be connected by a simple wiring path such as an L-shape in many cases, so that a wiring path having a long straight line portion can be obtained. However, in order to obtain this result, a conventional method is used as described above. It was a complicated process.

【0020】さらに、折れ曲がりが少ない配線経路が得
られる場合にも、従来の階層的な配線方法では、各部分
領域毎に割当処理を独立に繰り返しているので、上位階
層で処理するときに下位階層のことを正確に考慮するこ
とができず、図37に示すような折れ曲がり回数が多い
配線経路となる場合がある。
Further, even when a wiring path with a small number of bends can be obtained, in the conventional hierarchical wiring method, the allocation processing is repeated independently for each partial area. This cannot be taken into account accurately, and the wiring path may have a large number of bends as shown in FIG.

【0021】次に、従来の階層的概略配線の第二の問題
点を具体的な配線例で説明する。いま、図19のよう
に、配線領域D0,1 に4×4の概略格子が与えられてい
るとする。この配線領域内で●は端子A〜Fを示し、同
一端子名を持つ同電位端子同志を配線するものとする。
Next, the second problem of the conventional hierarchical schematic wiring will be described with a specific wiring example. Now, it is assumed that, as shown in FIG. 19, a wiring grid D0,1 is provided with a 4 × 4 schematic lattice. In this wiring region, ● indicates terminals A to F, and the same potential terminals having the same terminal names are wired.

【0022】まず第一階層目の処理として図20のよう
に、垂直のカットラインLを配線領域D0,1 の中心位置
に引いて配線領域を2分割する。このカットラインL上
の概略格子の境界辺は4つあり、それぞれの配線容量C
が2であったとする。このときカットラインLを横切る
カットネットとして{B,C,D,E}が求まる。割り
当てコストを、図21(b)のように各カットネットを
囲む最小矩形内の境界辺に対しては0とし、これから遠
ざかるにつれてその距離に比例した値を与える。
First, as a process of the first hierarchy, as shown in FIG. 20, a vertical cut line L is drawn at the center position of the wiring area D0,1 to divide the wiring area into two. There are four boundary sides of the general lattice on the cut line L, and the respective wiring capacitances C
Is 2. At this time, {B, C, D, E} are obtained as cut nets that cross the cut line L. The allocation cost is set to 0 for the boundary side within the minimum rectangle surrounding each cut net as shown in FIG. 21B, and a value proportional to the distance is given as the distance from the boundary increases.

【0023】例えば、カットネットEを囲む最小矩形内
の境界辺は最上部の1辺であり、この1辺に対してはコ
ストを0とし、この辺より下部に遠ざかるにつれて各辺
のコストを1,2,3と与える。このようにコストを与
えた後、コスト最小化問題を解いた結果、図20の点線
で示す配線経路が得られたとする。
For example, the boundary side in the minimum rectangle surrounding the cut net E is the uppermost side, and the cost is set to 0 for this side, and the cost of each side is set to 1 as the distance from the side becomes lower. Give a few. It is assumed that, after giving the costs in this way, as a result of solving the cost minimization problem, a wiring route indicated by a dotted line in FIG. 20 is obtained.

【0024】次ぎに処理階層が一階層進み、部分領域D
1,1 に移る。この配線領域内での処理の様子を図22に
示す。この部分領域内で、その内部に属する端子と上位
階層D0,1 で設定されたカットラインL上のカット位置
1(図中、△)から、この部分領域D1,1 に設定された
カットラインを横切るカットネットは{A,B,D}の
3つある。一方、このカットライン上には、概略格子の
境界辺は2つあり、それぞれの配線容量Cは1であった
とする。この場合配線容量よりカットネット数が大きく
なり、オーバーフローが起こるため、正常な概略配線を
決定することができなくなる。
Next, the processing hierarchy advances one level, and the partial area D
Move to 1,1. FIG. 22 shows the state of the processing in this wiring area. In this partial area, the cut line set in the partial area D1,1 is determined from the terminal belonging to the inside and the cut position 1 (△ in the figure) on the cut line L set in the upper hierarchy D0,1. There are three cut nets that cross {A, B, D}. On the other hand, it is assumed that there are two boundary sides of the approximate grid on this cut line, and the wiring capacitance C of each is 1. In this case, the number of cut nets becomes larger than the wiring capacity and overflow occurs, so that it is not possible to determine a normal schematic wiring.

【0025】この原因は、上位階層の配線領域D0,1 に
おいてカット位置の割り当て処理をするとき、下位階層
の部分領域D1,1 の割り当てのことまで考慮していない
ためである。この欠点は、チップ内にROM,RAMや
禁止配線領域などが複雑に分布して、配線容量に均一性
がないときなどに顕著に現れてくる。
This is because the assignment of the cut position in the wiring area D0,1 of the upper hierarchy does not take into account the assignment of the partial area D1,1 of the lower hierarchy. This disadvantage becomes remarkable when ROM, RAM, prohibited wiring area, and the like are distributed in a chip in a complicated manner and wiring capacity is not uniform.

【0026】この問題に対処する方法として、2〜3の
方法がある。例えば、カットラインの設定位置を配線領
域の中心と決めないで最適化する位置に設定し、階層処
理の分割方法を選択的に変える方法がある。しかしなが
ら、位置決めの完全な指標もないし、また指標があって
も配線領域が大きいときその設定位置をすべて調べるに
は多大な処理時間を必要とする。また、カットラインの
位置決めのみでは上記の問題を根本的に解決できない。
There are two or three methods to address this problem. For example, there is a method in which the setting position of the cut line is set to a position to be optimized without being determined as the center of the wiring area, and the division method of the hierarchical processing is selectively changed. However, there is no perfect index for positioning, and even if there is an index, when the wiring area is large, it takes a lot of processing time to check all the set positions. Further, the above problem cannot be fundamentally solved only by the positioning of the cut line.

【0027】これとは別に、階層的配線アルゴリズムを
初期配線として用い、配線後に配線容量をオーバーして
配線経路が決定されている部分をチップ全面に渡って見
付け出し、この配線経路を修正する方法もある。しかし
ながら、この方法では後半の再配線処理部分に処理時間
の大半を使う結果となり、階層的配線アルゴリズムの処
理時間の利点を犠牲にするものであり、良い方法である
とはいえない。
Separately from this, a method in which a hierarchical wiring algorithm is used as initial wiring, a wiring capacity is determined after wiring, a portion where a wiring route is determined over the entire chip, and the wiring route is corrected. There is also. However, this method results in the use of most of the processing time in the second half of the rewiring processing, which sacrifices the advantage of the processing time of the hierarchical wiring algorithm, and is not a good method.

【0028】以上述べた階層的配線アルゴリズムの第一
及び第二の問題点は、2×2の分割を繰り返すトップダ
ウンな階層的アルゴリズムであるBursteinの方
法においても同じである。Bursteinの方法で
は、1つの階層で配線領域を2×2の4つの部分領域に
分割して、各階層で2×2の部分領域での配線経路を決
定し、つぎの階層では部分領域をさらに2×2の部分領
域に分割するものである。しかし、この方法もLaut
herの方法と同じく、上位階層で下位階層での配線が
困難となる状況を作ってしまうことがある。
The first and second problems of the hierarchical wiring algorithm described above are the same in Burstein's method, which is a top-down hierarchical algorithm that repeats 2 × 2 division. In the method of Burstein, the wiring area is divided into four 2 × 2 partial areas in one hierarchy, and the wiring route in the 2 × 2 partial area is determined in each hierarchy. It is divided into 2 × 2 partial areas. However, this method also uses Laut
As in the case of the her method, a situation may occur in which wiring in the upper hierarchy becomes difficult in the lower hierarchy.

【0029】[0029]

【発明が解決しようとする課題】以上説明したように、
従来の自動配線方法における階層的配線アルゴリズムで
は、直線で結べる配線経路であっても、多数の階層で処
理が行われるため、処理時間が掛かっていた。あるい
は、折れ曲がりの多い配線結果が得られるという問題が
あった。また、カットネット数が配線容量をオーバーし
てしまい、正常な配線経路を決定することができないと
いう問題もあった。
As described above,
In the hierarchical wiring algorithm in the conventional automatic wiring method, even if the wiring path can be connected by a straight line, the processing is performed in many hierarchies, so that it takes a long processing time. Alternatively, there is a problem that a wiring result with many bends can be obtained. Further, there is also a problem that the number of cut nets exceeds the wiring capacity and a normal wiring path cannot be determined.

【0030】そこで、この発明は、上記事情に鑑みてな
されたものであり、その目的とするところは、直線的な
配線経路の決定をフラットな処理で行うことにより、処
理時間を短縮させると共に総配線長を短くし、かつカッ
トネット数を配線容量よりオーバーさせず配線経路の決
定を正常に完了させることができる自動配線方法を提供
することにある。
Therefore, the present invention has been made in view of the above circumstances, and has as its object to reduce the processing time and to reduce the total processing time by determining a straight wiring route by flat processing. It is an object of the present invention to provide an automatic wiring method capable of shortening a wiring length and normally determining a wiring path without making the number of cut nets exceed a wiring capacity.

【0031】[0031]

【課題を解決するための手段】上記目的を達成するため
に、第一の発明は、同電位端子間を結ぶネットが複数与
えられた配線領域を複数の部分領域に分割し、分割され
た部分領域間の境界を横切るネットのカット位置と、こ
のネットによって結ばれる端子との位置関係から、階層
的に処理すべきネットかフラットに処理すべきネットか
に分類し、分類されたフラットネットの配線経路を、前
記複数の部分領域に分割した階層から2階層以上下がっ
た下位階層で決定し、配線経路を決定できなかったフラ
ットネットを、階層的に処理するネットとして分類され
たネットに追加し、前記部分領域が所望の最小領域にな
るまで同様な処理を階層的に繰り返すことにより、全ネ
ットの配線経路を決定することを要旨とする。
In order to achieve the above object, a first aspect of the present invention is to divide a wiring region provided with a plurality of nets connecting the same potential terminals into a plurality of partial regions, Based on the positional relationship between the cut position of the net that crosses the boundary between regions and the terminals connected by this net, it is classified as a net to be processed hierarchically or a net to be processed flat, and the wiring of the classified flat net A route is determined at a lower hierarchy two or more hierarchies lower than the hierarchy divided into the plurality of partial areas, and a flat net for which a wiring route cannot be determined is added to a net classified as a net to be hierarchically processed; The gist is to determine wiring routes of all nets by repeating the same processing hierarchically until the partial area becomes a desired minimum area.

【0032】また、第二の発明は、同電位端子間を結ぶ
ネットが複数与えられた配線領域を複数の部分領域に分
割し、分割された部分領域間を繋ぐ必要のある配線対象
ネットの配線経路を決定する際の困難度を計算し、計算
された困難度に基づいて前記配線対象ネットの配線経路
を決定すると判断したときには、この配線対象ネットの
配線問題を階層的なアルゴリズムで解き、前記困難度に
基づいて前記配線対象ネットの配線経路を決定しないと
判断したときには、処理階層を前記部分領域に分割した
階層から上位階層に移して分割される以前の領域に処理
を移し、前記部分領域での配線を困難にしているネット
を求め、このネットの、分割される以前の領域での配線
経路を、前記部分領域での配線が容易となるように再決
定し、前記部分領域の処理に戻して前記配線対象ネット
の配線経路を決定し、前記部分領域に分割した階層より
下位階層についても同様な処理を階層的に繰り返すこと
により、全ネットの配線経路を決定することを要旨とす
る。
In the second invention, a wiring region provided with a plurality of nets connecting the same potential terminals is divided into a plurality of partial regions, and wiring of a wiring target net which needs to be connected between the divided partial regions is provided. Calculate the degree of difficulty in determining the route, when it is determined to determine the wiring route of the wiring target net based on the calculated difficulty, solve the wiring problem of this wiring target net by a hierarchical algorithm, When it is determined that the wiring route of the wiring target net is not determined based on the degree of difficulty, the processing hierarchy is moved from the hierarchy obtained by dividing the partial region to the higher hierarchy to an upper hierarchy, and the processing is moved to the region before the division, The net which makes the wiring difficult in the area is determined, and the wiring path in the area before the division of the net is determined again so that the wiring in the partial area is facilitated. To determine the wiring route of the net to be routed, and to repeat the same processing hierarchically for the lower hierarchy than the hierarchy divided into the partial regions to determine the wiring route of all nets. And

【0033】[0033]

【作用】第一の発明による自動配線方法は、複数のネッ
トが与えられた配線領域をカットラインで分割する。カ
ットラインを横切るネットのカット位置と、このネット
によって結ばれる端子との位置関係から、階層的に処理
すべきネットかフラットに処理すべきネットかに分類す
る。フラットネットの配線経路を、カットラインを設け
た階層から2階層以上下がった下位階層で決定する。
The automatic wiring method according to the first invention divides a wiring area to which a plurality of nets are given by a cut line. Based on the positional relationship between the cut position of the net crossing the cut line and the terminals connected by this net, the net is classified into a net to be processed hierarchically or a net to be processed flat. The wiring route of the flat net is determined in a lower hierarchy two or more hierarchies lower than the hierarchy in which the cut line is provided.

【0034】配線経路を決定できなかったフラットネッ
トを、階層的に処理するネットとして追加する。カット
ラインによって分割された部分領域が最小領域になるま
で、同様な処理を階層的に繰り返し、全ネットの配線経
路を決定する。
The flat net for which the wiring route could not be determined is added as a net to be processed hierarchically. The same process is repeated hierarchically until the partial area divided by the cut line becomes the minimum area, and the wiring routes of all nets are determined.

【0035】また、第二の発明は、複数のネットが与え
られた配線領域を複数の部分領域に分割する。部分領域
間を繋ぐ必要のある配線対象ネットの配線経路を決定す
る際の困難度を計算する。困難度に基づいてこの配線対
象ネットの配線経路を決定するか否かを判断する。決定
すると判断したときには、この配線対象ネットの配線問
題を階層的なアルゴリズムで解き、決定しないと判断し
たときには、処理階層を部分領域に分割した階層から上
位階層に移し、分割される以前の領域に処理を移す。
According to the second invention, a wiring region to which a plurality of nets are given is divided into a plurality of partial regions. The degree of difficulty in determining the wiring route of the wiring target net that needs to connect the partial areas is calculated. It is determined whether to determine the wiring route of the wiring target net based on the degree of difficulty. When it is determined to be determined, the wiring problem of this wiring target net is solved by a hierarchical algorithm, and when it is determined not to be determined, the processing layer is moved from the layer divided into partial regions to the upper layer, and the region before the division is Transfer processing.

【0036】上位階層において、分割された部分領域で
の配線を困難にしているネットを求める。このネット
の、分割される以前の領域での配線経路を、部分領域で
の配線が容易になるように再決定する。部分領域に分割
した階層に戻し、配線が困難であった配線対象ネットの
配線経路を決定する。部分領域に分割した階層より下位
階層についても同様な処理を階層的に繰り返し、全ネッ
トの配線経路を決定する。
In the upper hierarchy, a net which makes wiring in the divided partial area difficult is obtained. The wiring route of the net before being divided is determined again so that the wiring in the partial region is facilitated. Returning to the hierarchy divided into the partial areas, the wiring route of the wiring target net for which wiring was difficult is determined. The same processing is repeated hierarchically for the lower hierarchy than the hierarchy divided into the partial areas, and the wiring routes of all nets are determined.

【0037】[0037]

【実施例】以下、図面を用いてこの発明の実施例を説明
する。 第一の発明 図1は、第一の発明の自動配線方法の手順を示すフロー
チャート図である。同図は、処理を再帰的に行なう場合
の、ある階層(一般的に階層レベルi)処理の様子を示
す。
Embodiments of the present invention will be described below with reference to the drawings. First Invention FIG. 1 is a flowchart showing a procedure of an automatic wiring method according to a first invention. FIG. 7 shows a state of a certain hierarchy (generally, hierarchy level i) when the process is performed recursively.

【0038】まず、ステップS1ではレベルiでのカッ
ト位置の割当処理をする。具体的な手順としては、 (1) 現領域にカットラインの方向と位置を設定し、この
カットラインをカットするカットネットをカットしない
ネットと選別する。
First, in step S1, a process of allocating a cut position at level i is performed. As a specific procedure, (1) the direction and position of the cut line are set in the current area, and the cut net that cuts the cut line is selected from the non-cut nets.

【0039】(2) カットネットによって結ばれる端子の
分布状況により、各ネットのカット位置を各境界に割り
当てるときのコスト値を計算し、コスト行列を求める。 (3) 割当アルゴリズムにより、全カットネットのカット
位置をカットライン上の各境界に割り当てる。このと
き、総コストが最小になり、かつ各境界における配線容
量の値を越えないようにする。
(2) Based on the distribution state of the terminals connected by the cut nets, a cost value when the cut positions of each net are assigned to each boundary is calculated, and a cost matrix is obtained. (3) Using the assignment algorithm, the cut positions of all cut nets are assigned to each boundary on the cut line. At this time, the total cost is minimized and does not exceed the value of the wiring capacitance at each boundary.

【0040】コスト値の与え方としては、配線長を反映
したものとし、配線長が増加するカットラインの境界へ
の割当に対してコスト値を高くするなどとする。また、
総コストとしては各ネットの割当コストの線形和として
定義し、これを最消化するアルゴリズムとしては、Hitc
hcock-typeの輸送問題を解く標準的なアルゴリズムを採
用することができる。
As a method of giving the cost value, the wiring length is reflected, and the cost value is increased with respect to the assignment to the boundary of the cut line where the wiring length increases. Also,
The total cost is defined as the linear sum of the allocation costs of each net.
Standard algorithms for solving hcock-type transport problems can be employed.

【0041】次に、割当結果を受けた、ステップS2の
処理は、カットラインで分割されたレベルiの配線領域
(Di)の2つの部分領域(Di+1,1、Di+1,
2)のそれぞれに対して適用される。ステップS1で求
めたカットネットの集合CutNetに対して、それぞ
れの部分領域で2種類の集合に分類する。
Next, upon receiving the assignment result, the processing in step S2 is performed in two partial areas (Di + 1, 1, Di + 1, 2) of the level i wiring area (Di) divided by the cut line.
It applies to each of 2). The cut net set CutNet obtained in step S1 is classified into two types of sets in each partial region.

【0042】CutNet=HierachNet(1) +FlatNet(1)
(部分領域Di+1,1 において) CutNet=HierachNet(2) +FlatNet(2) (部分領域Di+
1,2 において) ここで、フラットネットFlatNet のネットはステップS
3で処理されるネットであり、階層的なネットHierachN
etのネットはステップS3で処理されず、このまま下位
階層(レベルi+1)に移る。
CutNet = HierachNet (1) + FlatNet (1)
(In partial area Di + 1,1) CutNet = HierachNet (2) + FlatNet (2) (partial area Di +
Here, the net of the flat net FlatNet
HierachN, which is a net processed in 3
The net of et is not processed in step S3, and moves to the lower hierarchy (level i + 1) as it is.

【0043】カットネットの集合をHierachNetとFlatNe
t の2つに分類する基準の一例を述べる。分類の基準と
するために、各カットネットに対して、部分領域内に存
在する全端子を囲む最小矩形(直線及び点を含む)を求
める。この最小矩形の形状と位置、およびカット位置と
の相対位置関係に基づいて、フラットネットか否かを判
定する。具体的にフラットネットに入る例を図2から図
6に示す。図中、1はステップ1で割り当てられたカッ
トネットのカット位置、2で示す部分がフラットなアル
ゴリズムで配線される配線経路の一部、3で示される部
分は階層的な処理で配線されるネット、4は最小矩形で
ある。また、Lはカットライン、Tは端子を示す。
A set of cut nets is defined as HierachNet and FlatNe.
An example of a criterion for classifying into t will be described. For each cut net, a minimum rectangle (including straight lines and points) surrounding all the terminals existing in the partial area is obtained as a reference for classification. Based on the relative positional relationship between the shape and position of the minimum rectangle and the cut position, it is determined whether or not it is a flat net. FIGS. 2 to 6 show specific examples of entering a flat net. In the drawing, reference numeral 1 denotes a cut position of the cut net allocated in step 1, a part of a wiring route where a part indicated by 2 is wired by a flat algorithm, and a part indicated by 3 denotes a net which is wired by hierarchical processing. 4 is the minimum rectangle. L indicates a cut line, and T indicates a terminal.

【0044】以下、フラットネットである条件を幾つか
示す。 条件F1「最小矩形の幅がカットラインと直交する方向
に0で、かつ最小矩形がカットラインの近傍に存在す
る」 条件F2「最小矩形の幅がカットラインと平行な方向に
0であり、かつ最小矩形がカット位置と同一直線上に存
在する」 図2のネットの例では、上側の部分領域Di+1,2
(最小矩形は端子一点からなり幅高さ共0)が条件F1
を満足しているので、フラットネットとして配線され
る。しかし、下側の部分領域Di+1,1は最小矩形が
幅高さ共に0であるがカットラインLの近傍に存在しな
いため、階層的なネットと見なされる。
Hereinafter, some conditions for a flat net will be described. Condition F1 “the width of the minimum rectangle is 0 in the direction orthogonal to the cut line and the minimum rectangle exists near the cut line” Condition F2 “The width of the minimum rectangle is 0 in the direction parallel to the cut line, and The minimum rectangle exists on the same straight line as the cut position. "In the example of the net in FIG. 2, the upper partial regions Di + 1 and Di + 1
(The minimum rectangle is composed of one terminal and both width and height are 0).
Is satisfied, so it is wired as a flat net. However, the lower partial area Di + 1, 1 is regarded as a hierarchical net because the minimum rectangle has a width and height of 0 but does not exist near the cut line L.

【0045】図3に示す例では、部分領域の端子Tが2
端子からなるネットの例を示すが、条件F1を上側の部
分領域Di+1,2で満足する。図4のネットは、上側
の部分領域Di+1,2で条件F2を満足する。また、
図5では部分領域Di+1,2の端子Tが2端子からな
る例を示すが、これも条件F2を満足する。
In the example shown in FIG. 3, the terminal T in the partial area is 2
Although an example of a net composed of terminals is shown, the condition F1 is satisfied by the upper partial regions Di + 1 and Di + 1. The net in FIG. 4 satisfies the condition F2 in the upper partial regions Di + 1 and Di + 1. Also,
FIG. 5 shows an example in which the terminals T of the partial regions Di + 1 and Di + 1 are composed of two terminals, but this also satisfies the condition F2.

【0046】以上の例では、フラットネットが直線で結
べる場合であったが、さらに、フラットの配線を直線に
限らず2次元的に探索を必要とするような場合、すなわ
ち端子が局所的にまとまって分布している場合にも広げ
ると、つぎのように条件を決定することもできる。
In the above example, the flat net can be connected by a straight line. However, when the flat wiring needs to be searched not only in a straight line but also two-dimensionally, that is, the terminals are locally collected. If the conditions are spread out, the conditions can be determined as follows.

【0047】条件3「最小矩形の面積が小さく、かつカ
ット位置と最小矩形が近くに存在する」 図6はこの例である。この条件は、階層的なアルゴリズ
ムの特徴である、処理がネット順序に依存しないという
メリットを生かすために、フラットネットとしては探索
範囲の自由度が少ないネットを選ぶようにしている。す
なわち、配線経路に自由度がある場合には階層的な処理
で配線経路決定するようにしている。
Condition 3 "The area of the minimum rectangle is small, and the cut position and the minimum rectangle are close to each other." FIG. 6 shows this example. In order to take advantage of the advantage that the processing does not depend on the net order, which is a feature of the hierarchical algorithm, this condition is such that a flat net having a small degree of freedom in the search range is selected. That is, when the wiring route has a degree of freedom, the wiring route is determined by a hierarchical process.

【0048】次に、処理フローのステップS3について
述べる。この処理はステップS2で選択されたFlatNet
に対して、ラインサーチ法などのフラットなアルゴリズ
ムで配線する処理である。概略配線の場合、配線禁止領
域などによって配線容量が0であるところがあるため、
各概略格子境界の配線容量が正であるところを探索しな
がら結線する。このとき、図2〜図5の例ではカット位
置1と端子Tを配線するとき直線で結べる配線経路のみ
配線可能とするなどの制限を設けて、階層的な処理の高
速性を失わないようにする。このような制限により、フ
ラットアルゴリズムはシンプルで高速になる。
Next, step S3 of the processing flow will be described. This process is based on the FlatNet selected in step S2.
Is a process of wiring with a flat algorithm such as a line search method. In the case of the schematic wiring, the wiring capacitance may be 0 due to a wiring prohibited area or the like.
Connections are made while searching for a place where the wiring capacity at each schematic lattice boundary is positive. At this time, in the examples of FIGS. 2 to 5, restrictions are provided such that only a wiring path that can be connected in a straight line when wiring the cut position 1 and the terminal T is provided, so that the high-speed hierarchical processing is not lost. I do. These restrictions make the flat algorithm simple and fast.

【0049】ステップS4では、条件1〜3でフラット
ネットに分類されたが、配線容量が正でなかったためフ
ラットネットとして配線できなかったものをHierachNet
の集合に移動し、階層的な処理を行う。以下、上記の処
理S1〜S4をカットラインを設定するごとに再帰的に
繰り返し、部分領域が最小サイズになった段階で終了す
ることによって全ネットの配線経路を決定する。
In step S4, the data is classified as a flat net under the conditions 1 to 3, but the wiring that cannot be wired as a flat net because the wiring capacity is not positive is applied to the HierachNet.
Go to the set and perform hierarchical processing. Hereinafter, the above-described processes S1 to S4 are recursively repeated every time a cut line is set, and the process is completed when the partial area has the minimum size, thereby determining the wiring routes of all nets.

【0050】図7は、第一の発明の第一実施例による階
層処理を説明するための図である。図7(a)に示すよ
うに、この2端子間の配線経路を得るためにカットライ
ン上へのカット位置1dの割当処理を1回、フラットネ
ットの直線配線2を2回必要とする。これを従来の図3
5と比べてみると、割当アルゴリズムを呼ぶ回数が7回
から1回に減少するので高速に配線結果を得ることがで
きる。
FIG. 7 is a diagram for explaining hierarchical processing according to the first embodiment of the first invention. As shown in FIG. 7 (a), in order to obtain a wiring path between these two terminals, a process of allocating a cut position 1d to a cut line is required once, and a straight wire 2 of a flat net is required twice. This is shown in FIG.
Compared with No. 5, the number of times the allocation algorithm is called is reduced from seven to one, so that a wiring result can be obtained at high speed.

【0051】次に、第一の発明における第二実施例を述
べる。図8は、第二実施例による階層処理を説明するた
めの図である。この例は、ステップS3でフラットな配
線をするとき、階層の最も深いレベル(同図ではレベル
5)での探索をするのではなく現階層(階層i)から2
以上で(5−i)未満のレベルを下がったレベルでフラ
ットな配線経路を求める方法である。
Next, a second embodiment of the first invention will be described. FIG. 8 is a diagram for explaining the hierarchical processing according to the second embodiment. In this example, when flat wiring is performed in step S3, the search is not performed at the deepest level of the hierarchy (level 5 in the figure), but is performed from the current hierarchy (hierarchy i).
The above is a method of obtaining a flat wiring route at a level lower than the level less than (5-i).

【0052】同図では、現階層(レベルi)から2階層
下がったレベルi+2でのフラット処理を示したもので
ある。図8(a)の配線経路を求めるために、図(b)
のツリー図で示すように3回の割当処理5b,5d,5
fと4回のフラット配線2を行なう。
FIG. 7 shows flat processing at level i + 2, which is two layers lower than the current layer (level i). In order to obtain the wiring route shown in FIG.
As shown in the tree diagram of FIG.
f and four times of flat wiring 2 are performed.

【0053】なお、今回の実施例においては、配線問題
のなかで概略配線問題を扱う場合を説明したが、配線容
量に相当する部分を容量が全ての境界で1であると設定
して、詳細配線としても適用できる。
In the present embodiment, the case where the general wiring problem is dealt with among the wiring problems has been described. However, the portion corresponding to the wiring capacitance is set to 1 at all boundaries, and the detailed description is given. It can also be applied as wiring.

【0054】第二の発明 図9は、第二の発明の一実施例に係わる自動配線方法の
処理手順を示すフローチャートである。同図に示す配線
方法は、再帰的な処理プログラムであるRoute(O
bj_Domain,level)が中心となる。チッ
プ全面の配線は図9に示すように、この再帰的処理に 配線対象領域:Obj_Domain=チップ領域(ス
テップS11) 処理階層:level=トップ階層0(ステップS1
2) として与えることによって得られる。
Second Invention FIG. 9 is a flowchart showing a procedure of an automatic wiring method according to an embodiment of the second invention. The wiring method shown in the figure is Route (O) which is a recursive processing program.
bj_Domain, level). As shown in FIG. 9, the wiring on the entire surface of the chip is subjected to this recursive processing. Wiring target area: Obj_Domain = chip area (step S11) Processing layer: level = top layer 0 (step S1)
2) Obtained by giving

【0055】図10は、Route(Obj_Doma
in,level)の処理手順全体を示すフロー図であ
る。以下、図10の処理フローに基づいて処理の詳細を
説明する。
FIG. 10 shows a route (Obj_Doma).
FIG. 7 is a flowchart showing the entire processing procedure (in, level). Hereinafter, details of the processing will be described based on the processing flow of FIG.

【0056】図10において、Route処理では、ま
ず、配線対象領域Obj_DomainをN個の部分領
域sub_domain[i]に分割する(ステップS
21)。一般に、N=2,N=2×2=4,N=3×3
=9などが適用される。次に、各部分領域間をまたぐネ
ットをこの階層で処理する対象ネットとして求める(ス
テップS22)。
In FIG. 10, in the route processing, first, the wiring target area Obj_Domain is divided into N partial areas sub_domain [i] (step S).
21). In general, N = 2, N = 2 × 2 = 4, N = 3 × 3
= 9 and the like are applied. Next, a net straddling each partial area is determined as a target net to be processed in this hierarchy (step S22).

【0057】さらに、この階層でこの配線領域の配線を
行うときの配線の困難度Dif_factorを計算す
る(ステップS23)。例えば、カットラインによる2
分割処理に基づく場合、 Dif_factor=α×(C−Nc) とすれば良い。Cは現カットライン上の概略格子の境界
辺の配線容量の総和、Ncはカットラインを横切るカッ
トネットの本数、αは定数である。そして、この指標に
基づいてこの配線領域の配線をするか否かを判断する
(ステップS24)。例えば、α=1とし、配線する・
しないの臨界値を0として、 Dif_factor>=0なら配線する <0なら配線しない と決める。また、αの値を変えることにより、配線する
・しないの臨界値を詳細配線を行うための配線余裕度を
予め予見して判断するようにもできる。
Further, the difficulty Dif_factor of the wiring when the wiring in this wiring area is performed at this level is calculated (step S23). For example, cut line 2
When based on the division processing, Dif_factor = α × (C−Nc) may be set. C is the sum of the wiring capacities at the boundaries of the approximate grid on the current cut line, Nc is the number of cut nets crossing the cut line, and α is a constant. Then, it is determined whether or not to wire the wiring area based on the index (step S24). For example, let α = 1 and wire
The critical value of “No” is set to 0, and wiring is performed if Dif_factor> = 0. Further, by changing the value of α, the critical value of wiring / non-wiring can be determined by foreseeing the wiring margin for performing detailed wiring in advance.

【0058】次に、配線すると判断された場合には、S
olve処理によってこの配線領域Obj_Domai
nの配線問題を解く(ステップS25)。Slove処
理は、例えばカットラインによる分割処理を繰り返す場
合には、全対象ネットに対してカットラインを横切る位
置を(従来の技術)で説明したようにコスト最小化のネ
ットワークフロー問題として解く。この処理が完了する
と再帰的関数Routeを全ての部分領域に対して適用
する(ステップS26,S27)。
Next, if it is determined that wiring is to be performed, S
The wiring area Obj_Domai is obtained by the ove process.
The wiring problem of n is solved (step S25). In the Slave process, for example, when the division process by the cut line is repeated, the position crossing the cut line for all the target nets is solved as the cost minimizing network flow problem as described in (Prior Art). When this process is completed, the recursive function Route is applied to all partial areas (steps S26 and S27).

【0059】一方、Dif_factorに基づいて、
当該配線領域を配線しないと判断した時の処理は本発明
の特徴となる部分である。この場合には、まず、当該配
線領域の配線でDif_factorを大きくするため
に、カットネット数Ncを小さくするような処理を行
う。そこで、現領域(Obj_Domain)のカット
ラインを横切っているNc個のカットネツトのうちか
ら、現領域の親領域で挿入したカットラインを横切って
いるネット(以下、Bad_Netと呼ぶ)を抽出する
(ステップS28)。
On the other hand, based on Dif_factor,
The processing when it is determined that the wiring area is not wired is a characteristic part of the present invention. In this case, first, in order to increase Dif_factor in the wiring of the wiring area, a process of reducing the number Nc of cut nets is performed. Therefore, a net (hereinafter referred to as Bad_Net) crossing the cut line inserted in the parent region of the current region is extracted from the Nc cut nets crossing the cut line of the current region (Obj_Domain) (step). S28).

【0060】次に、処理階層を現階層から1階層上に上
げて、現領域の親領域(以下、Par_Domainと
呼ぶ)に処理を移す(ステップS29)。先に求めたネ
ットの場合Bad_Netに対して、配線を断念した配
線領域Obj_Domainの配線が容易になるように
配線経路を決定する(ステップS30)。この処理がS
olveHである。その詳細フローを図11に示す。
Next, the processing hierarchy is moved up one level from the current hierarchy, and the processing is shifted to the parent area of the current area (hereinafter referred to as Par_Domain) (step S29). In the case of the previously determined net, a wiring route is determined for Bad_Net so that the wiring in the wiring area Obj_Domain in which the wiring is abandoned is facilitated (step S30). This process is S
olveH. The detailed flow is shown in FIG.

【0061】以下、図11の説明をする。Bad_Ne
tに対して処理するSolveHは再帰的な処理を行
う。この処理の基本的な機能は、図12(a),(b)
に示すように、カットネットの配線経路を修正して、下
位の階層でオーバーフローを起こしたカットラインをカ
ットする量を減少させることである。
FIG. 11 will be described below. Bad_Ne
SolveH processing for t performs recursive processing. The basic functions of this processing are shown in FIGS.
As shown in (1), the wiring route of the cut net is corrected to reduce the amount of cutting the cut line that has caused an overflow in the lower hierarchy.

【0062】まず処理の初めに、このような修正が与え
られた対象ネットに対し、修正が可能か否かの判別を行
う(ステップS31)。これは例えば、現階層レベルl
evelのカットライン上の配線容量の値に基づいて次
のようにして調べる。
First, at the beginning of the processing, it is determined whether or not the target net to which such correction has been made can be corrected (step S31). This is, for example, the current hierarchy level l
A check is performed as follows based on the value of the wiring capacitance on the cut line of level.

【0063】いま、図12(a),(b)のようにレベ
ルlevel+1のカットラインL1,レベルleve
lのカットラインL2があり、L2がL1によって分け
られる2つの部分をL2bとL2tとする。配線経路修
正処理をする前のL2b,L2tの境界辺の総配線容量
をそれぞれC2b,C2tとする。Bad_Netを図
12(a)で示すtypeAネット{NetA}と、図
12(b)で示すtypeCネット{NetC}に分類
して、それぞれの個数をNa,Ncとする: Bad_Net={NetA}+{NetC} #{NetA}=Na,#{NetC}=Nc typeAネットは、図12(a)のように、カットラ
インL2上のカット位置1(L2t上にある)をL2b
の位置に持っていき、typeBの配線経路に修正可能
である。また、typeCネットは、図12(b)のよ
うに、カットラインL2上のカット位置1(L2b上に
ある)をL2tの位置に持っていき、typeDの配線
経路に修正可能である。typeAネットとtypeC
ネットは、そのカットラインL2上のカット位置をL2
tとL2bで交換可能であるから、その配線経路修正が
可能か否かの判定として、例えば、交換時にL2bまた
はL2tの配線容量に余裕があるか否かを基準にして、 Na≧Ncのとき、C2b<Na−Nc Na<Ncのとき、C2t<Nc−Na である場合に、修正処理不可能とし、その他の場合には
修正可能とする。
Now, as shown in FIGS. 12A and 12B, the cut line L1 at the level level + 1 and the level level
There are 1 cut lines L2, and two portions where L2 is separated by L1 are L2b and L2t. The total wiring capacities at the boundary sides between L2b and L2t before the wiring path correction processing are C2b and C2t, respectively. Bad_Net is classified into a type A net {NetA} shown in FIG. 12A and a type C net {NetC} shown in FIG. 12B, and the numbers are Na and Nc, respectively: Bad_Net = {NetA} +} NetC ## {NetA} = Na, # {NetC} = Nc typeA net is, as shown in FIG. 12A, a cut position 1 (located on L2t) on a cut line L2 at L2b.
And can be modified to the type B wiring path. In addition, as shown in FIG. 12B, the type C net can be moved to the position of L2t from the cut position 1 (located on L2b) on the cut line L2, and can be corrected to the wiring path of type D. typeA net and typeC
The net indicates the cut position on the cut line L2 as L2.
Since t and L2b can be exchanged, it is determined whether or not the wiring route can be modified, for example, when Na ≧ Nc based on whether there is a margin in the L2b or L2t wiring capacity at the time of exchange. , C2b <Na-Nc When Na <Nc, if C2t <Nc-Na, the correction processing is disabled, and in other cases, the correction processing is enabled.

【0064】次に、与えられた対象ネットに対して配線
経路修正が不可能である場合には、与えられた階層より
さらに一つ上の階層に処理を移して上位階層での修正を
行う。そのために、処理をSolveH(Par_Do
main,Bad_Net,level−1)に移す
(ステップS32,S33)。このように、修正が可能
となるまで、上位階層へ処理を移す。
Next, if the wiring route cannot be corrected for the given target net, the process is moved to a layer one level higher than the given layer, and the correction is made in the upper layer. For this purpose, the process is described as SolveH (Par_Do).
main, Bad_Net, level-1) (steps S32, S33). As described above, the processing is shifted to the upper hierarchy until the correction becomes possible.

【0065】一方、修正が可能と判断された場合には、
この階層(Par_Domain)でBad_Netに
対して配線経路の修正を行う(ステップS34)。その
具体的な方法としてはつぎに示す2通りの方法(MOD
IF1,MODIF2)がある。
On the other hand, if it is determined that correction is possible,
At this level (Par_Domain), the wiring path is corrected for Bad_Net (step S34). Specifically, the following two methods (MOD
IF1, MODIF2).

【0066】(MODIF1)以下の階層で配線困難と
なった問題ネットの集合Bad_Netの全ネットに対
して、問題となった下位階層への配線経路が発生する割
り当てに対しては、コスト値が大きくなるように、コス
ト関数形を再定義する。この修正されたコスト行列に対
して再度コスト最小化問題を解くことによって通過配線
経路を決定する。
(MODIF1) For all the nets in the set Bad_Net of the problem nets that have become difficult to route in the hierarchy below (MODIF1), the cost value is large for the assignment in which the wiring route to the problematic lower hierarchy occurs. Redefine the cost function form so that The passing wiring route is determined by solving the cost minimization problem again for the corrected cost matrix.

【0067】(MODIF2)問題となったカットライ
ンにおいて、配線のオーバーフロー値:O_value
=カットネット数−カットラインの配線容量分のネット
を配線経路変更する。すなわち、図12(a),(b)
で示したように、 typeAネット−−>typeBネット typeCネット−−>typeDネット または、 typeBネット−−>typeAネット typeDネット−−>typeCネット の変更を行い、問題となったカットラインの配線のオー
バーフローを0とする。ここで、(MODIF1)は、
Bad_Net全体を扱うので、現カットラインの配線
容量の余裕(残り)の分布やコスト値の増加の程度に応
じて、反対領域のカットネットを増加させて配線困難と
なる状況を発生させる可能性があるというデメリットも
あるが、配線経路の修正に伴って現カットライン上の全
体のコスト値を最小化する処理となると同時にカットラ
イン上の全ての配線容量の分布を見て配線経路の修正位
置が決定される長所がある。
(MODIF2) Overflow value of wiring: O_value at the cut line in question
= The number of cut nets-the wiring route is changed for the net corresponding to the wiring capacity of the cut line. That is, FIGS. 12A and 12B
As shown in the above, the type A net-> type B net type C net-> type D net or type B net-> type A net type D net-> type C net is changed, and the wiring of the problematic cut line is changed. The overflow is set to 0. Here, (MODIF1) is
Since the entire Bad_Net is handled, there is a possibility that the number of cut nets in the opposite region may be increased according to the distribution of the margin (remaining) of the wiring capacity of the current cut line and the degree of increase in the cost value, thereby causing a situation in which wiring becomes difficult. Although there is a disadvantage that there is, there is a process to minimize the overall cost value on the current cut line with the correction of the wiring route, and at the same time, the correction position of the wiring route is determined by looking at the distribution of all the wiring capacitance on the cut line There are advantages to be determined.

【0068】一方、(MODIF2)は、図13(a)
〜(c)に示すように、1組のネットまたは1ネットに
対して、(a)のようにタイプAネットaとタイプCネ
ットcを交換する場合、(b)のようにタイプAネット
aをタイプBネットbに交換する場合、(c)のように
タイプCネットcをタイプDネットdに交換する場合な
どがある。具体的な処理を図14のフローチャートで示
す。図中、L+,L−は、現カットラインが垂直である
ときそれぞれ上半分、下半分を示す。
On the other hand, (MODIF2) corresponds to FIG.
As shown in (c), when a type A net a and a type C net c are exchanged for one set of nets or one net as shown in (a), the type A net a Is exchanged for the type B net b, or the type C net c is exchanged for the type D net d as shown in FIG. Specific processing is shown in the flowchart of FIG. In the figure, L + and L- indicate the upper half and the lower half, respectively, when the current cut line is vertical.

【0069】この修正処理(MODIF2)は、1ネッ
トずつ選択してネットのタイプを修正していくため、全
体のコスト値を最小化するようなネットの選択が困難で
あるが、確実に問題となったカットラインの配線のオー
バーフローを0とすることができ、反対領域のカットネ
ットの増加を最小限にできる長所がある。
In this modification processing (MODIF2), it is difficult to select a net that minimizes the total cost value because the net type is modified by selecting one net at a time. There is an advantage that the overflow of the wiring of the cut line can be reduced to 0, and the increase of the cut net in the opposite area can be minimized.

【0070】実際には、これらの配線経路修正方法のう
ちどちらかを、あるいは同一カットラインを再度処理す
る場合が起こったときには他方の処理に切り替えるなど
の実現形態がある。
Actually, there is a realization mode in which one of these wiring path correction methods or when the same cut line is processed again, the processing is switched to the other processing.

【0071】以上述べた処理で、typeAネットをt
ypeBネットに配線経路修正するなどの手続きを繰り
返すとき、同一階層であるが配線対象領域を異にする反
対サイドの配線領域の問題を困難にする場合がある。例
えば、図3(a)〜(c)のような配線経路修正をした
とき2つの水平カットラインの右サイドが混雑する可能
性がある。これが本再帰処理でループを発生させる問題
点となるが、これを解決する方法について述べる。
In the processing described above, the type A net is changed to t
When a procedure such as the correction of the wiring route to the type B net is repeated, the problem of the wiring area on the opposite side which is in the same hierarchy but has a different wiring target area may be difficult. For example, when the wiring route is modified as shown in FIGS. 3A to 3C, the right sides of the two horizontal cut lines may be crowded. This is a problem that causes a loop in the recursive processing. A method for solving the problem will be described.

【0072】いま、図31のように2分割処理を繰り返
していったとき、図32のように配線領域Di,jが分
割されていったとする。再帰処理の実現方法として、こ
れを図15のように深さ優先の処理手順で実現したとす
る。このとき、○で示す数字がカットラインが挿入され
る順番を示している。すなわち、部分領域の左下から処
理されるものとする。
Now, it is assumed that the wiring area Di, j is divided as shown in FIG. 32 when the two division processing is repeated as shown in FIG. It is assumed that the recursive processing is realized by a depth-first processing procedure as shown in FIG. At this time, the numbers indicated by ○ indicate the order in which the cut lines are inserted. That is, processing is performed from the lower left of the partial area.

【0073】このとき、例えば、カットライン8で配線
できないとなったとき、すでにカットライン7は配線経
路決定されている。したがって、カットライン6に戻っ
て、図12(a),(b)のように、タイプBネットを
タイプAネットあるいは、タイプDネットをタイプCネ
ットに変換するとき、カットライン7の配線状況も考慮
しないと処理がループに落ち入る危険性がある。
At this time, for example, when wiring cannot be performed at the cut line 8, the wiring path of the cut line 7 has already been determined. Therefore, returning to the cut line 6, when converting the type B net into the type A net or the type D net into the type C net as shown in FIGS. If not considered, there is a risk that processing will fall into a loop.

【0074】本発明では、これを避けるように、図16
のように、問題カットラインの反対サイドの割り当て処
理が2度目以上であれば、既に割り当ての終了している
反対サイドのカットラインの配線容量に余裕がある場合
のみ(MODIF2)の配線経路修正を施し(ステップ
S41,S42,S43)、余裕のない場合には、上位
階層に処理を進める。
In the present invention, FIG.
If the assignment processing on the opposite side of the problem cut line is performed for the second time or more, the wiring route correction only in the case where the wiring capacity of the cut line on the opposite side for which assignment has already been completed has room (MODIF2) is made. (Steps S41, S42, S43), and if there is no room, the process proceeds to the upper hierarchy.

【0075】以上の配線経路修正処理において、既に割
り当てが完了された配線領域に修正された配線経路が入
っていく場合の処理(図11のステップS35)につい
て具体例を示して述べる。いま、図15のような順序で
階層処理を進めていったとき、図17に示すようにカッ
トライン8の処理で配線困難となったとする。このと
き、1〜8のカットラインにはこれをカットするネット
がカット位置にカットピンとして既に割り当てられてい
る。
In the above-described wiring path correction processing, the processing (step S35 in FIG. 11) in the case where the corrected wiring path enters the wiring area to which the assignment has already been completed will be described with a specific example. Now, it is assumed that when the hierarchical processing is advanced in the order as shown in FIG. 15, the wiring of the cut line 8 becomes difficult as shown in FIG. At this time, a net for cutting the cut lines 1 to 8 is already assigned to the cut position as a cut pin.

【0076】いま、カットライン8の修正処理を行うた
めに、カットライン6に戻り、6で配線経路修正が可能
でなくさらに親領域のカットライン2に戻ってBad_
Netの修正が完了したとする(図18の実線矢印)。
このとき、2の配線経路の修正によってカットネット2
の左の子供とその子孫の部分領域に新たな配線経路が発
生するので、これらの配線経路の追加処理をカットライ
ン3,4,5に対して行う(同図一点鎖線)。
Now, in order to perform the process of correcting the cut line 8, the process returns to the cut line 6, and the wiring route cannot be corrected at 6;
It is assumed that the correction of Net has been completed (solid arrow in FIG. 18).
At this time, the cut net 2 is
Since new wiring paths are generated in the partial area of the left child and its descendants, additional processing of these wiring paths is performed on the cut lines 3, 4, and 5 (the dashed line in FIG. 3).

【0077】一方、2の配線経路の修正によってカット
ライン2の右の子とその子孫のうち最初に問題が発生し
たカットラインにおいては、2の配線経路修正に伴った
配線経路が消滅するので、これらの配線経路の削除処理
をカットライン6,7に対して行う(同図点線)。これ
らの処理が終了してから、配線経路修正の再帰処理So
lveH(図10のステップS30)を呼び出したカッ
ト領域8に戻って配線が完了されたことになる。
On the other hand, in the cut line on the right side of the cut line 2 and its descendants due to the correction of the second wiring path, the wiring path associated with the correction of the second wiring path disappears in the first cut line. The processing of deleting these wiring paths is performed on the cut lines 6 and 7 (dotted lines in the figure). After these processes are completed, the recursive process So of the wiring route correction is performed.
Returning to the cut area 8 where veH (step S30 in FIG. 10) is called, the wiring is completed.

【0078】以上説明した処理フローを具体的な配線例
を交えて詳細に説明する。階層処理方法として、2分割
を繰り返す方法、すなわち、対象領域を1つのカットラ
インで2つの部分領域に分けながらトップダウンに配線
経路決定する階層的配線を例として第一実施例を示す。
The processing flow described above will be described in detail with a specific wiring example. The first embodiment will be described as an example of a hierarchical processing method in which two divisions are repeated, that is, a hierarchical wiring in which a target area is divided into two partial areas by one cut line and a wiring path is determined from the top down.

【0079】いま、ある階層レベルlevelで配線対
象領域D0,1が図19のように与えられたとする。い
ま、図20のようにこの階層における処理としてD0,
1に垂直のカットラインLを配線領域の中心位置に引い
て配線領域を2分したとする(図10のステップS2
1)。このカットラインL上の概略格子の境界辺は4つ
あり、それぞれの配線容量Cが2であったとする。この
ときカットネットとして{B,C,D,E}が求まる
(ステップS22)。従って、Dif_factor=
C−Nc=8−4>0であり、この配線領域の配線を行
う処理へと進む(ステップS23,S24)。
Now, it is assumed that the wiring target areas D0 and D1 are given at a certain hierarchical level as shown in FIG. Now, as shown in FIG. 20, D0,
It is assumed that a cut line L perpendicular to 1 is drawn to the center position of the wiring area to divide the wiring area into two (step S2 in FIG. 10).
1). It is assumed that there are four boundary sides of the general lattice on the cut line L, and the wiring capacitance C of each is two. At this time, {B, C, D, E} are obtained as cut nets (step S22). Therefore, Dif_factor =
C−Nc = 8−4> 0, and the process proceeds to the process of wiring in this wiring region (steps S23 and S24).

【0080】この配線領域D0,1の配線問題(割り当
て問題)を解く処理Solve(D0,1,{B,C,
D,E}、ステップS25)は、例えば、つぎのように
する。各カットネットに対して、割り当てコスト関数を
図21のように、従来の技術で説明したように各カット
ネットを囲む最小矩形内の境界辺に対しては0としてこ
れから遠ざかるに連れてその距離に比例した値を設定す
るものとする。
A process Solve (D0,1, .DELTA.B, C,...) For solving the wiring problem (assignment problem) of the wiring region D0,1.
D, E}, step S25) is, for example, as follows. For each cut net, as shown in FIG. 21, the allocation cost function is set to 0 for the boundary side within the minimum rectangle surrounding each cut net, as described in the background art, and the distance increases as the distance increases. A proportional value shall be set.

【0081】これにより、配線長をコストに対応させる
ことができる。図21(a)は、各端子をカットライン
近傍に投影した様子を示し、同図(b)は、各ネットの
コスト関数型を示す。その後、このコスト最小化割り当
て問題を解いたとき図20の結果が得られたとする。
Thus, the wiring length can be made to correspond to the cost. FIG. 21A shows a state where each terminal is projected near the cut line, and FIG. 21B shows a cost function type of each net. Thereafter, it is assumed that the result of FIG. 20 is obtained when the cost minimizing assignment problem is solved.

【0082】つぎに処理階層が一段階進み部分領域D
1,1に移る(ステップS26)。すなわち、処理Ro
ute(D1,1,level+1)に移る。この部分
領域内での処理の様子を図22に示す。この部分領域内
で、その内部に属する端子と上位階層で設定されたカッ
トラインLの仮想カット位置1B〜1E(図中、△)か
らこの部分領域D1,1のカットラインを横切るネット
は{A,B,D}の3つある。
Next, the processing hierarchy advances one step, and the partial area D
It moves to 1,1 (step S26). That is, processing Ro
ute (D1,1, level + 1). FIG. 22 shows the state of processing in this partial area. In this partial area, the net crossing the cut line of this partial area D1, 1 from the terminal belonging to the inside and the virtual cut positions 1B to 1E (△ in the figure) of the cut line L set in the upper hierarchy is ΔA. , B, D}.

【0083】一方、カットライン上には概略格子の境界
辺は2つあり、それぞれ境界容量Cが1であっとする。
このとき、Dif_factor=C−Nc=2−3=
−1<0であり、オーバーフローが起こり、この階層の
配線問題を解くことは行わないと判断される(ステップ
S24)。
On the other hand, it is assumed that there are two boundary sides of the approximate grid on the cut line, and the boundary capacitance C is 1 for each.
At this time, Dif_factor = C-Nc = 2-3 =
Since -1 <0, overflow occurs, and it is determined that the wiring problem of this level is not solved (step S24).

【0084】図10のフローにしたがって、まず、部分
領域D1,1の配線を困難にしているネットの集合 Bad_Net={B,D} を得る(ステップS28)。
According to the flow of FIG. 10, first, a set of nets Bad_Net = {B, D} that makes wiring of the partial areas D1, 1 difficult is obtained (step S28).

【0085】次に、階層が一階層上りlevelに移
り、部分領域D1,1の親領域D0,1に移り、処理S
olveH(D1,1,{B,D},level)にな
る(ステップS29,S30)。この処理は、図11の
ように進む。Bad_NetをタイプAネットとタイプ
Cネットに分類すると、NetA={D},NetC=
{B},Na=Nc=1, C2b=(2−1)+(2−1)=2,C2t=(2−
1)+(2−1)=2 であり、C2b>Na−Ncであるからこの階層lev
elの配線経路の修正処理に移る(ステップS31,S
34)。
Next, the hierarchy moves up one level, and moves to the parent areas D0,1 of the partial areas D1,1.
olveH (D1,1, {B, D}, level) (steps S29 and S30). This process proceeds as shown in FIG. When Bad_Net is classified into a type A net and a type C net, NetA = {D}, NetC =
{B}, Na = Nc = 1, C2b = (2-1) + (2-1) = 2, C2t = (2-
1) + (2-1) = 2, and since C2b> Na-Nc, this level lev
The processing shifts to the correction processing of the wiring route of el (steps S31 and S31).
34).

【0086】経路修正方法MODIF1の場合、つぎの
ように、ネット{B,D}に対して、割り当てコスト関
数を修正して再割り当てをする。ネットB(ネットタイ
プNetC)に対しては、カットラインLの下側の境界
辺のコスト値をδ=十分大きな値(例えば、4)に再設
定し、一方上側の境界辺は不変とする。
In the case of the route correction method MODIF1, the allocation cost function is corrected and re-allocated to the net {B, D} as follows. For the net B (net type NetC), the cost value of the lower boundary side of the cut line L is reset to δ = a sufficiently large value (for example, 4), while the upper boundary side is unchanged.

【0087】逆に、ネットD(ネットタイプNetA)
に対しては、カットラインLの上側の境界辺のコスト値
をδ=4に再設定し、下側の境界辺は不変とする。これ
により、コスト関数型は図23のようになる。このコス
ト関数に対してコスト最小化問題を解くと、B,Dの割
り当て結果は図24のようになる。このとき、図11に
おけるS35の処理は行う必要はない。
Conversely, net D (net type NetA)
, The cost value of the upper boundary side of the cut line L is reset to δ = 4, and the lower boundary side is unchanged. Thus, the cost function type is as shown in FIG. When the cost minimization problem is solved with respect to this cost function, the allocation results of B and D are as shown in FIG. At this time, there is no need to perform the processing of S35 in FIG.

【0088】さらに、処理はSolveH(Domai
n,Bad_Net,level)を呼び出した階層l
evel+1(部分領域D1,1)に戻り、もう一度配
線対象ネットを求める処理を再実行される。このときD
if_factor=2−1≧0であり、今度はこの部
分領域D1,1の配線問題を解くSolveに渡る(ス
テップS25)。この様にして配線処理が完了される。
Further, the processing is performed by SolveH (Domai
n, Bad_Net, level)
The process returns to level + 1 (partial area D1, 1), and the process of obtaining the wiring target net is executed again. Then D
If_factor = 2-1.gtoreq.0, and the process proceeds to Solve for solving the wiring problem of the partial area D1, 1 this time (step S25). Thus, the wiring process is completed.

【0089】配線領域D0,1の両サイドD1,1、D
1,2のカットラインの割り当てが終了した後、図25
のような配線経路が得られる。なお、経路修正方法MO
DIF2を配線経路修正処理として用いたときも同様で
ある。このように、従来技術では図22のようにオーバ
ーフローが起こり、正常な概略配線経路が得られなかっ
た場合でも、第二の発明による自動配線方法によれば、
完全な配線経路を得ることができる。
Both sides D1,1, D of wiring area D0,1
After the assignment of the cut lines 1 and 2 is completed, FIG.
The following wiring path is obtained. The route modification method MO
The same applies when DIF2 is used as a wiring route correction process. As described above, according to the conventional technique, even when overflow occurs as shown in FIG. 22 and a normal schematic wiring path cannot be obtained, according to the automatic wiring method according to the second invention,
A complete wiring path can be obtained.

【0090】次に、第二の発明における第二実施例とし
て、配線の完了が1レベル上がった階層では完了されな
く、2階層遡って完了する配線例を示す。
Next, as a second embodiment of the second invention, a wiring example will be described in which the completion of wiring is not completed at the level one level higher, but is completed two levels back.

【0091】いま、図26(a)に示すような配線領域
Di,jに一点鎖線で示すカットラインA〜Eが順に挿
入されて階層処理が進み、配線経路が決まっていったと
する。階層処理の様子をツリー構造で表したものが、図
26(b)である。いま、図27に示すように、部分領
域Di+3,2でカットラインLineEの処理に移っ
たとき、配線不可能と判断されたとする(ステップS2
4)。
Now, it is assumed that cut lines A to E shown by dashed lines are sequentially inserted into the wiring regions Di, j as shown in FIG. 26A, the hierarchical processing proceeds, and the wiring path is determined. FIG. 26B illustrates the hierarchical processing in a tree structure. Now, as shown in FIG. 27, when the processing shifts to the processing of the cut line LineE in the partial areas Di + 3 and 2, it is determined that the wiring is impossible (step S2).
4).

【0092】このとき、まず、LineEの親領域Di
+2,1でBad_Netの配線経路修正を試みたと
き、LineCの上側に配線容量の余裕がなく、配線経
路:{T−X−Y−Z−T}を配線経路:{T−P−Y
−Z−T}(図28参照)となるように、修正すること
が不可能であったとする(ステップS28〜S31)。
これにより、さらに処理階層を1つ遡り、カットライン
Bのカット位置Yが修正されるように配線経路が変更さ
れてカット点Yがカット点Qに移動される(ステップS
32,S33)。この結果、このネットの配線経路は配
線経路:{T−Q−Z−T}が実現される。
At this time, first, the parent area Di of LineE
When an attempt is made to modify the Bad_Net wiring path at +2, 1, there is no room for the wiring capacity above the Line C, and the wiring path: {T-X-Y-Z-T} is changed to the wiring path: {T-P-Y
It is assumed that the correction cannot be performed so that -ZT} (see FIG. 28) (steps S28 to S31).
As a result, the wiring route is changed so that the cut position Y of the cut line B is corrected, and the cut point Y is moved to the cut point Q (step S).
32, S33). As a result, the wiring route of this net is realized as the wiring route: {TQZZT}.

【0093】このようにしてネットTの配線経路が完成
されたとき、2度の再帰処理を呼び出したルーチン(ス
テップS30)にもどって、その部分領域Di+3,2
の下位階層の配線に移るが、その前にカット位置がYか
らQに移動したことによって、新たにカットラインDを
横切るネットが発生するが、この割り当て位置Wを決定
する(ステップS35)。このようにして、図28のよ
うな配線経路:{T−W−Q−Z−T}が得られる。
When the wiring route of the net T is completed in this way, the process returns to the routine (step S30) which called twice the recursive processing, and the partial area Di + 3, 2
Before the wiring moves to the lower hierarchy, a new net crossing the cut line D is generated due to the movement of the cut position from Y to Q before that. The allocation position W is determined (step S35). In this way, a wiring route: {TWQZZT} as shown in FIG. 28 is obtained.

【0094】以上のように、第二の発明では、複数レベ
ルの再配線処理を行うことによって全体の配線を完了す
ることができる。このような階層的な処理に基づいて再
配線することによって、従来技術のようにチップ全体に
おける引き剥がし再配線処理などで処理時間が膨大にな
る欠点を防ぐことができる。
As described above, in the second invention, the entire wiring can be completed by performing the rewiring processing at a plurality of levels. By performing the rewiring based on such hierarchical processing, it is possible to prevent a disadvantage that the processing time is enormous in the peeling and rewiring processing of the entire chip as in the related art.

【0095】なお、第二の発明においても、階層処理を
Bursteinの方法[1983]のように、対象領域の分
割をN=2×2にして、階層処理するものに対しても適
用できる。この配線領域分割処理方法を図29(a)〜
(c)に、その階層構造を図29(d)に示す。この階
層処理おいても、図9〜図11で示した処理フローが適
用できる。ただし、図10におけるSolve処理(ス
テップS25)は、2×2の配線領域の配線経路を整数
計画問題に帰着して解くものである。
The second invention can also be applied to the case where the hierarchical processing is performed by dividing the target area into N = 2 × 2, as in the Burstein method [1983]. This wiring area division processing method is described with reference to FIGS.
FIG. 29C shows the hierarchical structure in FIG. Also in this hierarchical processing, the processing flows shown in FIGS. 9 to 11 can be applied. However, the Solve process (step S25) in FIG. 10 is to solve the wiring route of the 2 × 2 wiring region by reducing it to an integer programming problem.

【0096】[0096]

【発明の効果】以上説明したように、第一の発明によれ
ば、階層の各レベルで直線経路を優先して求めるために
折れ曲がりの少ない配線結果が求まり、また自明な配線
経路を求める際には階層処理で扱うネットの数が少なく
てすむ。また、第二の発明によれば、配線処理を進めて
いったとき問題が発生した階層から上位階層に遡って配
線経路の修正を行うようにした。これらにより、高速処
理の階層的配線方法の特性を失うことなく、質の高い自
動配線経路を提供することが可能である。
As described above, according to the first aspect of the present invention, it is possible to obtain a wiring result with less bending since priority is given to the linear route at each level of the hierarchy. Means that the number of nets handled in hierarchical processing is small. Further, according to the second invention, the wiring route is corrected retroactively from the hierarchy where the problem occurred when the wiring processing was advanced to the upper hierarchy. Thus, it is possible to provide a high-quality automatic wiring route without losing the characteristics of the hierarchical wiring method for high-speed processing.

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

【図1】第一の発明の自動配線方法の処理手順を示すフ
ローチャートである。
FIG. 1 is a flowchart showing a processing procedure of an automatic wiring method according to a first invention.

【図2】最小矩形が端子一点の場合のフラットネットと
その配線の例を示す図である。
FIG. 2 is a diagram illustrating an example of a flat net and its wiring when the minimum rectangle is one terminal;

【図3】最小矩形が直線の場合のフラットネットとその
配線の例を示す図である。
FIG. 3 is a diagram illustrating an example of a flat net and its wiring when the minimum rectangle is a straight line.

【図4】最小矩形が端子一点の場合のフラットネットと
その配線の例を示す図である。
FIG. 4 is a diagram illustrating an example of a flat net and its wiring when the minimum rectangle is one terminal;

【図5】最小矩形が直線の場合のフラットネットとその
配線の例を示す図である。
FIG. 5 is a diagram illustrating an example of a flat net and its wiring when the minimum rectangle is a straight line.

【図6】最小矩形の面積が小さい場合のフラットネット
とその配線の例を示す図である。
FIG. 6 is a diagram illustrating an example of a flat net and its wiring when the area of the minimum rectangle is small.

【図7】第一の発明における第一実施例による階層処理
の様子を示す図である。
FIG. 7 is a diagram showing a state of hierarchical processing according to the first embodiment of the first invention.

【図8】第一の発明における第二実施例の様子を示す図
である。
FIG. 8 is a diagram showing a state of a second embodiment in the first invention.

【図9】第二の発明に係わる自動配線方法の処理手順全
体を表すフローチャートである。
FIG. 9 is a flowchart showing the entire processing procedure of the automatic wiring method according to the second invention.

【図10】図9で示したRoute処理の詳細を示すフ
ローチャートである。
FIG. 10 is a flowchart showing details of a Route process shown in FIG. 9;

【図11】図10で示したSolveH処理の詳細を示
すフローチャートである。
FIG. 11 is a flowchart illustrating details of a SolveH process illustrated in FIG. 10;

【図12】経路修正されるネットのタイプを説明するた
めの図である。
FIG. 12 is a diagram for explaining a type of a net whose route is corrected.

【図13】経路修正方法の一例を示す図である。FIG. 13 is a diagram illustrating an example of a route correction method.

【図14】経路修正方法の一例を示すフローチャートで
ある。
FIG. 14 is a flowchart illustrating an example of a route correction method.

【図15】階層処理順序の一例を示すツリー構造図であ
る。
FIG. 15 is a tree structure diagram illustrating an example of a hierarchical processing order.

【図16】図11で示した経路修正処理の際に行われる
処理の一部を説明するためのフローチャートである。
FIG. 16 is a flowchart illustrating a part of a process performed in the route correction process illustrated in FIG. 11;

【図17】配線困難となるまでに階層処理される順序を
示すツリー構造図である。
FIG. 17 is a tree structure diagram showing the order of hierarchical processing until wiring becomes difficult.

【図18】経路修正される順序を説明するための図であ
る。
FIG. 18 is a diagram for explaining an order in which routes are corrected.

【図19】第二の発明の第一実施例による配線例を説明
するための配線対象領域の平面図である。
FIG. 19 is a plan view of a wiring target area for explaining a wiring example according to the first embodiment of the second invention.

【図20】図19で示した配線対象領域のカットネット
を求めた様子を示す図である。
FIG. 20 is a diagram showing a state where a cut net of the wiring target area shown in FIG. 19 is obtained.

【図21】図20で求めた各カットネットのコスト値を
表わしたコスト関数グラフである。
FIG. 21 is a cost function graph showing the cost value of each cut net obtained in FIG.

【図22】図20で示した配線対象領域の部分領域に処
理階層が移った様子を示す図である。
22 is a diagram showing a state where the processing hierarchy has moved to a partial region of the wiring target region shown in FIG. 20;

【図23】図22で示したネットの経路修正後のコスト
値を表わしたコスト関数グラフである。
FIG. 23 is a cost function graph showing the cost value of the net shown in FIG. 22 after the route is corrected.

【図24】経路修正されたネットの割り当て結果を示す
図である。
FIG. 24 is a diagram showing a result of assigning a net whose route has been corrected.

【図25】第二の発明の第一実施例で最終的に得られた
配線経路を示す図である。
FIG. 25 is a diagram showing a wiring path finally obtained in the first embodiment of the second invention.

【図26】第二の発明の第二実施例を説明するための配
線領域の平面図である。
FIG. 26 is a plan view of a wiring region for explaining a second embodiment of the second invention.

【図27】図26で示した配線領域の部分領域での配線
処理の様子を示す図である。
FIG. 27 is a diagram showing a state of wiring processing in a partial region of the wiring region shown in FIG. 26;

【図28】第二の発明の第二実施例で最終的に得られた
配線経路を示す図である。
FIG. 28 is a diagram showing a wiring path finally obtained in the second embodiment of the second invention.

【図29】第二の発明における他の領域分割方法を説明
するための図である。
FIG. 29 is a diagram for explaining another area dividing method according to the second invention.

【図30】配線領域がグリッドで分割されている様子を
示す図である。
FIG. 30 is a diagram showing a state where a wiring area is divided by a grid.

【図31】配線領域を2分割しながら階層処理する従来
の様子を示す図である。
FIG. 31 is a diagram showing a conventional state of performing hierarchical processing while dividing a wiring region into two parts.

【図32】図31で示した配線領域の階層処理を表すツ
リー構造図である。
32 is a tree structure diagram illustrating a hierarchical process of the wiring region illustrated in FIG. 31.

【図33】従来の2分割処理により配線経路が得られる
様子を示す図である。
FIG. 33 is a diagram showing a state in which a wiring path is obtained by a conventional two-division process.

【図34】チップ領域へのカットラインの挿入とそれに
対応する階層処理のツリー構造図である。
FIG. 34 is a tree structure diagram of insertion of a cut line into a chip area and corresponding hierarchical processing.

【図35】従来の直線的な配線経路の求め方を説明する
ための図である。
FIG. 35 is a diagram for explaining a conventional method for obtaining a straight wiring route.

【図36】従来のL字型の配線経路の求め方を説明する
ための図である。
FIG. 36 is a view for explaining a conventional method of obtaining an L-shaped wiring route.

【図37】従来の方法により、折れ曲りの多い配線経路
が得られる様子を示す図である。
FIG. 37 is a diagram showing a state in which a wiring path having many bends is obtained by a conventional method.

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

1,1a〜1g,1B〜1E,X,Y,Z,W,P,Q
カット位置 2 フラットネットとして配線される配線経路の一部 3 階層的ネットとして配線される部分ネット 4 最小矩形 5a〜5g ツリーノード A,B,C,D,E,T 端子 L,L1,L2,L2b,L2t,LineA〜Lin
eE カットライン D,Di,j 配線領域 a,b,c,d ネット Si,j 概略格子の境界辺
1,1a-1g, 1B-1E, X, Y, Z, W, P, Q
Cut position 2 Part of wiring route wired as flat net 3 Partial net wired as hierarchical net 4 Minimum rectangle 5a-5g Tree node A, B, C, D, E, T terminals L, L1, L2 L2b, L2t, LineA ~ Lin
eE cut line D, Di, j Wiring area a, b, c, d net Si, j Boundary side of approximate grid

───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 17/50 H01L 21/82 ──────────────────────────────────────────────────続 き Continued on front page (58) Field surveyed (Int.Cl. 7 , DB name) G06F 17/50 H01L 21/82

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 同電位端子間を結ぶネットが複数与えら
れた配線領域を複数の部分領域に分割し、 分割された部分領域間の境界を横切るネットのカット位
置と、このネットによって結ばれる端子との位置関係か
ら、階層的に処理すべきネットかフラットに処理すべき
ネットかに分類し、 分類されたフラットネットの配線経路を、前記複数の部
分領域に分割した階層から2階層以上下がった下位階層
で決定し、 配線経路を決定できなかったフラットネットを、階層的
に処理するネットとして分類されたネットに追加し、 前記部分領域が所望の最小領域になるまで同様な処理を
階層的に繰り返すことにより、全ネットの配線経路を決
定することを特徴とする自動配線方法。
A wiring region provided with a plurality of nets connecting the same potential terminals is divided into a plurality of partial regions, a cut position of a net crossing a boundary between the divided partial regions, and a terminal connected by the net Is classified into a net to be processed hierarchically or a net to be processed flatly, and the wiring route of the classified flat net is lowered by two or more layers from the layer divided into the plurality of partial regions. A flat net determined in the lower hierarchy and for which a wiring route could not be determined is added to a net classified as a net to be processed hierarchically, and similar processing is performed hierarchically until the partial area becomes a desired minimum area. An automatic wiring method characterized by determining wiring routes of all nets by repeating.
【請求項2】 同電位端子間を結ぶネットが複数与えら
れた配線領域を複数の部分領域に分割し、 分割された部分領域間を繋ぐ必要のある配線対象ネット
の配線経路を決定する際の困難度を計算し、 計算された困難度に基づいて前記配線対象ネットの配線
経路を決定すると判断したときには、この配線対象ネッ
トの配線問題を階層的なアルゴリズムで解き、 前記困難度に基づいて前記配線対象ネットの配線経路を
決定しないと判断したときには、処理階層を前記部分領
域に分割した階層から上位階層に移して分割される以前
の領域に処理を移し、 前記部分領域での配線を困難にしているネットを求め、 このネットの、分割される以前の領域での配線経路を、
前記部分領域での配線が容易となるように再決定し、 前記部分領域の処理に戻して前記配線対象ネットの配線
経路を決定し、 前記部分領域に分割した階層より下位階層についても同
様な処理を階層的に繰り返すことにより、全ネットの配
線経路を決定することを特徴とする自動配線方法。
2. A method for dividing a wiring area provided with a plurality of nets connecting the same potential terminals into a plurality of partial areas and determining a wiring route of a wiring target net which needs to connect the divided partial areas. When calculating the difficulty level, and determining to determine the wiring route of the wiring target net based on the calculated difficulty level, the wiring problem of the wiring target net is solved by a hierarchical algorithm, and based on the difficulty level, When it is determined that the wiring route of the wiring target net is not determined, the processing hierarchy is shifted from the hierarchy divided into the partial areas to the upper hierarchy, and the processing is shifted to the area before the division, so that the wiring in the partial area becomes difficult. Is determined, and the wiring route of this net before it is divided is
Redetermining so that the wiring in the partial area is facilitated, returning to the processing of the partial area, determining the wiring path of the wiring target net, and performing the same processing for the lower hierarchy than the hierarchy divided into the partial area Automatically determine the wiring route of all nets by repeating the above hierarchically.
JP3167222A 1991-07-08 1991-07-08 Automatic wiring method Expired - Fee Related JP3068892B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3167222A JP3068892B2 (en) 1991-07-08 1991-07-08 Automatic wiring method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3167222A JP3068892B2 (en) 1991-07-08 1991-07-08 Automatic wiring method

Publications (2)

Publication Number Publication Date
JPH0512384A JPH0512384A (en) 1993-01-22
JP3068892B2 true JP3068892B2 (en) 2000-07-24

Family

ID=15845710

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3167222A Expired - Fee Related JP3068892B2 (en) 1991-07-08 1991-07-08 Automatic wiring method

Country Status (1)

Country Link
JP (1) JP3068892B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7222661B2 (en) 2004-07-08 2007-05-29 Fujitsu Limited Cooling module
US7522418B2 (en) 2006-09-19 2009-04-21 Fujitsu Limited Electronic equipment and rack apparatus

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7376927B2 (en) * 2005-06-13 2008-05-20 Advanced Micro Devices, Inc. Manhattan routing with minimized distance to destination points

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
長谷川晃司、外3名、"線形割り当てに基づいた概略配線手法の実装と評価",電子情報通信学会技術研究報告(VLD90−97〜110),平成3年2月,第90巻、第429号,p.1−8

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7222661B2 (en) 2004-07-08 2007-05-29 Fujitsu Limited Cooling module
US7522418B2 (en) 2006-09-19 2009-04-21 Fujitsu Limited Electronic equipment and rack apparatus

Also Published As

Publication number Publication date
JPH0512384A (en) 1993-01-22

Similar Documents

Publication Publication Date Title
KR100201979B1 (en) Wiring path processing method, wiring path processing system and semiconductor integrated circuit device
US5673201A (en) Sub-problem extraction method for wiring localized congestion areas in VLSI wiring design
US6463575B1 (en) Cell-layout method in integrated circuit devices
US5984510A (en) Automatic synthesis of standard cell layouts
US4615011A (en) Iterative method for establishing connections and resulting product
JP3219500B2 (en) Automatic wiring method
US6006024A (en) Method of routing an integrated circuit
JP3063828B2 (en) Automatic schematic wiring method for integrated circuits
US5987086A (en) Automatic layout standard cell routing
US4908772A (en) Integrated circuits with component placement by rectilinear partitioning
US6209123B1 (en) Methods of placing transistors in a circuit layout and semiconductor device with automatically placed transistors
US6182272B1 (en) Metal layer assignment
US4500963A (en) Automatic layout program for hybrid microcircuits (HYPAR)
US5224057A (en) Arrangement method for logic cells in semiconductor IC device
US6230306B1 (en) Method and apparatus for minimization of process defects while routing
US6473891B1 (en) Wire routing to control skew
JP4227304B2 (en) Outline wiring method and apparatus, and recording medium storing outline wiring program
US20010018759A1 (en) Method and apparatus for parallel simultaneous global and detail routing
JP4474404B2 (en) Packing-based macro placement method and semiconductor chip using the same
US20030121018A1 (en) Subgrid detailed routing
US6260183B1 (en) Method and apparatus for coarse global routing
WO1991006061A1 (en) Improved routing system and method for integrated circuits
US6305004B1 (en) Method for improving wiring related yield and capacitance properties of integrated circuits by maze-routing
US5701255A (en) Cell generation method and cell generation system
JP3068892B2 (en) Automatic wiring method

Legal Events

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

Free format text: PAYMENT UNTIL: 20090519

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20090519

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100519

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees