JP2974398B2 - Automatic wiring method - Google Patents

Automatic wiring method

Info

Publication number
JP2974398B2
JP2974398B2 JP2320997A JP32099790A JP2974398B2 JP 2974398 B2 JP2974398 B2 JP 2974398B2 JP 2320997 A JP2320997 A JP 2320997A JP 32099790 A JP32099790 A JP 32099790A JP 2974398 B2 JP2974398 B2 JP 2974398B2
Authority
JP
Japan
Prior art keywords
wiring
area
terminals
small
processing
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
JP2320997A
Other languages
Japanese (ja)
Other versions
JPH04191980A (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 JP2320997A priority Critical patent/JP2974398B2/en
Priority to US07/727,431 priority patent/US5361214A/en
Publication of JPH04191980A publication Critical patent/JPH04191980A/en
Application granted granted Critical
Publication of JP2974398B2 publication Critical patent/JP2974398B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) この発明は、半導体集積回路の配線パターンの自動設
計を行う自動配線方式に関する。
The present invention relates to an automatic wiring system for automatically designing a wiring pattern of a semiconductor integrated circuit.

(従来の技術) 半導体集積回路の配線パターンの自動設計には、汎用
計算機上で動作するレイアウトCADプログラムが用いら
れている。この一例を第11図に示す。第12図は配線領域
110上の同一番号の端子間の配線経路を決定しようとす
る例である。端子間の配線経路を決定する代表的な手法
には迷路法(C.Y.Lee,“An algorithm for path connec
tions and its applications,"IRE Trans.Electron.Com
put.,Vol.EC−10,pp.346−365,1961.)と、線分探索法
(K.Mikami etc.,“Acomputer program for optimal ro
uting of printed circuit connections."IFIPSProc.,p
p.1475−1478,1968.)が知られている。迷路法、線分探
索法のどちらの手法を用いる配線処理であっても従来の
自動配線方式では,第12図(a)〜(d)に示すよう
に、端子間の配線経路111を逐次的に求めてゆく。この
ような自動配線方式では、回路が大規模化すると膨大な
処理時間が費やされてしまう。
(Prior Art) A layout CAD program operating on a general-purpose computer is used for automatic design of a wiring pattern of a semiconductor integrated circuit. An example of this is shown in FIG. Figure 12 shows the wiring area
This is an example in which a wiring route between terminals of the same number on 110 is to be determined. A typical method for determining the wiring route between terminals is the maze method (CYLee, “An algorithm for path connec
tions and its applications, "IRE Trans.Electron.Com
put., Vol. EC-10, pp. 346-365, 1961.) and the line segment search method (K. Mikami etc., “Acomputer program for optimal ro
uting of printed circuit connections. "IFIPSProc., p
pp. 1475-1478, 1968.). Regardless of the wiring processing using either the maze method or the line segment search method, in the conventional automatic wiring method, as shown in FIGS. To ask for. In such an automatic wiring method, a huge processing time is consumed when the circuit becomes large-scale.

これを解決するため、近年、配線処理を複数の計算機
(プロセッサ)で並列に行う自動配線方式が提案されて
いる(H.Nelson Brady,“MIMDOrganization for the Ex
ecution of Interconnection routing Alogorithm."IEE
E Circuits and Device Magazine,pp.39−43,1985.特公
昭62−115574号公報、特公昭62−186351号公報)。
In order to solve this problem, an automatic wiring method that performs wiring processing in parallel by a plurality of computers (processors) has been proposed in recent years (H. Nelson Brady, “MIMD Organization for the Ex
ecution of Interconnection routing Alogorithm. "IEE
E Circuits and Device Magazine, pp. 39-43, 1985; JP-B-62-115574; JP-B-62-186351).

この方式の一例を、第13図を用いて説明する。第13図
は、同一番号の端子間の配線経路を決定しようとする例
である。この並列配線方式では、まず、第13図(b)の
ように配線領域110を複数の小領域120、121、122、123
に分割する(この例では4分割)。続いて第13図(c)
のように同一の小領域内に含まれている同一番号の端子
間の配線経路を決定する(この例では端子1,2,3,4,5,6
の間の経路を決定する)。全ての端子間の配線経路が決
定すれば処理を終了するが、未配線の端子が存在する場
合は、いくつかの小領域を合成し新たな小領域を構成す
る。第13図(c)の例では未配線の端子7,8,9,10が存在
するので第13図(d)のように、小領域を合成して新た
な小領域125(この例では配線領域110と同じ)とし、新
たな小領域125内に含まれている端子間の配線経路を決
定する。さらに未配線の端子が存在するときは小領域の
合成を繰り返して全ての端子間の配線経路を決定してい
る。
An example of this method will be described with reference to FIG. FIG. 13 is an example in which a wiring route between terminals of the same number is to be determined. In this parallel wiring method, first, as shown in FIG. 13B, a wiring area 110 is divided into a plurality of small areas 120, 121, 122, 123.
(In this example, four divisions). Subsequently, FIG. 13 (c)
The wiring route between the terminals of the same number included in the same small area is determined as follows (in this example, terminals 1, 2, 3, 4, 5, 6
Determine the path between). If the wiring paths between all the terminals are determined, the process is terminated. However, if there are unwired terminals, some small areas are combined to form a new small area. In the example of FIG. 13 (c), there are unwired terminals 7, 8, 9 and 10, so as shown in FIG. 13 (d), a small area is synthesized and a new small area 125 (in this example, the wiring (Same as the area 110), and a wiring path between terminals included in the new small area 125 is determined. Further, when there is an unwired terminal, the synthesis of the small area is repeated to determine the wiring route between all the terminals.

ここで、配線領域110をN個の小領域に分割し、N個
のプロセッサを用いて処理する場合を考える。第一ステ
ップではN個のプロセッサ全てを動作させることが可能
であるために、並列度はNである。次に、第一ステップ
の処理で未配線の端子間の配線経路を決定するために、
いくつかの小領域を合成して新たな小領域とし、新たな
小領域内の未配線の端子間の配線経路を決定しなければ
ならない。これを第二ステップとする。問題を単純にす
るために、お互いに隣接する4個(2×2)の小領域を
合成し、新たな小領域を構成するとする。このとき配線
領域110は、N/4個の小領域で分割されていることにな
る。このため、第二ステップではN/4個のプロセッサし
か動作させる必要がない。さらに第三ステップでは、N/
16個のプロセッサしか動作させる必要がないことにな
る。このように、例示したような並列配線方式では、未
配線の端子対が存在するごとに小領域の合成を行ってゆ
くため、処理が進むにつれて配線領域の分割数が減少す
る。このため並列度が徐々に低下し、ハードウエアに無
駄が生じることになる。
Here, consider a case where the wiring area 110 is divided into N small areas and the processing is performed using N processors. In the first step, the parallelism is N because all N processors can be operated. Next, in order to determine the wiring route between the unwired terminals in the processing of the first step,
It is necessary to combine several small areas into a new small area and determine a wiring path between unwired terminals in the new small area. This is the second step. In order to simplify the problem, it is assumed that four (2 × 2) adjacent small areas are combined to form a new small area. At this time, the wiring region 110 is divided into N / 4 small regions. Thus, in the second step, only N / 4 processors need to be operated. In the third step, N /
You only need to run 16 processors. As described above, in the parallel wiring method as exemplified, the small area is synthesized every time there is an unwired terminal pair, and thus the number of divided wiring areas decreases as the processing proceeds. As a result, the degree of parallelism gradually decreases, resulting in waste of hardware.

一方、一般的な実回路によるレイアウト結果の配線本
数の分布グラフを第14図に示す。このグラフは、第15図
のように配線領域110にカットライン130を入れ、各々の
カットライン130を横切る配線の本数を縦軸に示してい
る。このグラフから、全てのカットライン130をほぼ均
一に配線が横切っていることがわかる。従って、例示し
たような並列配線方式では、小領域間の境界を必ず配線
が横切ることになるので、最終的には全ての小領域を階
層的に1個の領域にまで合成しなければ配線を完了でき
ないことになる。
On the other hand, FIG. 14 shows a distribution graph of the number of wirings as a layout result of a general actual circuit. In this graph, a cut line 130 is inserted in the wiring region 110 as shown in FIG. 15, and the number of wires crossing each cut line 130 is shown on a vertical axis. From this graph, it can be seen that the wiring crosses all the cut lines 130 almost uniformly. Therefore, in the parallel wiring method as exemplified, the wiring always crosses the boundary between the small areas, so that finally, if all the small areas are not hierarchically combined into one area, the wiring may not be formed. It cannot be completed.

(発明が解決しようとする課題) このように、従来の自動配線方式では、大規模化した
回路の配線処理を実用的な処理時間で行うことが不可能
になるという問題があった。また、この問題を解決する
ための並列配線方式においても、プロセッサの利用効率
が悪いという欠点があった。
(Problems to be Solved by the Invention) As described above, the conventional automatic wiring method has a problem that it becomes impossible to perform wiring processing of a large-scale circuit in a practical processing time. Further, the parallel wiring method for solving this problem also has a drawback that the processor utilization efficiency is poor.

そこでこの発明は,このような従来の事情に鑑みてな
されたものであり、その目的とするところは、複数のプ
ロセッサを効率的に用いて自動配線処理を同時並列に行
うことにより、配線経路を決定する処理時間を短縮する
ことができる自動配線処理方式を提供することにある。
Therefore, the present invention has been made in view of such a conventional situation, and an object of the present invention is to execute a wiring route by performing automatic wiring processing simultaneously and in parallel by efficiently using a plurality of processors. An object of the present invention is to provide an automatic wiring processing method capable of shortening a processing time to be determined.

[発明の構成] (課題を解決するための手段) 上記目的を達成させるため、この発明は、半導体集積
回路あるいはプリント基板上に配置された複数の端子間
の配線経路を決定する際に、同電位となる複数の端子間
距離の分析結果から小領域の一辺の長さを求め、この大
きさの小領域で配線領域を分割し、前記小領域を合成し
て複数の中領域を構成し、これら中領域内の、水平ある
いは垂直方向の端子間距離が前記小領域の一辺よりも短
い端子間の配線経路の決定を同時並列に行い、配線経路
が決定された中領域を再び前記小領域に分割し、この分
割された小領域を合成して前回と異なる新たな中領域を
構成し、この新たな中領域内の、水平あるいは垂直方向
の端子間距離が前記小領域の一辺よりも短い端子間の配
線経路の決定を同時並列に行うように構成されている。
[Structure of the Invention] (Means for Solving the Problems) In order to achieve the above object, the present invention provides a method for determining a wiring path between a plurality of terminals arranged on a semiconductor integrated circuit or a printed circuit board. The length of one side of the small region is obtained from the analysis result of the plurality of terminal distances that become potentials, the wiring region is divided by the small region of this size, and the small regions are combined to form a plurality of middle regions, In these middle areas, the horizontal or vertical distance between the terminals is shorter than one side of the small area. Wiring paths between terminals are simultaneously determined in parallel, and the middle area in which the wiring paths are determined is returned to the small area again. Divide and combine the divided small areas to form a new middle area different from the previous one, and in this new middle area, a terminal whose horizontal or vertical distance between terminals is shorter than one side of the small area. Decision of wiring route between them in parallel It is configured to Migihitsuji.

(作用) 上記構成において、この発明は、接続されるべき複数
の端子間距離の分析から、配線領域を分割するための小
領域の一辺の長さを求め、配線領域を複数の小領域に分
解する。小領域の一辺の長さよりも長い配線経路を逐次
的に配線する。
(Operation) In the above configuration, the present invention determines the length of one side of a small region for dividing a wiring region from analysis of a plurality of distances between terminals to be connected, and decomposes the wiring region into a plurality of small regions. I do. A wiring path longer than the length of one side of the small area is sequentially wired.

2個以上の小領域を合成して複数の中領域を構成し、
これらの中領域内の配線経路の決定処理を複数のプロセ
ッサによって同時並列に行う。これにより、水平あるい
は垂直方向の端子間距離が、小領域の一辺よりも短い端
子間の配線経路の決定が同時並列に行われる。中領域内
の配線経路が決定されるごとに、その中領域を再び小領
域に分解する。分解された複数の小領域を再び合成し、
前回と異なる新たな中領域を構成する。この新たな中領
域内の配線経路の決定を、処理が終了したプロセッサに
行わせるという処理を繰り返し行う。
Combining two or more small areas to form a plurality of medium areas,
The processing for determining the wiring route in the middle area is performed by a plurality of processors simultaneously and in parallel. As a result, the wiring paths between the terminals whose horizontal or vertical distance between the terminals is shorter than one side of the small area are determined simultaneously and in parallel. Each time a wiring route in the middle area is determined, the middle area is decomposed again into small areas. Recombines the decomposed small areas again,
Construct a new middle area different from the previous one. The process of causing the processor that has completed the process to determine the wiring route in the new middle area is repeatedly performed.

これにより、複数の中領域内の、水平あるいは垂直方
向の端子間距離が小領域の一辺よりも短い端子間の配線
経路の決定を同時並列に行うことができ、プロセッサの
利用効率も低下することはない。
As a result, wiring paths between terminals in a plurality of middle regions, in which the distance between terminals in the horizontal or vertical direction is shorter than one side of the small region, can be determined simultaneously in parallel, and the utilization efficiency of the processor decreases. There is no.

(実施例) 以下、図面を用いてこの発明の実施例を説明する。Hereinafter, an embodiment of the present invention will be described with reference to the drawings.

第1図は、この発明の自動配線方式を実現するシステ
ム構成の一例である。
FIG. 1 is an example of a system configuration for realizing the automatic wiring system of the present invention.

同図に示すシステムは、LAN(ローカルエリアネット
ワーク)1と、一台のクライアント計算機(以下、クラ
イアントと略す)2と、複数台のサーバ計算機(以下、
サーバと略す)3から構成される。
The system shown in FIG. 1 includes a LAN (local area network) 1, one client computer (hereinafter abbreviated as a client) 2, and a plurality of server computers (hereinafter abbreviated as "client").
3).

クライアント2は、配置が決定された素子や端子デー
タの読み込み、前処理、配線領域の小領域の分割、及び
中規模の領域(以下、中領域と略す)の合成などを行う
ものである。またクライアント2は、サーバ3を制御す
る機能も持っている。
The client 2 performs reading of element and terminal data whose arrangement is determined, preprocessing, division of a small area of a wiring area, synthesis of a medium-sized area (hereinafter, abbreviated as a medium area), and the like. The client 2 also has a function of controlling the server 3.

サーバ3は、クライアント2より指示された小領域内
の配線を行うところである。複数台のサーバ3により、
複数の中領域内の配線処理を同時並列に行っている。
The server 3 is about to perform wiring within the small area specified by the client 2. With a plurality of servers 3,
Wiring processing in a plurality of middle areas is performed simultaneously in parallel.

これらクライアント2やサーバ3は、LAN1を利用して
通信やデータ4の転送を行う。
The client 2 and the server 3 perform communication and transfer data 4 using the LAN 1.

なお、同図にはLAN1を用いたシステム構成を示した
が、これに限らず1本のバスにより接続された複数のプ
ロセッサで共有される半導体記憶装置をもつ並列処理用
計算機、あるいは複数のプロセッサ間を通信チャネルで
接続した並列処理計算機で実現することも可能である。
Although FIG. 1 shows a system configuration using LAN1, the present invention is not limited to this, and a parallel processing computer having a semiconductor memory device shared by a plurality of processors connected by one bus, or a plurality of processors It is also possible to realize with a parallel processing computer connected between them by a communication channel.

以上が、この発明の自動配線方式のシステムの構成で
ある。次にこの発明による配線処理を説明する。
The above is the configuration of the automatic wiring system according to the present invention. Next, the wiring processing according to the present invention will be described.

第2図は、この発明の自動配線方式の一実施例を示す
処理フローである。
FIG. 2 is a process flow showing an embodiment of the automatic wiring system according to the present invention.

図中、破線で示した処理11の部分がクライアント2が
単独に行う処理であり、処理12の部分がサーバ3および
クライアント2が並列に行う処理である。また、処理12
中のステップ31乃至33が、複数のサーバ3が同時並列に
処理するステップである。
In the figure, the portion of the process 11 indicated by a broken line is a process performed by the client 2 alone, and the portion of the process 12 is a process performed by the server 3 and the client 2 in parallel. Processing 12
Steps 31 to 33 in the middle are steps performed by the plurality of servers 3 in parallel.

まず、クライアント2は配置データを読み込む(ステ
ップ21)と、ネット(お互いに配線パターンでつなぐべ
き同電位端子の集合。サーバ3による配線処理では同一
ネットに含まれる端子間を結ぶ配線経路を決定する。通
常、ネットは2個以上の端子で構成される。)を2端子
ネットに分解する(ステップ22)。例えば、第3図
(a)に示す端子P1〜5からなるネット41を、第3図
(b)で示す4個の2端子ネット42、43、44、45に分解
する。以下で説明する配線処理では、これら2端子ネッ
トの配線経路を決定する。第3図(b)の例では端子P1
とP4間の経路、P4とP5間の経路、P3とP4間の経路、P2と
P3間の経路を決定することになる。2端子ネットへ分解
する際は、端子間ができるだけ短くなるような2端子に
分解する。すなわち、端子をグラフ上の接点、端子間の
マンハッタン長を枝の重みとした完全グラフ上で、コス
ト最小の極大木を求める(J.B.Kuruskal,“On the shor
test spanning subtree of a graph and the traveling
salesman problem,"Proc.Amer.Math.Soc.7:1,pp−48−
50,1956.)ことにより行う手法を用いる。
First, when the client 2 reads the arrangement data (step 21), it sets a net (a set of equipotential terminals to be connected to each other by a wiring pattern. In the wiring processing by the server 3, a wiring route connecting terminals included in the same net is determined. Usually, the net is composed of two or more terminals.) Into two-terminal nets (step 22). For example, a net 41 composed of terminals P1 to P5 shown in FIG. 3A is disassembled into four two-terminal nets 42, 43, 44 and 45 shown in FIG. 3B. In the wiring processing described below, the wiring paths of these two-terminal nets are determined. In the example of FIG. 3 (b), the terminal P1
Between P4 and P4, between P4 and P5, between P3 and P4, between P2 and
The route between P3 will be determined. When disassembling into two-terminal nets, they are disassembled into two terminals so that the distance between the terminals is as short as possible. That is, on a complete graph in which the terminals are the nodes on the graph and the Manhattan length between the terminals is the weight of the branch, the maximal tree with the minimum cost is obtained (JBKuruskal, “On the shor
test spanning subtree of a graph and the traveling
salesman problem, "Proc.Amer.Math.Soc. 7: 1, pp-48-
50,1956.).

次に、2端子ネットの端子間の距離の分布を求める
(ステップ23)。ここで、例えば第4図のように2端子
P1,4が配置されていた場合、端子間の距離n1を次の関数
で定義する。
Next, the distribution of the distance between the terminals of the two-terminal net is obtained (step 23). Here, for example, as shown in FIG.
When P1 and P4 are arranged, the distance n1 between the terminals is defined by the following function.

n1=MAX(Δx,Δy) Δx…端子間の水平方向の距離 Δy…端子間の垂直方向の距離 第4図ではΔx>Δyであるので、この2端子間の距
離n1はΔxである。
n1 = MAX (Δx, Δy) Δx: horizontal distance between terminals Δy: vertical distance between terminals In FIG. 4, since Δx> Δy, the distance n1 between these two terminals is Δx.

全ての2端子ネットについてこの距離n1を求め、素子
や端子などの配置後データのn1の累積度数分布を解析す
る。解析された累積度数分布の一例を第5図に示す。横
軸がn1、縦軸がネット数の累積([2端子ネット数/全
2端子ネットの総数]×100[%])である。ステップ2
3では、このような分布を求める。
This distance n1 is obtained for all the two-terminal nets, and the cumulative frequency distribution of n1 of the post-arrangement data of elements and terminals is analyzed. FIG. 5 shows an example of the analyzed cumulative frequency distribution. The horizontal axis is n1, and the vertical axis is the cumulative number of nets ([number of 2-terminal nets / total number of all 2-terminal nets] × 100 [%]). Step 2
In 3, we find such a distribution.

続いて、累積度数分布から小領域の一辺の長さLを求
める(ステップ24)。すなわち、第5図に示すように、
パラメータとして2端子ネットの累積α(0.0≦α<1.
0、一般には0.8〜0.9)を人手によって入力し、このα
に対応する2端子間の距離Lを求める。
Subsequently, the length L of one side of the small area is obtained from the cumulative frequency distribution (step 24). That is, as shown in FIG.
As a parameter, the cumulative α of the two-terminal net (0.0 ≦ α <1.
0, generally 0.8-0.9) is manually entered and this α
The distance L between the two terminals corresponding to is obtained.

さらに、全ての2端子ネットから端子間の距離n1(Δ
xあるいはΔy)がLよりも大きい2端子ネットを選
び、それらの端子間の配線経路を決定する(ステップ2
5)。
Furthermore, the distance n1 (Δ
x or Δy) is selected as a two-terminal net larger than L, and a wiring route between these terminals is determined (step 2).
Five).

次に、配線領域を1辺の長さがLの小領域に分解し
(ステップ26)、それぞれの小領域のデータをクライア
ント2内の記憶領域に記憶させる(ステップ27)。個々
の小領域データにはユニークな識別番号を与える。
Next, the wiring area is decomposed into small areas each having a length of L (step 26), and the data of each small area is stored in a storage area in the client 2 (step 27). Each small area data is given a unique identification number.

以上がクライアント2が単独で行う処理である。これ
らの処理が終了した後、クライアント2はサーバ3に対
して指示を行い配線処理を同時並列に行わせる。以下
に、クライアント2及びサーバ3が並列に行う処理につ
いて説明する。なお、今回の実施例では、隣接する4個
の小領域から1個の中領域を合成する場合について説明
する。
The processing performed by the client 2 alone has been described above. After these processes are completed, the client 2 instructs the server 3 to perform wiring processes in parallel. Hereinafter, processing performed by the client 2 and the server 3 in parallel will be described. In the present embodiment, a case will be described in which one middle area is synthesized from four adjacent small areas.

最初は全てのサーバ3が処理を行っていないのでステ
ップ28からステップ29へ処理が移る(ステップ28肯
定)。クライアント2は、隣接する4個(2×2個)の
小領域データを記憶領域から読み出し、1個の中領域を
合成し、この中領域データをサーバ3に転送する(ステ
ップ29及びステップ30)。
At first, since all the servers 3 are not performing the processing, the processing moves from step 28 to step 29 (Yes in step 28). The client 2 reads out four (2 × 2) adjacent small area data from the storage area, synthesizes one middle area, and transfers the middle area data to the server 3 (steps 29 and 30). .

複数のサーバ3は、中領域データを受信し、中領域内
の未配線の2端子間の配線を同時並列に行う(ステップ
31及びステップ32)。複数のサーバ3のうち、中領域内
の配線処理が終了したサーバ3は、その結果をクライア
ント2に戻す(ステップ33)。
The plurality of servers 3 receive the middle area data, and perform wiring between two unwired terminals in the middle area in parallel at the same time (step
31 and step 32). Of the plurality of servers 3, the server 3 that has completed the wiring process in the middle area returns the result to the client 2 (step 33).

クライアント2は、処理が終了したサーバ3から送ら
れてきた中領域データを再び4個の小領域データに分割
し、記憶領域に記憶する(ステップ35乃至ステップ3
7)。全てのサーバ3の配線処理が終了しておらず、後
述する終了条件を満たしていないので、ステップ28に戻
る(ステップ38否定)。
The client 2 again divides the middle area data sent from the server 3 after the processing into four small area data and stores them in the storage area (steps 35 to 3).
7). Since the wiring processing of all the servers 3 has not been completed and the termination condition described later has not been satisfied, the process returns to Step 28 (No at Step 38).

処理を行っていないサーバ3が有るので、クライアン
ト2は新たな中領域を合成する。このとき、新たな中領
域が処理中の中領域と幾何学的に重なっている場合は、
サーバ3はこの中領域の処理が終了して小領域に分解さ
れるまで待機する。新たな中領域に幾何学的な重なりが
なくなると、ステップ30乃至38を繰り返す。
Since there is a server 3 that has not performed the processing, the client 2 synthesizes a new middle area. At this time, if the new middle area geometrically overlaps with the middle area being processed,
The server 3 waits until the processing of the middle area ends and the server 3 is decomposed into small areas. When there is no longer any geometric overlap in the new middle area, steps 30 to 38 are repeated.

このように、中領域内の配線処理は中領域が幾何学的
な重なりを持たない限り、同時並列に行うことができ
る。従って、配線領域を4N個の小領域に分割した場合
は、N個のプロセッサ(サーバ3)によって並列に処理
することができる。但し、実際の処理では中領域が数百
個になるため、プロセッサの台数は中領域の数よりも少
ないものとなる。
As described above, the wiring processing in the middle area can be performed simultaneously and in parallel as long as the middle area does not have a geometrical overlap. Therefore, when the wiring area is divided into 4N small areas, the processing can be performed in parallel by the N processors (servers 3). However, the number of processors is smaller than the number of middle areas because the number of middle areas is several hundred in actual processing.

ステップ28において、全てのサーバ3が処理を行って
いる場合はステップ34へ移り、いずれのサーバ3も終了
していなければステップ28,34,38を繰り返す(ステップ
28否定、34否定、38否定)。この間に、ステップ34にお
いて処理が終了したサーバ3が有れば、このサーバ3か
ら中領域のデータを受信し(ステップ34肯定及びステッ
プ35)、以下同様の処理を行う。
If it is determined in step 28 that all servers 3 are performing the process, the process proceeds to step 34, and if none of the servers 3 is completed, steps 28, 34, and 38 are repeated (step 28).
28 denial, 34 denial, 38 denial). During this time, if there is any server 3 whose processing has been completed in step 34, data in the middle area is received from this server 3 (step 34 affirmative and step 35), and the same processing is performed thereafter.

上記の処理(ステップ28乃至ステップ38)を未配線の
端子が存在しなくなるまで繰り返す。具体的には次に示
す条件が成立するまで繰り返す。
The above processing (steps 28 to 38) is repeated until there are no unwired terminals. Specifically, the process is repeated until the following condition is satisfied.

まず、第6図(a)において、小領域61を含むような
中領域62の構成パターンは、第6図(b)〜(e)に示
すような4種類;PT−A,PT−B,PT−C,PT−Dが存在す
る。第7図は配線領域110の一例であるが、小領域70は
内側に生成された小領域、小領域71〜74は4角に生成さ
れた小領域である。また、小領域75〜78(図中、斜線部
分)は外側に生成された小領域である。
First, in FIG. 6 (a), there are four types of configuration patterns of the middle area 62 including the small area 61 as shown in FIGS. 6 (b) to 6 (e); PT-A, PT-B, There are PT-C and PT-D. FIG. 7 shows an example of the wiring region 110. The small region 70 is a small region generated inside, and the small regions 71 to 74 are small regions generated at four corners. The small regions 75 to 78 (hatched portions in the drawing) are small regions generated outside.

ステップ28乃至38の繰り返しは、次の9個の条件が全
て満たされたときに停止する。すなわち、 (1)それぞれの小領域70が、第6図(b)〜(e)に
示す4つのパターンの中領域全てで処理された。
The repetition of steps 28 to 38 stops when all of the following nine conditions are satisfied. (1) Each small area 70 was processed in all the middle areas of the four patterns shown in FIGS. 6 (b) to 6 (e).

(2)小領域71が、第6図(b)に示すPT−Aパターン
の中領域で処理された。
(2) The small area 71 was processed in the middle area of the PT-A pattern shown in FIG.

(3)小領域72が、第6図(c)に示すPT−Bパターン
の中領域で処理された。
(3) The small area 72 was processed in the middle area of the PT-B pattern shown in FIG. 6 (c).

(4)小領域73が、第6図(d)に示すPT−Cパターン
の中領域で処理された。
(4) The small area 73 was processed in the middle area of the PT-C pattern shown in FIG.

(5)小領域74が、第6図(e)に示すPT−Dパターン
の中領域で処理された。
(5) The small region 74 was processed in the middle region of the PT-D pattern shown in FIG.

(6)それぞれの小領域75が、第6図(c),(d)に
示すPT−B,PT−Cパターンの中領域の両方で処理され
た。
(6) Each small region 75 was processed in both the PT-B and PT-C middle regions shown in FIGS. 6 (c) and 6 (d).

(7)それぞれの小領域76が、第6図(b),(d)に
示すPT−A,PT−Cパターンの中領域の両方で処理され
た。
(7) Each small area 76 was processed in both the PT-A and PT-C pattern middle areas shown in FIGS. 6 (b) and 6 (d).

(8)それぞれの小領域77が、第6図(b),(e)に
示すPT−A,PT−Dパターンの中領域の両方で処理され
た。
(8) Each small region 77 was processed in both the PT-A and PT-D pattern middle regions shown in FIGS. 6 (b) and 6 (e).

(9)それぞれの小領域78が、第6図(c),(e)に
示すPT−B,PT−Dパターンの中領域の両方で処理され
た。
(9) Each small region 78 was processed in both the PT-B and PT-D pattern middle regions shown in FIGS. 6 (c) and 6 (e).

以上9個の条件が全て満たされると、クライアント2
は記憶領域から全ての小領域データを読み出し、合成し
て配線結果を出力する(ステップ38乃至ステップ40)。
When all of the above nine conditions are satisfied, the client 2
Reads out all the small area data from the storage area, combines them, and outputs the wiring result (steps 38 to 40).

ステップ25において、端子間の距離n1(Δxあるいは
Δy)がLより長い2端子ネットの配線を行っているの
で、残りの未配線の2端子ネットは全て端子が隣接する
2個の小領域内に納まっている。従って、上記の4個の
パターンで中領域を構成し、配線を行えば全ての2端子
ネットの配線が完了する。
In step 25, since the wiring of the two-terminal net in which the distance n1 (Δx or Δy) between the terminals is longer than L is performed, all the remaining unwired two-terminal nets are within the two small areas where the terminals are adjacent. I'm in it. Therefore, when the middle area is formed by the above four patterns and wiring is performed, wiring of all two-terminal nets is completed.

第8図及び第9図に、以上の処理の模式図を示す。 FIGS. 8 and 9 are schematic diagrams of the above processing.

第8図は、クライアント2によるステップ22〜27の処
理を示す模式図である。同図のように、同電位の複数端
子81が2端子ネット82に分解されている。端子81間がL
より長い2端子ネット82の配線経路111が決定されてい
る。そして、配線領域110が一辺の長さがLである複数
の小領域61に分解され、これらの小領域データ4が記憶
領域83に記憶されている。
FIG. 8 is a schematic diagram showing the processing of steps 22 to 27 by the client 2. As shown in the figure, a plurality of terminals 81 having the same potential are decomposed into a two-terminal net 82. L between terminals 81
The wiring path 111 of the longer two-terminal net 82 is determined. Then, the wiring area 110 is decomposed into a plurality of small areas 61 each having a side length L, and the small area data 4 is stored in the storage area 83.

第9図は、ステップ28からステップ38の並列処理を表
す模式図である。この図では、配線領域110を16個の小
領域16に分割し、隣接する4個の小領域16から中領域91
を合成する場合を示している。また、2台のサーバ3で
並列処理を行う場合を示している。
FIG. 9 is a schematic diagram showing the parallel processing of steps 28 to 38. In this figure, the wiring area 110 is divided into 16 small areas 16 and four adjacent small areas 16
Are synthesized. Also, a case where parallel processing is performed by two servers 3 is shown.

第9図(a)は、ステップ28〜32を表しており、クラ
イアント2によって小領域1,2,5,6及び小領域11,12,15,
16が合成され、2個の中領域91が構成される。これらの
中領域91のデータ4が、それぞれ2台のサーバ3へ転送
される。さらに、データ4を受信したサーバ3によって
中領域91内の配線処理が行われる。
FIG. 9 (a) shows steps 28 to 32, in which the small area 1,2,5,6 and the small area 11,12,15,
16 are combined to form two middle regions 91. The data 4 in the middle area 91 is transferred to two servers 3 respectively. Further, the wiring processing in the middle area 91 is performed by the server 3 that has received the data 4.

第9図(b)は、ステップ33〜37を表しており、処理
が終了したサーバ3(図中、左側)は中領域91のデータ
4をクライアント2へ送信する。クライアント2は、受
信したデータ4を再び小領域1,2,5,6に分解し、記憶領
域83に記憶する。この配線処理により、第6図(c)に
示したPT−Bパターンの処理が終了したことになる。こ
れため、小領域1内の端子間、及び小領域1内の端子と
接続されるべき小領域2,5,6内の端子間の配線経路が全
て決定する。なお、図中右側のサーバ3は、配線処理中
である。
FIG. 9 (b) shows steps 33 to 37, and the server 3 (the left side in the figure) that has completed the process transmits the data 4 in the middle area 91 to the client 2. The client 2 decomposes the received data 4 into small areas 1, 2, 5, and 6 again and stores the data in the storage area 83. By this wiring processing, the processing of the PT-B pattern shown in FIG. 6 (c) is completed. Therefore, the wiring paths between the terminals in the small area 1 and between the terminals in the small areas 2, 5, and 6 to be connected to the terminals in the small area 1 are all determined. The server 3 on the right side in the figure is in the process of wiring.

第9図(c)は、サーバ3が処理を終了することによ
って繰り返されるステップ28〜32を表している。クライ
アント2によって小領域5,6,9,10が合成され、新たな中
領域91が構成される。この新たな中領域91は、第9図
(a)と同様にサーバ3へ転送され、中領域91内の配線
処理が行われる。
FIG. 9C shows steps 28 to 32 which are repeated when the server 3 ends the processing. The small areas 5, 6, 9, and 10 are combined by the client 2 to form a new middle area 91. This new middle area 91 is transferred to the server 3 as in FIG. 9 (a), and the wiring processing in the middle area 91 is performed.

このように、この発明は複数のサーバ3によって中領
域の配線処理を同時並列に行っている。次に、この発明
による処理速度の見積を示す。
As described above, in the present invention, the wiring processing of the middle area is performed by the plurality of servers 3 in parallel. Next, an estimation of the processing speed according to the present invention will be described.

一般に、並列処理は次式で性能評価することができ
る。
In general, the performance of the parallel processing can be evaluated by the following equation.

P=(Sp+Ss)/(Sp/N+Ss) ……(1) Pは並列化による処理の速度向上比である。Spは処理
中で並列化できる部分を単独のプロセッサで行った場合
の処理時間、Ssは処理中で並列化できない部分の処理時
間、Nはプロセッサ数である。Ss=0とすると、Pの値
はNとなり、これはN個のプロセッサを用いることによ
ってN倍の高速化が得られることを意味する。P=Nが
理想的な並列処理による性能値である。従ってSsを小さ
く、Nを大きくとることができれば並列処理による性能
を向上させることができる。
P = (Sp + Ss) / (Sp / N + Ss) (1) P is a processing speed improvement ratio by parallelization. Sp is the processing time when the part that can be parallelized during processing is performed by a single processor, Ss is the processing time of the part that cannot be parallelized during processing, and N is the number of processors. If Ss = 0, the value of P is N, which means that N-times speedup can be obtained by using N processors. P = N is a performance value by ideal parallel processing. Therefore, if Ss can be made small and N can be made large, the performance by parallel processing can be improved.

この発明では、Ssはクライアント2が単独でを行う処
理11に要する時間であり、Ssは並列に行っている処理12
を単独のプロセッサで行ったとした場合に要する処理時
間である。問題を単純にするために実際の配線を行って
いる時間だけを考え、Ssに要する部分をステップ25だけ
とし、配線経路を決定する時間を一定値と仮定する。
In the present invention, Ss is the time required for the processing 11 performed by the client 2 alone, and Ss is the processing 12 performed in parallel.
Is the processing time required when it is performed by a single processor. To simplify the problem, only the actual wiring time is considered, the portion required for Ss is only step 25, and the time for determining the wiring path is assumed to be a constant value.

この発明では、ステップ25で配線経路を決定する2端
子ネット(端子間がLよりも長いネット)数が多いほど
Ssが大きくなるため、並列処理による性能が低下する。
また、配線領域の分割数が少ないほど多くのプロセッサ
を使用することができなくなるので性能が低下する。こ
れはステップ24で求めるLの値、およびパラメータα
(0.0≦α<1.0)によっている。上の単純化による仮定
から、Ssの値はSs=Sp(1−α)/αとなる。また、配
線領域の1辺の長さをVとすると、(V/L)個の小領
域に分割することができ、この場合にはN=(V/L)2/4
となる。以上により(1)式は P=1/{4α(L/v)+(1−α)} となる。従って、αを大きく、V/Lを大きくすることが
できれば並列処理による性能を向上させることができ
る。(1−α)は処理内に含まれる逐次処理の割合、V/
Lは配線領域の分割数に比例する値である。
In the present invention, the larger the number of two-terminal nets (nets whose terminals are longer than L) for determining the wiring route in step 25, the greater the number.
Since Ss increases, the performance due to parallel processing decreases.
Further, as the number of divisions of the wiring area is smaller, more processors cannot be used, so that the performance is reduced. This is the value of L obtained in step 24 and the parameter α
(0.0 ≦ α <1.0). From the simplification assumption above, the value of Ss is Ss = Sp (1−α) / α. Further, when the length of one side of the wiring region and V, (V / L) can be divided into two subregions, in this case N = (V / L) 2 /4
Becomes From the above, the equation (1) becomes P = 1 / {4α (L / v) 2 + (1−α)}. Therefore, if α can be increased and V / L can be increased, the performance by parallel processing can be improved. (1-α) is the ratio of sequential processing included in the processing, V /
L is a value proportional to the number of divisions of the wiring area.

第10図及び第11図に、実回路をレイアウト配置プログ
ラムによって配置処理した後の、端子間距離n1の個数と
累積度数分布グラフを示す。第10図(a)及び第11図
(a)が、端子間距離n1の個数を表すグラフであり、第
10図(b)及び第11図(b)が、端子間距離n1の累積度
数分布グラフである。第10図は、規模が5000ゲートのゲ
ートアレイ母体に2端子ネット数が約1700の回路を配置
した場合のグラフである。第11図は規模が38000ゲート
のゲートアレイ母体に2端子ネット数が約13000の回路
を配置した場合のグラフである。これらのグラフから分
かるように、正常なレイアウト配置プログラムによって
配置された回路のネット内の端子間距離n1は、いずれも
短いところに極端に集中している。しかもこの傾向は回
路規模、配線領域の大きさに寄らないことがわかる。こ
のことから、αを十分大きな値に保ったままLを小さく
することができる。さらに、端子間距離の累積度数は回
路規模、配線領域の大きさに寄らないという特性が有る
ため、回路規模に寄らず小領域の大きさは、ほぼ一定に
なる。よって回路が大規模になるほどV/Lが大きくなり
配線領域の分割数を増やすことができるため並列処理の
効果は大きくなる。
10 and 11 show graphs of the number of inter-terminal distances n1 and the cumulative frequency distribution after the actual circuit is arranged by the layout arrangement program. FIGS. 10 (a) and 11 (a) are graphs showing the number of distances n1 between terminals.
FIGS. 10 (b) and 11 (b) are cumulative frequency distribution graphs of the distance n1 between terminals. FIG. 10 is a graph in the case where a circuit having about 1700 two-terminal nets is arranged in a gate array matrix having a scale of 5000 gates. FIG. 11 is a graph showing a case where a circuit having about 13000 two-terminal nets is arranged in a gate array matrix having a scale of 38000 gates. As can be seen from these graphs, the inter-terminal distance n1 in the net of the circuit arranged by the normal layout arrangement program is extremely concentrated on a short place. In addition, this tendency does not depend on the circuit scale and the size of the wiring area. From this, it is possible to reduce L while maintaining α at a sufficiently large value. Furthermore, since the cumulative frequency of the inter-terminal distance does not depend on the circuit scale and the size of the wiring area, the size of the small area becomes almost constant regardless of the circuit scale. Therefore, as the circuit becomes larger, V / L becomes larger and the number of divided wiring regions can be increased, so that the effect of the parallel processing is increased.

なお、今回の実施例では、端子間距離n1が小領域の一
辺の長さL以上である端子間の配線経路の決定処理(ス
テップ25)を、並列処理を行う処理12の前に行っている
が、この発明はこれに限定されるものではない。例え
ば、ステップ39の後にこの処理を行っても、同様な効果
を得ることができる。
In the present embodiment, the process (step 25) of determining the wiring path between the terminals whose distance n1 between the terminals is equal to or greater than the length L of one side of the small region is performed before the process 12 of performing the parallel processing. However, the present invention is not limited to this. For example, a similar effect can be obtained by performing this processing after step 39.

[発明の効果] 以上説明してきたように、この発明による自動配線方
式によれば、複数のプロセッサを用いて複数の中領域内
の配線経路の決定処理を同時並列に行っている。これに
より、プロセッサを効率的に利用でき、配線経路の決定
処理時間を大幅に短縮することができる。
[Effects of the Invention] As described above, according to the automatic wiring method according to the present invention, the determination processing of the wiring routes in the plurality of middle regions is performed simultaneously and in parallel using the plurality of processors. As a result, the processor can be used efficiently, and the processing time for determining the wiring path can be significantly reduced.

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

第1図はこの発明の自動配線方式を実現するためのシス
テム構成の一例を示すブロック図、 第2図はこの発明の自動配線方式の処理作用を説明する
ための処理フロー、 第3図及び第4図は2端子ネットヘの分解及び端子間距
離を説明するための図、 第5図は小領域の一辺の長さLを求める際に用いられる
累積度数分布グラフ、 第6図及び第7図は中領域の合成パターン及び処理の終
了条件を説明するための図、 第8図及び第9図はこの発明の配線処理の様子を示す模
式図、 第10図及び第11図は端子間距離の個数と累積分布を表す
グラフ、 第12図及び第13図は従来の自動配線方式を説明するため
の図、 第14図及び第15図は配線領域上の配線経路の分布を示す
図である。 1……LAN(ローカルエリアネットワーク) 2……クライアント計算機 3……サーバ計算機 4……データ 41……ネット 42,43,44,45,82……2端子ネット 61,70〜78……小領域 62……中領域 81……端子 83……記憶装置 91……処理中の中領域 110……配線領域 111……配線経路
FIG. 1 is a block diagram showing an example of a system configuration for realizing the automatic wiring system of the present invention. FIG. 2 is a processing flow for explaining the processing operation of the automatic wiring system of the present invention. FIG. 4 is a diagram for explaining the decomposition into two-terminal nets and the distance between terminals. FIG. 5 is a cumulative frequency distribution graph used for obtaining the length L of one side of a small region. FIGS. FIGS. 8 and 9 are schematic diagrams showing the state of the wiring process according to the present invention, and FIGS. 10 and 11 are diagrams showing the number of distances between terminals. 12 and 13 are diagrams for explaining a conventional automatic wiring method, and FIGS. 14 and 15 are diagrams showing distribution of wiring paths on a wiring region. 1 LAN (local area network) 2 Client computer 3 Server computer 4 Data 41 Net 42,43,44,45,82 2-terminal net 61,70-78 Small area 62: Middle area 81: Terminal 83: Storage device 91: Middle area being processed 110: Wiring area 111: Wiring path

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】半導体集積回路あるいはプリント基板上に
配置された複数の端子間の配線経路を決定する際に、 同電位となる複数の端子間距離の分析結果から小領域の
一辺の長さを求め、 この大きさの小領域で配線領域を分割し、 前記小領域を合成して複数の中領域を構成し、 これら中領域内の、水平あるいは垂直方向の端子間距離
が前記小領域の一辺よりも短い端子間の配線経路の決定
を同時並列に行い、 配線経路が決定された中領域を再び前記小領域に分割
し、 この分割された小領域を合成して前回と異なる新たな中
領域を構成し、 この新たな中領域内の、水平あるいは垂直方向の端子間
距離が前記小領域の一辺よりも短い端子間の配線経路の
決定を同時並列に行うことを特徴とする自動配線方式。
When a wiring path between a plurality of terminals arranged on a semiconductor integrated circuit or a printed circuit board is determined, the length of one side of a small region is determined from an analysis result of a distance between a plurality of terminals having the same potential. The wiring area is divided by the small area of this size, the small areas are combined to form a plurality of middle areas, and the horizontal or vertical distance between the terminals in the middle area is equal to one side of the small area. Determination of the wiring path between the shorter terminals is performed simultaneously and in parallel, the middle area in which the wiring path is determined is again divided into the small areas, and the divided small areas are combined to form a new middle area different from the previous one. An automatic wiring method in which a wiring path between terminals in the new middle area, in which the distance between terminals in the horizontal or vertical direction is shorter than one side of the small area, is determined simultaneously and in parallel.
JP2320997A 1990-07-09 1990-11-27 Automatic wiring method Expired - Fee Related JP2974398B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2320997A JP2974398B2 (en) 1990-11-27 1990-11-27 Automatic wiring method
US07/727,431 US5361214A (en) 1990-07-09 1991-07-09 Method for automatically determining wiring routes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2320997A JP2974398B2 (en) 1990-11-27 1990-11-27 Automatic wiring method

Publications (2)

Publication Number Publication Date
JPH04191980A JPH04191980A (en) 1992-07-10
JP2974398B2 true JP2974398B2 (en) 1999-11-10

Family

ID=18127633

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2320997A Expired - Fee Related JP2974398B2 (en) 1990-07-09 1990-11-27 Automatic wiring method

Country Status (1)

Country Link
JP (1) JP2974398B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7877709B2 (en) 2007-03-22 2011-01-25 Renesas Electronics Corporation Method of placing wires

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7877709B2 (en) 2007-03-22 2011-01-25 Renesas Electronics Corporation Method of placing wires

Also Published As

Publication number Publication date
JPH04191980A (en) 1992-07-10

Similar Documents

Publication Publication Date Title
Goto An efficient algorithm for the two-dimensional placement problem in electrical circuit layout
Li et al. Polymorphic-torus architecture for computer vision
US5666289A (en) Flexible design system
US5361214A (en) Method for automatically determining wiring routes
Jones et al. Performance of a parallel algorithm for standard cell placement on the Intel hypercube
Bekhale et al. Reconfiguration strategies for VLSI processor arrays and trees using a modified Diogenes approach
Olukotun et al. A preliminary investigation into parallel routing on a hypercube computer
JP2974398B2 (en) Automatic wiring method
Liszka et al. Problems with comparing interconnection networks: Is an alligator better than an armadillo?
Balkan et al. An area-efficient high-throughput hybrid interconnection network for single-chip parallel processing
JPH0675930A (en) Parallel processor system
Yen et al. Strategies for mapping Lee's maze routing algorithm onto parallel architectures
Yeh et al. A class of parallel architectures for fast Fourier transform
Agrawal et al. Hybrid graph-based networks for multiprocessing
Raghavendra HMESH: A VLSI architecture for parallel processing
Goto et al. lambda, an integrated master-slice LSI CAD system
JPH0645446A (en) Method of wiring layout
Abraham Interconnection networks: Dimensions in design
Larmore et al. Layout placement for sliced architecture
Xing et al. Parallel global routing algorithms for standard cells
Torralba A systolic array with applications to image processing and wire-routing in VLSI circuits
Magnuson A comparison of constructive placement algorithms
Davis IV et al. The performance analysis of partitioned circuit switched multistage interconnection networks
JáJá Parallel algorithms for VLSI routing
Eklund et al. Hierarchical wiring in multigrids

Legal Events

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

Free format text: PAYMENT UNTIL: 20070903

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20080903

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20080903

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20090903

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees