JP3178910B2 - Layout design equipment - Google Patents

Layout design equipment

Info

Publication number
JP3178910B2
JP3178910B2 JP25704392A JP25704392A JP3178910B2 JP 3178910 B2 JP3178910 B2 JP 3178910B2 JP 25704392 A JP25704392 A JP 25704392A JP 25704392 A JP25704392 A JP 25704392A JP 3178910 B2 JP3178910 B2 JP 3178910B2
Authority
JP
Japan
Prior art keywords
cell
processing means
auxiliary processing
arrangement
list
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
JP25704392A
Other languages
Japanese (ja)
Other versions
JPH06110977A (en
Inventor
伸朗 末松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP25704392A priority Critical patent/JP3178910B2/en
Publication of JPH06110977A publication Critical patent/JPH06110977A/en
Application granted granted Critical
Publication of JP3178910B2 publication Critical patent/JP3178910B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、集積回路やプリント基
板等にセル等の配置要素を配置し、配置要素間を配線す
る配置配線設計システムに係り、さらに詳しくは、シミ
ュレーテッドアニーリング法を用いて配置配線に係る配
置要素の配置を決定する配置設計装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a layout and wiring design system for arranging layout elements such as cells on an integrated circuit or a printed circuit board and wiring the layout elements, and more particularly, to a simulated annealing method. And a layout design apparatus that determines the layout of layout elements related to layout wiring.

【0002】[0002]

【従来の技術】集積回路やプリント基板におけるセル等
の配置要素の配置は、出来るだけセルの配置要素が高密
度に集積され、さらに出来るかぎり低い配線コストとな
るように配置されなければならない。そして、このよう
な複雑な要請を満たす配置設計を、大規模な集積回路に
関しても迅速に行えるシステムが要求されている。この
ような配置を高速に出来るだけ最適に行う方法としてシ
ミュレーテッドアニーリング法がある。
2. Description of the Related Art Arranging elements such as cells on an integrated circuit or a printed circuit board must be arranged so that the arranging elements of cells are integrated at a high density as much as possible, and further, wiring cost is as low as possible. There is a demand for a system that can quickly perform layout design that satisfies such complicated requirements even for large-scale integrated circuits. A simulated annealing method is a method for performing such an arrangement as quickly and optimally as possible.

【0003】シミュレーテッドアニーリング法とは、系
の状態に対して定義されたエネルギーを参考に、温度パ
ラメータと呼ばれるパラメータを減少させつつ系の状態
を変化させてゆき、出来るだけエネルギーの低くなるよ
うな系の状態を求める方法である。
In the simulated annealing method, the state of the system is changed while reducing a parameter called a temperature parameter with reference to the energy defined for the state of the system, and the energy is reduced as much as possible. This is a method to determine the state of the system.

【0004】先に述べたように、配置要素の配置は、配
置要素の集積度や配線のコストを考慮したときに望まし
いようになされなければならない。全ての配置要素の配
置の状態をコンフィギュレーションと呼び、あるコンフ
ィギュレーションにおける配置要素の集積度や配線のコ
スト等から計算される、最小化されるべき量をコンフィ
ギュレーションのエネルギーと定義する。この様に定義
してシミュレーテッドアニーリング法を使ってエネルギ
ーの低くなるようなコンフィギュレーションを求めるこ
とで、配線にとって望ましい配置設計を行うことができ
る。
As described above, the placement of the placement elements must be performed in a desirable manner in consideration of the degree of integration of the placement elements and the cost of wiring. The arrangement state of all the placement elements is called a configuration, and the amount to be minimized, which is calculated from the degree of integration of the placement elements in a certain configuration, the cost of wiring, and the like, is defined as the energy of the configuration. By defining such a definition and using a simulated annealing method so as to reduce the energy, a layout design desirable for wiring can be performed.

【0005】シミュレーテッドアニーリング法による、
望ましいコンフィギュレーションの求め方をさらに詳し
く説明する。第1番目に、ステップS1で温度パラメー
タに初期値を設定する。そして第2番目に、ステップS
2で配置要素に適当な初期配置を与える。さらにステッ
プS3で現在のコンフィギュレーションに基づいて仮想
的な配線を行い、ステップS4でコンフィギュレーショ
ンと仮想的な配線によりエネルギーを計算する。そして
ステップS5で一つの配置要素の配置を変更したときの
エネルギー変化を計算する。
According to the simulated annealing method,
How to obtain a desirable configuration will be described in more detail. First, in step S1, an initial value is set for a temperature parameter. Second, step S
2 gives the placement element a suitable initial placement. Further, in step S3, virtual wiring is performed based on the current configuration, and in step S4, energy is calculated using the configuration and virtual wiring. Then, in step S5, an energy change when the arrangement of one arrangement element is changed is calculated.

【0006】続いてステップS6でそのエネルギー変化
を基に、シミュレーテッドアニーリング法に使われる手
順により、その新しいコンフィギュレーションを受理す
るこか否かを決め、続いてステップS7で受理された場
合にはその新しいコンフィギュレーションを、受理され
なかった場合には元のコンフィギュレーションを現在の
コンフィギュレーションとする。そしてステップS8で
温度パラメータを減少させ、さらにステップS9で終了
条件が満足されているかどうかを調べ、満足されていな
ければステップS3に戻り、満足されていれば現在のコ
ンフィギュレーションを配置設計結果として採用する。
Subsequently, in step S6, based on the energy change, it is determined whether or not to accept the new configuration by a procedure used for the simulated annealing method, and if it is accepted in step S7, If the new configuration is not accepted, the original configuration is made the current configuration. Then, the temperature parameter is decreased in step S8, and it is checked in step S9 whether the termination condition is satisfied. If not satisfied, the process returns to step S3. If satisfied, the current configuration is adopted as the layout design result. I do.

【0007】前述した処理において、ステップS4、S
5、S6、S7は一個の移動に対して1回の計算しか行
っていない。しかしながらこれは複数行う場合が殆どで
あり、同一の温度パラメータに対し処理S4.S5.S
6.S7.を移動のたびに実行し、その中で受理された
コンフィギュレーションを求め、さらに温度パラメータ
を減少させて行うことにより、効率の良い最良の配線と
なる配置を求めることができる。
In the above-described processing, steps S4, S
5, S6, and S7 perform only one calculation for one movement. However, in most cases, this is performed a plurality of times, and the process S4. S5. S
6. S7. Is executed each time the movement is performed, the configuration accepted in the movement is obtained, and the temperature parameter is further reduced, whereby the arrangement that is the most efficient and efficient wiring can be obtained.

【0008】[0008]

【発明が解決しようとする課題】以上のような手順で、
このシミュレーテッドアニーリング法の配置要素の配置
設計方式によるICやプリント基板上の配置さらには配
線にとって都合の良い配置設計が行われる。しかしなが
ら、このような配置設計方法により配置設計を行うに
は、前述した如く1個の配置要素を移動してエネルギー
計算しなくてはならず、目的の位置まで全ての配置要素
を移動するのに多くの時間を有してしまうという問題を
有していた。
According to the above procedure,
A layout design suitable for layout on an IC or a printed board and wiring is performed by the layout design method of layout elements of the simulated annealing method. However, in order to perform the layout design by such a layout design method, it is necessary to move one layout element to calculate the energy as described above, and it is necessary to move all layout elements to a target position. There was a problem of having a lot of time.

【0009】一方、最近の集積回路の高密度化により配
置配線設計システムは非常に多くの配置要素を扱うこと
が求められている。従って、このような要求に対し更に
多くの時間がかかるということとなり、実質上利用でき
ないという問題を有していた。
On the other hand, with the recent increase in the density of integrated circuits, a placement and routing design system is required to handle a large number of placement elements. Therefore, it takes more time for such a request, and there is a problem that the request cannot be practically used.

【0010】本発明は、シミュレーテッドアニーリング
法を高速で実行する配置設計装置を目的とする。
An object of the present invention is to provide an arrangement design apparatus for executing a simulated annealing method at a high speed.

【0011】[0011]

【課題を解決するための手段】図1は本発明のブロック
図である。本発明はシミュレーテッドアニーリング法に
より配置要素の配置設計を行う装置におけるものであ
る。
FIG. 1 is a block diagram of the present invention. The present invention relates to an apparatus for designing arrangement of arrangement elements by a simulated annealing method.

【0012】主処理手段1は複数の補助処理手段(2−
1〜2−n)に対応して、配置要素を選択すると共にそ
れを移動する情報を前記複数の補助処理手段に送出して
エネルギー変化を並列に求めさせ、返送される結果から
配置設計結果を決定する。
The main processing means 1 includes a plurality of auxiliary processing means (2-
In response to 1-n), information on selecting an arrangement element and moving it is sent to the plurality of auxiliary processing means to calculate the energy change in parallel, and the arrangement design result is obtained from the returned result. decide.

【0013】例えば、前記複数の補助処理装置(2−1
〜2−n)に同時に処理した結果が受理であったものを
全て移動させて新たな配置として処理を続行する。複数
の補助処理手段(2−1〜2−n)は配置要素のコンフ
ィギュレーションと配置変化から仮想配線を行ってその
配置変化に対するエネルギー変化を求める。さらにその
エネルギー変化が負であるか、或いはエネルギー変化が
正であるならば0と1の間の乱数rを発生し、 r<exp (−ΔE/T) である時、前記配置要素例えばLSIを構成するセルの
移動を受理する。さらにその結果を主処理手段1に送出
する。
For example, the plurality of auxiliary processing units (2-1)
... 2-n), all of those that have been accepted as a result of the simultaneous processing are moved, and the processing is continued as a new arrangement. The plurality of auxiliary processing means (2-1 to 2-n) perform virtual wiring based on the configuration of the placement element and the placement change, and obtain an energy change with respect to the placement change. Further, if the energy change is negative or the energy change is positive, a random number r between 0 and 1 is generated. When r <exp (−ΔE / T), the arrangement element, for example, the LSI The movement of the constituent cell is received. Further, the result is sent to the main processing means 1.

【0014】[0014]

【作用】主処理手段1によって配置要素であるセルを選
択して移動した情報をそれぞれ複数の補助処理手段(2
−1〜2−n)に送出する。この選択したセルの移動は
それぞれ補助処理手段に対応して異なっている。これを
受信した補助処理手段(2−1〜2−n)はそれぞれ移
動をも含めた配置要素のコンフィギュレーションから仮
想配線を行ってそのエネルギー変化を求め、主処理手段
1に返送する。
The information moved by selecting a cell as an arrangement element by the main processing means 1 is transferred to a plurality of auxiliary processing means (2
-1 to 2-n). The movement of the selected cell is different depending on the auxiliary processing means. The auxiliary processing means (2-1 to 2-n) receiving this performs virtual wiring based on the configuration of the placement element including the movement, obtains an energy change thereof, and returns it to the main processing means 1.

【0015】主処理手段1は、この結果から例えば補助
処理手段(2−1〜2−n)がセルの移動を受理したと
の結果を送出した際には、例えばそれらの全ての移動を
行ったものを再配置し、さらにそれぞれに対応した他の
配置要素であるセルを選択して移動させた情報を送出
し、再度前述した補助処理装置の処理を実行させる。
When the main processing means 1 sends a result indicating that the auxiliary processing means (2-1 to 2-n) has accepted the cell movement based on the result, for example, it performs all the movements. The information obtained by selecting and moving the cells corresponding to the other arrangement elements corresponding to the respective elements is transmitted, and the processing of the auxiliary processing device described above is executed again.

【0016】この繰り返しにより補助処理手段はシミュ
レーテッドアニーリング法の処理に係る演算を並行して
行うことができ、処理を高速化できる。
By this repetition, the auxiliary processing means can perform operations relating to the processing of the simulated annealing method in parallel, and the processing can be speeded up.

【0017】[0017]

【実施例】以下、図面を用いて本発明を詳細に説明す
る。図2は本発明の実施例の構成図である。この実施例
はゲートアレイでのセルの配置設計装置である。尚、こ
の配置設計装置が行うゲートアレイのセルは、ゲートア
レイ上に互いに最終的には重ならないように配置され
る。また、それらセルは幾つかの端子を持ち、それらは
他のセルの端子や入出力端子と配線によって結ばれる。
さらに配置設計終了時にセルが互いに重なることは許さ
れないので、セル同士の重なりは大きなコストとする。
また端子間を結ぶ配線には望ましい距離があり、その距
離からのズレは配線のコストとする。さらにあまり混み
合った配線を行うことはできず、配線の密度もコストと
する。以上のような条件によって図2の実施例では特定
のコンフィギュレーションのエネルギーをこれらのコス
トから求められる。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention will be described below in detail with reference to the drawings. FIG. 2 is a configuration diagram of an embodiment of the present invention. This embodiment is an apparatus for designing the arrangement of cells in a gate array. It should be noted that the cells of the gate array performed by the layout design apparatus are arranged on the gate array so as not to eventually overlap each other. Each of these cells has several terminals, which are connected to terminals and input / output terminals of other cells by wiring.
Further, since cells are not allowed to overlap each other at the end of the layout design, the overlapping of cells is a large cost.
Also, there is a desirable distance in the wiring connecting the terminals, and a deviation from the distance is a cost of the wiring. Further, it is impossible to perform wiring that is too crowded, and the wiring density is also a cost. Under the above conditions, in the embodiment of FIG. 2, the energy of a specific configuration can be obtained from these costs.

【0018】主処理装置10は補助処理装置20a,2
0b,・・・と通信線30によって接続している。そし
て、主処理装置10は演算装置11、配線要素記憶手段
12、コンフィギュレーション記憶手段13、仮想配線
記憶手段14、温度パラメータ記憶手段15、仮想配線
手段16よりなる。なお、図示しないがこの他に補助処
理装置を制御する制御手段を有している。また、補助処
理装置20a,20bは、演算装置21a,21b、配
置要素記憶手段22a,22b、コンフィギュレーショ
ン記憶手段23a,23b、仮想配線記憶手段24a,
24b、温度パラメータ記憶手段25a,25b、仮想
配線手段26a,26b、よりなる。これら補助処理装
置20a,20b内の各装置ならびに手段は主記憶装置
10の各装置や各手段と同様である。主処理装置内には
前述したごとく図示しないが制御手段を有し、この制御
手段によって全ての補助処理装置制御がなされる。
The main processing unit 10 includes auxiliary processing units 20a and 20a.
. 0b,... The main processing unit 10 includes an arithmetic unit 11, a wiring element storage unit 12, a configuration storage unit 13, a virtual wiring storage unit 14, a temperature parameter storage unit 15, and a virtual wiring unit 16. In addition, although not shown, a control unit for controlling the auxiliary processing device is additionally provided. The auxiliary processing units 20a and 20b include arithmetic units 21a and 21b, arrangement element storage units 22a and 22b, configuration storage units 23a and 23b, virtual wiring storage units 24a, and
24b, temperature parameter storage means 25a and 25b, and virtual wiring means 26a and 26b. The devices and means in the auxiliary processing devices 20a and 20b are the same as the devices and means in the main storage device 10. Although not shown, the main processing unit has a control means (not shown), which controls all the auxiliary processing units.

【0019】通信線30を介して配置要求の情報が加わ
ると、主処理装置10並びに補助処理装置20a、20
b内の配置要素記憶手段12,22a,22bは入力す
る全てのセルの配置情報を記憶する。続いて主処理装置
10内のコンフィギュレーション記憶手段13に初期の
コンフィギュレーションを温度パラメータ記憶手段15
に初期の温度パラメータ(T)の値を記憶する。制御手
段は通信線30を介し主処理装置10内が有するコンフ
ィギュレーション記憶手段13と温度パラメータ記憶手
段15の内容を全て補助処理装置20a,20bに送
り、それぞれのコンフィギュレーション記憶手段23
a,23bと温度パラメータ記憶手段25a,25bに
同様の情報を格納する。各補助処理装置20a,20b
並びに主処理装置10はそれらの情報、すなわちコンフ
ィギュレーション記憶手段13,23a,23bに記憶
しているコンフィギュレーション情報を読み出して仮想
配線手段16,26aが仮想配線を行う。そしてその結
果をそれぞれ仮想配線記憶手段14,24a,24bに
格納する。尚、これは同一の情報であるので通信線を介
して得られた結果を補助処理装置20a,20b内の仮
想配線記憶手段24a,24bに送出しても良い。
When the information of the placement request is added via the communication line 30, the main processing unit 10 and the auxiliary processing units 20a and 20a
The arrangement element storage means 12, 22a, and 22b in b stores the arrangement information of all the input cells. Subsequently, the initial configuration is stored in the configuration storage unit 13 in the main processing device 10 in the temperature parameter storage unit 15.
Stores the value of the initial temperature parameter (T). The control means sends all the contents of the configuration storage means 13 and the temperature parameter storage means 15 in the main processing device 10 to the auxiliary processing devices 20a and 20b via the communication line 30, and the respective configuration storage means 23
a, 23b and the temperature parameter storage means 25a, 25b store the same information. Each auxiliary processing device 20a, 20b
In addition, the main processing unit 10 reads the information, that is, the configuration information stored in the configuration storage units 13, 23a, and 23b, and the virtual wiring units 16, 26a perform virtual wiring. Then, the results are stored in the virtual wiring storage means 14, 24a, 24b, respectively. Since this is the same information, the result obtained via the communication line may be sent to the virtual wiring storage means 24a, 24b in the auxiliary processing devices 20a, 20b.

【0020】主処理装置10内の制御手段は通信線30
に接続している補助処理装置20a,20b・・・の個
数と同数のセルを任意に選び、それぞれそのセルの移動
先を生成する。そして、それぞれ選んだ1個のセルに対
応して補助処理装置20a,20b・・・にその情報を
送出する。
The control means in the main processing unit 10 is a communication line 30
Are arbitrarily selected as many as the number of auxiliary processing devices 20a, 20b,... Connected to each other, and a destination of each cell is generated. Then, the information is transmitted to the auxiliary processing devices 20a, 20b,... Corresponding to the selected one cell.

【0021】補助処理装置はそれらに対しコンフィギュ
レーション記憶手段23a,23bに現在記憶されてい
るコンフィギュレーションに主処理装置10から転送さ
れたセルを移動先に移動させて仮想配線を行った場合に
生じるエネルギーの変化ΔEを計算する。このエネルギ
ーの変化はシミュレーテッドアニーリング法に対応する
演算である。そして、これらのエネルギー変化ΔEが負
ならばそれを新しいコンフィギュレーションとして受理
し、そうでなければ(0,1)区間の一様乱数γを発生
し、 γ<exp (−ΔE/T) であれば受理し、そうでなければ受理しない。そして、
これらの結果を通信手段30を介し、処理装置10に送
出する。
The auxiliary processing unit is generated when the cells transferred from the main processing unit 10 to the configuration currently stored in the configuration storage units 23a and 23b are moved to the destination and virtual wiring is performed. Calculate the energy change ΔE. This change in energy is an operation corresponding to the simulated annealing method. If these energy changes ΔE are negative, they are accepted as a new configuration. Otherwise, a uniform random number γ in the (0, 1) section is generated, and γ <exp (−ΔE / T). Accept if not, otherwise not. And
These results are sent to the processing device 10 via the communication means 30.

【0022】主処理装置10は複数の補助処理装置20
a,20b・・・より入力する結果から次にすべきコン
フィギュレーションを決定する。この次にすべきコンフ
ィギュレーションは例えば補助処理装置20a,20b
・・・から送出された新しい受理したコンフィギュレー
ションの移動を全て取り入れても良く、また重み付けを
つけた一番重み付けの高いセルの移動を受理してもよ
い。さらには複数を受理してもよい。例えば一番エネル
ギー差のないものを1個受理する。あるいは、同時に移
動を受理された配線要素についてそのうちある数の配線
要素についてのみ実際の移動を行う。これによって同時
に複数の配線要素の移動を検討することにより生ずるエ
ネルギー変化量に対する誤差を充分に小さなものとする
ことができる。
The main processing unit 10 includes a plurality of auxiliary processing units 20.
a, 20b... The next configuration is determined from the results input from. The configuration to be performed next is, for example, the auxiliary processing devices 20a and 20b.
.. May be accepted, or the movement of the highest weighted cell may be accepted. Furthermore, a plurality may be accepted. For example, one having the least energy difference is received. Alternatively, the actual movement is performed only for a certain number of the wiring elements of the wiring elements that have been received at the same time. As a result, it is possible to sufficiently reduce the error with respect to the amount of energy change caused by considering the movement of a plurality of wiring elements at the same time.

【0023】続いて再度、補助処理装置と同数のセルを
選びその移動先を生成し前述したと同様に、その選んだ
セルと移動先の情報を個々に補助処理装置20a,20
b・・・に通信線30を介して送出し、前述した動作を
繰り返す。この繰り返しよって全てのセルに対してこれ
らの処理が終了したなら、主処理装置10内の制御手段
はその先に決定した温度パラメータTに対応する新しく
決定したコンフィギュレーションをコンフィギュレーシ
ョン記憶手段13に格納する。そして、αTを新たな温
度パラメータTとして、温度パラメータ記憶手段15に
格納する。なお、αは0<α<1を満たす値である。こ
こで、新たな温度パラメータTがTfina l より大である
ならば再度コンフィギュレーション記憶手段13の内容
を補助処理装置20a,20b,・・・に送出し前述と
同様の処理を再度行う。このように順次演算することに
よりTfinal 以下に温度パラメータがなり、この時には
コンフィギュレーション記憶手段13に記憶している内
容が配置設計結果となる。なお、この温度パラメータT
はエネルギーを求める際に使用するものである。
Then, again, the same number of cells as the auxiliary processing device are selected, the destination is generated, and the information of the selected cell and the destination is individually stored in the auxiliary processing device 20a, 20a in the same manner as described above.
.. through the communication line 30 and the above-described operation is repeated. When these processes are completed for all the cells by this repetition, the control means in the main processing device 10 stores the newly determined configuration corresponding to the previously determined temperature parameter T in the configuration storage means 13. I do. Then, αT is stored in the temperature parameter storage unit 15 as a new temperature parameter T. Here, α is a value satisfying 0 <α <1. Here, performing a new temperature parameter T is the content of the T fina l than again if a large configuration storage unit 13 auxiliary processor 20a, 20b, and sent to ... again above the same process. The temperature parameters become lower than T final by sequentially calculating in this manner. At this time, the contents stored in the configuration storage unit 13 become the layout design results. Note that this temperature parameter T
Is used when seeking energy.

【0024】前述した動作において、主処理装置10内
の演算装置11ならびに仮想配線手段16は補助処理装
置20a,20bと同様であるので、エネルギーの変化
を求める際には同様に動作させて補助処理装置+1個の
並列演算としてもよい。
In the above-mentioned operation, the arithmetic unit 11 and the virtual wiring means 16 in the main processing unit 10 are the same as the auxiliary processing units 20a and 20b. It is also possible to perform parallel operation of one device.

【0025】前述したセルの選択は乱数や現在と移動後
の位置に対して特定以上離れたものに対して行う。すな
わちある距離以下のセルが含まれないようにセルを選択
する。
The above-described cell selection is performed for a random number or a cell that is more than a specified distance from the current position and the position after the movement. That is, the cells are selected so that cells smaller than a certain distance are not included.

【0026】図3は本発明の実施例のさらに詳細な構成
図である。主処理装置100は演算装置101、セルリ
スト記憶手段102、ピンリスト記憶手段103、ネッ
トリスト記憶手段103、コネクションリスト記憶手段
104、セル配置リスト記憶手段106、温度パラメー
タ記憶手段107、移動セル記憶手段108、セル選択
手段109、セル移動先生成手段110、セル配置変更
手段111より成る。また補助処理装置200a,20
0bは演算装置201a,201b、セルリスト記憶手
段202a,202b、ピンリスト記憶手段203a,
203b、ネットリスト記憶手段204a,204b、
コネクションリスト記憶手段205a,205b、セル
配置リスト記憶手段206a,206b、配置配線記憶
手段207a,207b、温度パラメータ記憶手段20
8a,208b、仮想配線手段209a,209b、セ
ル配置手段210a,210bより構成される。
FIG. 3 is a more detailed block diagram of the embodiment of the present invention. The main processing unit 100 includes an arithmetic unit 101, a cell list storage unit 102, a pin list storage unit 103, a net list storage unit 103, a connection list storage unit 104, a cell arrangement list storage unit 106, a temperature parameter storage unit 107, and a moving cell storage unit. 108, a cell selection unit 109, a cell destination generation unit 110, and a cell arrangement change unit 111. Also, the auxiliary processing devices 200a, 20
0b denotes arithmetic devices 201a, 201b, cell list storage means 202a, 202b, pin list storage means 203a,
203b, netlist storage means 204a, 204b,
Connection list storage means 205a, 205b, cell placement list storage means 206a, 206b, placement and wiring storage means 207a, 207b, temperature parameter storage means 20
8a and 208b, virtual wiring means 209a and 209b, and cell arranging means 210a and 210b.

【0027】図3の実施例においてはゲートアレイの配
置配線を行う際の配置を求めるものであり、そのゲート
アレイは図4に示す如くIO端子領域PXと配置配線領
域LXとよりなる。配置配線領域LX内には、複数個の
ベーシックセルBCより構成されるセルCと、セル内に
設けられた他のセルと接続されるべきピンPとそれらの
ピンを接続する配線Lよりなる。配置配線においてはそ
れらのセルの構造を表わすリストと、さらにセルリス
ト、ピンリスト、ネットリスト、コネクションリスト、
セル配置リストにより構成される。
In the embodiment shown in FIG. 3, the arrangement at the time of arrangement and wiring of the gate array is determined. The gate array is composed of an IO terminal area PX and an arrangement wiring area LX as shown in FIG. The layout wiring area LX includes a cell C composed of a plurality of basic cells BC, a pin P to be connected to another cell provided in the cell, and a wiring L connecting those pins. In the placement and routing, a list showing the structure of those cells and a cell list, a pin list, a net list, a connection list,
It is composed of a cell arrangement list.

【0028】図5はセルリストの構成図表、図6はピン
リストの構成図表、図7はネットリストの構成図表、図
8はコネクションリストの構成図表、図9はセル配置リ
ストの構成図表である。セルリストはセル番号に対応し
てそのセルが有するピンのピン番号とピン数を記憶す
る。
FIG. 5 is a diagram showing a cell list, FIG. 6 is a diagram showing a pin list, FIG. 7 is a diagram showing a net list, FIG. 8 is a diagram showing a connection list, and FIG. 9 is a diagram showing a cell arrangement list. . The cell list stores the pin number and the number of pins of the pin corresponding to the cell number.

【0029】ピンリストは前述の各セルの番号に対応し
たピン番号とネット番号ならびにセル番号を関係付けて
記憶する。セル番号が1、ピン番号が1さらにピン数が
3であった場合、ピンリスト中の1,2,3の番号はセ
ル1のピンとなる。
The pin list stores the pin numbers, net numbers, and cell numbers corresponding to the cell numbers described above in association with each other. If the cell number is 1, the pin number is 1, and the number of pins is 3, the numbers 1, 2, and 3 in the pin list are the pins of cell 1.

【0030】ネットリストは、ネット番号とコネクショ
ン番号とピン数を関係付けて記憶し、1個のネット番号
1に対しコネクション番号とそのピン数を指示する。こ
のコネクション番号に対応するコネクションリストの番
号を求めることにより、接続される相手のピンが求めら
れる。コネクション番号も前述のネット番号と同様であ
り、例えばネット番号が1、コネクション番号が1、ピ
ン数が3であったならば、コネクションリストのコネク
ション番号1,2,3がネット番号1に対応したコネク
ションであり、コネクションリストではピンリストのピ
ン番号を指示する。これらによって各セルの接続が表わ
される。さらに、セル配置リストによってセル番号がど
の配置の位置であるかをX座標並びにY座標で表わして
いる。
The net list stores the net number, the connection number, and the number of pins in association with each other, and indicates the connection number and the number of pins for one net number 1. By finding the number in the connection list corresponding to this connection number, the pin to be connected to is found. The connection numbers are the same as the above-mentioned net numbers. For example, if the net number is 1, the connection number is 1, and the number of pins is 3, the connection numbers 1, 2, and 3 in the connection list correspond to the net number 1. This is a connection, and the connection list indicates the pin numbers of the pin list. These represent the connections of each cell. Further, the cell arrangement list indicates the arrangement position of the cell number by the X coordinate and the Y coordinate.

【0031】以上のセルリスト、ピンリスト、ネットリ
スト、コネクションリスト、セル配置リストが主記憶装
置100,補助処理装置200a,200bのセルリス
ト記憶手段102,202a,202b、ピンリスト記
憶手段103,203a,203b、ネットリスト記憶
手段104,204a,204b、コネクションリスト
記憶手段105,205a,205b、セル配置リスト
記憶手段106,206a,206bにそれぞれ記憶さ
れる。これらのリストによって例えばセルC1,C2,
C3上にピンP1,P2,P3が設けられ、それらが接
続されている状態においては、セルリスト上のセル番号
C1に対応してピン番号P1が設けられる。図10は仮
想配線の説明図である。セルC1には例えばP1しかな
い場合にはピン数は1となる。これはセル番号C1,C
3に対しても同様にピン番号P2,P3が設定される。
そのピン番号P1,P2,P3の値がピンリストに対応
しており、そのP1,P2,P3のピン番号のところに
対応したネット番号を求めることにより何番目のネット
であることが明確となる。なお、確認のために、そのセ
ル番号をもピンから逆に求めることができる。そして、
ネット番号がネットリストより指示されると、それによ
ってコネクション番号とピン数が明確となり、そのコネ
クション番号に対応した数分コネクション番号を求める
ことによりピン番号とコネクションの関係が明確とな
る。そしてピンP1,P2,P3が接続されることが分
かる。そしてそれらのセルがどの位置にあるかがセル配
置リストから分かる。
The above cell list, pin list, net list, connection list, and cell arrangement list are stored in the main storage device 100, the cell list storage means 102, 202a, 202b, and the pin list storage means 103, 203a of the auxiliary processing devices 200a, 200b. , 203b, net list storage units 104, 204a, 204b, connection list storage units 105, 205a, 205b, and cell arrangement list storage units 106, 206a, 206b. For example, cells C1, C2,
The pins P1, P2, and P3 are provided on C3, and when they are connected, the pin number P1 is provided corresponding to the cell number C1 on the cell list. FIG. 10 is an explanatory diagram of the virtual wiring. If the cell C1 has, for example, only P1, the number of pins is 1. This is the cell number C1, C
3, the pin numbers P2 and P3 are similarly set.
The values of the pin numbers P1, P2, and P3 correspond to the pin list, and by finding the net numbers corresponding to the pin numbers of P1, P2, and P3, it becomes clear that the order of the net is. . For confirmation, the cell number can also be obtained in reverse from the pin. And
When the net number is designated from the net list, the connection number and the number of pins are clarified, and the relationship between the pin number and the connection is clarified by obtaining the connection numbers for the number corresponding to the connection number. It can be seen that pins P1, P2, and P3 are connected. Then, the positions of those cells are known from the cell arrangement list.

【0032】図11は主処理装置の処理フローチャー
ト、図12は補助処理装置のフローチャートである。1
つのゲートアレイのLSIの配置を設計する際に主処理
装置100が先ず実行する。主処理装置100はその要
求に対し送られるセルリストをセルリスト記憶手段10
2にステップS30で記憶する。続いてピンリストをピ
ンリスト記憶手段103にステップS31で記憶する。
さらに続いてネットリストをネットリスト記憶手段10
4にステップS32で記憶する。そして、コネクション
リストをコネクションリスト記憶手段105にステップ
S33で記憶する。例えばこれらの情報は通信線300
を介して加わるものである。なおこの時同時に補助処理
装置もステップS50〜S53によってセルリスト、ピ
ンリスト、ネットリスト、コネクションリストをそれぞ
れセルリスト記憶手段202a,202b、ピンリスト
記憶手段203a,203b、ネットリスト記憶手段2
04a,204b、コネクションリスト記憶手段205
a,205bに格納する。
FIG. 11 is a processing flowchart of the main processing unit, and FIG. 12 is a flowchart of the auxiliary processing unit. 1
The main processing unit 100 first executes the process of designing the layout of the LSIs of one gate array. Main processor 100 stores the cell list sent in response to the request in cell list storage means 10.
2 is stored in step S30. Subsequently, the pin list is stored in the pin list storage unit 103 in step S31.
Subsequently, the netlist is stored in the netlist storage means 10.
4 is stored in step S32. Then, the connection list is stored in the connection list storage means 105 in step S33. For example, such information is stored in the communication line 300.
It is added through. At this time, the auxiliary processing device simultaneously stores the cell list, the pin list, the net list, and the connection list in steps S50 to S53, respectively, in the cell list storage units 202a and 202b, the pin list storage units 203a and 203b, and the net list storage unit 2.
04a, 204b, connection list storage means 205
a, 205b.

【0033】主処理装置100は続いてステップS34
でセルのランダムな配置をセル配置リスト記憶手段10
6に記憶する。これは全く初期の配置であり以後このセ
ルの移動が順次なされる。さらに初期状態であるのでス
テップS35で初期温度を温度パラメータ記憶手段10
7に記憶する。
The main processing unit 100 then proceeds to step S34
Random arrangement of cells in the cell arrangement list storage means 10
6 is stored. This is a completely initial arrangement, and the movement of the cell is performed sequentially thereafter. In the initial state, the initial temperature is stored in the temperature parameter storage means 10 in step S35.
7 is stored.

【0034】続いて、各補助記憶装置200a,200
bにステップS34で記憶したセル配置をステップS3
6で送出する。これは補助処理装置200a,200b
におけるステップS54で受信される。なお、図11、
図12中のA1〜A4の端子は図面間のそれぞれデータ
の流れを表わす端子である。
Subsequently, each of the auxiliary storage devices 200a, 200
b to the cell arrangement stored in step S34 in step S3.
Send at 6. This is the auxiliary processing device 200a, 200b
At step S54. Note that FIG.
Terminals A1 to A4 in FIG. 12 are terminals representing the flow of data between the drawings.

【0035】そして、主処理装置100はステップS3
7で温度パラメータ記憶手段107の内容を補助処理装
置に転送し補助処理装置20a,20bはステップS5
5で温度パラメータの値を通信線300を介して受け取
り、温度パラメータ記憶手段208a,208bに記録
する。さらに補助装置においてエネルギーの変化を求め
るため、各セルの演算させるべきセルをステップS38
によって選択する。この選択はセル選択手段109によ
ってなされる。
Then, main processing unit 100 proceeds to step S3.
In step 7, the contents of the temperature parameter storage means 107 are transferred to the auxiliary processing device, and the auxiliary processing devices 20a and 20b execute step S5.
At 5, the value of the temperature parameter is received via the communication line 300 and recorded in the temperature parameter storage means 208a, 208b. Further, in order to obtain a change in energy in the auxiliary device, a cell to be operated for each cell is determined in step S38.
Choose by. This selection is made by the cell selection means 109.

【0036】その選択したセルの移動先をセル移動先生
成手段109がステップS39で求める。これらのセル
選択手段108並びにセル移動先生成手段109は今ま
でのセルリスト、ピンリスト、ネットリスト、コネクシ
ョンリストに関するセルの移動を指示するものであり、
これらは補助処理装置200a,200b,・・・の台
数分生成される。そしてステップS40で通信線300
によりセルとその移動先の情報を1つずつ各補助処理装
置200a,200b,・・・へ送る。
The destination of the selected cell is obtained by the cell destination generating means 109 in step S39. The cell selection means 108 and the cell movement destination generation means 109 instruct the movement of cells related to the conventional cell list, pin list, net list, and connection list.
These are generated for the number of auxiliary processing devices 200a, 200b,. Then, in step S40, the communication line 300
, The information on the cell and its destination is sent one by one to each of the auxiliary processing devices 200a, 200b,.

【0037】ステップS37で温度パラメータ記憶手段
の内容を転送された各補助処理装置200a,200b
はステップS55でパラメータ記憶手段208a,20
8bに記憶する。続いてセル配置手段210a,210
bはセルの配置をステップS56で実行し、仮想配線記
憶手段209a,209bはステップS57でその位置
に対する仮想配線を実行し、配置配線記憶手段207
a,207bに求めた仮想配線結果を記憶する。
Each auxiliary processing device 200a, 200b to which the contents of the temperature parameter storage means have been transferred in step S37.
Is the parameter storage means 208a, 20 in step S55.
8b. Subsequently, the cell placement means 210a, 210
b executes the cell arrangement in step S56, the virtual wiring storage means 209a and 209b execute the virtual wiring for that position in step S57, and
The obtained virtual wiring results are stored in a and 207b.

【0038】この後に、先の主処理装置100のステッ
プS40の処理で得られた移動先のセルとその移動先の
情報がステップS58により受信すると、ステップS5
9で配置配線記憶手段207a,207bに記録すると
共に、仮想配線手段209a,209bにおいて仮想配
線を行うと共にセルを移動先に移動した場合のエネルギ
ー変化ΔEをステップS59で計算する。この計算はそ
れぞれ補助処理装置200a,200b内の演算装置2
01a,201bによってなされる。ステップS50に
おけるエネルギー変化は今までのエネルギーと移動先の
エネルギーの差分であり、エネルギーは以下のごとく求
められる。
Thereafter, when the destination cell and the information of the destination obtained in the processing of step S40 of the main processing unit 100 are received in step S58, the flow proceeds to step S5.
In step S59, the energy change ΔE is recorded in the placement and wiring storage means 207a and 207b, and the virtual wiring is performed in the virtual wiring means 209a and 209b and the energy change ΔE when the cell is moved to the destination is calculated in step S59. This calculation is performed by the arithmetic unit 2 in the auxiliary processing units 200a and 200b, respectively.
01a and 201b. The energy change in step S50 is the difference between the energy up to now and the energy at the destination, and the energy is obtained as follows.

【0039】ある配置のエネルギーをEとするならば、
Eは E=E0+L1 1 +L2 2 となる。ここで、E0はセルの重なりによる寄与で、セ
ルを配置した時に1つのベーシックセルでk個のセルが
重なっている時のコストをεk (i>j→εi >εj
と定めておき、全ての重なりのあるベーシックセルに渡
ってこのコストの総計を求めることによって得られる。
If the energy of a certain arrangement is E,
E becomes E = E0 + L 1 E 1 + L 2 E 2. Here, E0 is the contribution due to the overlapping of cells, and the cost when k cells overlap in one basic cell when the cells are arranged is ε k (i> j → ε i > ε j ).
It is obtained by summing up this cost over all overlapping basic cells.

【0040】E1は配線長による項で仮想配線すること
により求められる。E2は配線の混み具合による寄与
で、仮想配線を行って配置配線領域をあるマスに分割し
て、それぞれの小領域において、縦方向の配線数と横方
向の配線数を計数し、その配線数に応じて予め定めてお
いたコストを加算することにより求められる。L1,L
2は正の係数で経験的に調整される値である。
E1 is obtained by performing virtual wiring in terms of the wiring length. E2 is a contribution due to the degree of congestion of the wirings. Virtual wiring is performed to divide the arrangement wiring area into certain cells, and in each small area, the number of wirings in the vertical direction and the number of wirings in the horizontal direction are counted. The cost is determined by adding a predetermined cost according to. L1, L
2 is a value empirically adjusted with a positive coefficient.

【0041】図13、図14はエネルギー計算の説明図
である。先に述べたようにセルの重なりによるエネルギ
ーへの寄与の計算と、仮想配線による配線長と配線の混
み具合による寄与の計算を説明するものである。図13
に示す如く各セルが重なっている場合、この重なりに対
応してコストを変えている。すなわち重み付けを変えて
いる。また更に各ブロックを図14の点線の如くマス目
上に分割しそれぞれの小領域において縦方向の配線数と
横方向の配線数を計数し求める。
FIGS. 13 and 14 are diagrams for explaining the energy calculation. As described above, the calculation of the contribution to the energy due to the overlapping of the cells and the calculation of the contribution by the wiring length and the degree of congestion of the wiring by the virtual wiring are described. FIG.
When the cells overlap as shown in (1), the cost is changed corresponding to the overlap. That is, the weighting is changed. Further, each block is divided into squares as shown by the dotted line in FIG. 14, and the number of wirings in the vertical direction and the number of wirings in the horizontal direction are counted and obtained in each small area.

【0042】以上のようにエネルギーを求め、さらに移
動した際のエネルギー変化ΔEを求める。そして、補助
処理装置200a,200bの演算装置201a,20
1bではステップS60でΔEがマイナスであるならば
セルの移動を受理し、そうでないならば〔0,1〕区間
の一様乱数rを発生し、r<exp(−ΔE/T)であれば
受理し、そうでないならば受理しない処理を行う。そし
て、この結果をステップS61で送出する。
As described above, the energy is obtained, and the energy change ΔE upon further movement is obtained. Then, the arithmetic units 201a, 201 of the auxiliary processing units 200a, 200b
In step 1b, if ΔE is negative in step S60, the cell movement is accepted. If not, a uniform random number r in the [0, 1] section is generated. If r <exp (−ΔE / T), Accepted, otherwise perform unaccepted processing. Then, the result is transmitted in step S61.

【0043】補助処理装置200a,200bはこのス
テップS61の後、主処理装置100よりステップS3
6によって新たにセル配置リストが受信された場合には
ステップS54を行い、また主処理装置100のステッ
プS40によりセルとその移動先の情報を受信した際に
はステップS58を実行する。
After this step S61, the auxiliary processing devices 200a and 200b send a signal from the main processing device 100 to step S3.
If the cell arrangement list is newly received in step S6, step S54 is performed, and if information on the cell and its destination is received in step S40 of the main processing unit 100, step S58 is executed.

【0044】一方、ステップS61によって補助処理装
置がエネルギー変化によって受理したか否かを送信した
際に、主処理装置はステップS41でその結果を受信
し、移動セル記憶手段108に移動が受理されたセルと
その移動先を記録する。そして全てのセルについて移動
が終わったかをステップS42で判別する。終わってな
い時には再度S38より実行する。尚、受理されたもの
に対するセル配置の変更はセル配置変更手段110が行
う。この繰り返しにより補助処理装置200a,200
bではステップS58からS61が繰り返す。そして全
ての移動の検討が終わった時(YES)には続いてステ
ップS43で移動セルの記憶手段108の記録に基づき
セル配置変更手段111によってセル配置リストを記憶
した記憶手段106の内容を変更する。
On the other hand, when the auxiliary processing device transmits whether or not it has been received due to a change in energy in step S61, the main processing device receives the result in step S41, and the movement is received by the mobile cell storage means 108. Record the cell and its destination. Then, it is determined in step S42 whether the movement has been completed for all cells. If not, the process is executed again from S38. It should be noted that the cell arrangement is changed by the cell arrangement changing means 110 with respect to the received cell arrangement. By repeating this, the auxiliary processing devices 200a, 200
In b, steps S58 to S61 are repeated. Then, when the examination of all the movements is completed (YES), the contents of the storage means 106 storing the cell arrangement list are changed by the cell arrangement change means 111 based on the record in the storage means 108 of the moving cell in step S43. .

【0045】続いて今まで使用した温度パラメータTに
αを乗じたαTを新たな温度パラメータTとして温度パ
ラメータ記憶手段108にステップS44で格納する。
そしてステップS45でその温度パラメータTがT
final より大きいかを判別し、大きい時には再度ステッ
プS36より実行する。大きい場合には再度S36より
実行するのでセル配置リストの記憶手段の内容と温度パ
ラメータが送出され、これによって先に説明したと同様
の処理が変更されたセル配置と補助処理装置によってな
されるのである。この処理を順次それぞれ主記憶装置1
00並びに補助記憶装置200a,200bによって行
うことにより、最終的に温度パラメータがT final 以下
となり、全処理を終了する。この時得られた配置が一番
エネルギーの少ない配置となっているのである。
Subsequently, the temperature parameter T used so far is
αT multiplied by α as a new temperature parameter T
It is stored in the parameter storage means 108 in step S44.
Then, in step S45, the temperature parameter T becomes T
finalTo determine if it is greater than
Step S36 is executed. If larger, repeat from S36
Since the execution is executed, the contents and temperature
Parameters are sent out, as described above.
Cell processing and auxiliary processing equipment
It is done. This processing is sequentially performed on the main storage device 1
00 and the auxiliary storage devices 200a, 200b
The temperature parameter finally becomes T finalLess than
, And the entire process ends. The arrangement obtained at this time is the best
The arrangement is low in energy.

【0046】以上本発明を詳細に説明したが、本発明は
図11,12のように限るものではなく、例えば主処理
装置100も補助処理装置200a,200bと同様の
演算を行い、補助処理装置n台+1でもって並行処理を
行ってもよい。更には主記憶装置100、補助記憶装置
200a,200bはそれぞれ1台のコンピュータから
なり、通信線であるネットワークを介して主処理装置1
00が各コンピュータにデータを転送し、そのコンピュ
ータによってそれらの演算を行い、主処理装置100で
あるコンピュータに返送することによって、並行に目的
の処理を行ってもよい。
Although the present invention has been described in detail, the present invention is not limited to FIGS. 11 and 12. For example, the main processor 100 performs the same operation as the auxiliary processors 200a and 200b, and Parallel processing may be performed with n + 1. Further, the main storage device 100 and the auxiliary storage devices 200a and 200b each include one computer, and are connected to the main processing device 1 via a network which is a communication line.
00 may transfer data to each computer, perform those operations by the computer, and return the data to the computer as the main processing unit 100, thereby performing the target processing in parallel.

【0047】[0047]

【発明の効果】以上述べたように本発明によれば、複数
の補助処理装置で同時に複数の配線要素についての移動
を検討することができ、従来にくらべて配置設計をする
時間を大幅に短縮することができる。さらに同時に移動
を受理された配線要素についてはそのうちある数の配線
要素についてのみ実際の移動を行うことにすれば、同時
に複数の配線要素の移動を検討することにより生ずるエ
ネルギー変化量に対する誤差を充分に小さなものとする
ことができる。
As described above, according to the present invention, the movement of a plurality of wiring elements can be considered simultaneously by a plurality of auxiliary processing devices, and the time required for layout design can be greatly reduced as compared with the related art. can do. Further, if the actual movement is performed only for a certain number of wiring elements among the wiring elements that have been received at the same time, the error with respect to the energy change amount caused by considering the movement of a plurality of wiring elements at the same time can be sufficiently reduced. Can be small.

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

【図1】本発明のブロック図である。FIG. 1 is a block diagram of the present invention.

【図2】本発明の実施例の基本構成図である。FIG. 2 is a basic configuration diagram of an embodiment of the present invention.

【図3】本発明の実施例のさらに詳細な説明図である。FIG. 3 is a more detailed explanatory view of the embodiment of the present invention.

【図4】ゲートアレイの構成図である。FIG. 4 is a configuration diagram of a gate array.

【図5】セルリストの構成図表である。FIG. 5 is a configuration diagram of a cell list.

【図6】ピンリストの構成図表である。FIG. 6 is a configuration diagram of a pin list.

【図7】ネットリストの構成図表である。FIG. 7 is a configuration diagram of a net list.

【図8】コネクションリストの構成図表である。FIG. 8 is a configuration diagram of a connection list.

【図9】セル配置リストの構成図表である。FIG. 9 is a configuration diagram of a cell arrangement list.

【図10】仮想配線の説明図である。FIG. 10 is an explanatory diagram of virtual wiring.

【図11】主処理装置の処理フローチャートである。FIG. 11 is a processing flowchart of a main processing device.

【図12】補助処理装置の処理フローチャートである。FIG. 12 is a processing flowchart of an auxiliary processing device.

【図13】エネルギー計算説明図である(エネルギーへ
のセルの重なりによる寄与の計算)。
FIG. 13 is an explanatory diagram of energy calculation (calculation of contribution by overlapping cells to energy).

【図14】エネルギー計算説明図である(仮想配線によ
る配線長と配線の混み具合による寄与)。
FIG. 14 is an explanatory diagram of energy calculation (wiring length by virtual wiring and contribution by the degree of congestion of wiring).

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

1 主処理手段 2−1,2−2,2−n 補助処理手段 1 main processing means 2-1, 2-2, 2-n auxiliary processing means

フロントページの続き (56)参考文献 特開 平3−82056(JP,A) 特開 平2−162465(JP,A) 特開 平1−273179(JP,A) 小圷成一、平田廣則,”VLSIブロ ック配置問題を例とした改良型アニーリ ング法の並列処理”,平成4年電気学会 全国大会講演論文集,平成4年3月, p.13−19〜13−20 (58)調査した分野(Int.Cl.7,DB名) G06F 17/50 H01L 21/82 H05K 3/00 JICSTファイル(JOIS)Continuation of the front page (56) References JP-A-3-82056 (JP, A) JP-A-2-162465 (JP, A) JP-A 1-273179 (JP, A) Seiichi Koakutsu, Hironori Hirata, " Parallel Processing of Improved Annealing Method with VLSI Block Placement Problem as an Example ”, Proceedings of the 1994 IEEJ National Convention, March 1994, p. 13-19 to 13-20 (58) Fields investigated (Int. Cl. 7 , DB name) G06F 17/50 H01L 21/82 H05K 3/00 JICST file (JOIS)

Claims (4)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 シミュレーテッドアニーリング法により
配置要素の配置設計を行う装置において、 各補助処理手段において前記配置要素の1個のコンフィ
ギュレーションから仮想配線を行って、そのエネルギー
変化を求める処理を独立かつ並列に行う複数の補助処理
手段(2−1〜2−n)と、 該複数の補助処理手段(2−1〜2−n)に対応して異
なる配置要素を選択して選択された配置要素とその移動
の情報を、前記複数の補助処理手段に送出してエネルギ
ー変化を各補助処理手段に対して並列に求めさせ、返送
される結果から配置設計結果を決定する主処理手段
(1)とより成ることを特徴とする配置設計装置。
1. An apparatus for designing placement of placement elements by a simulated annealing method, wherein each auxiliary processing means performs virtual wiring from one configuration of the placement elements, and independently performs processing for obtaining a change in energy. A plurality of auxiliary processing means (2-1 to 2-n) to be performed in parallel; and a layout element selected by selecting different layout elements corresponding to the plurality of auxiliary processing means (2-1 to 2-n) And a main processing means (1) for sending information on the movement to the plurality of auxiliary processing means to cause each of the auxiliary processing means to calculate an energy change in parallel, and determining a layout design result from the returned result. An arrangement design apparatus characterized by comprising:
【請求項2】 前記補助処理手段(2−1〜2−n)
は、エネルギー変化が負である場合か、あるいはエネル
ギー変化が正であるならば0と1間の乱数を発生しその
値が前述求めたエネルギー変化を温度パラメータで割っ
て符号を反転した値のエクスポネンシャルをとった結果
より小さい場合かの時に、前記セルの移動を受理すると
ともに、前記主処理手段(1)に結果として送出するこ
とを特徴とする請求項1記載の配置設計装置。
2. The auxiliary processing means (2-1 to 2-n).
If the energy change is negative or the energy change is positive, a random number between 0 and 1 is generated and the value is the value obtained by dividing the energy change obtained above by the temperature parameter and inverting the sign. 2. The layout design apparatus according to claim 1, wherein when the result is smaller than the result of taking the sensual, the movement of the cell is accepted and transmitted as a result to the main processing means (1).
【請求項3】 前記主処理手段(1)は前記複数の補助
処理手段(2−1〜2−n)に同時に処理させた結果が
受理であったものを全てあるいは少なくとも1個を移動
させて新たな配置として処理を続けることを特徴とする
請求項2記載の配置設計装置。
3. The main processing means (1) moves all or at least one of the plurality of auxiliary processing means (2-1 to 2-n) which have been accepted as a result of simultaneous processing and moves the auxiliary processing means (2-1 to 2-n). 3. The arrangement design apparatus according to claim 2, wherein the processing is continued as a new arrangement.
【請求項4】 前記補助処理装置に移動を検討させる配
置要素それぞれの、現在、及び、移動後の位置に、ある
距離以下のものが含まれないようにすることを特徴とす
る請求項1、2又は3記載の配置設計装置。
4. The method according to claim 1, wherein the current and post-movement positions of the respective arrangement elements which are to be considered by the auxiliary processing device for movement are not included below a certain distance. 4. The layout design apparatus according to 2 or 3.
JP25704392A 1992-09-25 1992-09-25 Layout design equipment Expired - Fee Related JP3178910B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25704392A JP3178910B2 (en) 1992-09-25 1992-09-25 Layout design equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25704392A JP3178910B2 (en) 1992-09-25 1992-09-25 Layout design equipment

Publications (2)

Publication Number Publication Date
JPH06110977A JPH06110977A (en) 1994-04-22
JP3178910B2 true JP3178910B2 (en) 2001-06-25

Family

ID=17300949

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25704392A Expired - Fee Related JP3178910B2 (en) 1992-09-25 1992-09-25 Layout design equipment

Country Status (1)

Country Link
JP (1) JP3178910B2 (en)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
小圷成一、平田廣則,"VLSIブロック配置問題を例とした改良型アニーリング法の並列処理",平成4年電気学会全国大会講演論文集,平成4年3月,p.13−19〜13−20

Also Published As

Publication number Publication date
JPH06110977A (en) 1994-04-22

Similar Documents

Publication Publication Date Title
US6144932A (en) Simulation device and its method for simulating operation of large-scale electronic circuit by parallel processing
JP2724317B2 (en) Hierarchical floor planning method and system
US6378115B1 (en) LSI manufacturing method and recording medium for storing layout software
EP0401687A3 (en) Placement optimizing method/apparatus and apparatus for designing semiconductor devices
JP3178910B2 (en) Layout design equipment
JP3102365B2 (en) Placement and wiring method
JP2003167935A (en) Wiring passage determining device, group determining device, wiring passage determining program and group determining program
US6615401B1 (en) Blocked net buffer insertion
JPH04307672A (en) Schematic wiring processing system
JP3433025B2 (en) Module placement method
JP3184132B2 (en) Hierarchical layout design method
JPH06266801A (en) Logical synthesis method considering floor plan
JP2766284B2 (en) Layout support device for semiconductor integrated circuit
JP3208014B2 (en) Wiring path inspection device and wiring path inspection method
KR102603130B1 (en) Design system and method for optimizing area and macro arrangement based on reinforcement learning
JPH04107953A (en) Wiring method of semiconductor device
JP4268694B2 (en) Wiring processing method, wiring processing apparatus, and recording medium for wiring processing program
JP3278600B2 (en) Automatic layout method and apparatus
JP3247011B2 (en) Cell placement improvement apparatus and method
JPH09330339A (en) Automatic description dividing device
JP3382909B2 (en) Bus arrangement method
CN117540693A (en) Three-dimensional integrated circuit global layout system and method based on vision reinforcement learning
JPH09269958A (en) Automatic layout device
JP2753001B2 (en) Method of changing design of semiconductor integrated circuit device
JP3422839B2 (en) Logic cell division processing method for semiconductor integrated circuit

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20010403

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

Free format text: PAYMENT UNTIL: 20080413

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090413

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090413

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100413

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees