JP3178603B2 - Automatic component placement method, system, and recording medium recording automatic component placement program - Google Patents

Automatic component placement method, system, and recording medium recording automatic component placement program

Info

Publication number
JP3178603B2
JP3178603B2 JP15339999A JP15339999A JP3178603B2 JP 3178603 B2 JP3178603 B2 JP 3178603B2 JP 15339999 A JP15339999 A JP 15339999A JP 15339999 A JP15339999 A JP 15339999A JP 3178603 B2 JP3178603 B2 JP 3178603B2
Authority
JP
Japan
Prior art keywords
component
dimensional
arrangement
data
components
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
JP15339999A
Other languages
Japanese (ja)
Other versions
JP2000067089A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP15339999A priority Critical patent/JP3178603B2/en
Publication of JP2000067089A publication Critical patent/JP2000067089A/en
Application granted granted Critical
Publication of JP3178603B2 publication Critical patent/JP3178603B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、印刷配線板の部品
あるいは半導体集積回路のセルの形状データを読み込
み、部品端子同士を接続するネットデータを読み込み、
その部品を二次元空間に配置する処理をコンピュータで
実行させる自動部品配置処理システム、あるいは電子回
路図、コンピュータプログラムのフローチャートなどの
シンボル位置を自動配置する自動部品配置および自動部
品配置システムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention reads the shape data of a component of a printed wiring board or a cell of a semiconductor integrated circuit, and reads net data for connecting component terminals.
The present invention relates to an automatic component placement processing system that causes a computer to execute a process of placing the component in a two-dimensional space, or an automatic component placement and automatic component placement system that automatically places symbol positions such as electronic circuit diagrams and flowcharts of computer programs.

【0002】[0002]

【従来の技術】従来の印刷配線板あるいは半導体集積回
路の自動部品配置システムの一例が、特開平6−332
983号公報「部品配置最適化方法」に記載されてい
る。この従来の自動部品配置システムは、キーボード等
の入力手段と、CRTディスプレイ等の表示装置と、C
PUとメモリとハードディスクからなるデータ処理装置
とから構成されるコンピュータシステムにプログラムを
与えて動作する様に構成されている。ここで引用した従
来例は、初期配置を行なった後に部品位置を交換し総配
線長を改善していく。その際に部品の交換が容易になる
ように、部品をその大きさが均一なブロックまたはブロ
ックの集合に仮想的に変換し、そのブロックの最善の部
品配置を計算し、その後に、部品を仮想的な形状から実
際の形状に戻し配置するものであった。
2. Description of the Related Art An example of a conventional automatic component placement system for a printed wiring board or a semiconductor integrated circuit is disclosed in Japanese Patent Laid-Open No. 6-332.
No. 983, “Component placement optimization method”. This conventional automatic component placement system includes input means such as a keyboard, a display device such as a CRT display,
It is configured to operate by giving a program to a computer system including a PU, a memory, and a data processing device including a hard disk. In the conventional example cited here, the parts positions are exchanged after the initial arrangement is performed to improve the total wiring length. In order to facilitate the replacement of the parts, the parts are virtually transformed into blocks or blocks of uniform size, the best part arrangement of the blocks is calculated, and then the parts are virtualized. In this case, the original shape is returned to the actual shape.

【0003】また、第2の従来例が特開平3−1087
39号公報「高集積回路のブロック配置配線方法」に記
載されている。この従来の自動部品配置システムは、回
路ブロック間をばねで連結した質点系のばねモデルを使
い、その力学モデルのエネルギーはネット長の二乗和に
なるが、これを評価関数とし、それを最小にする位置、
すなわち重心位置に部品を配置する重心法により部品を
初期配置する。次に、その部品(回路ブロック)をその
面積相当の円で近似し、その円の配置を計算した後に、
部品の形状を円から実形状に変更し部品配置を調整して
いた。また、特開平3−124046号公報「集積回路
における回路ブロック配置の設計装置」も同様に、質点
系のばねモデルを用いて初期配線していた。
A second conventional example is disclosed in Japanese Patent Laid-Open Publication No. Hei 3-1087.
No. 39, “Block Arrangement and Wiring Method for Highly Integrated Circuits”. This conventional automatic component placement system uses a mass model spring model in which circuit blocks are connected by springs, and the energy of the dynamic model is the sum of squares of the net length, which is used as an evaluation function and minimized. Position
That is, the parts are initially arranged by the center of gravity method of arranging the parts at the position of the center of gravity. Next, after approximating the part (circuit block) with a circle corresponding to the area and calculating the arrangement of the circle,
The component shape was changed from a circle to an actual shape, and the component placement was adjusted. Similarly, Japanese Patent Application Laid-Open No. 3-124046, entitled "Designer for Arrangement of Circuit Blocks in an Integrated Circuit", similarly performs initial wiring using a mass model spring model.

【0004】さらに、第3の従来例が特開平6−332
984号公報「素子配置方法」に記載されている。この
従来の自動部品配置システムは、予め定められた数行の
配置行の上に素子を配置し、その配置位置を重心法で計
算し、その位置の座標値の大小に従って素子の配置順序
を定め、素子をその順に、素子同士が重ならない様に配
置していく。
A third conventional example is disclosed in Japanese Patent Laid-Open No. 6-332.
No. 984, entitled "Element Arrangement Method". This conventional automatic component placement system arranges elements on a predetermined number of arrangement rows, calculates the arrangement position by the centroid method, and determines the arrangement order of the elements according to the magnitude of the coordinate value of the position. The elements are arranged in that order so that the elements do not overlap with each other.

【0005】第1の従来例の印刷配線板の自動部品配置
システムは、初期配置を行なった後に、評価関数を用い
て、初期配置を改善して部品配置の最適化を行なう。評
価関数として総配線長を用い、総配線長が最小になる最
適な部品配置を求める。この総配線長は、ネットで結ば
れる部品端子間のマンハッタン距離の総和として定義さ
れる。また、他の評価関数として、第2、第3の従来例
のように、ネットで結ばれる部品端子間の距離の二乗和
を総配線長に替わる評価関数とする場合もある。
[0005] In the first prior art automatic component placement system for printed wiring boards, after the initial placement, the initial placement is improved using the evaluation function to optimize the component placement. Using the total wiring length as an evaluation function, an optimal component arrangement that minimizes the total wiring length is obtained. The total wiring length is defined as the sum of the Manhattan distances between component terminals connected by a net. Further, as another evaluation function, as in the second and third conventional examples, the sum of squares of the distances between component terminals connected by a net may be used as an evaluation function that replaces the total wiring length.

【0006】このような最適な部品配置を見つける問題
には解折的な解法が存在せず、最適解を見つけるために
は、全部品の配置可能なあらゆる組み合わせ毎に総配線
長を計算し、その値が最小になる組み合わせを選定する
方法が考えられる。しかし、この場合の組み合わせの数
は部品数Nの階乗N!であり、最適解を見つけるための
計算にかかる時間は部品数Nの増加とともに爆発的に増
大する。そのため、従来より、最適解に近い解を高速に
見つける部品配置改善のアルゴリズムの開発が行なわれ
てきた。
[0006] There is no solution to the problem of finding the optimal component placement. To find the optimal solution, the total wiring length is calculated for each possible combination of all components. A method of selecting a combination that minimizes the value can be considered. However, the number of combinations in this case is the factorial N! Therefore, the time required for the calculation for finding the optimal solution explosively increases with the number of parts N. For this reason, conventionally, an algorithm for improving the component arrangement for quickly finding a solution close to the optimal solution has been developed.

【0007】図31はこの部品配置改善方法の1つであ
る、ペア交換法を示すフローチャートである。このアル
ゴリズムは、まず、ステップ701で部品の初期配置を
行なう。この部品の初期配置はランダムに決められた
り、ペアリンキング法、あるいはクラスタ成長法、ある
いは重心法などの方法で、ある程度総配線長が短くなる
ように決めてもよい。次に、ステップ702で1回のサ
イクルを始める。次に、ステップ703で1回のサイク
ルでまだ選ばれていない部品から1つの部品Biを選択
する。ここで、Bの添え字iは部品の番号とする。次
に、ステップ704で選択された部品Biと配置位置を
交換した場合に最も総配線長が短くなる部品の集合{B
j}を、部品Biと交換可能な部品の集合から求め、ス
テップ705でその交換により総配線長が短くなる場合
は、ステップ706でその内の1つの部品と部品Biの
配置位置を交換する。全ての部品を計算するまでこの処
理を繰り返す(ステップ707)。そして、以上のステ
ップ703から707までの処理を行なった結果の総配
線長を、それ以前の総配線長と比較し、総配線長の低減
率が予め定めた値より小さくなるまで処理を繰り返す
(ステップ708)。
FIG. 31 is a flowchart showing a pair exchange method, which is one of the component arrangement improving methods. In this algorithm, first, in step 701, initial placement of components is performed. The initial arrangement of the components may be determined at random or by a method such as a pair linking method, a cluster growth method, or a center of gravity method, so that the total wiring length is reduced to some extent. Next, in step 702, one cycle is started. Next, in step 703, one component Bi is selected from components not yet selected in one cycle. Here, the subscript i of B is a part number. Next, a set {B} of parts having the shortest total wiring length when the arrangement position is exchanged with the part Bi selected in step 704.
j} is obtained from a set of parts that can be replaced with the part Bi. If the total wiring length is reduced by the replacement in step 705, the arrangement position of one of the parts and the part Bi is replaced in step 706. This process is repeated until all parts are calculated (step 707). Then, the total wiring length as a result of performing the processing of the above steps 703 to 707 is compared with the previous total wiring length, and the processing is repeated until the reduction rate of the total wiring length becomes smaller than a predetermined value ( Step 708).

【0008】しかし、以上の様に単に部品交換で総配線
長が小さくなる部品配置を選ぶことを繰り返す方法で
は、最後にどの部品を交換しても総配線長が小さくなら
ない配置が出来上がるが、この特徴を持った部品配置は
複数存在し、この様な解に落ち着いた場合には、総配線
長がそれより小さい解があるにもかかわらず、この方法
ではその解を発見することが不可能になってしまう局所
安定化という現象を生じる欠点があった。
However, as described above, in the method of repeatedly selecting the component arrangement in which the total wiring length is reduced by replacing the components, an arrangement in which the total wiring length is not reduced even when any component is replaced last is completed. If there are multiple parts arrangements with features, and such a solution is settled, it is impossible to find a solution with this method even though there is a solution with a smaller total wiring length There is a disadvantage that a phenomenon called local stabilization occurs.

【0009】そのため、分子の加熱時のかく乱による状
態遷移により局所安定化から抜け出す原理を部品配置探
索の問題に適用したシミュレーテッドアニーリング法を
併用して最適な解を得ようとしてきた。すなわち、部品
配置の解を1つに安定させず、ランダムに解をいくつか
に変えた状態から、より評価関数が改善された解を選ぶ
方法である。また、遺伝的アルゴリズムの手法で、得ら
れた解の一部をランダムにかく乱した「子孫」の解を得
て、そこから評価関数が改善された解を選ぶ処理を繰り
返すことで解を改善する手法も知られている。
For this reason, an attempt has been made to obtain an optimal solution by using a simulated annealing method in which the principle of deviating from local stabilization due to a state transition due to disturbance during heating of a molecule is applied to a problem of component arrangement search. In other words, there is a method in which a solution having a more improved evaluation function is selected from a state in which some solutions are changed at random without stabilizing the solution of the component arrangement to one. In addition, by using a genetic algorithm, we obtain a solution of "descendants" that randomly disturbs a part of the obtained solution, and improve the solution by repeating the process of selecting a solution with an improved evaluation function from it. Techniques are also known.

【0010】しかし、上述した従来のシミュレーテッド
アニーリング法あるいは遺伝的アルゴリズム法による自
動部品配置システムは、ペア交換法により解を求める時
間より桁ちがいに多くの計算時間を有するという問題が
ある。その理由は、シミュレーテッドアニーリング法や
遺伝的アルゴリズム法はランダムなかく乱を利用した多
数の微妙に異なる解を作り、それぞれにペア交換法を適
用して得られた解から改善された解を得、それをまたか
く乱して多数の解を得て、それを再び評価するので、多
くの計算時間を必要とするためである。
However, the above-mentioned conventional automatic component placement system using the simulated annealing method or the genetic algorithm method has a problem that it takes much more calculation time than the time required to obtain a solution by the pair exchange method. The reason is that the simulated annealing method and the genetic algorithm method make a number of subtly different solutions using random perturbation, and obtain an improved solution from the solution obtained by applying the pair exchange method to each, Because it disturbs it again, obtains many solutions, and evaluates it again, which requires a lot of calculation time.

【0011】この問題の本質は、最適解に至る道が断た
れない様にかく乱を適切にかつ十分広範に行なわなけれ
ばいけないことと、ランダムなかく乱を加えるのに比し
て、解へ収束させる処理もかく乱を十分回復できるだけ
多くの収束処理を行なわなければならないからである。
結局、最適解により近い解を得るためには、なるべく大
きいかく乱をし、次に、そのかく乱を収束させるのに十
分な収束処理を行なう、つまり、より良い解を得るため
にはより多くの処理時間を必要とするという問題があっ
た。
The essence of this problem is that the disturbance must be performed appropriately and sufficiently extensively so that the path to the optimal solution is not cut off, and the solution is converged to the solution as compared to the case where random disturbance is applied. This is because as much convergence processing must be performed as possible to sufficiently recover the disturbance.
After all, in order to obtain a solution that is closer to the optimal solution, perform as much disturbance as possible, and then perform sufficient convergence processing to converge the disturbance. In other words, more processing is required to obtain a better solution There was a problem that time was required.

【0012】一方、第2、第3の従来例では、質点系の
ばねモデルを用いた初期配置を行ない計算機の処理時間
は短く改善していたが、第1の問題は、質点系のばねモ
デルによる初期配置では大面積のブロックと小面積のブ
ロックを区別できない、その解は部品の面積の影響を反
映していない問題があった。
On the other hand, in the second and third conventional examples, the initial arrangement using the mass-system spring model is performed to shorten the processing time of the computer, but the first problem is that the mass-model spring model In the initial arrangement according to the above, a large area block and a small area block cannot be distinguished, and there is a problem that the solution does not reflect the influence of the area of the component.

【0013】また、第2の問題は、以下に説明するが、
部品をネットの重心位置に配置する方法は必ずしも総ネ
ット長を最短にしない。例えば、第1の部品が基板の左
端と2本のネットで結ばれ、右端とは1本のネットで結
ばれる場合を考えると、第1の部品の重心位置は基板の
左端から右端までの3分の1の位置にある。また、第2
の部品が基板の左端と6本のネットで結ばれ、右端とは
4本のネットで結ばれる場合は、第2の部品の重心位置
は基板の左端から右端までの5分の2の位置にあり、第
1の部品の重心位置よりも右になる。しかし、総ネット
長を最短にするには、第2の部品の左右のネット数の差
は2であり、第1の部品よりも1つ大きいため、第2の
部品を優先し左に配置する解は総配線長が短くなる最善
の解になる。しかし、重心法によると結果はそうならず
最善の解が得られない問題があった。
The second problem will be described below.
The method of arranging the components at the center of gravity of the net does not always minimize the total net length. For example, considering the case where the first component is connected to the left end of the board by two nets and the right end is connected by one net, the position of the center of gravity of the first component is 3 from the left end to the right end of the board. It is in one-half position. Also, the second
Is connected to the left end of the board by six nets, and the right end is connected by four nets, the center of gravity of the second part is located at two-fifths from the left end to the right end of the board. Yes, it is to the right of the position of the center of gravity of the first component. However, in order to minimize the total net length, the difference between the numbers of the left and right nets of the second component is two, which is one greater than the first component. Therefore, the second component is preferentially arranged on the left. The solution is the best solution that reduces the total wiring length. However, according to the centroid method, the result was not so good and there was a problem that the best solution could not be obtained.

【0014】また、重心法の評価関数は、部品の遠方の
端子からの寄与が距離の二乗に比例して大きくなるた
め、遠方の部品との関係が近くの部品との関係よりも重
み付けられているので、総配線長を短くする配置を直接
的に得るためには不向きな評価関数であった。
Further, in the evaluation function of the center of gravity method, the contribution from a distant terminal of a component increases in proportion to the square of the distance, so that the relationship with a distant component is weighted more than the relationship with a nearby component. Therefore, the evaluation function is not suitable for directly obtaining an arrangement for shortening the total wiring length.

【0015】[0015]

【発明が解決しようとする課題】そのため、本出願人は
特開平6−149939号公報「印刷配線板の自動配置
設計装置」でこの問題の解決方法を提案している。この
解決方法は、部品から引き出す配線の数を引力の強さと
して、それを部品の面積で割った(疑似)比重を求め、
その比重の大きい順に部品を一次元に配置する。この一
次元部品配置の解を2つ求め、それらを縦および横方向
の座標軸への部品の投影とした二次元平面上の部品配置
(概略部品位置)を求める方法である。
Therefore, the present applicant has proposed a solution to this problem in Japanese Patent Application Laid-Open No. Hei 6-149939, entitled "Automatic Layout Design Equipment for Printed Wiring Boards". This solution uses the number of wires coming out of a component as strength of attraction and divides it by the area of the component to find a (pseudo) specific gravity.
The components are arranged one-dimensionally in the descending order of the specific gravity. In this method, two solutions of the one-dimensional component arrangement are obtained, and the component arrangement (approximate component position) on a two-dimensional plane is obtained by projecting the components onto vertical and horizontal coordinate axes.

【0016】この方法は、部品及び部品群の配置を自由
に変更し最善の概略部品位置(初期配置)を得る方法で
ある。しかし、この方法は、その概略部品位置そのまま
では、設計に直接利用することができない未完成な部品
配置であるという問題点があった。
In this method, the arrangement of parts and parts groups is freely changed to obtain the best approximate part position (initial arrangement). However, this method has a problem in that it is an unfinished component arrangement that cannot be directly used for design if the approximate component position is not changed.

【0017】本発明の目的は、この概略部品位置の部品
を実際の部品形状に基づき最適な位置に配置し、以降の
設計に直接利用できる配置を完成させる自動部品配置方
法およびシステムを提供することである。
An object of the present invention is to provide an automatic component arranging method and system for arranging a component at this approximate component position at an optimum position based on an actual component shape and completing an arrangement directly usable for subsequent design. It is.

【0018】[0018]

【課題を解決するための手段】本発明の自動部品配置方
法は、二次元空間に配置すべき部品のデータと部品端子
同士を接続するネットとネットの重みを記録したネット
データ、あるいは部品同士の結合力あるいは反発力に応
じた重みを記録した部品グラフデータを入力するステッ
プと、全部品を第1の方向に一次元に配置する第1の一
次元部品配置を計算するステップにおいて、該第1の一
次元部品配置への未配置部品に関して、当該未配置部品
が前記第1の一次元部品配置の既配置部品と結ばれるネ
ットデータと部品グラフデータにそれぞれの重みを掛け
算した値から、該未配置部品がその他の部品と結ばれる
ネットデータと部品グラフデータにそれぞれの重みを掛
け算した値を引き算した値を該未配置部品の面積で割り
算することで、前記ネットデータと前記部品グラフデー
タの総和の部品の比重を計算するステップと、該未配置
部品のうちから最大の比重の部品を選び順次に第1の一
次元部品配置に加えることにより第1の一次元部品配置
を計算するステップと、第1の一次元部品配置の計算と
同様の計算により、全部品を第2の方向に一次元に配置
する第2の一次元部品配置を計算するステップと、前記
第1の一次元部品配置と第2の一次元部品配置を直交座
標系における部品の概略位置とし、部品の二次元平面で
の概略部品位置を計算するステップと、前記概略部品位
置の部品配置をコンパクションすることにより部品同士
を近接させた密集配置を得るステップと、を有する事を
特徴とする。また、本発明の自動部品配置方法は、二次
元空間に配置すべき部品のデータと部品端子同士を接続
するネットデータを入力するステップと、全部品を第1
の方向に一次元に配置する第1の一次元部品配置を計算
するステップにおいて、該第1の一次元部品配置への未
配置部品に関して、当該未配置部品に接続されるネット
のうち前記第1の一次元部品配置の既配置部品と結ばれ
るネット数から該未配置部品がその他の部品と結ばれる
ネット数を引き算した結果の値を該未配置部品の面積で
割り算する計算を行ない、その結果の値を当該未配置部
品の比重として得るステップと、該未配置部品のうちか
ら最大の比重の部品を選び順次に第1の一次元部品配置
に加えることにより第1の一次元部品配置を計算するス
テップと、第1の一次元部品配置の計算と同様の計算に
より、全部品を第2の方向に一次元に配置する第2の一
次元部品配置を計算するステップと、前記第1の一次元
部品配置と第2の一次元部品配置を直交座標系における
部品の概略位置とし、部品の二次元平面での概略部品位
置を計算するステップと、前記概略部品位置に部品の仮
想形状を配置する計算を行なうステップと、前記仮想形
状同士の重なりを有する部品配置を解消するコンパクシ
ョン処理を行ない、前記仮想形状同士を近接させた第2
の概略部品位置を計算するステップと、部品の実寸法に
寸法換算係数を掛けた値の寸法の部品形状を第2の概略
部品位置に配置するステップと、第2の概略部品位置に
配置した部品形状同士が重なり合う場合に、重なり合う
部品を包含する領域を計算し、該領域内の部品を再配置
するステップと、を有する事を特徴とする。
According to the present invention, there is provided an automatic component arranging method, comprising: data of a component to be arranged in a two-dimensional space; net data connecting nets connecting component terminals; In the step of inputting component graph data recording a weight corresponding to a coupling force or a repulsive force, and the step of calculating a first one-dimensional component arrangement in which all components are arranged one-dimensionally in a first direction, the first respect of unplaced components into one-dimensional parts placement, the unplaced components
Is connected to the already placed component of the first one-dimensional component placement.
Weights the cut data and the part graph data.
From the calculated value, the unplaced part is connected to other parts
Net data and component graph data are weighted
Divide the divided value by the area of the unplaced part.
Calculation, the net data and the part graph data are calculated.
Calculating the specific gravity of the component of the sum of the components, and calculating the first one-dimensional component arrangement by selecting the component having the highest specific gravity from the unarranged components and sequentially adding the selected component to the first one-dimensional component arrangement. Calculating a second one-dimensional part arrangement for arranging all parts one-dimensionally in a second direction by a calculation similar to the calculation of the first one-dimensional part arrangement; and Calculating the approximate component position in a two-dimensional plane by setting the component arrangement and the second one-dimensional component arrangement as the approximate position of the component in the rectangular coordinate system; and compacting the component arrangement at the approximate component position. Obtaining a dense arrangement in which the objects are close to each other. In the automatic component placement method of the present invention, a step of inputting data of a component to be placed in a two-dimensional space and net data for connecting component terminals to each other;
Calculating a first one-dimensional component arrangement to be arranged one-dimensionally in the direction of the first one-dimensional component arrangement; The value obtained by subtracting the number of nets where the unplaced component is connected to other components from the number of nets connected to the already placed component in the one-dimensional component placement is divided by the area of the unplaced component. Calculating the first one-dimensional component layout by selecting the component having the highest specific gravity from the unplaced components and sequentially adding the component to the first one-dimensional component layout. Calculating a second one-dimensional part arrangement for arranging all parts one-dimensionally in a second direction by a calculation similar to the calculation of the first one-dimensional part arrangement; Original part placement and second Calculating the approximate component position in a two-dimensional plane of the component as the approximate position of the component in the rectangular coordinate system, and performing the calculation of arranging the virtual shape of the component at the approximate component position; A second compaction process is performed in which compaction processing is performed to eliminate a component arrangement having overlapping shapes, and the virtual shapes are brought close to each other.
Calculating the approximate component position of the component, arranging a component shape having a value obtained by multiplying the actual dimension of the component by the dimension conversion coefficient at the second approximate component position, and arranging the component at the second approximate component position Calculating the region including the overlapping parts when the shapes overlap each other, and rearranging the parts in the region.

【0019】部品を一列に並べる一次元部品配置を2つ
求め、XY座標軸それぞれにこの一次元部品配置を投影
し、これらを二次元平面上の部品配置の各座標軸上への
投影として概略部品位置を定める。
Two one-dimensional component arrangements for arranging the parts in a line are obtained, and this one-dimensional component arrangement is projected on each of the XY coordinate axes. Is determined.

【0020】一次元部品配置は、印刷配線板の総配線長
(あるいは部品同士の結合ネット)を物理現象の位置エ
ネルギーに対応させ、物体が比重の大きい順に配置され
ると位置エネルギーが最小になる物理現象に対応させ、
部品面積値を長さとする線分を部品として、部品から出
るネット数を部品に加わる力に対応させ(ネットを引き
出す方向に応じ正負の値にして)合計し、それをこの線
分の長さで割った値を比重に対応させ計算する。そし
て、この比重の大きい順に部品を一次元の座標軸方向に
配置することで、座標軸上に投影した総配線長が最小に
なる一次元部品配置を求めることができる。
In the one-dimensional component arrangement, the total wiring length of a printed wiring board (or a connection net between components) is made to correspond to the potential energy of a physical phenomenon, and the potential energy is minimized when the objects are arranged in order of specific gravity. Corresponding to physical phenomena,
A line segment whose length is the component area value is taken as a component, and the number of nets coming out of the component is made to correspond to the force applied to the component (positive or negative depending on the direction in which the net is drawn out) and summed up. The value obtained by dividing by is calculated according to the specific gravity. Then, by arranging the components in the direction of the one-dimensional coordinate axis in the order of the specific gravity, it is possible to obtain a one-dimensional component arrangement in which the total wiring length projected on the coordinate axes is the minimum.

【0021】次に、最初に配置する部品を変え、それに
ともない部品間の相対関係が変わるため各部品の比重も
変わるので、先の第1の一次元部品配置と異なる第2の
一次元部品配置を得ることができる。
Next, the first one-dimensional component arrangement, which differs from the first one-dimensional component arrangement, differs from the first one-dimensional component arrangement because the parts to be arranged first are changed, and the relative relationship between the parts changes accordingly. Can be obtained.

【0022】こうして得た第1の一次元部品配置と第2
の一次元部品配置を、概略部品位置のXY座標軸それぞ
れへの投影として2次元平面上に部品を配置した概略部
品配置を得る。このとき、部品に対応する全線分の長さ
の合計は全部品の面積をあらわす。
The first one-dimensional component arrangement thus obtained and the second
The one-dimensional component arrangement is obtained by projecting the general component position onto each of the XY coordinate axes to obtain a schematic component arrangement in which components are arranged on a two-dimensional plane. At this time, the sum of the lengths of all the line segments corresponding to the components represents the area of all the components.

【0023】次に、各一次元部品配置を展開した座標軸
に対して45度の傾きを持つ斜行座標軸を定める。
Next, a skewed coordinate axis having an inclination of 45 degrees with respect to the coordinate axis where each one-dimensional component arrangement is developed is determined.

【0024】次に、全部品面積を2で割った値の平方根
を寸法換算係数として求め、部品と同じ面積を有する円
形あるいは多角形の寸法に寸法換算係数を掛けた値の寸
法の仮想形状を概略部品位置に配置する。
Next, the square root of the value obtained by dividing the total part area by 2 is obtained as a dimension conversion coefficient, and the virtual shape of the value obtained by multiplying the circular or polygonal dimension having the same area as the part by the dimension conversion coefficient is obtained. It is placed at the approximate part position.

【0025】次に、各一次元部品配置を展開する座標軸
に対して45度の傾きを持つ斜行座標軸を定める。
Next, an oblique coordinate axis having an inclination of 45 degrees with respect to the coordinate axis for developing each one-dimensional component arrangement is determined.

【0026】次に、仮想形状の部品の配置を斜行座標軸
に沿ってコンパクションすることで、仮想形状同士の重
なりを解消し、かつ仮想形状同士を近接させた配置を得
る。
Next, by arranging the components of the virtual shape along the skewed coordinate axis, the overlapping of the virtual shapes is eliminated, and an arrangement in which the virtual shapes are close to each other is obtained.

【0027】次に、部品の実寸法に寸法換算係数を掛け
た値の寸法の部品形状を斜行座標軸方向に向け、概略部
品位置に配置する。
Next, the component shape having a value obtained by multiplying the actual size of the component by the dimension conversion coefficient is oriented in the direction of the oblique coordinate axis and arranged at the approximate component position.

【0028】次に、この部品同士が重なり合う場合に、
両部品を含む領域を定義し、その範囲内に両部品を再配
置する。その後、部品配置を斜行座標軸方向にコンパク
ションすることで、斜行座標軸方向の部品同士の重なり
を解消し、かつ、部品同士を近接させた密集配置を得
る。
Next, when these parts overlap each other,
An area including both parts is defined, and both parts are rearranged within the area. Thereafter, by compacting the component arrangement in the skewed coordinate axis direction, overlapping of the components in the skewed coordinate axis direction is eliminated, and a dense arrangement in which the components are brought close to each other is obtained.

【0029】こうして斜行座標軸上に、部品同士を結ぶ
総配線長を最小にするように部品を配置することができ
る。
In this way, components can be arranged on the skewed coordinate axis so as to minimize the total wiring length connecting the components.

【0030】本発明によれば、部品の最短配線を得る問
題を、総配線長を物理現象における物体の総位置エネル
ギーに対応させ、比重が大きい物が下に配置されること
で位置エネルギーが最小になることに対応させ部品の比
重を求めて比重を最小にする配置を求める手順を行なう
ことにより、処理の重複が無いため、総配線長を最短に
する部品配置を短時間に求めることができる。実際、本
発明が部品配置を計算する回数は、全部品数をNとする
と高々Nの二乗のオーダーであり、厳密に全配置を評価
するのに必要な従来の計算回数のオーダーであるNの階
乗N!に比べ十分少ない計算回数で最前の部品配置に近
い部品配置を計算できる。
According to the present invention, the problem of obtaining the shortest wiring of a component is solved by associating the total wiring length with the total potential energy of an object in a physical phenomenon, and placing an object having a large specific gravity below to minimize the potential energy. By performing the procedure of obtaining the specific gravity of the component in accordance with the following, and determining the arrangement that minimizes the specific gravity, there is no duplication of processing, so that the component arrangement that minimizes the total wiring length can be obtained in a short time. . In fact, the number of times that the present invention calculates the component arrangement is at most the order of N squared, where N is the total number of components, and the order of N, which is the order of the conventional number of calculations required to strictly evaluate the entire arrangement. N! It is possible to calculate a component arrangement close to the foremost component arrangement with a sufficiently small number of calculations compared to.

【0031】また、本発明によれば、比重を最小にする
概略配置を求めた位置に部品の仮想形状を定めて仮想形
状の部品の配置をコンパクションし、仮想形状を実部品
形状に置き換えてから部品形状に応じて部品を再配置
し、さらにその部品配置を再度縮小するコンパクション
処理を行ない、部品が重ならない部品配置を得る。
Further, according to the present invention, after the virtual shape of the part is determined at the position where the approximate arrangement for minimizing the specific gravity is obtained, the arrangement of the virtual part is compacted, and the virtual shape is replaced with the real part shape. A component is rearranged according to the component shape, and a compaction process for reducing the component arrangement again is performed to obtain a component arrangement in which the components do not overlap.

【0032】本発明の自動部品配置システムは、部品デ
ータ記憶手段と、二次元空間に配置すべき部品のデータ
と部品端子同士を接続するネットとネットの重みを記録
したネットデータ、あるいは部品同士の結合力あるいは
反発力に応じた重みを記録した部品グラフデータを入力
し、前記部品データ記憶手段に記憶させる部品データ入
力手段と、全部品を第1の方向に一次元に配置する第1
の一次元部品配置への未配置部品に関して、当該未配置
部品が前記第1の一次元部品配置の既配置部品と結ばれ
るネットデータと部品グラフデータにそれぞれの重みを
掛け算した値から、該未配置部品がその他の部品と結ば
れるネットデータと部品グラフデータにそれぞれの重み
を掛け算した値を引き算した値を該未配置部品の面積で
割り算することで、前記ネットデータと前記部品グラフ
データの総和の部品の比重を計算し、その結果の値を当
該未配置部品の比重として前記部品データ記憶手段に記
憶させる部品比重計算手段と、部品配置順番記憶手段
と、該未配置部品のうちから最大の比重の部品を選び順
次に第1の一次元部品配置に加えることにより第1の一
次元部品配置を計算して、前記部品配置順番記憶手段に
記憶させる整列手段と、第1の一次元部品配置の計算と
同様の計算により、全部品を第2の方向に一次元に配置
する第2の一次元部品配置を計算する手段と、前記第1
の一次元部品配置と前記第2の一次元部品配置を直交座
標系における部品の概略位置とし、部品の二次元平面で
の概略部品位置を計算する概略部品配置手段と、前記概
略部品位置に部品を配置する手段と、該概略部品位置の
部品配置をコンパクションすることにより部品同士を近
接させた密集配置を得るコンパクション手段と、を有す
る事を特徴とする。また、本発明の自動部品配置システ
ムは、部品データ記憶手段と、二次元空間に配置すべき
部品のデータと部品端子同士を接続するネットデータを
入力し、前記部品データ記憶手段に記憶させる部品デー
タ入力手段と、全部品を第1の方向に一次元に配置する
第1の一次元部品配置への未配置部品に関して、当該未
配置部品に接続されるネットのうち前記第1の一次元部
品配置の既配置部品と結ばれるネット数から該未配置部
品がその他の部品と結ばれるネット数を引き算した結果
の値を該未配置部品の面積で割り算する計算を行ない、
その結果の値を当該未配置部品の比重として前記部品デ
ータ記憶手段に記憶させる部品比重計算手段と、部品配
置順番記憶手段と、該未配置部品のうちから最大の比重
の部品を選び順次に第1の一次元部品配置に加えること
により第1の一次元部品配置を計算して、前記部品配置
順番記憶手段に記憶させる整列手段と、第1の一次元部
品配置の計算と同様の計算により、全部品を第2の方向
に一次元に配置する第2の一次元部品配置を計算する手
段と、前記第1の一次元部品配置と前記第2の一次元部
品配置を直交座標系における部品の概略位置とし、部品
の二次元平面での概略部品位置を計算する概略部品配置
手段と、前記概略部品位置に部品を配置する手段と、前
記概略部品位置に部品の仮想形状を配置する計算を行な
う手段と、前記仮想形状同士の重なりを有する部品配置
を解消するコンパクション処理を行ない、前記仮想形状
同士を近接させた第2の概略部品位置を計算するコンパ
クション手段と、部品の実寸法に寸法換算係数を掛けた
値の寸法の部品形状を第2の概略部品位置に配置する手
段と、第2の概略部品位置に配置した部品形状同士が重
なり合う場合に、重なり合う部品を包含する領域を計算
し、該領域内の部品を再配置する部品再配置手段と、を
有する事を特徴とする。
The automatic component placement system according to the present invention comprises: component data storage means; net data recording the weights of nets connecting data of components to be placed in a two-dimensional space and component terminals; Component data input means for inputting component graph data in which weights corresponding to the coupling force or repulsion force are recorded and storing the component graph data in the component data storage means;
Unplaced parts in the one-dimensional part placement
A part is connected to an already placed part of the first one-dimensional part arrangement
Weights for net data and component graph data
From the multiplied value, the unplaced part is connected to other parts
Weights for net data and component graph data
Multiplied by the area of the unplaced part
By dividing, the net data and the part graph
A component specific gravity calculating unit that calculates the specific gravity of the component of the sum of the data and stores the resulting value as the specific gravity of the unplaced component in the component data storage unit; a component arrangement order storing unit; An arrangement means for calculating a first one-dimensional component arrangement by sequentially selecting parts having the highest specific gravity from the first one-dimensional part arrangement and storing the first one-dimensional part arrangement in the part arrangement order storage means; Means for calculating a second one-dimensional part arrangement for arranging all parts one-dimensionally in a second direction by a calculation similar to the calculation of the original part arrangement;
A general component placement means for calculating a general component position on a two-dimensional plane by using the one-dimensional component arrangement and the second one-dimensional component arrangement as approximate component positions in a rectangular coordinate system; And compaction means for compacting the component arrangement at the approximate component position to obtain a dense arrangement in which the components are close to each other. Also, the automatic component placement system of the present invention is provided with a component data storage unit, component data to be placed in a two-dimensional space, and net data for connecting component terminals, and component data to be stored in the component data storage unit. Input means and, for a non-placed component in a first one-dimensional component layout for arranging all components one-dimensionally in a first direction, the first one-dimensional component layout of a net connected to the unplaced component Performing a calculation of dividing the value of the result of subtracting the number of nets where the unplaced component is connected to other components from the number of nets connected to the already-placed component by the area of the unplaced component,
A component specific gravity calculating unit that stores the value of the result as the specific gravity of the unplaced component in the component data storage unit, a component placement order storing unit, and a component having the largest specific gravity is selected from the unplaced components and sequentially selected. The first one-dimensional component arrangement is calculated by adding the first one-dimensional component arrangement to the first one-dimensional component arrangement, and the same arrangement calculation as the first one-dimensional component arrangement is performed. Means for calculating a second one-dimensional component arrangement for arranging all the components one-dimensionally in a second direction; and calculating the first one-dimensional component arrangement and the second one-dimensional component arrangement of the parts in a rectangular coordinate system. A rough component position calculating means for calculating a rough component position on a two-dimensional plane of the component, a means for arranging the component at the rough component position, and a calculation for arranging the virtual shape of the component at the rough component position Means and said provisional Compaction means for performing a compaction process for eliminating a component arrangement having overlapping shapes and calculating a second approximate component position in which the virtual shapes are brought close to each other; and a value obtained by multiplying the actual size of the component by a size conversion coefficient. Means for arranging a part shape having dimensions at a second general part position, and calculating an area including the overlapping part when the part shapes arranged at the second general part position overlap each other, And a component rearranging means for rearranging.

【0033】[0033]

【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して説明する。 (第1の実施形態)図1を参照すると、本発明の第1の
実施形態の自動部品配置システムは、プログラム制御に
より動作するコンピュータのデータ処理装置100と、
表示装置120と、入力装置130とから構成される。
Next, embodiments of the present invention will be described with reference to the drawings. (First Embodiment) Referring to FIG. 1, an automatic component placement system according to a first embodiment of the present invention includes a data processing device 100 of a computer that operates under program control,
It comprises a display device 120 and an input device 130.

【0034】データ処理装置100は部品データ入力部
101と部品データ記憶部102と部品比重計算部10
3と整列部104と部品配置順番記憶部105とクラス
タ作成部106と概略配置部107と部品再配置部10
8と部品配置コンパクション部109と部品形状記憶部
110を含む。
The data processing apparatus 100 includes a component data input unit 101, a component data storage unit 102, and a component specific gravity calculation unit 10.
3, the arrangement unit 104, the component arrangement order storage unit 105, the cluster creation unit 106, the general arrangement unit 107, and the component rearrangement unit 10.
8, a component arrangement compaction unit 109 and a component shape storage unit 110.

【0035】部品データ入力部101は、部品の形状デ
ータと面積データを入力し、部品データ記憶部102に
書き込み記憶する。また、以下の要素を記録したネット
データを入力し部品データ記憶部102に書き込み記憶
する。すなわち、ネットデータは、ネット名と、そのネ
ットに接続する部品端子名を記録するデータ構造を持
つ。ネットデータは、ネット名毎に電気的に同一電位に
接続すべき部品端子を定義するものである。
The component data input unit 101 inputs the shape data and the area data of the component, and writes and stores the data in the component data storage unit 102. In addition, net data in which the following elements are recorded is input and written and stored in the component data storage unit 102. That is, the net data has a data structure for recording a net name and the names of component terminals connected to the net. The net data defines component terminals to be electrically connected to the same potential for each net name.

【0036】部品比重計算部103は、部品の比重Wを
計算する。整列部104は、部品を比重の大きい順に整
列させ、この順番を部品配置順番記憶部105に記憶す
る。クラスタ作成部106は、部品の配置順番で隣り合
う上の部品の比重が下の部品の比重よりも重い場合に、
それらの部品の集合のクラスタを作成する。概略配置部
107は、第1の一次元部品配置と第2の一次元部品配
置を部品の二次元平面上の位置の2つの座標軸への投影
とする概略部品位置を計算し部品を配置する。部品形状
投影部110は、部品の形状あるいは仮想形状を計算し
概略部品位置に部品形状を配置する。
The component specific gravity calculator 103 calculates the specific gravity W of the component. The arranging unit 104 arranges the components in descending order of specific gravity, and stores the order in the component arrangement order storage unit 105. When the specific gravity of the upper component adjacent in the component arrangement order is heavier than the specific gravity of the lower component, the cluster creating unit 106
A cluster of a set of those parts is created. The rough placement unit 107 calculates a rough component position, in which the first one-dimensional component placement and the second one-dimensional component placement are projected onto two coordinate axes of the position of the component on a two-dimensional plane, and places the component. The component shape projection unit 110 calculates the shape or virtual shape of the component and arranges the component shape at the approximate component position.

【0037】部品再配置部108は配置した部品同士の
重なりを検出し、重なる部品の集合を包み他の部品とは
重ならない領域を計算し、その領域内で部品を再配置す
る。部品配置コンパクション部109は、この部品を先
に定義した座標軸と45度の角度を成す斜行座標軸の各
座標軸方向に沿って、部品同士が近接する位置まで部品
配置を縮小し、また、部品同士の重なりがある場合には
それが解消される位置まで部品配置を拡大するコンパク
ション処理を実行する。
The component rearrangement unit 108 detects an overlap between the arranged components, calculates a region that wraps the set of overlapping components and does not overlap with other components, and rearranges the components in the region. The component placement compaction unit 109 reduces the component placement to a position where the components are close to each other along each coordinate axis direction of the oblique coordinate axis that forms an angle of 45 degrees with the previously defined coordinate axes. If there is an overlap, a compaction process for expanding the component arrangement to a position where the overlap is eliminated is executed.

【0038】次に、本実施形態の全体の動作を図2〜図
4を参照して説明する。まず、ステップ201で、部品
データ入力部101が、部品端子名とそれに接続する信
号ネット名を記録するネットデータと部品の面積を記録
する部品の面積データを入力し、部品データ記憶部10
2に書き込む。このとき、信号ネット毎にそれに接続す
る部品端子の集合を計算し記憶する。
Next, the overall operation of the present embodiment will be described with reference to FIGS. First, in step 201, the component data input unit 101 inputs net data for recording the names of component terminals and signal nets connected thereto and area data of the components for recording the area of the components.
Write to 2. At this time, a set of component terminals connected to each signal net is calculated and stored.

【0039】次に、ステップ202で、第1の一次部品
配置15を計算し、部品データ記憶部102に記憶す
る。このステップ202は、初めに全ての部品を未配置
部品として部品配置順番記憶部105に記憶する。そし
て、図3のステップ301から306の処理を行なう。
以下その処理を順に説明する。
Next, in step 202, the first primary component arrangement 15 is calculated and stored in the component data storage unit 102. In this step 202, first, all components are stored in the component placement order storage unit 105 as unplaced components. Then, the processing of steps 301 to 306 in FIG. 3 is performed.
Hereinafter, the processing will be described in order.

【0040】まず、ステップ301は、部品群を一次元
部品配置する。このステップ301は図4のステップ4
01からステップ404の処理で行なわれる。まず、ス
テップ401において、部品比重計算部103が未配置
部品の比重Wを以下の式1で計算する。
First, in step 301, a part group is arranged one-dimensionally. This step 301 corresponds to step 4 in FIG.
01 to step 404 are performed. First, in step 401, the component specific gravity calculation unit 103 calculates the specific gravity W of an unarranged component by the following equation 1.

【0041】 比重=((下の既配置部品に接続するネット数) −(上に接続する、あるいは未配置部品に接続するネット数)) /(部品面積) …(1) ただし、この式(1)の計算において、未配置部品は全
ての既配置部品の上にあるものとする。また、同一信号
ネットが部品端子の上にも下にも接続する場合はそのネ
ットは計算に入れない。
Specific gravity = ((number of nets connected to lower placed component) − (number of nets connected to upper or unplaced component)) / (component area) (1) In the calculation of 1), it is assumed that unplaced components are above all placed components. If the same signal net is connected above and below the component terminal, the net is not taken into account.

【0042】次に、ステップ402において、整列部1
04が比重の大きい部品から順に未配置部品を整列さ
せ、この未配置部品の順番を部品配置順番記憶部105
に記憶する。さらに、ステップ403において、部品配
置順番記憶部105に記憶された順番が最下位の未配置
部品の部品データを既配置部品の最上部として部品配置
順番記憶部105に記憶する。
Next, in step 402, the alignment unit 1
04 arranges the unarranged components in order from the component having the higher specific gravity, and stores the order of the unarranged components in the component arrangement order storage unit 105.
To memorize. Further, in step 403, the component data of the unplaced component having the lowest order stored in the component placement order storage unit 105 is stored in the component placement order storage unit 105 as the top of the already placed components.

【0043】ステップ401において、最初はどの未配
置部品も既配置部品に接続するネット数が0であるか
ら、その値0からそれ以外の未配置部品に接続するネッ
ト数を引き算した値を部品面積で割って比重の値とす
る。その値は負であるが、ステップ403で未配置部品
を既配置部品に登録すると、その部品に結合する他の未
配置部品の比重は、既配置部品へ接続するネットの数P
1が増すので比重が大きくなる。
In step 401, since the number of nets connected to the already-placed component is initially 0 for any unplaced component, the value obtained by subtracting the number of nets connected to other unplaced components from the value 0 is the component area. Divide by the value of the specific gravity. Although the value is negative, when the unplaced component is registered as the placed component in step 403, the specific gravity of the other unplaced component connected to the component is the number P of the nets connected to the placed component.
Since 1 increases, the specific gravity increases.

【0044】次に、ステップ404において、全部品が
既配置部品に登録されていない場合を判定し、その場合
は、処理をステップ401に戻す。次に、ステップ40
1により、部品比重計算部103が、先にステップ40
3で登録した部品にネットで結合する未配置部品の比重
Wを再計算する。次に、ステップ402により、整列部
104が未配置部品全体を再整列し、部品配置順番記憶
部105のデータを更新する。
Next, in step 404, it is determined that all the components are not registered as already placed components, and in that case, the process returns to step 401. Next, step 40
1, the component specific gravity calculation unit 103 first executes Step 40
Recalculate the specific gravity W of the unplaced component to be connected to the component registered in step 3 with the net. Next, in step 402, the alignment unit 104 rearranges the entire unarranged components, and updates the data in the component arrangement order storage unit 105.

【0045】こうして、ステップ301は、ステップ4
01からステップ404までの処理を、未配置部品が無
くなるまで繰り返し、得られた既配置部品の順番を部品
配置順番記憶部105に記憶する(ステップ301)。
Thus, step 301 is performed in step 4
The processes from 01 to 404 are repeated until there are no unplaced components, and the obtained order of the already placed components is stored in the component placement order storage unit 105 (step 301).

【0046】次に、ステップ302では、クラスタ作成
部106がこの既配置部品の順番を用いてクラスタデー
タを作成する。以下、ステップ302の処理を説明す
る。まず、ステップ301で得た部品配置の解を下の部
品から上の部品の順に処理し、既配置部品の比重を部品
比重計算部103が再計算する。
Next, in step 302, the cluster creating section 106 creates cluster data using the order of the already placed components. Hereinafter, the process of step 302 will be described. First, the solution of the component arrangement obtained in step 301 is processed in the order from the lower component to the upper component, and the specific gravity of the already arranged component is recalculated by the component specific gravity calculator 103.

【0047】ここで、既配置部品の比重は式(1)に示
す様に、その部品の下の部品と接続するネットの数から
上の部品と接続するネットの数を差し引いた値を部品の
面積で割った値で計算する。
Here, as shown in equation (1), the specific gravity of the placed component is obtained by subtracting the number of nets connected to the upper component from the number of nets connected to the lower component of the component, as shown in equation (1). Calculate by dividing by area.

【0048】こうして隣り合う部品の比重を比較し、下
の部品の比重よりも上の部品の比重が大きい場合、上下
の部品を集合させたクラスタを作成する。構成部品の面
積の和をクラスタの面積とする部品とみなしてクラスタ
の比重を部品比重計算部103が計算し、それらのデー
タを部品データ記憶部102に記憶する。ここで、クラ
スタを作成した次にその上の部品と比重を比較する際に
は、下の部品としてはクラスタを用いる。これを、ステ
ップ202における解の下の部品から上の部品までの全
部品を処理し終わるまで続ける(ステップ302)。
In this way, the specific gravity of adjacent parts is compared, and if the specific gravity of the upper part is higher than the specific gravity of the lower part, a cluster is created by assembling the upper and lower parts. The specific gravity of the cluster is calculated by the component specific gravity calculation unit 103 assuming that the sum of the area of the components is the area of the cluster, and the data is stored in the component data storage unit 102. Here, when the specific gravity is compared with the components above the cluster after the cluster is created, the cluster is used as the lower component. This continues until all parts from the part below the solution to the part above the solution in step 202 have been processed (step 302).

【0049】次に、ステップ303では、以下で得られ
たクラスタと部品群(ただし、クラスタの階層位置は最
上位の階層のものだけ)を、再度図4のステップ401
から404の処理を行ない、部品・クラスタ配置を得
る。次に、ステップ304では、以上で得られた部品・
クラスタ配置において、その構成要素に対して図4の手
順が処理済みのクラスタの構成要素(下位の階層)を選
ぶ。
Next, in step 303, the cluster and the component group obtained as described below (however, the cluster is located only at the highest hierarchical level) are again stored in step 401 of FIG.
Through 404 to obtain the component / cluster arrangement. Next, in step 304, the parts and
In the cluster arrangement, a component (lower hierarchy) of the cluster which has been processed by the procedure of FIG. 4 for that component is selected.

【0050】次に、ステップ305では、そのクラスタ
の構成要素(下位の階層)の部品(とクラスタ)に対し
て再び図4のステップ401から404の処理を行な
い、部品配置を計算する。このステップ304からステ
ップ305までの処理を、上位のクラスタの階層から下
位の階層まで、最終的には部品単体のレベルまで階層を
順次下りながら繰り返し、全部品の配置順序を計算する
(図3のステップ306)。得られた最終結果の部品配
置は第1の一次元部品配置15として記憶する。以上で
ステップ202の処理の詳細のステップ301から30
6を説明した(図2のステップ202)。
Next, in step 305, the processing of steps 401 to 404 in FIG. 4 is performed again on the components (and the cluster) of the components (lower layers) of the cluster, and the component arrangement is calculated. The processing from step 304 to step 305 is repeated while sequentially descending from the hierarchy of the upper cluster to the lower hierarchy, and finally down to the level of a single component, and the arrangement order of all components is calculated (FIG. 3). Step 306). The obtained final result component arrangement is stored as the first one-dimensional component arrangement 15. Steps 301 to 30 of the details of the processing of step 202 are described above.
6 has been described (step 202 in FIG. 2).

【0051】次に、ステップ203では、以下の手順で
第2の一次元部品配置16を計算する。先ず、第1の一
次元部品配置15を計算する際に最初に配置する部品
(最も比重の小さい未配置部品)を他の部品に変え、そ
の後の処理は第1の一次元部品配置15を得る処理と同
様にして第2の一次元部品配置16を得る。第1の一次
元部品配置15の最初の部品を選定する際に比重が最大
の部品が複数あり、選択肢が複数ある場合には、第1の
一次元部品配置15で最初に選んだ部品とは別の部品
で、第1の一次元部品配置15での順位が中間に位置す
る部品を選ぶ。選択肢が1つだけの場合は、最大比重の
次に大きい比重の部品を選ぶ。次に、この最初に配置す
る部品以外の部品を最初は全て未配置部品として部品配
置順番記憶部105に記憶し、それ以降は第1の一次元
部品配置15を得るのと同じステップ301から306
の処理を行ない、最終結果として得られた部品の配置を
第2の一次元部品配置16として部品配置順番記憶部1
05に記憶する。
Next, in step 203, the second one-dimensional component arrangement 16 is calculated in the following procedure. First, when calculating the first one-dimensional component arrangement 15, the component to be arranged first (the non-arranged component having the lowest specific gravity) is changed to another component, and the subsequent processing obtains the first one-dimensional component arrangement 15. A second one-dimensional component arrangement 16 is obtained in the same manner as the processing. When selecting the first component in the first one-dimensional component arrangement 15, there are a plurality of components having the highest specific gravity, and when there are a plurality of options, the part selected first in the first one-dimensional component arrangement 15 As another part, a part whose order in the first one-dimensional part arrangement 15 is located in the middle is selected. When there is only one option, a component having the next highest specific gravity is selected. Next, all components other than the component to be initially placed are initially stored as unplaced components in the component placement order storage unit 105, and thereafter, the same steps 301 to 306 as those for obtaining the first one-dimensional component placement 15 are performed.
Is performed, and the component arrangement obtained as the final result is set as the second one-dimensional component arrangement 16 in the component arrangement order storage unit 1.
05.

【0052】次に、ステップ204では、概略配置部1
07が、第1の一次元部品配置15の順番の部品(ある
いはクラスタ)を、第1の一次元部品配置15で隣り合
う部品同士に関して、両部品の面積Sの和に予め定めた
係数値(この値は1とする)を掛け算した値の距離で第
1の座標軸方向に両部品の中心を隔てた部品の第1の座
標位置を計算する。次に、第1の座標軸方向の部品配置
位置を計算したのと同様に、概略配置部107は、第2
の一次元部品配置16の順番の部品(あるいはクラス
タ)を、第2の一次元部品配置で隣り合う部品同士に関
して、両部品の面積の和に予め定めた係数値(この値は
1とする)を掛け算した値の距離で第2の座標軸方向に
両部品の中心を隔てた部品の第2の座標位置を計算す
る。
Next, in step 204, the general arrangement unit 1
07, a component (or a cluster) in the order of the first one-dimensional component arrangement 15 is determined by adding a coefficient value (predetermined to the sum of the areas S of both components with respect to adjacent components in the first one-dimensional component arrangement 15). This value is assumed to be 1), and the first coordinate position of the part separated from the center of both parts in the first coordinate axis direction is calculated by the distance multiplied by 1). Next, similarly to the calculation of the component arrangement position in the first coordinate axis direction, the general arrangement unit 107
The component (or cluster) in the order of the one-dimensional component arrangement 16 is set to a coefficient value (this value is set to 1) which is set in advance to the sum of the areas of adjacent components in the second one-dimensional component arrangement. Then, the second coordinate position of the component that is separated from the center of the two components in the direction of the second coordinate axis is calculated by the distance obtained by multiplying the two components.

【0053】次に、概略配置部107は、以上で計算し
た部品の第1の座標位置と第2の座標位置の二次元座標
平面上の部品配置位置を計算し、これを概略部品位置と
し記憶する。こうして計算した全部品の配置される二次
元平面領域の長さLは全部品の面積を合計した値で与え
られる長さLになる。
Next, the rough placement unit 107 calculates the part placement position on the two-dimensional coordinate plane of the first coordinate position and the second coordinate position of the component calculated as described above, and stores this as a rough part position. I do. The length L of the two-dimensional plane area where all the components are thus calculated is the length L given by the sum of the areas of all the components.

【0054】次に、ステップ205を説明する。ステッ
プ205では、部品の実寸法に対する仮想形状の寸法の
比を与える寸法換算係数値を、全部品面積の総和を2で
割った値の平方根として計算する。こうする事で全部品
の仮想形状の占有する面積が全部品の配置される領域の
L×Lの面積の半分となるようにする。次に、実部品と
同じ面積の円形あるいは多角形の寸法を計算し、この寸
法に先に得た寸法換算係数を掛けた値の寸法の仮想形状
を計算し、この形を概略部品位置に配置する。この仮想
形状として、実部品の寸法に寸法換算係数を掛けて相似
な形とした仮想形状を用いてもよい。
Next, step 205 will be described. In step 205, a dimension conversion coefficient value that gives the ratio of the virtual shape dimension to the actual dimension of the component is calculated as the square root of the value obtained by dividing the sum of all the component areas by two. By doing so, the area occupied by the virtual shape of all the parts is set to be half the L × L area of the area where all the parts are arranged. Next, calculate the size of the circle or polygon of the same area as the actual part, calculate the virtual shape of the value obtained by multiplying this dimension by the previously obtained dimension conversion coefficient, and place this shape at the approximate part position. I do. As the virtual shape, a virtual shape which is similar to the actual part by multiplying the dimension of the real part by a dimension conversion coefficient may be used.

【0055】次に、ステップ206では、こうして得ら
れた部品配置に第1の一次元部品配置15を投影する座
標軸及び第2の一次元部品配置16を投影する座標軸と
45度の傾きを持つ斜行座標軸を設定し、この部品配置
を部品の仮想形状が互いに隣接するまで第1の斜行座標
軸に沿って縮小、あるいは部品の仮想形状同士の重なり
が解消するまで拡大する一次元コンパクション処理を行
ない、同様に第2の斜行座標軸方向の一次元コンパクシ
ョン処理を行なう。
Next, in step 206, the coordinate axes for projecting the first one-dimensional component arrangement 15 and the coordinate axes for projecting the second one-dimensional component arrangement 16 onto the component arrangement obtained in this manner are inclined at 45 degrees. A one-dimensional compaction process is performed in which a row coordinate axis is set and this component arrangement is reduced along the first oblique coordinate axis until the virtual shapes of the components are adjacent to each other, or enlarged until the overlapping of the virtual shapes of the components is eliminated. Similarly, one-dimensional compaction processing in the second skewed coordinate axis direction is performed.

【0056】次に、ステップ207では、部品配置位置
を斜行座標軸とともに45度回転させて、斜行座標軸を
XY座標軸に重ねる。
Next, in step 207, the component arrangement position is rotated by 45 degrees together with the skewed coordinate axis, and the skewed coordinate axis is superimposed on the XY coordinate axis.

【0057】次に、ステップ211では、部品形状投影
部が部品の実形状の寸法に寸法換算係数を掛けた値を計
算し、この値の寸法の形状を部品形状記憶部110に記
憶し、この形状をステップ207で計算した概略部品位
置に配置し、また、部品方向をXY座標軸方向に向け
る。
Next, in step 211, the component shape projection unit calculates a value obtained by multiplying the dimension of the actual shape of the component by the dimension conversion coefficient, and stores the shape of the dimension of this value in the component shape storage unit 110. The shape is arranged at the approximate component position calculated in step 207, and the component direction is directed to the XY coordinate axis direction.

【0058】次に、ステップ212では、部品再配置部
108が、配置した部品同士のX方向での重なりを検出
し、X方向で重なる部品に関して、それらの部品の位置
に、それ以外の部品とは重ならない最大限の領域を計算
し、以下の様にして、その領域内の部品の配置を改善す
る。その領域のX方向の幅からこの領域内の部品のX方
向の幅の和を引き算した値(値1)を計算する。 1.この値1が予め指定した負の値(限界値)よりも小
さい場合は、この領域内の部品でY方向の幅がX方向の
幅よりも小さい部品で、かつ、そのX方向の幅がこの領
域のY方向の幅よりも小さい部品を90度回転させ、値
1を再計算する。この値1が限界値以上になった場合
は、その位置に再配置する。 2.先の計算(1)結果でも、値1が限界値よりも依然
として小さい場合は、この領域の部品の集合をY方向に
回転させ、その領域のY方向の幅からこの領域内の部品
のY方向の幅の和を引き算した値(値2)を計算する。
この値1が限界値以上になった場合は、その位置に再配
置する。 3.この値2が限界値よりも小さい場合は、この領域内
の部品でX方向の幅がY方向の幅よりも小さい部品で、
かつ、そのY方向の幅がこの領域のX方向の幅よりも小
さい部品を90度回転させ、値2を再計算する。この値
2が限界値以上になった場合は、その位置に再配置す
る。
Next, in step 212, the component rearrangement section 108 detects the overlap of the arranged components in the X direction, and, with respect to the components overlapping in the X direction, places the other components in the positions of those components. Calculates the maximum non-overlapping area and improves the placement of components within that area as follows. A value (value 1) is calculated by subtracting the sum of the widths of the components in the area in the X direction from the width in the X direction of the area. 1. If the value 1 is smaller than a predetermined negative value (limit value), the components in this area are those whose width in the Y direction is smaller than the width in the X direction, and whose width in the X direction is smaller than this. The part smaller than the width of the area in the Y direction is rotated by 90 degrees, and the value 1 is recalculated. When the value 1 becomes equal to or more than the limit value, the position is rearranged. 2. If the result of the above calculation (1) also shows that the value 1 is still smaller than the limit value, the set of parts in this area is rotated in the Y direction, and the width of the part in this area in the Y direction is calculated from the width of the area in the Y direction. Is calculated by subtracting the sum of the widths (value 2).
When the value 1 becomes equal to or more than the limit value, the position is rearranged. 3. If this value 2 is smaller than the limit value, the components in this area are those whose width in the X direction is smaller than the width in the Y direction,
In addition, the part whose width in the Y direction is smaller than the width in the X direction of this area is rotated by 90 degrees, and the value 2 is calculated again. When the value 2 becomes equal to or more than the limit value, the position is rearranged.

【0059】次に、同様にして、配置した部品同士のY
方向での重なりを検出し、Y方向で重なる部品に関し
て、それらの部品の位置に、それ以外の部品とは重なら
ない最大限の領域を計算し、その領域内の部品の配置を
改善する。
Next, in the same manner, the Y
Overlap in the direction is detected, and for parts that overlap in the Y direction, the maximum area where the parts do not overlap with other parts is calculated, and the arrangement of parts in that area is improved.

【0060】最後に、ステップ213で、部品配置コン
パクション部109が、この部品配置をY座標軸に沿っ
てコンパクション(あるいは部品同士の重なりを解消す
る位置まで配置を拡大)することで、Y座標軸方向での
部品同士の重なりを解消すると同時に、部品同士を隣接
させた配置を得る。同様にX座標軸方向に沿って部品配
置をコンパクションする。
Finally, in step 213, the component arrangement compaction unit 109 compacts the component arrangement along the Y coordinate axis (or enlarges the arrangement to a position where the overlapping of the parts is eliminated) in the Y coordinate axis direction. The overlapping of the components is eliminated, and an arrangement in which the components are adjacent to each other is obtained. Similarly, the component arrangement is compacted along the X coordinate axis direction.

【0061】このステップ212からステップ213の
処理は、以下の手順で行なうこともできる。すなわち、
部品配置領域を縦横の等間隔の仕切線で分割し、部品の
中心が収納される分割領域に部品を収納し、その分割領
域の上下の境界の仕切線同士を縦方向に結ぶ制約グラフ
データと、左右の境界の仕切線同士を横方向に結ぶ制約
グラフデータを作成し、その制約グラフの長さとして仕
切線間に収納する部品の幅を計算し記憶する。
The processing from step 212 to step 213 can be performed according to the following procedure. That is,
The part placement area is divided by vertical and horizontal equally spaced partition lines, the parts are stored in the divided area where the center of the part is stored, and the constraint graph data connecting the upper and lower boundary lines of the divided area in the vertical direction and Then, constraint graph data that connects the partition lines at the left and right boundaries in the horizontal direction is created, and the width of the part to be housed between the partition lines is calculated and stored as the length of the constraint graph.

【0062】ここで、その制約グラフの長さよりも部品
の幅(半径)の和が大きく部品同士が重なる場合は、部
品を回転させ最も重なり幅が小さい向きに配向させる。
また、重なる部品群を90度単位で回転させ、更にその
個々の部品をその周囲で隣接する他の部品との重なりが
最小になる向きに90度単位で回転させる。回転させた
部品群を収納する分割領域の記録を更新し、仕切線を結
ぶ制約グラフデータの長さを仕切線の間に挟む部品の寸
法により更新する。そして、制約グラフデータの縦方向
の最長経路と横方向の最長経路を計算し、その経路長の
位置に仕切線を配置し、その間に部品を配置し、その部
品配置に対してコンパクション処理を行ない、部品同士
の重なりを解消した部品配置を得る。
Here, when the sum of the widths (radii) of the components is larger than the length of the constraint graph and the components overlap, the components are rotated to orient in the direction in which the overlapping width is the smallest.
In addition, the overlapping parts group is rotated in units of 90 degrees, and the individual parts are further rotated in units of 90 degrees in a direction in which the overlap with other parts adjacent thereto is minimized. The record of the divided area storing the rotated component group is updated, and the length of the constraint graph data connecting the partition lines is updated based on the size of the component sandwiched between the partition lines. Then, the longest path in the vertical direction and the longest path in the horizontal direction of the constraint graph data are calculated, a partition line is arranged at the position of the path length, components are arranged therebetween, and compaction processing is performed on the component arrangement. Thus, a component arrangement in which overlapping between components is eliminated is obtained.

【0063】次に、具体例を用いて説明する。図5に示
す部品1から9の部品の形状データと面積データとその
部品端子同士を接続するネットデータを部品データ入力
部101が入力し、部品データ記憶部102に記憶する
(ステップ201)。ここで、この9個の部品の面積は
いずれも1とする。
Next, a specific example will be described. The component data input unit 101 inputs the shape data and the area data of the components 1 to 9 shown in FIG. 5 and the net data connecting the component terminals thereof, and stores them in the component data storage unit 102 (step 201). Here, the area of each of the nine components is 1.

【0064】次に、部品比重計算部103が各部品の面
積を式(1)で計算する。未配置部品1の比重は、未配
置部品1につながるネットの数=2(未配置部品につな
がるネットは負数とする)を面積1で割り算し、比重=
−2とする(ステップ401)。
Next, the component specific gravity calculation unit 103 calculates the area of each component by the equation (1). The specific gravity of the unplaced component 1 is obtained by dividing the number of nets connected to the unplaced component 1 = 2 (the net connected to the unplaced component is assumed to be a negative number) by the area 1, and the specific gravity =
-2 (step 401).

【0065】同様にして、全未配置部品1〜9の比重を
計算した結果は、部品1:−2、部品2:−3、部品
3:−2、部品4:−3、部品5:−4、部品6:−
3、部品7:−2、部品8:−2、部品9:−2、とな
る。
Similarly, the result of calculating the specific gravity of all the unarranged parts 1 to 9 is as follows: part 1: -2, part 2: -3, part 3: -2, part 4: -3, part 5:- 4, Part 6:-
3, part 7: -2, part 8: -2, part 9: -2.

【0066】整列部104が最大比重の未配置部品を抽
出する(ステップ402)。最大の比重は−2である
が、その比重を持つ任意の部品(ここでは、部品3)を
選び、これを最初の既配置部品として記憶する(ステッ
プ403)。
The arranging unit 104 extracts the unarranged parts having the maximum specific gravity (step 402). Although the maximum specific gravity is -2, an arbitrary part (here, the part 3) having the specific gravity is selected and stored as the first already-arranged part (step 403).

【0067】次に、部品比重計算部103が、新たに既
配置部品とした部品3と接続する未配置部品の比重を再
計算する。未配置部品2は、部品3と1本のネットで結
ばれ、未配置部品1および5との合計2本のネットで結
ばれるので、結局未配置部品2の比重は(1−2)/1
=−1に変わる。他に、未配置部品6の比重も−1に変
わる(ステップ101)。
Next, the component specific gravity calculation unit 103 recalculates the specific gravity of the unplaced component connected to the component 3 which has been newly placed. The unplaced component 2 is connected to the component 3 by one net, and is connected by a total of two nets of the unplaced components 1 and 5, so that the specific gravity of the unplaced component 2 is (1-2) / 1.
= Changes to -1. In addition, the specific gravity of the unplaced component 6 also changes to -1 (step 101).

【0068】次に、整列部104が最大の比重(−1)
の未配置部品6を選び(ステップ402)、既配置部品
3の最上位に乗せる既配置部品として記憶する(ステッ
プ403)。再び、部品比重計算部103が新たに既配
置部品とした部品6と接続する未配置部品の比重を再計
算し、部品9の比重0を得、部品5の比重−2を得る
(ステップ401)。
Next, the alignment unit 104 has the maximum specific gravity (-1).
Is selected (step 402) and stored as an already-placed component to be placed on the top of the already-placed component 3 (step 403). Again, the component specific gravity calculation unit 103 recalculates the specific gravity of the unplaced component connected to the component 6 that has been newly placed, obtains the specific gravity of the component 9 and the specific gravity of the component 5 (step 401). .

【0069】次に、整列部104が最大比重の未配置部
品9を抽出し(ステップ402)、既配置部品の最上位
に乗せる(ステップ403)。以下、同様にして、部品
2、1、5、8、4、7の順で未配置部品を選び、既配
置部品に加える(ステップ301)。
Next, the arranging unit 104 extracts the unplaced component 9 having the maximum specific gravity (step 402) and places it on the top of the already placed component (step 403). Hereinafter, similarly, unplaced components are selected in the order of components 2, 1, 5, 8, 4, and 7, and added to the already-placed components (step 301).

【0070】次に、クラスタ作成部106が、以上で得
た配置における既配置部品の比重を再計算し、部品3の
比重−2と部品6の比重−1を得る。この様に下の部品
3より上の部品6の比重が大きい場合は、両部品を要素
として持つクラスタCLS1を表わすクラスタデータを
作成する。そして、クラスタCLS1の比重を計算す
る。すなわち、クラスタCLS1から上に出るネット数
を計算し、値として3本を得、クラスタの面積は要素部
品の面積の和を計算し、値として2を得、このネット数
をこの面積で割ることでCLS1の比重−1.5を得、
この比重をクラスタデータに記録する。以下、クラスタ
を、要素部品を囲む括弧であらわし、(3,6)と書
く。
Next, the cluster creating unit 106 recalculates the specific gravity of the already-arranged components in the arrangement obtained above, and obtains the specific gravity of the component 3-2 and the specific gravity of the component 6-1. As described above, when the specific gravity of the component 6 above the lower component 3 is large, cluster data representing the cluster CLS1 having both components as elements is created. Then, the specific gravity of the cluster CLS1 is calculated. That is, the number of nets coming out of the cluster CLS1 is calculated, and three are obtained as a value. The area of the cluster is calculated by calculating the sum of the areas of the element parts, obtaining a value of 2, and dividing this net number by this area. To obtain a specific gravity of CLS1 of -1.5,
This specific gravity is recorded in the cluster data. Hereinafter, a cluster is represented by parentheses surrounding element parts, and is written as (3, 6).

【0071】次に、上に来る既配置部品9の比重を計算
し比重0を得る。これは、下のクラスタCLS1の比重
より大きいので、CLS1と部品9を合わせてクラスタ
CLS2を作成する。CLS2の面積は3で比重は−1
である。クラスタは、((3,6),9)である。次
に、上に来る既配置部品2の比重を計算し−1を得る。
これは下のクラスタCLS2の比重と同じであるのでク
ラスタを作らない。
Next, the specific gravity of the already placed component 9 is calculated to obtain a specific gravity of zero. Since this is larger than the specific gravity of the lower cluster CLS1, the cluster CLS2 is created by combining the CLS1 and the component 9. CLS2 has an area of 3 and a specific gravity of -1.
It is. The cluster is ((3,6), 9). Next, the specific gravity of the already-arranged component 2 that comes above is calculated to obtain -1.
Since this is the same as the specific gravity of the lower cluster CLS2, no cluster is created.

【0072】次に、上に来る既配置部品1の比重を計算
し値0を得る。これは下の部品2の比重−1よりも大き
い。そのため、部品2と部品1を合わせてクラスタCL
S3を作る。この面積は2、比重は−0.5である。ク
ラスタは(2,1)となる。このクラスタCLS3の比
重−0.5はその下のクラスタCLS2の比重−1より
大きい。そのため、CLS2とCLS3を合わせてクラ
スタCLS4を作る。この面積は5、比重は−0.8で
ある。クラスタは、(((3,6),9,(2,1))
となる。
Next, the specific gravity of the already placed component 1 is calculated to obtain the value 0. This is greater than the specific gravity -1 of the lower part 2. Therefore, the cluster CL is made up of the parts 2 and 1 together.
Make S3. This area is 2 and the specific gravity is -0.5. The cluster is (2, 1). The specific gravity -0.5 of this cluster CLS3 is larger than the specific gravity -1 of the cluster CLS2 below it. Therefore, a cluster CLS4 is created by combining CLS2 and CLS3. This area is 5 and the specific gravity is -0.8. The cluster is (((3,6), 9, (2,1))
Becomes

【0073】次に、上に来る既配置部品5の比重を計算
し、値0を得る。これは、下のクラスタCLS4の比重
−0.8よりも大きい。そのため、部品5とCLS4を
合わせてクラスタCLS5を作る。この面積は6、比重
は−0.67である。クラスタは、((((3,6),
9),(2,1)),5)となる。次に、上に来る既配
置部品8の比重を計算し、値1を得る。これは下のクラ
スタCLS5より大きい。そのため、部品8とCLS5
を合わせてクラスタCLS6を作る。この面積は7、比
重は−0.43である。クラスタは、(((((3,
6),9),(2,1)),5),8)となる。
Next, the specific gravity of the already placed component 5 is calculated to obtain the value 0. This is larger than the specific gravity -0.8 of the lower cluster CLS4. Therefore, the cluster CLS5 is created by combining the component 5 and the CLS4. This area is 6, and the specific gravity is -0.67. The cluster is (((((3,6),
9), (2, 1)), 5). Next, the specific gravity of the already placed component 8 that is located above is calculated, and a value 1 is obtained. This is larger than the lower cluster CLS5. Therefore, component 8 and CLS5
To create a cluster CLS6. This area is 7 and the specific gravity is -0.43. The cluster is ((((((3,
6), 9), (2, 1)), 5), 8).

【0074】次に、上に来る既配置部品4の比重を計算
し値1を得る。これは下のクラスタCLS6より大き
い。そのため、部品4とCLS6を合わせてクラスタC
LS7を作る。この面積は8、比重は−0.25であ
る。クラスタは、((((((3,6),9),(2,
1)),5),8,4)となる。次に、上に来る既配置
部品7の比重を計算し値2を得る。これは下のクラスタ
CLS7より大きい。そのため、部品7とCLS5を合
わせてクラスタCLS8を作る。クラスタは、
(((((((3,6),9),(2,1)),5),
8),4),7)となる。結局全部品が1つのクラスタ
CLS8に包含された(ステップ302)。
Next, the value of 1 is obtained by calculating the specific gravity of the already-arranged component 4 located above. This is larger than the lower cluster CLS6. Therefore, the combination of the component 4 and the CLS 6 in the cluster C
Make LS7. This area is 8 and the specific gravity is -0.25. The cluster is (((((((3,6), 9), (2,
1)), 5), 8, 4). Next, the value 2 is obtained by calculating the specific gravity of the already-arranged component 7 that comes above. This is larger than the lower cluster CLS7. Therefore, the cluster CLS8 is created by combining the component 7 and the CLS5. The cluster is
(((((((3,6), 9), (2,1)), 5),
8), 4) and 7). Eventually, all parts were included in one cluster CLS8 (step 302).

【0075】次に、このクラスタCLS8の内部の部品
7とCLS7を未配置部品として、比重を計算すると、
部品7は比重が−2で、CLS7は比重が−0.25で
あり、CLS7の方が大きいのでCLS7の上に部品7
を配置する(ステップ305)。次に、クラスタCLS
7の内部を同様の処理により、CLS6の上に部品4を
配置する(ステップ305)。
Next, when the components 7 and CLS7 inside the cluster CLS8 are set as non-arranged components and the specific gravity is calculated,
Part 7 has a specific gravity of -2, CLS7 has a specific gravity of -0.25, and CLS7 is larger than CLS7.
Are arranged (step 305). Next, the cluster CLS
7, the component 4 is arranged on the CLS 6 by the same processing (step 305).

【0076】クラスタCLS6の内部を同様の処理によ
り、CLS6の上に部品8を配置する(ステップ30
5)。クラスタCLS6の内部を同様の処理により、C
LS4の上に部品5を配置する(ステップ305)。ク
ラスタCLS4の内部を同様の処理により、CLS2の
上にCLS3を配置する(ステップ305)。クラスタ
CLS3の内部の部品2はクラスタ外で下とつながるネ
ットが1本あり、上とつながるネットが1本、クラスタ
内でつながるネットが1本ある。部品2をクラスタCL
S3内部の未配置部品とし、最後の種類のネット1本は
上につながるネットに加えて比重を計算し、結局部品2
の比重は−1と計算する。部品1については、クラスタ
外で上とつながるネットが1本、クラスタ内とつながる
ネットが1本ある。後の種類のネット1本は上につなが
るネットに加えて比重を計算し、結局部品1の比重は−
2と計算する。このため、部品2の方が大きいので部品
2の上に部品1を配置する(ステップ305)。
The components 8 are arranged on the cluster CLS 6 by the same processing inside the cluster CLS 6 (step 30).
5). By the same processing inside the cluster CLS6, C
The component 5 is arranged on the LS 4 (Step 305). By performing the same processing inside the cluster CLS4, the CLS3 is arranged on the CLS2 (step 305). The component 2 inside the cluster CLS3 has one net connected to the bottom outside the cluster, one net connected to the top, and one net connected inside the cluster. Part 2 is cluster CL
As the unplaced part inside S3, the last type of one net is calculated in addition to the net connected above, and the specific gravity is calculated.
Is calculated as -1. As for part 1, there is one net connected to the top outside the cluster and one net connected to the inside of the cluster. One net of the latter type calculates the specific gravity in addition to the net connected above, and eventually the specific gravity of the part 1 is-
Calculate 2. Therefore, since the component 2 is larger, the component 1 is arranged on the component 2 (step 305).

【0077】クラスタCLS2の内部を同様の処理によ
り、CLS1の上に部品9を配置する(ステップ30
5)。クラスタCLS1の内部を同様の処理により、部
品3の上に部品6を配置する(ステップ305)。こう
して、クラスタ内の部品の配置も最適配置を行なえた。
この列では、クラスタ形成前の配置と変わらなかった
が、もっと複雑なネットの場合には、この処理により配
置が改善される(ステップ202)。
The components 9 are arranged on the CLS 1 by performing the same processing inside the cluster CLS 2 (step 30).
5). The component 6 is arranged on the component 3 inside the cluster CLS1 by the same processing (step 305). In this way, the arrangement of the components in the cluster can be optimally arranged.
In this column, the arrangement is the same as that before cluster formation, but in the case of a more complicated net, the arrangement is improved by this processing (step 202).

【0078】次に、第2の一次元部品配置16を行な
う。全部品が未配置部品の状態では最大の比重を持つ部
品は複数あり、第1の一次元部品配置を行なう際にはそ
の中から部品3を選んだが、第2の部品配置において
は、それと異なる部品で第1の一次元部品配置で中間に
位置する部品1を選ぶ。それ以降は第1の一次元部品配
置を計算する場合と同様に処理し部品とクラスタの第2
の一次元部品配置を得る。その結果は、
(((((((1,2),3),(4,7)),5),
6),8),9)となる(ステップ203)。
Next, a second one-dimensional component arrangement 16 is performed. In the state where all the parts are not arranged, there are a plurality of parts having the maximum specific gravity, and when performing the first one-dimensional part arrangement, the part 3 is selected from among them, but in the second part arrangement, it is different from that. As the part, the part 1 located at the middle in the first one-dimensional part arrangement is selected. After that, processing is performed in the same manner as when calculating the first one-dimensional component arrangement, and the second process of the component and the cluster is performed.
To obtain the one-dimensional component arrangement. The result is
(((((((1,2,3), (4,7)), 5),
6), 8), 9) (step 203).

【0079】第1の一次元部品配置15をX座標軸への
投影として第2の一次元部品配置16をY座標軸への投
影として、図6に示す様にXY座標平面上の部品配置位
置を計算する(ステップ204)。次に、部品形状投影
部が、総部品面積9を2で割った値の平方根を寸法換算
係数kとして求める。
The first one-dimensional component arrangement 15 is projected on the X coordinate axis and the second one-dimensional component arrangement 16 is projected on the Y coordinate axis, and the component arrangement position on the XY coordinate plane is calculated as shown in FIG. (Step 204). Next, the component shape projection unit obtains a square root of a value obtained by dividing the total component area 9 by 2 as a dimension conversion coefficient k.

【0080】k=sqrt(9/2)=2.12 次に、面積1の部品と同じ面積の円の直径d=sqrt
(4/π)=1.13を計算し、これに寸法換算係数k
を掛けて2.4を得、図7に示す様に概略部品位置に
2.4の直径を有する円の仮想形状を設置する(ステッ
プ205)。次に、図18に示す様にXY座標軸と45
度の角度を成す斜行座標軸を設定し、各斜行座標軸に沿
って部品を移動し部品配置をコンパクションする処理に
より部品の仮想形状同士を近接させ、また、部品の仮想
形状同士の重なりがある場合はそれを解消するまで部品
ピッチを拡大する(ステップ206)。
K = sqrt (9/2) = 2.12 Next, the diameter d = sqrt of a circle having the same area as the part having the area 1
(4 / π) = 1.13 is calculated, and the dimension conversion coefficient k is calculated.
Is multiplied by 2.4 to obtain a virtual shape of a circle having a diameter of 2.4 at the approximate part position as shown in FIG. 7 (step 205). Next, as shown in FIG.
Set the skewed coordinate axes that form an angle of degree, move the parts along each skewed coordinate axis and compact the part arrangement to bring the virtual shapes of the parts closer together, and there is an overlap between the virtual shapes of the parts In this case, the component pitch is enlarged until the problem is solved (step 206).

【0081】次に、図18に示す様に部品配置位置を斜
行座標軸とともに45度回転させ、斜行座標軸をXY座
標軸と一致させる(ステップ210)。そして、図10
に示すように概略部品位置に部品の仮想形状を実形状に
置き換えて配置する。すなわち、部品の実寸法に寸法換
算係数kを掛けた値の寸法の部品形状を計算し、その形
状をX座標軸方向あるいはY座標軸方向に向けて概略部
品位置に配置する(ステップ211)。
Next, as shown in FIG. 18, the component arrangement position is rotated by 45 degrees together with the skewed coordinate axis, and the skewed coordinate axis is made coincident with the XY coordinate axis (step 210). And FIG.
As shown in (1), the virtual shape of the component is replaced with the real shape at the approximate component position. That is, a part shape having a value obtained by multiplying the actual dimension of the part by the dimension conversion coefficient k is calculated, and the shape is arranged at the approximate part position in the X coordinate axis direction or the Y coordinate axis direction (step 211).

【0082】次に、部品再配置部108が部品8と部品
7がX方向で重なることを検出し、部品8と部品7の両
者を囲む領域(図10に点線で示す)を設定する。次
に、領域の左右の幅と部品8と部品7の左右の幅を合計
した値とを比較することで重なりの解消の可能性を計算
し、否定的結果を得る。次に、領域の上下の幅と部品8
と部品7の上下の幅を合計した値とを比較することで重
なりの解消の可能性を計算し、肯定的結果を得、部品8
と部品7を上下に配置する位置を計算し、図10に示す
様に部品を再配置する(ステップ212)。最後に、部
品配置コンパクション部109が、XY座標軸と重なっ
た斜行座標軸に沿って部品を移動させ部品配置をコンパ
クションする処理により部品の実形状同士を近接させる
(ステップ213)。 (第2の実施形態)図12を参照すると、本発明の第2
の実施形態の自動部品配置システムは、プログラム制御
により動作するデータ処理装置100と、表示装置12
0と、入力装置130とから構成されている。第2の実
施形態の自動部品配置システムは、データ処理装置10
0が、第1の実施形態の各部に加え、共通クラスタ作成
部113と階層別配置部114を有する。
Next, the component rearranging section 108 detects that the component 8 and the component 7 overlap in the X direction, and sets an area (shown by a dotted line in FIG. 10) surrounding both the component 8 and the component 7. Next, the possibility of eliminating the overlap is calculated by comparing the left and right widths of the region with the sum of the left and right widths of the component 8 and the component 7, and a negative result is obtained. Next, the upper and lower widths of the region and the part 8
By comparing the upper and lower widths of the component 7 with the sum of the values, the possibility of eliminating the overlap is calculated, and a positive result is obtained.
Then, the positions at which the components 7 and 7 are arranged vertically are calculated, and the components are rearranged as shown in FIG. 10 (step 212). Finally, the component placement compaction unit 109 moves the component along the skewed coordinate axis overlapping the XY coordinate axis, and brings the actual shapes of the components closer to each other by a process of compacting the component placement (step 213). (Second Embodiment) Referring to FIG. 12, a second embodiment of the present invention will be described.
The automatic component placement system according to the embodiment includes a data processing device 100 operating under program control, a display device 12
0 and the input device 130. The automatic component placement system according to the second embodiment includes a data processing device 10
0 has a common cluster creation unit 113 and a hierarchical arrangement unit 114 in addition to the units of the first embodiment.

【0083】この共通クラスタ作成部113の概略動作
は、第1の一次元部品配置と第2の一次元部品配置とで
共通に存在するクラスタを共通クラスタとして抽出する
ことである。階層別配置部114は、上位の共通クラス
タから順に下位の階層の部品あるいは共通クラスタを1
つの部品として配置し、その共通クラスタ毎に、それを
更に下位の階層の共通クラスタ及び部品に展開し配置す
る。
The general operation of the common cluster creating unit 113 is to extract a cluster that exists in common between the first one-dimensional component arrangement and the second one-dimensional component arrangement as a common cluster. The hierarchical arrangement unit 114 sequentially assigns lower-level components or common clusters to the upper-level common cluster in order of 1
It is arranged as one component, and for each common cluster, it is developed and arranged in a common cluster and components of a lower hierarchy.

【0084】次に、本実施形態の全体の動作について図
13のフローチャートを参照して詳細に説明する。ま
ず、図13を参照して説明する。
Next, the overall operation of the present embodiment will be described in detail with reference to the flowchart of FIG. First, a description will be given with reference to FIG.

【0085】ステップ201では、第1の実施形態のス
テップ201により、部品データ入力部101がネット
データと部品の面積データと部品形状データを入力し、
部品データ記憶部102に書き込む。次に、ステップ2
02では、第1の実施形態のステップ202により、第
1の一次元部品配置15を得、結果の部品配置は第1の
一次元部品配置15として記憶する。次に、ステップ2
03では、第1の実施形態のステップ203により、第
2の一次元部品配置16を得、記憶する。
In step 201, the component data input unit 101 inputs the net data, the area data of the component, and the component shape data in step 201 of the first embodiment.
Write to the component data storage unit 102. Next, step 2
In step 02, the first one-dimensional component arrangement 15 is obtained in step 202 of the first embodiment, and the resulting component arrangement is stored as the first one-dimensional component arrangement 15. Next, step 2
In step 03, the second one-dimensional component arrangement 16 is obtained and stored in step 203 of the first embodiment.

【0086】次に、ステップ220では、共通クラスタ
作成部113が、ステップ202で第1の一次元部品配
置を計算した際に得られたクラスタとステップ203で
第2の一次元部品配置15を計算した際に得られたクラ
スタを比較し、それが要素とする全部品が同じクラスタ
を両一次元部品配置の共通クラスタとして記憶する。ま
た、全部品の集合を1つの共通クラスタとする。そし
て、全部品面積の和を2で割った値の平方根を寸法換算
係数として求める。
Next, in step 220, the common cluster creation unit 113 calculates the cluster obtained when the first one-dimensional component arrangement is calculated in step 202 and the second one-dimensional component arrangement 15 in step 203. Then, the clusters obtained at the time of the comparison are compared, and the cluster in which all the components as the elements are the same is stored as a common cluster of the two-dimensional component arrangement. Also, a set of all parts is defined as one common cluster. Then, the square root of the value obtained by dividing the sum of all the component areas by 2 is obtained as a dimension conversion factor.

【0087】次に、ステップ221からステップ224
では、階層別配置部114が、以下の様にして上位の共
通クラスタから順に下位の階層の部品あるいは共通クラ
スタに展開し配置する。
Next, from step 221 to step 224
Then, the hierarchical arrangement unit 114 expands and arranges the components in the lower hierarchy or the common cluster in order from the upper common cluster in the following manner.

【0088】ステップ221では、概略配置部107
が、共通クラスタの中心を原点とする座標軸上に、共通
クラスタの要素の部品(及び共通クラスタ)をその面積
の長さを持つ線分にし、その線分をX座標軸上に原点か
ら左右対称に第1の一次元部品配置15の順に配置す
る。同様に、Y座標軸上に原点から上下対称に、それら
の部品の線分を第2の一次元部品配置15の順に配置す
る。そして、XY座標軸上のその線分の中心位置をその
線分に対応する部品の位置のXY座標成分として、それ
らの部品(共通クラスタ)をその上位の階層の共通クラ
スタに替えて配置する概略部品位置を定める。
In step 221, the general arrangement unit 107
On the coordinate axis with the center of the common cluster as the origin, the components of the common cluster (and the common cluster) are made into line segments having the length of the area, and the line segments are symmetrically arranged on the X coordinate axis from the origin. The components are arranged in the order of the first one-dimensional component arrangement 15. Similarly, the line segments of these components are arranged in the order of the second one-dimensional component arrangement 15 on the Y coordinate axis in a vertically symmetric manner from the origin. Then, the center position of the line segment on the XY coordinate axis is set as the XY coordinate component of the position of the component corresponding to the line segment, and these components (common clusters) are replaced with the higher-level common cluster and arranged. Determine the position.

【0089】次に、ステップ222では、第1の実施形
態のステップ205と同様に、部品形状投影部201
が、部品(あるいは共通クラスタ)の面積を有する円形
あるいは多角形の寸法を計算し、この寸法に寸法換算係
数を掛けた値の寸法の仮想形状を計算し、この形を概略
部品位置に配置する。
Next, in step 222, as in step 205 of the first embodiment, the component shape projection unit 201
Calculates the size of a circle or polygon having the area of a part (or a common cluster), calculates a virtual shape having a value obtained by multiplying the size by a size conversion coefficient, and arranges the shape at the approximate part position. .

【0090】次に、ステップ223では、第1の実施形
態のステップ206と同様に、こうして展開した部品
(共通クラスタ)の配置のXY座標軸に45度の傾きを
持つ斜行座標軸を設定し、この部品配置を部品の仮想形
状同士の重なりが解消し互いに隣接するまで第1の斜行
座標軸に沿ってコンパクション処理を行ない、次に、同
様に第2の斜行座標軸に沿ってコンパクション処理を行
なう。この様にして最下位の階層に至るまでステップ2
21から223を繰り返し、共通クラスタを単部品の階
層に至るまで展開し部品の概略配置位置を定める。
Next, in step 223, as in step 206 of the first embodiment, skewed coordinate axes having an inclination of 45 degrees are set on the XY coordinate axes of the arrangement of the components (common clusters) thus developed. The compaction processing is performed along the first oblique coordinate axis until the overlapping of the virtual shapes of the parts is eliminated and the parts are adjacent to each other, and then the compaction processing is similarly performed along the second oblique coordinate axis. Step 2 until the lowest level is reached in this way.
Steps 21 to 223 are repeated to expand the common cluster to the level of the single part and determine the approximate arrangement position of the part.

【0091】次に、第1の実施形態のステップ210
で、部品配置位置と斜行座標軸を45度回転させて、斜
行座標軸をXY座標軸に重ねる。
Next, step 210 of the first embodiment
Then, the component arrangement position and the skewed coordinate axis are rotated by 45 degrees, and the skewed coordinate axis is superimposed on the XY coordinate axis.

【0092】次に、第1の実施形態のステップ211
で、部品の実形状の寸法に寸法換算係数を掛けた値を計
算し、この値の寸法の形状を概略部品位置に配置しXY
座標軸方向に向ける。次に、第1の実施形態のステップ
212で、部品の配置を改善する。
Next, step 211 of the first embodiment
Then, a value obtained by multiplying the dimension of the actual shape of the part by the dimension conversion coefficient is calculated.
Orient in the coordinate axis direction. Next, in step 212 of the first embodiment, the arrangement of components is improved.

【0093】最後に、第1の実施形態のステップ213
で、部品配置コンパクション部109が、この部品配置
をY座標軸に沿って縮小(あるいは部品同士の重なりを
解消する位置まで配置を拡大)するコンパクション処理
を行なうことで、Y座標軸方向での部品同士の重なりを
解消すると同時に、部品同士を隣接させた配置を得る。
同様に、X座標軸方向に沿ってコンパクション処理す
る。
Finally, step 213 of the first embodiment
Then, the component arrangement compaction unit 109 performs compaction processing for reducing the component arrangement along the Y coordinate axis (or expanding the arrangement to a position at which the overlapping of the parts is eliminated), so that the parts arrangement in the Y coordinate axis direction is performed. At the same time as eliminating the overlap, an arrangement in which the components are adjacent to each other is obtained.
Similarly, compaction processing is performed along the X coordinate axis direction.

【0094】次に、具体例を用いて説明する。図5に示
す部品1から9とその部品端子同士を接続するネットデ
ータを部品データ入力部101が入力し、部品データ記
憶部102に記憶する(ステップ201)。先ず、第1
の実施形態と同様にして、第1の一次元部品配置を得
る。結果は、(((((((3,6),9),(2,
1)),5),8),4),7)となる(ステップ20
2)。
Next, a specific example will be described. The component data input unit 101 inputs the net data connecting the components 1 to 9 and their component terminals shown in FIG. 5 and stores them in the component data storage unit 102 (step 201). First, first
The first one-dimensional component arrangement is obtained in the same manner as in the embodiment. The result is ((((((((3,6), 9), (2,
1)), 5), 8), 4), 7) (Step 20)
2).

【0095】次に、第2の一次元部品配置を行なう。そ
の結果は、(((((((1,2),3),(4,
7)),5),6),8),9)となる(ステップ20
3)。次に、第1の一次元部品配置15と第2の一次元
部品配置16は、全部品から成るクラスタを共通クラス
タにする。この明らかな場合以外に、両配置が(部品
1、部品2)のクラスタを共有することを見出す。この
クラスタを共通クラスタc1とし記憶する。また、総部
品面積9を2で割った値の平方根を寸法換算係数kとし
て求める(ステップ220)。
Next, a second one-dimensional component arrangement is performed. The result is ((((((((1,2), 3), (4,
7)), 5), 6), 8), 9) (Step 20)
3). Next, the first one-dimensional component arrangement 15 and the second one-dimensional component arrangement 16 make a cluster composed of all components into a common cluster. Apart from this obvious case, we find that both arrangements share a cluster of (part 1, part 2). This cluster is stored as a common cluster c1. Further, the square root of the value obtained by dividing the total component area 9 by 2 is obtained as the dimension conversion coefficient k (step 220).

【0096】k=sqrt(9/2)=2.12 次に、全部品の共通クラスタの要素の共通クラスタc1
とその他の部品による第1の一次元部品配置をX座標軸
への投影とし、第2の一次元部品配置をY座標軸への投
影としてXY座標平面上の部品概略位置を計算する(ス
テップ221)。次に、部品形状投影部201が、以下
の様にして部品の仮想形状を計算する。すなわち、面積
1の部品を円で近似すると円の直径d=sqrt(4/
π)=1.13となるが、これに寸法換算係数kを掛け
て2.4を得、図14に示す様に概略部品位置に部品の
仮想形状が2.4の直径を有する円のデータを記録す
る。面積2の部品(共通クラスタ)c1は同様に計算し
直径3.4を得る(ステップ222)。
K = sqrt (9/2) = 2.12 Next, the common cluster c1 of the elements of the common cluster of all parts
Then, the first one-dimensional component arrangement by the and other components is projected on the X coordinate axis, and the second one-dimensional component arrangement is projected on the Y coordinate axis, and the approximate component position on the XY coordinate plane is calculated (step 221). Next, the component shape projection unit 201 calculates the virtual shape of the component as follows. That is, when a part having an area 1 is approximated by a circle, the diameter d of the circle is d = sqrt (4 /
π) = 1.13, which is multiplied by the dimension conversion coefficient k to obtain 2.4, and as shown in FIG. 14, data of a circle having a virtual shape of the part having a diameter of 2.4 at the approximate part position Record A part (common cluster) c1 having an area 2 is similarly calculated to obtain a diameter of 3.4 (step 222).

【0097】次に、図15に示す様にXY座標軸と45
度の角度を成す斜行座標軸を設定し、各斜行座標軸に沿
って部品を移動し部品配置を縮小するコンパクション処
理により部品を近接し、また、部品同士の重なりを解消
する(ステップ223)。次に、図16に示す様に共通
クラスタc1を下位の階層の部品1と部品2に展開す
る。部品1と部品2の位置は第1の一次元部品配置と第
2の一次元部品配置の順がXY座標軸への投影となる様
に概略部品位置を定め設定し、部品の仮想形状は先と同
様に計算した直径を持つ円を設定する(ステップ22
1,222)。
Next, as shown in FIG.
The skewed coordinate axes forming the angle of the degree are set, the parts are moved closer to each other by the compaction processing for moving the parts along the respective skewed coordinate axes and reducing the arrangement of the parts, and the overlapping of the parts is eliminated (step 223). Next, as shown in FIG. 16, the common cluster c1 is expanded into parts 1 and 2 in the lower hierarchy. The positions of the parts 1 and 2 are determined by setting the approximate part positions so that the order of the first one-dimensional part arrangement and the second one-dimensional part arrangement is projected onto the XY coordinate axes. A circle having a diameter calculated similarly is set (step 22).
1, 222).

【0098】次に、図17に示す様に部品を斜行座標軸
に沿ってコンパクション処理し部品同士を近接させ、か
つ、部品同士の重なりを解消する(ステップ223)。
次に、図18に示す様に部品配置位置を斜行座標軸とと
もに45度回転させ、斜行座標軸をXY座標軸と一致さ
せる(ステップ210)。そして、図9に示す様に、部
品形状投影部201が、仮想形状の代わりとして、部品
の実寸法に寸法換算係数kを掛けた値の寸法の形状をX
Y座標軸方向に配向した形を配置する(ステップ21
1)。
Next, as shown in FIG. 17, the components are compacted along the skewed coordinate axes to bring the components closer together and to eliminate the overlap between the components (step 223).
Next, as shown in FIG. 18, the component arrangement position is rotated by 45 degrees together with the skewed coordinate axis, and the skewed coordinate axis is made coincident with the XY coordinate axis (step 210). Then, as shown in FIG. 9, instead of the virtual shape, the component shape projection unit 201 converts the actual shape of the component to a shape of a value obtained by multiplying the actual size of the component by the size conversion coefficient k.
A shape oriented in the Y coordinate axis direction is arranged (step 21).
1).

【0099】次に、部品再配置部108が、部品8と部
品7がX方向で重なることを検出し、部品8と部品7の
両者を囲む領域(9に点線で示す)を設定する。次に、
領域の左右の幅と部品8と部品7の左右の幅を合計した
値を比較し重なりの解消に否定的結果を得、次に、領域
の上下の幅と部品8と部品7の上下の幅を合計した値を
比較し重なりの解消に肯定的結果を得、部品8と部品7
を上下に配置する位置を計算し、図10に示す様に部品
を再配置する(ステップ212)。後に、部品配置コン
パクション部109が、図11に示すようにXY座標軸
となった斜行座標軸に沿って部品配置をコンパクション
処理する。 (第3の実施形態)第3の実施形態の構成は、図19に
示すように、第2の実施形態の各部に加え、部品データ
入力部101が初期クラスタ作成部111を有する。初
期クラスタ作成部111は部品(第1の部品)毎に、そ
の部品と他の1つの部品(第2の部品)を結ぶネットの
数を部品間の結合力値として計算する。第1の部品に対
し最大の結合力値を与える第2の部品(これを第3の部
品と称する)を抽出する計算を行ない、それ以外の第2
の部品と第1の部品の結合力値の総和を計算する。前者
が後者よりも予め指定した値より大きい場合に、第3の
部品を第1の部品との結合が強い部品として、第3の部
品と第1の部品の集合を初期クラスタと記録する。初期
クラスタは部品と同等に扱い、初期クラスタの面積はそ
の構成要素全体の面積の和とする。
Next, the component rearrangement section 108 detects that the component 8 and the component 7 overlap in the X direction, and sets an area (indicated by a dotted line 9) surrounding both the component 8 and the component 7. next,
The values obtained by comparing the left and right widths of the region and the sum of the left and right widths of the parts 8 and 7 are negative, and a negative result is obtained in eliminating the overlap. Are compared, and a positive result is obtained in eliminating the overlap.
Then, the positions at which the components are arranged up and down are calculated, and the components are rearranged as shown in FIG. 10 (step 212). Thereafter, the component placement compaction unit 109 performs compaction processing of the component placement along the skewed coordinate axes that are the XY coordinate axes as shown in FIG. (Third Embodiment) In the configuration of the third embodiment, as shown in FIG. 19, the component data input unit 101 has an initial cluster creation unit 111 in addition to the components of the second embodiment. The initial cluster creating unit 111 calculates, for each component (first component), the number of nets connecting the component and another component (second component) as a bonding force value between components. A calculation is performed to extract a second component (hereinafter referred to as a third component) that gives the maximum bonding force value to the first component, and the other second component is calculated.
Calculate the sum of the bonding force values of the part and the first part. When the former is larger than the value specified in advance than the latter, the third part is regarded as a part having a strong connection with the first part, and a set of the third part and the first part is recorded as an initial cluster. The initial cluster is treated the same as a part, and the area of the initial cluster is the sum of the areas of all the components.

【0100】また、初期クラスタ作成部111は、これ
以外に、操作者のマウス操作により部品を指定する指令
を受け取り、これにより指定された部品の集合を、初期
クラスタとして記録する事ができる。更に、初期クラス
タ作成部111は、操作者のマウス操作により、部品を
指定する指令を受け取り、これにより指定された部品相
互の相対位置を記憶し、一次元部品配置の計算におい
て、初期クラスタを、その要素の部品同士の相対位置が
固定した一体の部品の集合体として記憶し、部品比重計
算部103が初期クラスタを一体の部品として扱い比重
を計算し、整列部104が初期クラスタを一体の部品と
して扱い一次元部品配置の順番を計算することもでき
る。すなわち、初期クラスタ作成部111は、第1の一
次元部品配置に関わる初期クラスタと、第2の一次元部
品配置に関わる初期クラスタを以下の様にして独立に設
定する。
In addition, the initial cluster creating unit 111 can receive a command to designate a component by an operator's mouse operation, and record a set of designated components as an initial cluster. Further, the initial cluster creating unit 111 receives a command for designating a component by an operator's mouse operation, stores the relative positions of the components designated by this, and calculates the initial cluster in the calculation of the one-dimensional component arrangement. The relative positions of the components of the element are stored as a set of integral components, and the component specific gravity calculation unit 103 treats the initial cluster as an integral component and calculates the specific gravity, and the alignment unit 104 treats the initial cluster as an integral component. And the order of the one-dimensional component arrangement can be calculated. That is, the initial cluster creating unit 111 independently sets an initial cluster related to the first one-dimensional component arrangement and an initial cluster related to the second one-dimensional component arrangement as follows.

【0101】先ず、操作者のマウス操作により複数の部
品を指定し、部品群を形成する指令を受け取り、また、
その部品群が初期クラスタとなる部品配置方向をX方向
あるいはY方向に指定する指令を受け取り、以下の要素
を記録した初期クラスタデータを作成し部品データ記憶
部102に記憶する。初期クラスタデータのデータ構造
は、部品配置方向と、部品群名と、その部品群に属する
部品名と、初期クラスタの要素の部品の相対位置と、を
記録するデータ構造を持つ。また、初期クラスタデータ
には、部品配置方向として、X方向とY方向との2つの
方向をともに記録する事もできるが、その場合は、その
部品群は、X方向の移動でもY方向の移動においても一
体として移動する初期クラスタとなる。
First, a plurality of parts are designated by the mouse operation of the operator, a command for forming a part group is received, and
An instruction to designate the component arrangement direction in which the component group is to be the initial cluster in the X direction or the Y direction is received, and initial cluster data in which the following elements are recorded is created and stored in the component data storage unit 102. The data structure of the initial cluster data has a data structure for recording a component arrangement direction, a component group name, a component name belonging to the component group, and a relative position of a component of an element of the initial cluster. In addition, in the initial cluster data, both directions of the X direction and the Y direction can be recorded as the component arrangement direction. In this case, the component group moves in the Y direction even in the X direction. Is also an initial cluster that moves as a unit.

【0102】この後の部品配置位置の計算において、初
期クラスタデータで記録した部品群の部品は、その記録
した部品配置方向の部品の移動では、各部品を連結し一
斉に同じ距離で移動する制約を与えるが、その方向へ垂
直な第2の方向については、その第2の方向がもう1つ
の部品配置方向として記録されていない場合は、第2の
方向への各部品の移動は互いの相対位置を任意に変える
移動ができる。
In the subsequent calculation of the component arrangement position, the components of the component group recorded in the initial cluster data are connected by moving the components in the recorded component arrangement direction at the same distance. However, for a second direction perpendicular to that direction, if the second direction is not recorded as another component arrangement direction, the movement of each component in the second direction is relative to each other. The position can be changed arbitrarily.

【0103】次に、本実施形態の全体の動作について図
13を参照して説明する。先ず、ステップ201では、
第1の実施形態のステップ201により、部品データ入
力部101がネットデータと部品の面積データと部品形
状データを入力し、部品データ記憶部102に書き込
む。次に、初期クラスタ作成部111が、部品(第1の
部品)毎に、その部品と他の1つの部品(第2の部品)
を結ぶネットの数を部品間の結合力値として計算する。
第1の部品に対し最大の結合力値を与える第2の部品
(第3の部品)を抽出する計算を行ない、それ以外の第
2の部品と第1の部品の結合力値の総和を計算する。前
者が後者よりも予め指定した値より大きい場合に、第3
の部品を第1の部品との結合が強い部品として、第3の
部品と第1の部品の集合を初期クラスタとして初期クラ
スタデータを作成する。この初期クラスタデータは、初
期クラスタの面積はその構成要素の部品の面積の総和を
記録し、部品の相対位置は指定せず任意とし、その構成
部品の相対位置は制約しないようにする。初期クラスタ
は部品と同等に扱う。
Next, the overall operation of this embodiment will be described with reference to FIG. First, in step 201,
In step 201 of the first embodiment, the component data input unit 101 inputs the net data, the area data of the component, and the component shape data, and writes them in the component data storage unit 102. Next, for each component (first component), the initial cluster creation unit 111 executes the component and another component (second component).
Is calculated as the value of the bonding force between the components.
A calculation is performed to extract a second component (third component) that gives the maximum bonding force value to the first component, and a total sum of the bonding force values of the other second components and the first component is calculated. I do. If the former is greater than the predetermined value than the latter, the third
The initial cluster data is created using the set of the third part and the first part as an initial cluster, with the part of which is strongly coupled to the first part. In the initial cluster data, the area of the initial cluster records the sum of the areas of the components of the component, the relative position of the component is not specified, and is arbitrary, and the relative position of the component is not restricted. Initial clusters are treated the same as parts.

【0104】次に、ステップ202から224までの処
理を行ない、ステップ221から224までの処理を繰
り返し、ステップ221では、階層別配置部114が、
共通クラスタをその構成要素の部品に展開し、ステップ
222では、部品形状投影部が部品の実形状を部品形状
記憶部110に記録し、その形状を共通クラスタの配置
位置に配置する。その後に、ステップ223では、部品
配置コンパクション部109が全部品の配置を縮小す
る。そして、全ての共通クラスタをその構成要素の部品
にまで展開しコンパクションした後に、ステップ221
から224までの処理により、初期クラスタを部品に展
開する。次に、第2の実施形態と同様に、ステップ21
0からステップ213の処理を行ない、部品のレイアウ
トをコンパクションし部品配置を完成させる。
Next, the processing of steps 202 to 224 is performed, and the processing of steps 221 to 224 is repeated. In step 221, the hierarchical arrangement unit 114
The common cluster is developed into its component parts. In step 222, the component shape projection unit records the actual shape of the component in the component shape storage unit 110, and arranges the shape at the common cluster arrangement position. Thereafter, in step 223, the component placement compaction unit 109 reduces the placement of all components. Then, after all the common clusters are expanded to the components of the component and compacted, step 221 is performed.
The initial cluster is developed into parts by the processes from to 224. Next, as in the second embodiment, step 21 is executed.
From step 0, the process of step 213 is performed to compact the component layout and complete component placement.

【0105】本実施形態は、部品間の結合の強い部品の
集合を予め初期クラスタとし一体にして部品配置するの
で、部品数が初期クラスタにまとめられ減少し、処理時
間を短くすることができる。 (第4の実施形態)第4の実施形態の構成は、図20に
示す様に、第1の実施形態の各部に加え、部品データ入
力部101が部品グラフデータ入力部115を有する。
第4の実施形態は、ネットデータのデータ構造を、ネッ
ト名と、そのネット信号の重み値と、そのネットに接続
する部品端子名と、を記録するデータ構造にし、ネット
信号の重みを記録するようにした。
In this embodiment, since a set of components having strong coupling between components is previously integrated into an initial cluster and components are arranged integrally, the number of components is reduced to the initial cluster and the processing time can be shortened. (Fourth Embodiment) In the configuration of the fourth embodiment, as shown in FIG. 20, the component data input unit 101 has a component graph data input unit 115 in addition to the components of the first embodiment.
In the fourth embodiment, the data structure of the net data is a data structure for recording a net name, a weight value of the net signal, and a component terminal name connected to the net, and records the weight of the net signal. I did it.

【0106】また、以下の要素を記録した部品グラフデ
ータを記憶する。すなわち、部品グラフデータは、部品
同士の間に定義するグラフデータであり、部品群名(ネ
ット名に相当する)と、部品グラフの重み値と、その部
品群に属する部品名と、を記録するデータ構造を持つ、
部品同士を節として結ぶデータである。この部品グラフ
データは、比重の計算において、ネットデータと同じく
計算に加えられる。
Also, component graph data in which the following elements are recorded are stored. That is, the component graph data is graph data defined between components, and records a component group name (equivalent to a net name), a weight value of the component graph, and component names belonging to the component group. With a data structure,
This is data that connects parts as nodes. This part graph data is added to the calculation in the calculation of the specific gravity similarly to the net data.

【0107】本実施形態の部品データ入力部101は、
ネット信号の重みを記録したネットデータを読み込み、
また、部品グラフデータ入力部115の概略動作は、部
品同士を節として結ぶ部品グラフデータを読み込むこと
である。
The component data input unit 101 of the present embodiment
Read the net data that records the weight of the net signal,
The general operation of the component graph data input unit 115 is to read component graph data connecting components with nodes.

【0108】本実施形態では、部品データ入力部101
が、部品(あるいは半導体セル)端子同士を結ぶネット
信号のネットデータに関して、そのネットを結ぶ配線を
伝達する信号の伝達速度を速くするか、信号遅延時間を
短くするため配線を特に短くすべきネットや、そのネッ
トを結ぶ配線から発生するノイズを小さくするため配線
を特に短くすべきネットは重みを大きくできる様に重み
値を記録したネットデータを読み込む。このネットデー
タの重み値は、操作者のマウス操作でネットを指定する
指令を受け取り、操作者のキーボード操作で重み値を指
定する指令を受け取る事でネットデータを読み込む事が
できる。
In this embodiment, the component data input unit 101
However, regarding the net data of the net signal connecting the component (or semiconductor cell) terminals, it is necessary to increase the transmission speed of the signal transmitted through the wiring connecting the nets, or to reduce the signal delay time by making the wiring particularly short. In addition, net data in which a weight value is recorded so that the weight can be increased for a net whose wiring is particularly short in order to reduce noise generated from the wiring connecting the nets is read. The weight value of the net data can be read by receiving a command to specify the net by the mouse operation of the operator and receiving a command to specify the weight value by the keyboard operation of the operator.

【0109】例えば、ネット信号毎に必要とされる許容
遅延時間の逆数に比例した重み値、あるいは抑制すべき
ノイズの当該信号線からの発生率、などに比例した重み
値を記録したネットデータを読み込む。この重み値は、
部品比重計算部103が部品の比重を計算する際に、そ
のネットの数に重みとして掛け合わされる。
For example, net data in which a weight value proportional to the reciprocal of the permissible delay time required for each net signal or a weight value proportional to the occurrence rate of noise to be suppressed from the signal line is recorded. Read. This weight value is
When the component specific gravity calculation unit 103 calculates the specific gravity of a component, the number of nets is multiplied as a weight.

【0110】他の方法としては、初めはネットデータに
重み値は記録せず、ネットデータにはネット毎にネット
の特性値を記録する。例えば、第1の特性値として許容
遅延時間を記録し、第2の特性値としてネット毎に単位
長さ当たりのノイズの発生率を記録したデータ構造のネ
ットデータを読み込む。このネットデータの特性値は操
作者のマウス操作でネットを指定する指令を受け取り、
操作者のキーボード操作で特性値を指定する指令を受け
取る事でネットデータを読み込む事ができる。
As another method, initially, the weight value is not recorded in the net data, and the net characteristic value is recorded for each net in the net data. For example, net data having a data structure in which an allowable delay time is recorded as a first characteristic value and a noise occurrence rate per unit length is recorded as a second characteristic value for each net is read. The characteristic value of this net data receives the command to specify the net by the mouse operation of the operator,
Net data can be read by receiving a command to specify a characteristic value by an operator's keyboard operation.

【0111】次に、重みデータ計算手段が、これらの特
性の種別毎に予め記憶した係数をその特性値で割り算す
る事でネット信号の重み値を計算する。そして、特性の
種別毎に計算したネット重み値の総和を計算し、その結
果をネットの重み値としてネットデータに追加し記録す
る。あるいは、先に作成したネットデータとは別に新た
に、ネット名とネットの重み値を重みデータとして記憶
手段に記憶し、部品比重計算部103が部品の比重を計
算する際に読み出し、ネット数に重みとして掛け合わせ
て比重を計算しても良い。
Next, the weight data calculating means calculates the weight value of the net signal by dividing the coefficient stored in advance for each type of these characteristics by the characteristic value. Then, the sum of the net weight values calculated for each characteristic type is calculated, and the result is added to the net data as a net weight value and recorded. Alternatively, separately from the previously created net data, the net name and the weight value of the net are stored in the storage means as weight data, and are read out when the component specific gravity calculation unit 103 calculates the specific gravity of the component. The specific gravity may be calculated by multiplying the specific gravity.

【0112】また、部品グラフデータ入力部115が能
動部品とその電源とグランドを結ぶバイパスコンデンサ
に関して両部品を両端の節として定義する部品グラフデ
ータで、両部品が引き合う引力による重みを記録した部
品グラフデータを読み込む。この部品グラフデータは、
引力を表わすネットデータと同様に、部品グラフデータ
に記録した重みの引力とし、ネットデータと部品グラフ
データの総和が部品に加わる力として計算される。
The component graph data input unit 115 is component graph data in which both components are defined as nodes at both ends with respect to an active component and a bypass capacitor connecting the power supply and the ground. Read data. This part graph data
Similarly to the net data representing the attractive force, the weight is the gravity of the component graph data, and the sum of the net data and the component graph data is calculated as the force applied to the component.

【0113】これ以外の部品グラフデータとして、アナ
ログ処理の部品群を1つの部品群と指定しその部品群の
部品同士を接続する部品グラフデータを読み込む。ま
た、デジタル処理の部品群を1つの部品群と指定しその
部品群の部品同士を接続する部品グラフデータを読み込
む。この場合は、部品比重計算部103が部品の比重を
計算する際に、このアナログ部品群の部品グラフデータ
とデジタル部品群の部品グラフデータがネットデータと
一緒に比重の計算に用いられ、そして整列部104が一
次元部品配置の順番を計算し、概略配置部107が二次
元平面に配置する部品概略配置位置を計算した結果は、
アナログ部品群とデジタル部品群がそれぞれの部品群に
互いに分かれて集合した配置が得られる。
As other component graph data, a component group for analog processing is designated as one component group, and component graph data for connecting the components of the component group is read. Also, the part group for digital processing is designated as one part group, and the part graph data for connecting the parts of the part group is read. In this case, when the component specific gravity calculator 103 calculates the specific gravity of the component, the component graph data of the analog component group and the component graph data of the digital component group are used together with the net data to calculate the specific gravity. The result obtained by the unit 104 calculating the order of the one-dimensional component placement and the schematic placement unit 107 calculating the schematic component placement position to be placed on the two-dimensional plane is as follows:
An arrangement is obtained in which the analog component group and the digital component group are separated from each other and assembled.

【0114】また、他の種類の部品グラフデータとし
て、発熱量の高い部品同士をお互いに引き離す様に重み
値を負数と記録した、発熱による部品グラフデータも読
み込む。発熱による部品グラフデータの場合は、熱特性
データ作成手段が、予め定めた値以上に発熱量の多い、
あるいは熱に弱い部品を抽出し、その2つの部品同士を
結ぶ、両部品の発熱量の積、あるいは耐熱性の逆数の積
に比例する負の値の重み値を記録した部品グラフデータ
を作成する。この負の重み値の部品グラフデータが作成
された場合は、部品比重計算部103が部品の比重を計
算する際に、その部品群の部品間に反発力が働く様に比
重が計算され、概略配置部107が二次元平面に配置す
る部品概略配置位置を計算した結果は、その部品同士を
遠ざける部品配置位置が計算される。
Further, as another type of component graph data, component graph data due to heat generation, in which weight values are recorded as negative numbers so as to separate components having high heat values from each other, is also read. In the case of component graph data due to heat generation, the thermal characteristic data creation means generates a large amount of heat more than a predetermined value.
Alternatively, heat-sensitive parts are extracted, and part graph data is created that connects the two parts and records a weight value of a negative value proportional to the product of the calorific values of the two parts or the product of the reciprocal of heat resistance. . When the component graph data having the negative weight value is created, when the component specific gravity calculation unit 103 calculates the specific gravity of the component, the specific gravity is calculated so that a repulsive force acts between the components of the component group. As a result of calculating the approximate component placement position to be placed on the two-dimensional plane by the placement unit 107, a component placement position for keeping the components away from each other is calculated.

【0115】また、特に発熱量が大きい部品に関して
は、その他の部品毎に、その1つの部品と高発熱部品を
結ぶ部品グラフデータを、高発熱部品の発熱量に比例す
る負の重み値を記録し作成する。こうする事で、高発熱
部品とその他の部品を遠ざけた配置が計算される。
For a component having a large heat value, the component graph data connecting the component and the high heat component is recorded for each of the other components, and a negative weight value proportional to the heat value of the high heat component is recorded. And create. In this way, an arrangement in which the high heat generation components and other components are separated from each other is calculated.

【0116】また、第3の実施形態と同様に、部品デー
タ入力部101が初期クラスタ作成部111を有し、部
品(第1の部品)毎に、その部品と他の1つの部品(第
2の部品)を結ぶネットデータと部品グラフデータにそ
れぞれの重みを掛けて計算した和を部品間の結合力値と
計算する。第1の部品に対し最大の結合力値を与える第
2の部品(これを第3の部品と称する)を計算し、それ
以外の第2の部品と第1の部品の結合力値の総和を計算
する。前者が後者よりも予め指定した値より大きい場合
に、第3の部品を第1の部品との結合が強い部品とし
て、第3の部品と第1の部品の集合を初期クラスタと記
録する。初期クラスタは部品と同等に扱い、初期クラス
タの面積はその構成要素全体の面積の和とする。次に、
部品比重計算部103が比重を計算する際に信号のネッ
トデータと部品グラフデータに指定した重みを掛けて加
えて力を計算し、それを部品面積で割り算して比重を計
算して記憶する。
As in the third embodiment, the component data input unit 101 has an initial cluster creating unit 111, and for each component (first component), the component and one other component (second component) The sum calculated by multiplying the net data and the part graph data connecting the parts by the respective weights is calculated as the bonding force value between the parts. A second component that gives the maximum bonding force value to the first component (hereinafter referred to as a third component) is calculated, and the sum of the bonding force values of the other second component and the first component is calculated. calculate. When the former is larger than the value specified in advance than the latter, the third part is regarded as a part having a strong connection with the first part, and a set of the third part and the first part is recorded as an initial cluster. The initial cluster is treated the same as a part, and the area of the initial cluster is the sum of the areas of all the components. next,
When calculating the specific gravity, the component specific gravity calculation unit 103 multiplies the net data of the signal and the component graph data by a designated weight, adds the weight, calculates the force, divides the resultant by the component area, and calculates and stores the specific gravity.

【0117】本実施形態は、他の信号線が1信号を伝達
する間に3信号を伝達するような高速信号線は、ネット
の重みを他のネットの例えば3倍に設定し大きな重みを
入力し、整列部104が部品を配置する際に高速信号線
を他の信号線より優先的に短くする様に部品配置を導く
ことができる効果がある。
In this embodiment, a high-speed signal line that transmits three signals while another signal line transmits one signal sets the weight of the net to, for example, three times that of the other nets and inputs a large weight. However, when arranging section 104 places components, there is an effect that component placement can be guided such that high-speed signal lines are preferentially shorter than other signal lines.

【0118】本実施形態は、例えば、あるLSIとその
近くに配置すべきバイパスコンデンサを結ぶ部品グラフ
データを、重みを大きく指定し入力すると、初期クラス
タ作成部111がLSIとバイパスコンデンサを要素と
する初期クラスタを作成する。そのため、整列部104
が自動的に部品配置を決める場合に両部品が常に近くに
配置されるが、配置の相対位置には自由度を与えて配置
できる効果がある。また、本実施形態は、部品同士を結
ぶ部品グラフデータを操作者が容易に定義できるため、
操作者が自動部品配置の配置位置の概略を容易にシステ
ムに指令でき、システムの操作性が良くなる利点があ
る。 (第5の実施形態)第5の実施形態の構成は、図21に
示す様に、第1の実施形態の各部に加え、操作指令入力
部116を有する。操作指令入力部116の概略動作
は、部品配置の各局面を表示装置120に表示し、操作
者からの指令を受け取り、その指令に応じた動作を行な
うべく各部をコントロールすることである。
In the present embodiment, for example, when component graph data connecting a certain LSI and a bypass capacitor to be placed near the LSI is specified and input with a large weight, the initial cluster creating unit 111 uses the LSI and the bypass capacitor as elements. Create an initial cluster. Therefore, the alignment unit 104
In the case of automatically determining the component arrangement, both components are always arranged close to each other, but there is an effect that the relative position of the arrangement can be arranged with a degree of freedom. Further, in the present embodiment, since the operator can easily define the part graph data connecting the parts,
There is an advantage that the operator can easily instruct the system about the arrangement position of the automatic component arrangement to the system, and the operability of the system is improved. (Fifth Embodiment) The configuration of the fifth embodiment has an operation command input unit 116 in addition to the components of the first embodiment, as shown in FIG. The general operation of the operation command input unit 116 is to display each aspect of the component arrangement on the display device 120, receive a command from the operator, and control each unit to perform an operation according to the command.

【0119】本実施形態は、操作指令入力部116が、
部品配置位置を表示装置120に表示し、操作者の指令
を受けて斜行座標軸を表示装置120に表示する。部品
データ入力部101が、操作者のマウス操作、キーボー
ド操作、ジョイスティック操作等による指令により、部
品あるいはクラスタを回転させ位置を移動しその位置を
記憶するとともに表示装置120に表示する。
In this embodiment, the operation command input unit 116
The component placement position is displayed on the display device 120, and the skewed coordinate axis is displayed on the display device 120 in response to an instruction from the operator. The component data input unit 101 rotates the component or cluster to move the position, stores the position, and displays the position on the display device 120 in response to an instruction from the mouse operation, keyboard operation, joystick operation, or the like of the operator.

【0120】また、操作指令入力部116が操作者の指
令により、平面上に位置を指定する部品(例えばコネク
タ類やその他の位置指定部品)の位置を指定し記憶し、
更に、部品配置禁止領域や部品の高さ制限を定義する領
域を印刷配線板上の所定位置に定義し記憶する。
Further, the operation command input unit 116 specifies and stores the position of a component (for example, connectors and other position specifying components) for specifying a position on a plane according to an operator's command.
Further, a component placement prohibition region and a region defining the height restriction of the component are defined and stored at predetermined positions on the printed wiring board.

【0121】また、操作指令入力部116が操作者の指
令により部品群を結ぶ部品グラフデータを作成し記憶す
る。また、操作者からの指令によりこの部品グラフデー
タを印刷配線板上の指定位置に結ぶ指定をする。ここ
で、部品グラフデータは、部品群名と、部品グラフの重
み値と、その部品群に属する部品名と、を記録するデー
タ構造を持つが、印刷配線板上の指定位置は、この指令
の際に、新しい部品として形成され、その部品名がこの
部品グラフデータに記録される。こうしてその部品を指
定位置に結び付ける既配置部品とする。ただし、部品グ
ラフデータを印刷配線板の特定位置に結ばず、特定位置
に束縛されない様にすることもできる。
Further, the operation command input unit 116 creates and stores component graph data connecting the component groups according to an operator's command. In addition, the user designates to link the component graph data to a designated position on the printed wiring board in accordance with a command from the operator. Here, the part graph data has a data structure for recording the part group name, the weight value of the part graph, and the names of the parts belonging to the part group. At this time, a new part is formed, and the part name is recorded in the part graph data. In this way, the part is set as an already-placed part to be linked to the designated position. However, the component graph data may not be tied to a specific position on the printed wiring board and may not be restricted to the specific position.

【0122】また、操作指令入力部116が操作者の指
令により、部品群を指定し、それらの初期クラスタを作
成する指令を初期クラスタ作成部111に出す。また、
操作指令入力部116が操作者の指令を受け、部品形状
投影部に、部品あるいは初期クラスタの仮想形状あるい
は部品の実形状の形を計算し部品形状記憶部110に記
録し表示装置120に表示する指令を出す。
Further, the operation command input unit 116 designates a component group according to an operator's command, and issues a command to create an initial cluster thereof to the initial cluster creating unit 111. Also,
The operation command input unit 116 receives an instruction from the operator, calculates the virtual shape of the component or the initial cluster or the real shape of the component in the component shape projecting unit, records it in the component shape storage unit 110, and displays it on the display device 120. Issue a command.

【0123】また、操作指令入力部116が、操作者か
らの指令により、図22のステップ601から605の
手順で、部品データ記憶部102と部品比重計算部10
3と整列部104と部品配置順番記憶部105とクラス
タ作成部106と概略配置部107に部品の概略配置位
置を計算する指令を送る。
The operation command input unit 116 operates in accordance with a command from the operator in accordance with the procedure of steps 601 to 605 in FIG.
A command to calculate the approximate arrangement position of the component is sent to the third, the arrangement unit 104, the component arrangement order storage unit 105, the cluster creation unit 106, and the general arrangement unit 107.

【0124】最初に、ステップ601では、位置を指定
した部品や部品配置禁止領域(これを面積のある部品と
みなして)や部品の高さ制限を定義する領域が部品グラ
フデータで結ばれる位置のX方向の一次元部品配置位置
を以下の様に計算する。すなわち、その部品グラフデー
タの接続する印刷配線板の指定位置の左端からのX方向
の距離を、X方向の印刷配線板の幅で割り算した値を、
全部品面積の値に掛け算した値を計算し、その値の位置
をX方向の一次元部品配置における位置とする。位置指
定部品はその印刷配線板上の位置に部品グラフデータで
強く結び付けられる事で配置位置が指定されていない部
品との差異が与えられ、以降の処理では配置位置が指定
されていない部品と同様に扱い配置する。
First, in step 601, a part whose position is specified, a part placement prohibition area (this is regarded as a part having an area), and an area defining the height restriction of the part are determined by the part graph data. The one-dimensional component arrangement position in the X direction is calculated as follows. That is, a value obtained by dividing the distance in the X direction from the left end of the designated position of the printed wiring board to which the component graph data is connected by the width of the printed wiring board in the X direction,
A value obtained by multiplying the value of the total component area is calculated, and the position of the value is defined as the position in the one-dimensional component arrangement in the X direction. The position-designated part is strongly linked to the position on the printed wiring board by the part graph data, giving a difference from the part whose position is not specified, and is the same as the part whose position is not specified in the subsequent processing. And place it.

【0125】次に、ステップ602では、部品比重計算
部103が、第1の実施形態のステップ301で、以下
のステップ401から404により、X方向の一次元部
品配置を左から右に計算する。ここで、ステップ401
でその未配置部品の比重を計算する際に、その未配置部
品が部品グラフデータで結ばれる位置が一次元部品配置
における既配置部品の最右位よりも左の位置であれば、
左から引かれる力とし比重を重くし、その結ばれる位置
が既配置部品の最右位よりも右の位置であれば、右から
引かれる力とし比重を軽くする計算を行なう。そして、
その比重に応じて、第1の実施形態のステップ402か
ら404の処理で部品群の一次元部品配置を計算する。
次に、第1の実施形態のステップ302から306の処
理によりX方向の第1の一次元部品配置を計算する(ス
テップ602)。
Next, in step 602, the component specific gravity calculation unit 103 calculates the one-dimensional component arrangement in the X direction from left to right by the following steps 401 to 404 in step 301 of the first embodiment. Here, step 401
When calculating the specific gravity of the unplaced part, if the position where the unplaced part is connected with the part graph data is a position to the left of the rightmost position of the already placed part in one-dimensional part placement,
The calculation is made such that the force is pulled from the left and the specific gravity is heavy, and if the connected position is to the right of the rightmost position of the already placed component, the force is pulled from the right and the specific gravity is reduced. And
According to the specific gravity, the one-dimensional component arrangement of the component group is calculated by the processing of steps 402 to 404 of the first embodiment.
Next, a first one-dimensional component arrangement in the X direction is calculated by the processing of steps 302 to 306 of the first embodiment (step 602).

【0126】次に、同様に基板のY方向の一次元部品配
置に関してステップ601、ステップ602と同様の処
理によりY方向の一次元部品配置(第2の一次元部品配
置)を計算する(ステップ603,604)。次に、ス
テップ605では、第1の一次元部品配置における部品
位置をX座標とし、第2の一次元部品配置における部品
位置をY座標とし、両座標で定まる二次元平面上の位置
をその部品の部品概略部品位置として、部品をXY座標
平面上に配置する(ステップ605)。
Next, the one-dimensional component arrangement in the Y direction (second one-dimensional component arrangement) is calculated by the same processing as in steps 601 and 602 for the one-dimensional component arrangement in the Y direction on the board (step 603). , 604). Next, in step 605, the component position in the first one-dimensional component arrangement is set as the X coordinate, the component position in the second one-dimensional component arrangement is set as the Y coordinate, and the position on the two-dimensional plane determined by both coordinates is set as the component. The part is arranged on the XY coordinate plane as the part schematic part position (step 605).

【0127】また、操作指令入力部116が操作者から
の指令により、部品配置コンパクション部109に、斜
行座標軸あるいはXY座標軸に沿って部品配置をコンパ
クション処理する指令を送る。また、操作指令入力部1
16が操作者からの指令を受け、部品群の配置と斜行座
標軸をともに任意角度回転させ斜行座標軸をXY座標軸
に重ねる。また、操作指令入力部116が操作者からの
指令により、部品再配置部108が初期クラスタを構成
要素の部品に展開する指令を送る。その部品群の位置は
概略配置部107が先に計算した概略部品位置を、初期
クラスタの中心にその構成部品群の中心が来るように平
行移動し配置する。また、操作指令入力部116が操作
者の指令を受け、部品再配置部108に、指定された部
品を囲む領域で、他の部品と重ならない領域を計算し、
その領域内で部品を再配置する位置を計算させる指令を
送る。
Further, the operation command input unit 116 sends a command for compaction processing of the component arrangement along the oblique coordinate axis or the XY coordinate axis to the component arrangement compaction unit 109 in response to an instruction from the operator. The operation command input unit 1
16 receives an instruction from the operator, rotates both the arrangement of the component group and the skewed coordinate axis by an arbitrary angle, and superimposes the skewed coordinate axis on the XY coordinate axis. Further, in response to an instruction from the operator, the operation command input unit 116 causes the component rearrangement unit 108 to send a command to expand the initial cluster into component components. The positions of the component groups are arranged by translating the schematic component positions calculated by the schematic arrangement unit 107 first so that the center of the component group is located at the center of the initial cluster. Further, the operation command input unit 116 receives an operator's command, and instructs the component rearranging unit 108 to calculate a region surrounding the designated component and not overlapping with another component,
A command to calculate a position at which the component is to be rearranged in the area is sent.

【0128】本実施形態は、操作指令入力部116が操
作者の指令を受け、各処理毎に段階的にシステムを動作
させることができる。また、本実施形態は、部品を部品
グラフデータで印刷配線板の特定の位置に結合させる事
で、特定部品の配置位置を指定し部品配置を計算でき
る。また、斜行座標軸への部品配置の傾きの状況に応
じ、操作者が座標軸を任意角度で回転させて最善の部品
配向を選択できるため、システムの操作性が良い利点が
ある。 (第6の実施形態)第6の実施形態の構成は、図23に
示す様に、プログラム制御により動作するコンピュータ
のデータ処理装置100と、表示装置120と、入力装
置130とから構成される。データ処理装置100は、
部品データ入力部101と部品データ記憶部102と部
品比重計算部103と整列部104と部品配置順番記憶
部105と概略配置部107と部品配置コンパクション
部109と初期クラスタ作成部111と部品グラフデー
タ入力部115と操作指令入力部116と部品配置座標
変換部117とを有する。
In the present embodiment, the operation command input unit 116 can receive a command from the operator and operate the system step by step for each process. Further, in the present embodiment, by arranging the components at a specific position on the printed wiring board with the component graph data, it is possible to specify the arrangement position of the specific component and calculate the component arrangement. Further, since the operator can rotate the coordinate axis at an arbitrary angle to select the best component orientation according to the situation of the inclination of the component arrangement with respect to the oblique coordinate axis, there is an advantage that the operability of the system is good. (Sixth Embodiment) As shown in FIG. 23, the configuration of the sixth embodiment includes a data processing device 100 of a computer that operates under program control, a display device 120, and an input device 130. The data processing device 100
Component data input unit 101, component data storage unit 102, component specific gravity calculation unit 103, alignment unit 104, component placement order storage unit 105, schematic placement unit 107, component placement compaction unit 109, initial cluster creation unit 111, and component graph data input It has a unit 115, an operation command input unit 116, and a component arrangement coordinate conversion unit 117.

【0129】この概略動作は、操作指令入力部116が
操作者の指令により、概略部品位置における最左端ある
いは最右端、最上端、最下端等の部品の概略位置関係
(例えばコネクタ類やその他の位置指定部品の他の部品
群に対する概略位置関係)を指定し記憶する。また、操
作指令入力部116が、概略配置部107の結果の概略
部品位置を表示装置120に表示する。そして、操作指
令入力部116が、部品あるいは部品群を移動させる指
令あるいは回転させる指令を、操作者のマウス操作、キ
ーボード操作、ジョイスティック操作等から受け取り、
部品データ入力部101が指令の処理を行ない、その結
果の部品位置を部品データ記憶部102に記憶し、表示
装置120に表示させる。
The schematic operation is performed by the operation command input unit 116 in accordance with an operator's command, and the schematic positional relationship (for example, connectors and other positions) of components such as the leftmost end, the rightmost end, the uppermost end, and the lowermost end in the approximate component position. The general positional relationship between the designated component and another component group) is designated and stored. Further, the operation command input unit 116 displays the approximate component position as a result of the general arrangement unit 107 on the display device 120. Then, the operation command input unit 116 receives a command for moving or rotating the component or the component group from a mouse operation, a keyboard operation, a joystick operation, or the like of the operator,
The component data input unit 101 processes the command, stores the resulting component position in the component data storage unit 102, and causes the display device 120 to display it.

【0130】また、操作指令入力部116が、部品群を
指定する指令と部品の配置位置の座標変換の指令を、操
作者から同様にして受け取り、部品配置座標変換部11
7が、指令された部品群の配置位置の座標変換の計算を
行ない、概略部品位置をその計算結果で更新する。
The operation command input unit 116 receives a command for designating a component group and a command for coordinate conversion of the component placement position from the operator in the same manner.
7 calculates the coordinate conversion of the instructed position of the component group, and updates the approximate component position with the calculation result.

【0131】次に、本実施形態の全体の動作について図
24のフローチャートを参照して詳細に説明する。ステ
ップ201は、第1の実施形態のステップ201によ
り、部品データ入力部101がネットデータと部品の面
積データと部品形状データを入力し、部品データ記憶部
102に書き込む(ステップ201)。
Next, the overall operation of this embodiment will be described in detail with reference to the flowchart in FIG. In step 201, the component data input unit 101 inputs the net data, the area data of the component, and the component shape data in step 201 of the first embodiment, and writes them in the component data storage unit 102 (step 201).

【0132】次に、ステップ702は、操作指令入力部
116が操作者の指令により、部品配置領域の最左端あ
るいは最右端、最上端、最下端に配置すべき部品(例え
ばコネクタ類やその他の位置指定部品の他の部品群)を
指定する。そして、最左端に指定された部品について
は、左方向に引き付けられる比重を最大値に指定し部品
データ記憶部102に記憶する。最右端に指定された部
品については、左方向に引き付けられる比重を最小値に
指定して記憶する。最下端に指定された部品について
は、下方向に引き付けられる比重を最大値に指定し、最
上端に指定された部品については、下方向に引き付けら
れる比重を最小値に指定して記憶する(ステップ70
2)。
Next, in step 702, the operation command input unit 116 receives a command from the operator to set the components (for example, connectors and other positions) to be arranged at the leftmost end, rightmost end, uppermost end, and lowermost end of the component arrangement area. (Other parts group of the specified part). Then, for the component specified at the leftmost end, the specific gravity attracted to the left is specified as the maximum value and stored in the component data storage unit 102. For the part specified at the rightmost end, the specific gravity attracted to the left is specified and stored as the minimum value. For the part specified at the bottom end, the specific gravity attracted downward is designated as the maximum value, and for the part designated at the top end, the specific gravity attracted downward is designated as the minimum value and stored (step 70
2).

【0133】次に、ステップ703は、第1の実施形態
のステップ301により、X方向の両端に指定された部
品の間に部品をX方向に配置する第1の一次元部品配置
15を計算し、結果を部品配置順番記憶部105に記憶
する(ステップ703)。次に、ステップ704は、第
1の実施形態のステップ301により、Y方向の両端に
指定された部品の間に部品をY方向に配置する第2の一
次元部品配置16を計算し、結果を部品配置順番記憶部
105に記憶する(ステップ704)。
Next, in step 703, the first one-dimensional component arrangement 15 for arranging components in the X direction between components designated at both ends in the X direction is calculated in step 301 of the first embodiment. The result is stored in the component arrangement order storage unit 105 (step 703). Next, Step 704 calculates a second one-dimensional component arrangement 16 for arranging components in the Y direction between components designated at both ends in the Y direction by Step 301 of the first embodiment, and calculating the result. It is stored in the component arrangement order storage unit 105 (step 704).

【0134】次に、ステップ705は、概略配置部10
7が、第1の一次元部品配置15の前後の順に部品同士
に関して、両部品の面積の和に予め定めた係数値を掛け
算した値を計算し、この値に両部品をX方向に隣接させ
得る最小間隔値を加算した値を計算する。そして、この
値の距離で両部品のX座標位置を隔て、部品位置のX座
標値を計算する。こうする事で、部品の外形のX座標軸
への投影は互いに分離されX座標軸上で重ならない様に
部品が配置される。
Next, in step 705, the general placement unit 10
7 calculates a value obtained by multiplying the sum of the areas of the two parts by a predetermined coefficient value with respect to the parts in the order before and after the first one-dimensional component arrangement 15, and makes the two parts adjacent to this value in the X direction. Calculate the value obtained by adding the obtained minimum interval value. Then, the X coordinate value of the component position is calculated by separating the X coordinate position of both components by the distance of this value. By doing so, the projection of the external shape of the component on the X coordinate axis is separated from each other, and the components are arranged so as not to overlap on the X coordinate axis.

【0135】次に、概略配置部107が、第2の一次元
部品配置15の前後の順の部品同士に関して、両部品の
面積の和に予め定めた係数値を掛け算した値を計算し、
この値に両部品をY方向に隣接させ得る最小間隔値を加
算した値を計算する。そして、この値の距離で両部品Y
座標位置を隔て、部品位置のY座標値を計算する。こう
する事で、部品の外形のY座標軸への投影は互いに分離
されY座標軸上で重ならない様に部品が配置される。
Next, the approximate arrangement unit 107 calculates a value obtained by multiplying the sum of the areas of the two parts by a predetermined coefficient value for the parts in the order before and after the second one-dimensional part arrangement 15, and
A value is calculated by adding a minimum interval value that allows both parts to be adjacent to each other in the Y direction to this value. Then, at the distance of this value, both parts Y
The Y coordinate value of the component position is calculated with the coordinate position separated. By doing so, the projection of the external shape of the component on the Y coordinate axis is separated from each other, and the components are arranged so as not to overlap on the Y coordinate axis.

【0136】次に、概略配置部107は、部品をXY座
標平面上に配置する。以上で計算したX座標とY座標に
よる部品位置を概略部品位置とし部品データ記憶部10
2に記憶する(ステップ705)。次に、ステップ70
6は、操作指令入力部116が、概略部品位置に配置し
た部品を表示装置120に表示する。この概略部品位置
は、ネットの結びつきが強い部品同士が近隣に集まる事
で、結びつきが深い部品の集合が表示装置120により
操作者に観察できる様になる。
Next, the general arrangement section 107 arranges the components on the XY coordinate plane. The component position based on the X coordinate and the Y coordinate calculated as described above is regarded as the approximate component position and the component data storage unit 10
2 (step 705). Next, step 70
6 displays on the display device 120 the components arranged by the operation command input unit 116 at the approximate component positions. This approximate component position is such that components having a strong connection to the net are gathered near each other, so that a set of components having a strong connection can be observed by the display device 120 to the operator.

【0137】この段階では、バイパスコンデンサが組み
合わされるべき部品を指令するデータが未だ作成されて
いないため、以下のステップ707の処理により両者の
組み合わせを与えるデータを作成する。すなわち、操作
指令入力部116が、操作者に次に処理を、ステップ7
07、ステップ708、ステップ709、ステップ70
3、あるいはステップ213から選択させる指令をキー
ボードあるいはマウスから受け取り、これにより指定さ
れたステップに進む(ステップ706)。
At this stage, since data for instructing a component to be combined with a bypass capacitor has not yet been created, data for giving a combination of the two is created by the processing of step 707 described below. That is, the operation command input unit 116 gives the operator the next processing,
07, step 708, step 709, step 70
3, or a command to be selected from step 213 is received from the keyboard or mouse, and the process proceeds to the designated step (step 706).

【0138】ステップ707は、操作指令入力部116
が、操作者が部品とそれに結び付けたいバイパスコンデ
ンサの組み合わせの様に相互に近づけたい部品群を指定
する指令を、管面のマウス操作あるいはキーボード操作
などから受け取り、部品グラフデータ入力部115を動
作させる。次に、部品グラフデータ入力部115が、操
作者から受け取った指令にもとづき、第4の実施形態で
示した部品グラフデータを作成し記憶する。次に、ステ
ップ706に戻る(ステップ707)。 ステップ70
8は、以下の様に部品の配置位置の座標変換を行なう。
At step 707, the operation command input unit 116
Receives an instruction from a mouse operation or a keyboard operation on the screen, such as a combination of a component and a bypass capacitor that the operator wants to associate with the component, to operate the component graph data input unit 115 . Next, the part graph data input unit 115 creates and stores the part graph data described in the fourth embodiment based on a command received from the operator. Next, the process returns to step 706 (step 707). Step 70
8 performs coordinate conversion of the component arrangement position as follows.

【0139】すなわち、ステップ708では、部品ある
いは部品群を平行移動する指令を操作指令入力部116
から受け取り、部品を移動させるとともに、以下の様
に、部品群をまとめて部品位置を座標変換して部品を移
動させる。先ず、操作指令入力部116が、表示装置1
20に表示した概略部品位置を観察した操作者から、複
数の部品を指定し部品群を形成する指令を受け取り、次
に、その部品群の部品位置の座標変換をするパラメータ
(以下の式3、式4のパラメータ)を指定する指令を受
け取り、その指令により部品配置座標変換部117を動
作させる。部品配置座標変換部117は、指定された部
品群の配置位置を式3あるいは式4により座標変換する
計算を行ない、概略部品位置を更新し部品データ記憶部
102に記憶する。
That is, in step 708, a command to translate a component or a component group is input to the operation command input unit 116.
, And moving the parts, and moving the parts by performing coordinate conversion of the part positions as a group as described below. First, the operation command input unit 116 is connected to the display device 1.
A command for designating a plurality of components and forming a component group is received from an operator who observes the approximate component position displayed in 20 and then a parameter for performing coordinate conversion of the component position of the component group (formula 3 below) A command for specifying the parameter (Equation 4) is received, and the component arrangement coordinate conversion unit 117 is operated by the command. The component arrangement coordinate conversion unit 117 performs a calculation for performing coordinate conversion on the arrangement position of the designated component group using Expression 3 or 4, updates the approximate component position, and stores the updated approximate component position in the component data storage unit 102.

【0140】X=a×y+x+b …(式3) Y=c×x+y+d …(式4) この式3及び式4で、部品の旧配置位置座標は(x,
y)で、新配置位置座標は(X,Y)であり、a,b,
c,dは座標変換のパラメータである。ここで、式3は
指定した部品群の部品の位置のX座標が変化し、式4で
はY座標が変化する。先のステップ705の処理の結
果、概略部品位置は部品同士がX方向及びY方向で重な
らない配置であるため、その部品群に式3あるいは式4
の座標変換を行なっても部品同士が重なる事はない。
X = a × y + x + b (Equation 3) Y = c × x + y + d (Equation 4) In Equations 3 and 4, the old position coordinates of the component are (x,
y), the new arrangement position coordinates are (X, Y), and a, b,
c and d are parameters for coordinate conversion. Here, Expression 3 changes the X coordinate of the position of the component in the specified component group, and Expression 4 changes the Y coordinate. As a result of the processing in the previous step 705, the approximate component position is such that the components do not overlap in the X direction and the Y direction, and therefore, the component group is expressed by Expression 3 or 4
Even if the coordinate transformation is performed, the parts do not overlap.

【0141】次に、ステップ706に戻る(ステップ7
08)。ステップ709は、初期クラスタ作成部111
が、操作指令入力部116により、操作者から、初期ク
ラスタを指定する指令を受け取り初期クラスタデータを
作成する。初期クラスタデータは、この後の部品配置位
置の計算において、その記録した部品群の部品は、部品
配置方向においては、各部品を連結し一斉に同じ距離で
移動する制約を与え、一方、部品配置方向へ垂直な方向
への各部品の移動には制約が無い。
Next, the process returns to step 706 (step 7).
08). Step 709 is performed in the initial cluster creation unit 111
Receives an instruction to designate an initial cluster from the operator through the operation instruction input unit 116, and creates initial cluster data. In the subsequent calculation of the component placement position, the initial cluster data imposes a constraint that the components of the recorded component group are connected at the same distance by connecting the components in the component placement direction. There is no restriction on the movement of each part in the direction perpendicular to the direction.

【0142】この初期クラスタデータは、部品配置方向
の一次元部品配置の計算においては、その部品群を一体
のクラスタとして部品配置を計算するが、部品のコンパ
クションを行なう際にも以下の様に作用する。例えば、
初期クラスタデータは、格子状にならべる部品群につい
ては、常にX方向あるいはY方向に一列に配置させる部
品群毎にその方向に垂直な方向を部品配置方向と記録し
た初期クラスタデータを作成する。
The initial cluster data is used to calculate the one-dimensional component arrangement in the component arrangement direction, and to calculate the component arrangement as an integral cluster of the component group. I do. For example,
As for the initial cluster data, for a group of parts arranged in a lattice, the initial cluster data is recorded in which the direction perpendicular to the direction is recorded as the part arrangement direction for each group of parts to be always arranged in a line in the X direction or the Y direction.

【0143】この初期クラスタデータは、部品位置のコ
ンパクションを行なう際、あるいは部品を移動する際に
読み出され、そこに記録した部品群を、部品配置方向の
移動では一体のものとして移動させる。すなわち、X方
向の移動の際には、X方向を部品配置方向とする初期ク
ラスタデータの部品群を一体で移動させ、Y方向の移動
の際には、Y方向を部品配置方向とする初期クラスタデ
ータの部品群を一体で移動させる。
The initial cluster data is read when compaction of the component position is performed or when the component is moved, and the component group recorded there is moved as a unit in the component placement direction. That is, when moving in the X direction, the component group of the initial cluster data having the X direction as the component arrangement direction is moved integrally, and when moving in the Y direction, the initial cluster having the Y direction as the component arrangement direction is moved. The data parts are moved together.

【0144】次に、ステップ706に戻る(ステップ7
09)。ステップ213は、第1の実施形態のステップ
213により、部品配置コンパクション手段109が、
この概略部品位置の部品群をX方向及びY方向にコンパ
クションし、部品同士を隣接させた配置を得る。次に、
ステップ706に戻る(ステップ213)。
Next, the process returns to step 706 (step 7).
09). Step 213 is the same as step 213 of the first embodiment, except that the component
The component group at the approximate component position is compacted in the X and Y directions to obtain an arrangement in which the components are adjacent to each other. next,
It returns to step 706 (step 213).

【0145】次に、具体例を用いて説明する。先ず、ス
テップ201は、部品データ入力部101が、図25に
示す部品AからNまでの13個の部品と、P1からP4
の4個の位置指定部品の形状データと、部品端子同士を
接続するネットデータを入力し部品データ記憶部102
に記憶する(ステップ201)。
Next, a specific example will be described. First, in step 201, the component data input unit 101 determines that the 13 components A to N shown in FIG.
The shape data of the four position designation parts and the net data connecting the part terminals are input to the part data storage unit 102.
(Step 201).

【0146】次に、ステップ702は、操作指令入力部
116が、操作者の指令により、最左端の部品P1とP
2、最右端の部品P3とP4、最上端の部品P1とP
3、最下端の部品P2とP4を指定する。そして、最左
端に指定された部品P1とP2は、左方向に引き付けら
れる比重を、+1000000など、最大値に指定し部
品データ記憶部102に記憶する。最右端に指定された
部品P3とP4は、左方向に引き付けられる比重を、−
1000000など、最小値に指定して記憶する。最下
端に指定された部品P2とP4は、下方向に引き付けら
れる比重を、+1000000など、最大値に指定し、
最上端に指定された部品P1とP3は、下方向に引き付
けられる比重を、−1000000など、最小値に指定
して記憶する(ステップ702)。
Next, in step 702, the operation command input unit 116 controls the parts P1 and P
2, rightmost parts P3 and P4, topmost parts P1 and P
3. Designate the lowermost components P2 and P4. The parts P1 and P2 specified at the leftmost end are stored in the part data storage unit 102 with the specific gravity attracted to the left direction specified as the maximum value such as +1,000,000. The parts P3 and P4 specified at the rightmost end have the specific gravity attracted to the left direction as −
Specify and store the minimum value such as 1,000,000. For the parts P2 and P4 specified at the bottom end, the specific gravity attracted downward is specified to the maximum value, such as +1,000,000,
For the components P1 and P3 specified at the uppermost ends, the specific gravity attracted downward is specified and stored as a minimum value such as -100000 (step 702).

【0147】次に、ステップ703は、最左端あるいは
最右端に位置を指定した指定部品P1からP4以外の部
品Aから部品Nまでの全ての部品を初めは未配置部品と
して部品配置順番記憶部105に記録する。そして、未
配置部品とその左側の既配置部品とが接続するネット数
からその他のネット数を引き算した値を未配置部品の面
積で割り算した値を計算し未配置部品の左向き比重と
し、その値が最大の部品から順に図26の左から右の順
に、部品E,L,A,J,F,H,B,D,C,K,
M,G,Nと並べる第1の一次元部品配置を計算し部品
配置順番記憶部105に記憶する(ステップ703)。
Next, in step 703, all components from component A to component N other than the designated components P1 to P4 whose positions are designated at the leftmost or rightmost end are initially set as unallocated components, and To record. Then, the value obtained by subtracting the number of other nets from the number of nets connected to the unplaced component and the placed component on the left side thereof is divided by the area of the unplaced component is calculated as the leftward specific gravity of the unplaced component. 26, the parts E, L, A, J, F, H, B, D, C, K,
The first one-dimensional component arrangement to be arranged with M, G, and N is calculated and stored in the component arrangement order storage unit 105 (step 703).

【0148】次に、ステップ704は、ステップ703
のX方向をY方向に変え、同様に計算し、図26の下か
ら上の順に、部品L,J,B,F,D,C,K,G,
N,M,H,A,Eと並べる第2の一次元部品配置を計
算し部品配置順番記憶部105に記憶する(ステップ7
04)。次に、ステップ705は、概略配置部107
が、図26に示すように、X方向の左右の部品の配置の
順を与える第1の一次元部品配置と、Y方向の上下の順
を与える第2の一次元部品配置により、部品をXY座標
平面上に配置する概略部品位置を計算する。
Next, step 704 is executed in step 703.
Is changed to the Y direction, and the same calculation is performed, and the components L, J, B, F, D, C, K, G, and
A second one-dimensional component arrangement to be arranged with N, M, H, A, and E is calculated and stored in the component arrangement order storage unit 105 (step 7).
04). Next, in step 705, the general arrangement unit 107
However, as shown in FIG. 26, a part is arranged in XY by a first one-dimensional part arrangement giving the order of arrangement of left and right parts in the X direction and a second one-dimensional part arrangement giving the order of up and down in the Y direction. The approximate component position to be placed on the coordinate plane is calculated.

【0149】次に、ステップ706は、操作指令入力部
116が、図26に示すXY座標平面上の概略部品位置
を表示装置120に表示する。図26に示す様に、ネッ
トの結びつきが強い部品同士が近隣に集まった部品の集
合が表示され、操作者の指令が待たれる。
Next, in step 706, the operation command input unit 116 displays the approximate component position on the XY coordinate plane shown in FIG. As shown in FIG. 26, a set of components in which components having strong net ties are gathered in the vicinity is displayed, and a command from the operator is awaited.

【0150】次に、操作者の指令によりステップ708
に進み、部品配置座標変換部117が、操作者のマウス
操作から図26の部品E,A,Hの指定を受け取り、部
品Hを部品Hの位置まで上昇させる斜行座標変換の指令
を受け取り、部品配置座標変換部117が、部品位置を
座標変換する。また、部品L,J,F,Bを指定し部品
Bを部品LのY座標の位置まで下降させる斜行座標変換
の指令を受け取り、部品配置座標変換部117が部品位
置を座標変換する。また、部品D,C,Kに関し、部品
Kを部品Dと同じY座標の位置まで下降させる座標変換
をする。更に、部品M,G,Nに関し、部品Gを部品N
と同じY座標の位置まで上昇させる座標変換をする。こ
れらの座標変換の結果を図27に示す。
Next, step 708 is performed according to an instruction from the operator.
The component placement coordinate conversion unit 117 receives designation of the components E, A, and H in FIG. 26 from the mouse operation of the operator, and receives a command of skew coordinate conversion for raising the component H to the position of the component H, The component arrangement coordinate conversion unit 117 performs coordinate conversion of the component position. Also, a skew coordinate conversion command for designating the components L, J, F, and B to lower the component B to the Y coordinate position of the component L is received, and the component arrangement coordinate conversion unit 117 performs coordinate conversion of the component position. Further, with respect to the parts D, C, and K, coordinate conversion for lowering the part K to the same Y coordinate position as the part D is performed. Further, regarding the parts M, G, and N, the part G is replaced with the part N.
Coordinate conversion is performed to raise the position to the same Y coordinate position. FIG. 27 shows the results of these coordinate conversions.

【0151】次に、操作者の指令によりステップ213
に進み、部品配置コンパクション手段109が図27の
概略部品位置の部品群をX方向及びY方向に相似な位置
にコンパクションし、図28に示す様に部品配置位置を
縮小した配置を得る。次に、操作者の指令によりステッ
プ709に進み、初期クラスタ作成部111が、操作者
から、図28の部品E,A,Hを指定し部品配置方向を
Y方向に指定する指令を受け取り、初期クラスタデータ
を作成し部品データ記憶部102に記憶する。次に、部
品G,Nを指定し部品配置方向をY方向とする初期クラ
スタデータを作成する。次に、部品F,D,C,Kを指
定し部品配置方向をY方向に指定する初期クラスタデー
タを作成する。次に、部品L,J,Bを指定し部品配置
方向をY方向に指定する初期クラスタデータを作成す
る。次に、部品M,G,Kを指定し部品配置方向をX方
向に指定する初期クラスタデータを作成する。
Next, step 213 is executed according to an instruction from the operator.
Then, the component arrangement compaction means 109 compacts the component group at the approximate component position in FIG. 27 to a position similar to the X direction and the Y direction to obtain an arrangement in which the component arrangement position is reduced as shown in FIG. Next, the process proceeds to step 709 in response to a command from the operator, and the initial cluster creating unit 111 receives a command from the operator to specify the components E, A, and H in FIG. 28 and specify the component placement direction in the Y direction. Cluster data is created and stored in the component data storage unit 102. Next, initial cluster data is created in which the components G and N are specified and the component arrangement direction is the Y direction. Next, initial cluster data is created that specifies the components F, D, C, and K and specifies the component placement direction in the Y direction. Next, initial cluster data is created that specifies components L, J, and B, and specifies the component placement direction in the Y direction. Next, initial cluster data is created that specifies the components M, G, and K and specifies the component placement direction in the X direction.

【0152】次に、操作者の指令によりステップ213
に進み、部品配置コンパクション手段109が、図28
の部品位置を、先ずは、X方向にコンパクションする。
X方向のコンパクションの際に、X方向の部品配置方向
を持つ部品M,G,Kの部品群は一体になり移動する。
次に、Y方向にコンパクションする。Y方向のコンパク
ションの際に、Y方向の部品配置方向を持つ部品E,
A,Hは一体になり移動する。部品G,Nも同様にY方
向に一体に移動する。部品F,D,C,Kも同様にY方
向に一体に移動する。部品L,J,Bも同様にY方向に
一体に移動する。このX方向のコンパクションとY方向
のコンパクションの結果、図29に示す様に部品同士を
隣接させた配置を得る。
Next, step 213 is executed in response to an instruction from the operator.
Then, the component placement compaction means 109
First, compaction is performed in the X direction.
At the time of compaction in the X direction, a component group of components M, G, and K having component placement directions in the X direction moves together.
Next, compaction is performed in the Y direction. At the time of compaction in the Y direction, a component E having a component placement direction in the Y direction,
A and H move together. Parts G and N also move integrally in the Y direction. Parts F, D, C, and K also move integrally in the Y direction. Parts L, J, and B also move integrally in the Y direction. As a result of the compaction in the X direction and the compaction in the Y direction, an arrangement in which the components are adjacent to each other is obtained as shown in FIG.

【0153】次に、操作指令入力部116が操作者から
の指令を受け、ステップ709に進み、部品E,A,H
の初期クラスタデータから、部品Eを除外する指令を受
け、次に、ステップ708に進み、図29の部品Eを下
に移動させる。次に、ステップ709に進み、部品M,
G,Kの初期クラスタデータから部品Mを除外する指令
を受け、次に、ステップ708に進み、部品Mを左に移
動させる。次に、部品G,Nを上に移動させる。
Next, the operation command input unit 116 receives a command from the operator, and proceeds to step 709, where the components E, A, H
A command to exclude the part E is received from the initial cluster data of the above. Next, the process proceeds to step 708 to move the part E of FIG. 29 downward. Next, the process proceeds to step 709, where the parts M,
Upon receiving a command to remove the part M from the initial cluster data of G and K, the process proceeds to step 708 to move the part M to the left. Next, the components G and N are moved upward.

【0154】次に、ステップ709に進み、部品F,
D,C,Kの初期クラスタデータから部品C,Kを除外
する指令を受け、次に、ステップ708に進み、部品C
を下に移動させ、部品Kを左に移動させる。次に、操作
者の指令によりステップ213に進み、部品配置コンパ
クション手段109が、図29の部品位置をX方向及び
Y方向にコンパクションし、図30の部品配置結果を得
る。
Next, the routine proceeds to step 709, where the parts F,
Upon receiving an instruction to remove parts C and K from the initial cluster data of D, C and K, the process proceeds to step 708, where the
Is moved down, and the part K is moved to the left. Next, the process proceeds to step 213 according to an instruction from the operator, and the component arrangement compaction unit 109 compacts the component position in FIG. 29 in the X direction and the Y direction to obtain the component arrangement result in FIG.

【0155】本実施形態は、操作指令入力部116が概
略部品位置を表示手段に表示する事でネットの結合の強
い部品の概略配置を操作者に知らせる事ができる。次
に、操作者からの指令を受け取り、その指令により、部
品の位置を変更し、コンパクションし、その結果を表示
する操作を繰り返す事で、部品配置を改善する事ができ
る。また、部品グラフデータや初期クラスタデータを入
力し部品の配置の条件を加える事で、その条件に基づい
た概略部品位置を計算する事ができ、操作者が指定した
条件により概略部品位置を改善する事ができる。
In the present embodiment, the operation command input unit 116 displays the approximate component position on the display means, so that the operator can be informed of the approximate arrangement of components with strong net connection. Next, a command from the operator is received, the position of the component is changed according to the command, compaction is performed, and the operation of displaying the result is repeated, thereby improving the component arrangement. Also, by inputting part graph data and initial cluster data and adding a condition for arranging parts, a rough part position can be calculated based on the condition, and the rough part position is improved based on a condition specified by an operator. Can do things.

【0156】また、本実施形態の部品配置座標変換部1
17が、部品配置の座標変換により部品の配置位置を整
列し、部品配置コンパクション部109で部品配置をコ
ンパクションできるので、部品配置が整列できる。更
に、初期クラスタデータ入力部111が部品をX方向あ
るいはY方向に配列する条件を入力し整列された部品配
置をコンパクション処理により得られる利点がある。
The component arrangement coordinate conversion unit 1 of this embodiment
The component arrangement position can be compacted by the component arrangement compaction unit 109, so that the component arrangement can be compacted by the component arrangement compaction unit 109. Further, there is an advantage that the initial cluster data input unit 111 inputs a condition for arranging components in the X direction or the Y direction, and an aligned component arrangement can be obtained by compaction processing.

【0157】なお、以上で説明した図2〜図4、図1
3、図22、図24、の各処理は自動部品配置プログラ
ムとして、フロッピーディスク、CD−ROM、芝磁気
ディスク、半導体メモリ等の記録媒体に記録しておき、
当コンピュータのデータ処理装置により読み込んで実行
するようにしてもよい。
It should be noted that FIGS. 2 to 4 and FIGS.
3, each processing of FIG. 22 and FIG. 24 is recorded as an automatic component placement program on a recording medium such as a floppy disk, a CD-ROM, a turf magnetic disk, and a semiconductor memory.
The data may be read and executed by the data processing device of the computer.

【0158】[0158]

【発明の効果】以上説明したように、本発明によれば、
総配線長を最短にする部品配置位置の計算を部品同士の
位置交換によらず、全部品の配置位置を一度に計算する
ので、部品の配置改善処理によるネット長の収束を短時
間に得ることができるという効果があり、また、重心法
の評価関数よりも総ネット長に直結した評価関数を用い
るため、総ネット長をより短くできる効果がある。
As described above, according to the present invention,
Since the component placement position that minimizes the total wiring length is calculated independently of the position exchange between components, the placement positions of all components are calculated at once, so that the convergence of the net length by the component placement improvement processing can be obtained in a short time. In addition, since the evaluation function directly connected to the total net length is used rather than the evaluation function of the center of gravity method, the total net length can be shortened.

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

【図1】本発明の第1の実施形態の自動部品配置システ
ムの構成図である。
FIG. 1 is a configuration diagram of an automatic component placement system according to a first embodiment of the present invention.

【図2】第1の実施形態の動作を示すフローチャートで
ある。
FIG. 2 is a flowchart showing an operation of the first embodiment.

【図3】図2中のステップ202のフローチャートであ
る。
FIG. 3 is a flowchart of step 202 in FIG. 2;

【図4】図3中のステップ301のフローチャートであ
る。
FIG. 4 is a flowchart of step 301 in FIG.

【図5】部品データ入力部101から入力されるネット
データの例を示す図である。
FIG. 5 is a diagram showing an example of net data input from the component data input unit 101.

【図6】算出された、XY座標平面上の部品配置位置を
示す図である。
FIG. 6 is a diagram illustrating a calculated component arrangement position on an XY coordinate plane.

【図7】概略部品位置に仮想形状を設置した図である。FIG. 7 is a diagram in which a virtual shape is set at a schematic component position.

【図8】図7に示す部品をコンパクション処理した結果
を示す図である。
FIG. 8 is a diagram illustrating a result of compaction processing of the component illustrated in FIG. 7;

【図9】図8の部品配置位置を斜行座標軸とともに45
度回転させ、斜行座標軸をXY座標軸と一致させた結果
を示す図である。
FIG. 9 shows the part arrangement position of FIG.
It is a figure showing the result of having rotated a skew coordinate axis and XY coordinate axis by rotating by an angle.

【図10】部品装置に部品の実形状を配置した図であ
る。
FIG. 10 is a diagram in which the actual shape of a component is arranged in a component device.

【図11】図10において、部品8と部品7を再配置し
た図である。
FIG. 11 is a diagram in which components 8 and 7 are rearranged in FIG.

【図12】本発明の第2の実施形態の自動部品配置シス
テムの構成図である。
FIG. 12 is a configuration diagram of an automatic component placement system according to a second embodiment of the present invention.

【図13】第2の実施形態の動作を示すフローチャート
である。
FIG. 13 is a flowchart showing the operation of the second embodiment.

【図14】概略部品位置に、仮想形状の円を記録した例
を示す図である。
FIG. 14 is a diagram illustrating an example in which a virtual shape circle is recorded at a schematic component position.

【図15】図14に示す部品をコンパクション処理した
結果を示す図である。
FIG. 15 is a diagram illustrating a result of compaction processing of the component illustrated in FIG. 14;

【図16】図15においてクラスタc1を部品1と部品
2に展開した結果を示す図である。
FIG. 16 is a diagram showing a result of expanding a cluster c1 into a part 1 and a part 2 in FIG.

【図17】図16において部品同士の重なりを解消した
結果を示す図である。
FIG. 17 is a diagram showing a result of eliminating overlap between components in FIG. 16;

【図18】部品配置位置を斜行座標軸とともに45度回
転させ、斜行座標軸をXY座標軸と一致させた結果を示
す図である。
FIG. 18 is a diagram showing a result obtained by rotating the component arrangement position by 45 degrees together with the skewed coordinate axis and matching the skewed coordinate axis with the XY coordinate axis.

【図19】本発明の第3の実施形態の自動部品配置シス
テムの構成図である。
FIG. 19 is a configuration diagram of an automatic component placement system according to a third embodiment of the present invention.

【図20】本発明の第4の実施形態の自動部品配置シス
テムの構成図である。
FIG. 20 is a configuration diagram of an automatic component placement system according to a fourth embodiment of the present invention.

【図21】本発明の第5の実施形態の自動部品配置シス
テムの構成図である。
FIG. 21 is a configuration diagram of an automatic component placement system according to a fifth embodiment of the present invention.

【図22】第5の実施形態の処理を示すフローチャート
である。
FIG. 22 is a flowchart illustrating a process according to the fifth embodiment.

【図23】本発明の第6の実施形態の自動部品配置シス
テムの構成図である。
FIG. 23 is a configuration diagram of an automatic component placement system according to a sixth embodiment of the present invention.

【図24】第6の実施形態の処理を示すフローチャート
である。
FIG. 24 is a flowchart illustrating a process according to the sixth embodiment.

【図25】部品データ入力部101から入力されるネッ
トデータの例を示す図である。
FIG. 25 is a diagram illustrating an example of net data input from the component data input unit 101.

【図26】第6の実施形態で算出されたXY平面上の部
品配置を示す図である。
FIG. 26 is a diagram illustrating a component arrangement on an XY plane calculated in a sixth embodiment.

【図27】図26に示す部品位置の各部品群をそれぞれ
斜行座標変換した結果を示す図である。
FIG. 27 is a diagram showing the result of skew coordinate conversion of each component group at the component position shown in FIG. 26;

【図28】図27に示す部品配置をコンパクション処理
した結果を示す図である。
FIG. 28 is a diagram illustrating a result of performing compaction processing on the component arrangement illustrated in FIG. 27;

【図29】図28に示す部品配置をコンパクション処理
した結果を示す図である。
FIG. 29 is a diagram illustrating a result of performing compaction processing on the component arrangement illustrated in FIG. 28;

【図30】図29に示す部品配置をコンパクション処理
した結果を示す図である。
30 is a diagram illustrating a result of compaction processing of the component arrangement illustrated in FIG. 29;

【図31】従来技術を示すフローチャートである。FIG. 31 is a flowchart showing a conventional technique.

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

100 データ処理装置 101 部品データ入力部 102 部品データ記憶部 103 部品比重計算部 104 整列部 105 部品配列順番記憶部 106 クラスタ作成部 107 概略配置部 108 部品再配置部 109 部品配置コンパクション部 110 部品形状記憶部 111 初期クラスタ作成部 113 共通クラスタ作成部 114 階層別配置部 115 部品グラフデータ入力部 116 操作指令入力部 117 部品配置座標変換部 120 表示装置 130 入力装置 REFERENCE SIGNS LIST 100 Data processing device 101 Component data input unit 102 Component data storage unit 103 Component specific gravity calculation unit 104 Alignment unit 105 Component arrangement order storage unit 106 Cluster creation unit 107 Schematic placement unit 108 Component rearrangement unit 109 Component placement compaction unit 110 Component shape storage Unit 111 initial cluster creation unit 113 common cluster creation unit 114 hierarchical arrangement unit 115 part graph data input unit 116 operation command input unit 117 part arrangement coordinate conversion unit 120 display device 130 input device

Claims (9)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 二次元空間に配置すべき部品のデータと
部品端子同士を接続するネットとネットの重みを記録し
たネットデータ、あるいは部品同士の結合力あるいは反
発力に応じた重みを記録した部品グラフデータを入力す
るステップと、 全部品を第1の方向に一次元に配置する第1の一次元部
品配置を計算するステップにおいて、該第1の一次元部
品配置への未配置部品に関して、当該未配置部品が前記
第1の一次元部品配置の既配置部品と結ばれるネットデ
ータと部品グラフデータにそれぞれの重みを掛け算した
値から、該未配置部品がその他の部品と結ばれるネット
データと部品グラフデータにそれぞれの重みを掛け算し
た値を引き算した値を該未配置部品の面積で割り算する
ことで、前記ネットデータと前記部品グラフデータの総
和の部品の比重を計算するステップと、 該未配置部品のうちから最大の比重の部品を選び順次に
第1の一次元部品配置に加えることにより第1の一次元
部品配置を計算するステップと、 第1の一次元部品配置の計算と同様の計算により、全部
品を第2の方向に一次元に配置する第2の一次元部品配
置を計算するステップと、 前記第1の一次元部品配置と第2の一次元部品配置を直
交座標系における部品の概略位置とし、部品の二次元平
面での概略部品位置を計算するステップと、 前記概略部品位置の部品配置をコンパクションすること
により部品同士を近接させた密集配置を得るステップ
と、 を有する事を特徴とする自動部品配置方法。
1. Net data which records data of a component to be arranged in a two-dimensional space and a net connecting nets of component terminals, or a component which records a weight according to a coupling force or a repulsive force of components. inputting the graph data, in a first step of calculating a one-dimensional arrangement of parts arranged in a one-dimensional all parts in a first direction, with respect unplaced components into one-dimensional arrangement of parts first, the Unplaced parts are
Net data connected to the already placed components of the first one-dimensional component placement
Data and parts graph data multiplied by their respective weights
From the value, the net where the unplaced part is connected to other parts
Multiply the data and parts graph data by their respective weights
Divided by the area of the unplaced part
Thus, the total of the net data and the component graph data is obtained.
Calculating a specific gravity of the sum component; calculating a first one-dimensional component arrangement by selecting a component having a maximum specific gravity from the unarranged components and sequentially adding the component to the first one-dimensional component arrangement; Calculating a second one-dimensional part arrangement for arranging all parts one-dimensionally in a second direction by a calculation similar to the calculation of the first one-dimensional part arrangement; Calculating the approximate component position on the two-dimensional plane of the component and the second one-dimensional component arrangement as the approximate position of the component in the Cartesian coordinate system; Obtaining a close-packed arrangement; and an automatic component arrangement method.
【請求項2】 前記ネットデータを入力するステップ
が、部品(第1の部品)を印刷配線板上の指定位置に固
定し配置する指令を受け取り、該指定位置を新しい部品
(第2の部品)として作成し、該第1の部品と該第2の
部品名を記録した部品グラフデータを作成するステップ
を有し、前記部品の比重を計算するステップが、該印刷
配線板の指定位置の一次元方向の位置を該一次元方向の
印刷配線板の幅で割り算した値を全部品面積の値に掛け
算した値を計算し、該一次元方向における該値の位置を
該指定位置に対応させ、該第1の部品は一次元方向の該
位置に配置し、該第1の部品にネットで接続する部品の
比重を計算するステップを する事を特徴とする請求項
1記載の自動部品配置方法。
2. The method according to claim 1, wherein the step of inputting the net data includes fixing a component (first component) at a designated position on the printed wiring board.
Command to place and place
(Second part), and the first part and the second part
Steps for creating part graph data recording the part name
Calculating the specific gravity of the part,
The position in the one-dimensional direction of the designated position of the wiring board is
Multiply the value divided by the width of the printed wiring board by the value of the total part area
And calculate the position of the value in the one-dimensional direction.
Corresponding to the designated position, the first part is the one-dimensional direction.
Position of the component to be connected to the first component by a net.
Automatic component placement method according to claim 1, characterized in that to have a step of calculating gravity.
【請求項3】 二次元空間に配置すべき部品のデータと
部品端子同士を接続するネットデータを入力するステッ
プと、 全部品を第1の方向に一次元に配置する第1の一次元部
品配置を計算するステップにおいて、該第1の一次元部
品配置への未配置部品に関して、当該未配置部品に接続
されるネットのうち前記第1の一次元部品配置の既配置
部品と結ばれるネット数から該未配置部品がその他の部
品と結ばれるネット数を引き算した結果の値を該未配置
部品の面積で割り算する計算を行ない、その結果の値を
当該未配置部品の比重として得るステップと、 該未配置部品のうちから最大の比重の部品を選び順次に
第1の一次元部品配置に加えることにより第1の一次元
部品配置を計算するステップと、 第1の一次元部品配置の計算と同様の計算により、全部
品を第2の方向に一次元に配置する第2の一次元部品配
置を計算するステップと、 前記第1の一次元部品配置と第2の一次元部品配置を直
交座標系における部品の概略位置とし、部品の二次元平
面での概略部品位置を計算するステップと、 前記概略部品位置に部品の仮想形状を配置する計算を行
なうステップと、 前記仮想形状同士の重なりを有する部品配置を解消する
コンパクション処理を行ない、前記仮想形状同士を近接
させた第2の概略部品位置を計算するステップと、 部品の実寸法に寸法換算係数を掛けた値の寸法の部品形
状を第2の概略部品位置に配置するステップと、 第2の概略部品位置に配置した部品形状同士が重なり合
う場合に、重なり合う部品を包含する領域を計算し、該
領域内の部品を再配置するステップと、 を有する事を特徴とする自動部品配置方法。
3. Data of parts to be arranged in a two-dimensional space and
Step to input net data to connect component terminals
And a first one-dimensional part for arranging all parts one-dimensionally in a first direction
Calculating the product arrangement in the first one-dimensional part;
Connects to the unplaced component regarding the unplaced component in the product placement
Of the first one-dimensional component arrangement in the net to be arranged
Based on the number of nets connected to the component,
The value of the result of subtracting the number of nets connected to the product is
Perform a calculation that divides by the area of the part, and calculates the resulting value.
Obtaining the specific gravity of the unplaced component, and sequentially selecting the component having the highest specific gravity from the unplaced components.
First one-dimensional by adding to the first one-dimensional part arrangement
By calculating the component arrangement and calculating the same as the first one-dimensional component arrangement,
Second one-dimensional component arrangement for arranging articles one-dimensionally in a second direction
Calculating the first one-dimensional component arrangement and the second one-dimensional component arrangement.
The approximate position of the part in the cross coordinate system
Calculating the approximate part position on the surface, and arranging the virtual shape of the part at the approximate part position.
And eliminating a component arrangement having an overlap between the virtual shapes.
Perform compaction processing to bring the virtual shapes closer together
Calculating the second approximated component position, and a component shape having a dimension obtained by multiplying the actual dimension of the component by a dimension conversion factor
Arranging the shape at the second general part position and overlapping the part shapes arranged at the second general part position
In this case, the area including the overlapping parts is calculated and
Rearranging the components in the area .
【請求項4】 部品データ記憶手段と、 二次元空間に配置すべき部品のデータと部品端子同士を
接続するネットとネットの重みを記録したネットデー
タ、あるいは部品同士の結合力あるいは反発力に応じた
重みを記録した部品グラフデータを入力し、前記部品デ
ータ記憶手段に記憶させる部品データ入力手段と、 全部品を第1の方向に一次元に配置する第1の一次元部
品配置への未配置部品に関して、当該未配置部品が前記
第1の一次元部品配置の既配置部品と結ばれるネットデ
ータと部品グラフデータにそれぞれの重みを掛け算した
値から、該未配置部品がその他の部品と結ばれるネット
データと部品グラフデータにそれぞれの重みを掛け算し
た値を引き算した値を該未配置部品の面積で割り算する
ことで、前記ネットデータと前記部品グラフデータの総
和の部品の比重を計算し、その結果の値を当該未配置部
品の比重として前記部品データ記憶手段に記憶させる部
品比重計算手段と、 部品配置順番記憶手段と、 該未配置部品のうちから最大の比重の部品を選び順次に
第1の一次元部品配置に加えることにより第1の一次元
部品配置を計算して、前記部品配置順番記憶手段に記憶
させる整列手段と、 第1の一次元部品配置の計算と同様の計算により、全部
品を第2の方向に一次元に配置する第2の一次元部品配
置を計算する手段と、 前記第1の一次元部品配置と前記第2の一次元部品配置
を直交座標系における部品の概略位置とし、部品の二次
元平面での概略部品位置を計算する概略部品配置手段
と、 前記概略部品位置に部品を配置する手段と、 該概略部品位置の部品配置をコンパクションすることに
より部品同士を近接させた密集配置を得るコンパクショ
ン手段と、 を有する事を特徴とする自動部品配置システム。
4. Component data storage means, data of components to be arranged in a two-dimensional space, net data recording nets connecting component terminals and weights of nets, or binding force or repulsion of components. Component data input means for inputting the component graph data in which the weights are recorded, and storing the component graph data in the component data storage means, and placing all the components one-dimensionally in a first direction in a first one-dimensional component arrangement. Regarding parts, the unplaced parts
Net data connected to the already placed components of the first one-dimensional component placement
Data and parts graph data multiplied by their respective weights
From the value, the net where the unplaced part is connected to other parts
Multiply the data and parts graph data by their respective weights
Divided by the area of the unplaced part
Thus, the total of the net data and the component graph data is obtained.
The specific gravity of the components of the sum is calculated, and the maximum thereof to the resulting value and parts specific gravity calculating means to be stored in the component data storage unit as the specific gravity of the unplaced components, and component placement order storage unit, from among the yet-disposed parts An arrangement means for calculating a first one-dimensional part arrangement by selecting parts having a specific gravity of 1 and sequentially adding the parts to the first one-dimensional part arrangement, and storing the arrangement in the part arrangement order storage means; Means for calculating a second one-dimensional component arrangement for arranging all the components one-dimensionally in a second direction by a calculation similar to the arrangement calculation; and the first one-dimensional component arrangement and the second one-dimensional arrangement. A rough component placement means for calculating a rough component position on a two-dimensional plane of the component by setting the rough component position in a rectangular coordinate system as a rough component position, a means for arranging a component at the rough component position, and a component at the rough component position Compaction placement Automatic component placement system characterized in that it has a compactor to obtain a dense arrangement is close parts together by Rukoto, the.
【請求項5】 前記部品データ入力手段が、部品(第1
の部品)を印刷配線板上の指定位置に固定し配置する指
令を受け取り、該指定位置を新しい部品(第2の部品)
として作成し、該第1の部品と該第2の部品名を記録し
た部品グラフデータを作成し、前記部品比重計算手段
が、該印刷配線板の指定位置の一次元方向の位置を該一
次元方向の印刷配線板の幅で割り算した値を全部品面積
の値に掛け算した値を計算し、該一次元方向における該
値の位置を該指定位置に対応させ、該第1の部品は一次
元方向の該位置に配置し、該第1の部品にネットで接続
する部品の比重を計算する、事を特徴とする請求項4に
記載の自動部品配置システム。
5. The apparatus according to claim 1, wherein said component data input means includes a component (first
Received a command to fix and position the specified part on the printed wiring board at the designated position, and set the designated position to a new part (second part).
And component graph data in which the first component and the second component name are recorded is created, and the component specific gravity calculating means calculates the one-dimensional position of the designated position of the printed wiring board in the one-dimensional direction. A value obtained by multiplying a value obtained by dividing the width of the printed wiring board in the direction by the value of the total component area, and associating the position of the value in the one-dimensional direction with the designated position, The automatic component placement system according to claim 4 , wherein the component is placed at the position in the direction and a specific gravity of a component connected to the first component by a net is calculated.
【請求項6】 部品データ記憶手段と、 二次元空間に配置すべき部品のデータと部品端子同士を
接続するネットデータを入力し、前記部品データ記憶手
段に記憶させる部品データ入力手段と、 全部品を第1の方向に一次元に配置する第1の一次元部
品配置への未配置部品に関して、当該未配置部品に接続
されるネットのうち前記第1の一次元部品配置の既配置
部品と結ばれるネット数から該未配置部品がその他の部
品と結ばれるネット数を引き算した結果の値を該未配置
部品の面積で割り算する計算を行ない、その結果の値を
当該未配置部品の比重として前記部品データ記憶手段に
記憶させる部品比重計算手段と、 部品配置順番記憶手段と、 該未配置部品のうちから最大の比重の部品を選び順次に
第1の一次元部品配置に加えることにより第1の一次元
部品配置を計算して、前記部品配置順番記憶手段に記憶
させる整列手段と、 第1の一次元部品配置の計算と同様の計算により、全部
品を第2の方向に一次元に配置する第2の一次元部品配
置を計算する手段と、 前記第1の一次元部品配置と前記第2の一次元部品配置
を直交座標系における部品の概略位置とし、部品の二次
元平面での概略部品位置を計算する概略部品配置手段
と、 前記概略部品位置に部品を配置する手段と、 前記概略部品位置に部品の仮想形状を配置する計算を行
なう手段と、 前記仮想形状同士の重なりを有する部品配置を解消する
コンパクション処理を行ない、前記仮想形状同士を近接
させた第2の概略部品位置を計算するコンパクション手
段と、 部品の実寸法に寸法換算係数を掛けた値の寸法の部品形
状を第2の概略部品位置に配置する手段と、 第2の概略部品位置に配置した部品形状同士が重なり合
う場合に、重なり合う部品を包含する領域を計算し、該
領域内の部品を再配置する部品再配置手段と、 を有する
事を特徴とする自動部品配置システム。
6. A component data storage means for storing data of components to be arranged in a two-dimensional space and component terminals.
Enter the net data to be connected, and
Component data input means to be stored in a row, and a first one-dimensional unit for arranging all components one-dimensionally in a first direction
Connects to the unplaced component regarding the unplaced component in the product placement
Of the first one-dimensional component arrangement in the net to be arranged
Based on the number of nets connected to the component,
The value of the result of subtracting the number of nets connected to the product is
Perform a calculation that divides by the area of the part, and calculates the resulting value.
The specific gravity of the unplaced component is stored in the component data storage means.
A component specific gravity calculating unit to be stored, a component arrangement order storing unit, and a component having a maximum specific gravity is selected from the unarranged components and sequentially.
First one-dimensional by adding to the first one-dimensional part arrangement
Calculate the part arrangement and store it in the part arrangement order storage means
And aligning means for, by calculation similar to the calculation of the first one-dimensional parts placement, all
Second one-dimensional component arrangement for arranging articles one-dimensionally in a second direction
Means for calculating an arrangement, the first one-dimensional part arrangement and the second one-dimensional part arrangement
Is the approximate position of the part in the Cartesian coordinate system,
Schematic component placement means for calculating the schematic component position on the original plane
If, means for placing the component on the schematic component position, a calculation of placing the components of the virtual shape to the outline component position line
And eliminating a component arrangement having an overlap between the virtual shapes.
Perform compaction processing to bring the virtual shapes closer together
Compaction hand to calculate the second approximated part position
Part and part dimensions with the actual dimensions of the part multiplied by the dimension conversion factor
The means for arranging the shape at the second schematic part position and the part shapes arranged at the second schematic part position overlap each other.
In this case, the area including the overlapping parts is calculated and
An automatic component placement system , comprising: a component relocating means for relocating components in an area .
【請求項7】 二次元空間に配置すべき部品のデータと
部品端子同士を接続するネットデータを読み込み、該部
品を二次元空間に配置する処理をコンピュータで実行さ
せるための自動部品配置プログラムを記録した記録媒体
であって、 二次元空間に配置すべき部品のデータと部品端子同士を
接続するネットとネットの重みを記録したネットデー
タ、あるいは部品同士の結合力あるいは反発力に応じた
重みを記録した部品グラフデータを入力する処理と、 全部品を第1の方向に一次元に配置する第1の一次元部
品配置を計算する処理において、該第1の一次元部品配
置への未配置部品に関して、当該未配置部品が前記第1
の一次元部品配置の既配置部品と結ばれるネットデータ
と部品グラフデータにそれぞれの重みを掛け算した値か
ら、該未配置部品がその他の部品と結ばれるネットデー
タと部品グラフデータにそれぞれの重みを掛け算した値
を引き算した結果の値を該未配置部品の面積で割り算す
る計算を行ない、その結果の値を当該未配置部品の前記
ネットデータと前記部品グラフデータの総和の部品の
重として得る処理と、 該未配置部品のうちから最大の比重の部品を選び順次に
第1の一次元部品配置に加えることにより第1の一次元
部品配置を計算する処理と、 第1の一次元部品配置の計算と同様の計算により、全部
品を第2の方向に一次元に配置する第2の一次元部品配
置を計算する処理と、 前記第1の一次元部品配置と前記第2の一次元部品配置
を直交座標系における部品の概略位置とし、部品の二次
元平面での概略部品位置を計算する処理と、 前記概略部品位置の部品配置をコンパクションすること
により部品同士を近接させた密集配置を得る処理と、 をコンピュータに実行させる自動部品配置プログラムを
記録した記録媒体。
7. An automatic component placement program for reading data of a component to be placed in a two-dimensional space and net data connecting component terminals, and causing a computer to execute a process of placing the component in the two-dimensional space. Data of parts to be placed in the two-dimensional space and net data that records the weights of the nets connecting the component terminals, or the weights according to the coupling or repulsive force of the parts. a process of inputting component graph data, the process of calculating the first one-dimensional arrangement of parts arranged in a one-dimensional all parts in a first direction, with respect unplaced components into one-dimensional arrangement of components first The unplaced part is the first
Data connected to the already placed components of the one-dimensional component placement
Is the value obtained by multiplying the component graph data by the respective weight
The network data where the unplaced part is connected to other parts.
Data and component graph data multiplied by their respective weights
Is divided by the area of the unplaced part.
And calculate the resulting value as
A process of obtaining as a specific gravity of a total component of the net data and the component graph data; and selecting a component having a maximum specific gravity from the unarranged components and sequentially adding the selected component to the first one-dimensional component arrangement. By calculating the first one-dimensional component arrangement and calculating the same as the first one-dimensional component arrangement, a second one-dimensional component arrangement for arranging all the components one-dimensionally in the second direction is calculated. Processing of calculating the approximate one-dimensional component position on a two-dimensional plane, using the first one-dimensional component arrangement and the second one-dimensional component arrangement as a general position of the component in a rectangular coordinate system; A recording medium on which is recorded an automatic component placement program for causing a computer to execute a process of obtaining a densely placed component by compacting the component placement at the component position and causing the computer to execute the process.
【請求項8】 前記ネットデータを入力する処理が、部
品(第1の部品)を印刷配線板上の指定位置に固定し配
置する指令を受け取り、該指定位置を新しい部品(第2
の部品)として作成し、該第1の部品と該第2の部品名
を記録した部品グラフデータを作成する処理を有し、前
記部品の比重を計算する処理が、該印刷配線板の指定位
置の一次元方向の位置を該一次元方向の印刷配線板の幅
で割り算した値を全部品面積の値に掛け算した値を計算
し、該一次元方向における該値の位置を該指定位置に対
応させ、該第1の部品は一次元方向の該位置に配置し、
該第1の部品にネットで接続する部品の比重を計算する
処理を有することを特徴 とする請求項7に記載の記録媒
体。
8. The processing for inputting net data receives a command for fixing and arranging a component (first component) at a specified position on a printed wiring board and changing the specified position to a new component (second component).
), And a process of creating component graph data in which the first component and the second component name are recorded. The process of calculating the specific gravity of the component is performed at the designated position of the printed wiring board. Calculate a value obtained by multiplying a value obtained by dividing the position in the one-dimensional direction by the width of the printed wiring board in the one-dimensional direction by the value of the total component area, and corresponding the position of the value in the one-dimensional direction to the designated position The first part is arranged at the position in the one-dimensional direction,
8. The recording medium according to claim 7, further comprising a process of calculating a specific gravity of a component connected to the first component via a net.
【請求項9】 二次元空間に配置すべき部品のデータと
部品端子同士を接続するネットデータを読み込み、該部
品を二次元空間に配置する処理をコンピュータで実行さ
せるための自動部品配置プログラムを記録した記録媒体
であって、 二次元空間に配置すべき部品のデータと部品端子同士を
接続するネットデータを入力する処理と、 全部品を第1の方向に一次元に配置する第1の一次元部
品配置を計算するステップにおいて、該第1の一次元部
品配置への未配置部品に関して、当該未配置部品に接続
されるネットのうち前記第1の一次元部品配置の既配置
部品と結ばれるネット数から該未配置部品がその他の部
品と結ばれるネット数を引き算した結果の値を該未配置
部品の面積で割り算する計算を行ない、その結果の値を
当該未配置部品の比重として得る処理と、 該未配置部品のうちから最大の比重の部品を選び順次に
第1の一次元部品配置に加えることにより第1の一次元
部品配置を計算する処理と、 第1の一次元部品配置の計算と同様の計算により、全部
品を第2の方向に一次元に配置する第2の一次元部品配
置を計算する処理と、 前記第1の一次元部品配置と第2の一次元部品配置を直
交座標系における部品の概略位置とし、部品の二次元平
面での概略部品位置を計算する処理と、 前記概略部品位置に部品の仮想形状を配置する計算を行
なう処理と、 前記仮想形状同士の重なりを有する部品配置を解消する
コンパクション処理を行ない、前記仮想形状同士を近接
させた第2の概略部品位置を計算する処理と、 部品の実寸法に寸法換算係数を掛けた値の寸法の部品形
状を第2の概略部品位置に配置する処理と、 第2の概略部品位置に配置した部品形状同士が重なり合
う場合に、重なり合う部品を包含する領域を計算し、該
領域内の部品を再配置する処理と、 をコンピュータに実行させる自動部品配置プログラムを
記録した記録媒体。
9. Data of a part to be arranged in a two-dimensional space and
Read the net data connecting the component terminals, and
The process of arranging articles in a two-dimensional space is executed by a computer.
Recording medium storing an automatic component placement program for causing
And the component data to be placed in the two-dimensional space and the component terminals
Processing for inputting net data to be connected, and a first one-dimensional unit for arranging all parts one-dimensionally in a first direction
Calculating the product arrangement in the first one-dimensional part;
Connects to the unplaced component regarding the unplaced component in the product placement
Of the first one-dimensional component arrangement in the net to be arranged
Based on the number of nets connected to the component,
The value of the result of subtracting the number of nets connected to the product is
Perform a calculation that divides by the area of the part, and calculates the resulting value.
The process of obtaining the specific gravity of the unplaced component, and selecting the component having the highest specific gravity from the unplaced components, and sequentially
First one-dimensional by adding to the first one-dimensional part arrangement
By the process of calculating the component arrangement and the same calculation as the first one-dimensional component arrangement,
Second one-dimensional component arrangement for arranging articles one-dimensionally in a second direction
And calculating the first one-dimensional component arrangement and the second one-dimensional component arrangement.
The approximate position of the part in the cross coordinate system
A process for calculating the approximate component position on the surface and a calculation for arranging the virtual shape of the component at the approximate component position are performed.
Processing and eliminating part arrangement having overlapping of the virtual shapes.
Perform compaction processing to bring the virtual shapes closer together
The process of calculating the second approximate component position, and the component shape of the dimension obtained by multiplying the actual dimension of the component by the dimension conversion coefficient
The process of arranging the shape at the second schematic part position and the part shapes arranged at the second schematic part position overlap each other.
In this case, the area including the overlapping parts is calculated and
Automatic component placement program that causes a computer to execute the process of relocating components in the area
The recording medium on which it was recorded.
JP15339999A 1998-06-10 1999-06-01 Automatic component placement method, system, and recording medium recording automatic component placement program Expired - Fee Related JP3178603B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15339999A JP3178603B2 (en) 1998-06-10 1999-06-01 Automatic component placement method, system, and recording medium recording automatic component placement program

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP16238798 1998-06-10
JP10-162387 1998-06-10
JP15339999A JP3178603B2 (en) 1998-06-10 1999-06-01 Automatic component placement method, system, and recording medium recording automatic component placement program

Publications (2)

Publication Number Publication Date
JP2000067089A JP2000067089A (en) 2000-03-03
JP3178603B2 true JP3178603B2 (en) 2001-06-25

Family

ID=26482030

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15339999A Expired - Fee Related JP3178603B2 (en) 1998-06-10 1999-06-01 Automatic component placement method, system, and recording medium recording automatic component placement program

Country Status (1)

Country Link
JP (1) JP3178603B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100440227C (en) 2004-02-05 2008-12-03 松下电器产业株式会社 Printed circuit board design method, program thereof, recording medium containing the program, printed circuit board design device using them, and CAD system
JP2012069000A (en) * 2010-09-24 2012-04-05 Fujitsu Ltd Circuit board design device and circuit board design program
KR101331792B1 (en) * 2012-05-08 2013-11-21 (주) 엔씨비 Apparatus for automatic arrangement of electrode material and Method thereof

Also Published As

Publication number Publication date
JP2000067089A (en) 2000-03-03

Similar Documents

Publication Publication Date Title
US6385758B1 (en) System and method for compacting a graphic layout
Schiele et al. A gridless router for industrial design rules
JP3120838B2 (en) Graphic layout compression system and graphic layout compression method
JP3806016B2 (en) Semiconductor integrated circuit
US5877091A (en) Multilayer routing method and structure for semiconductor integrated circuit
US7930669B2 (en) Stage mitigation of interconnect variability
US6446239B1 (en) Method and apparatus for optimizing electronic design
JP4028844B2 (en) Graphics image generating apparatus, method and program thereof
JP4370947B2 (en) Image creation method and program
KR20190024723A (en) Integrated circuit design and/or fabrication
JPH08227428A (en) Printed circuit bard cad device
Preas et al. Automatic placement a review of current techniques
US7464356B2 (en) Method and apparatus for diffusion based cell placement migration
US9442630B2 (en) 3D interactive menu
US20060136856A1 (en) Unit-based layout system for passive IC devices
JP2022024065A (en) Multi-resolution image system
JP2007335850A (en) Semiconductor integrated circuit, and method of designing wiring pattern and device for designing wiring pattern of semiconductor integrated circuit
JP3389875B2 (en) Automatic component placement system and recording medium recording automatic component placement program
JP4676123B2 (en) H-shaped tree clock layout system and method
KR20200134301A (en) Multi-layer co-location for integrated circuits
CN105069228B (en) A kind of method that spare via are added on spare cell
CN112989737A (en) Interactive analog circuit layout editing method and system
JP3178603B2 (en) Automatic component placement method, system, and recording medium recording automatic component placement program
CN106649776A (en) Method of semi-automating comprehensive vector polygon
JP3006824B2 (en) Wiring design method and wiring design device

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees