JP3215215B2 - Logic cell parallel arrangement processing method - Google Patents

Logic cell parallel arrangement processing method

Info

Publication number
JP3215215B2
JP3215215B2 JP07393093A JP7393093A JP3215215B2 JP 3215215 B2 JP3215215 B2 JP 3215215B2 JP 07393093 A JP07393093 A JP 07393093A JP 7393093 A JP7393093 A JP 7393093A JP 3215215 B2 JP3215215 B2 JP 3215215B2
Authority
JP
Japan
Prior art keywords
cell
area
arrangement
divided
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP07393093A
Other languages
Japanese (ja)
Other versions
JPH06291186A (en
Inventor
俊晃 上田
香 河野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP07393093A priority Critical patent/JP3215215B2/en
Publication of JPH06291186A publication Critical patent/JPH06291186A/en
Application granted granted Critical
Publication of JP3215215B2 publication Critical patent/JP3215215B2/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 relates to a method for automatically arranging cells or blocks using a computer in an automatic layout design of a gate array type or standard cell type semiconductor integrated circuit.

【0002】[0002]

【従来の技術】半導体集積回路装置は、所望の回路動作
が得られる様に論理機能や記憶機能を有するセル或いは
ブロックをチップ内に配置し、その入出力端子間をそれ
ぞれ配線して構成されている。
2. Description of the Related Art A semiconductor integrated circuit device is constructed by arranging cells or blocks having a logical function or a memory function in a chip so as to obtain a desired circuit operation, and wiring the input / output terminals thereof. I have.

【0003】図12は、一般的なゲートアレイ方式によ
る半導体集積回路チップの概略構成を示したものであ
る。チップ上は、セルが配置される領域51、セル間の
配線が施される領域52、および周辺に設けられた入出
力回路の配置される領域53により構成される。配線に
は複数の配線層が利用でき、水平・垂直方向の配線にそ
れぞれ別の層が割り当てられるのが一般的である。
FIG. 12 shows a schematic configuration of a semiconductor integrated circuit chip according to a general gate array system. On the chip, an area 51 where cells are arranged, an area 52 where wiring between cells is provided, and an area 53 where peripheral input / output circuits are arranged are arranged. In general, a plurality of wiring layers can be used for wiring, and different layers are generally assigned to horizontal and vertical wirings.

【0004】この様な半導体集積回路のレイアウト設計
では、計算機を用いて自動的にセルの配置や端子間の配
線を最適化するのが普通であり、配置処理に於いてセル
配置を決定する際には、後の配線処理が容易となる様に
配置処理を施す。例えば仮想配線長の最小化や配線混雑
度の均一化といった事を目的として適当な評価関数を設
定し、セルの配置位置を最適化する。また、計算機によ
る配置処理では、通常、配置の初期状態を決定する初期
配置フェーズと、その後の逐次配置改善フェーズによ
り、最終的な配置を決定する。
In such a layout design of a semiconductor integrated circuit, it is common to automatically optimize the arrangement of cells and the wiring between terminals by using a computer. When deciding the cell arrangement in the arrangement processing, , An arrangement process is performed so as to facilitate the subsequent wiring process. For example, an appropriate evaluation function is set for the purpose of minimizing the virtual wiring length and equalizing the degree of wiring congestion, and optimizing the cell arrangement position. In a placement process by a computer, a final placement is usually determined by an initial placement phase for determining an initial state of placement and a subsequent sequential placement improvement phase.

【0005】この配置改良過程に於いては様々な配置最
適化手法が利用されているのが現状であるが、その中で
比較的に良い性能が得られるものとして、K&Lの有名
な分割アルゴリズム(B.W.Kernighan and S.Lin,"An Ef
ficient Heuristic Procedure for Partitioning Graph
s",Bell Sys. Tech. J.,Vol.49 pp.291-307, Feb. 197
0)がある。これは、ミニカット配置に於ける論理セル
の代表的な分割手法であり、セルのゲイン(当該セルを
移動したときにカットラインを通過するネット数が幾つ
減少するかという値)を次々と累積していく事によって
一種の先読みが可能となり一般的に良い性能が得られる
とされている。
At present, various layout optimization techniques are used in the layout improvement process. Among them, K &L's well-known partitioning algorithm (K &L's famous partitioning algorithm ( BWKernighan and S. Lin, "An Ef
ficient Heuristic Procedure for Partitioning Graph
s ", Bell Sys. Tech. J., Vol.49 pp.291-307, Feb. 197
0). This is a typical division method of the logic cell in the mini-cut arrangement, and the gain of the cell (a value indicating how many nets passing through the cut line decreases when the cell is moved) is successively accumulated. It is said that by doing this, a kind of look-ahead becomes possible, and generally good performance is obtained.

【0006】ところが、図13の分割例でも判るように
現実的には各セルの大きさのばらつきや、分割に於ける
セル数の不均衡の発生等考慮すべき課題も多い。そして
最も重大な問題は、初期解に依存した局所的に最適な状
態に陥ると、それ以降の改善が期待できない事である。
以下でこの問題を図2,図3を使ってより具体的に説明
する。
However, as can be seen from the example of division shown in FIG. 13, there are many problems to be taken into consideration, such as variations in the size of each cell and occurrence of imbalance in the number of cells in division. And the most serious problem is that if it falls into a locally optimal state depending on the initial solution, no further improvement can be expected.
Hereinafter, this problem will be described more specifically with reference to FIGS.

【0007】図2は初期状態から決定されるある配置状
態を表現しており、点線で示したものはチップ上に設定
したカットライン、ローマ字の付いた丸印はセル、実線
はそれらの接続関係を示しているものとする。この例で
は、大局的にみると図3の様な最適な配置結果を得るこ
とが可能であり、カットラインを通過するネットの数を
3本に最小化できるはずである。
FIG. 2 shows an arrangement state determined from an initial state. A dotted line indicates a cut line set on a chip, a circle with a Roman character indicates a cell, and a solid line indicates a connection relation between them. Shall be shown. In this example, it is possible to obtain an optimal arrangement result as shown in FIG. 3 from a global perspective, and it should be possible to minimize the number of nets passing through the cut line to three.

【0008】ところが、ひとたび図2の様な局所的に最
適な配置状態に陥ってしまうと、どのセルを動かしても
カット数が増加する傾向となり最小化が進まない。ま
た、K&Lの分割アルゴリズムを使った場合でも、他の
セルを全く動かさないで、セルJ,I,L,Kとセル
O,M,P,Nを立て続けに交換する決定的な方策がな
いため、これ以上の最小化が進まない。
[0008] However, once a local optimal arrangement state as shown in FIG. 2 is reached, the number of cuts tends to increase regardless of which cell is moved, and minimization does not proceed. Also, even when the K & L division algorithm is used, there is no decisive way to exchange cells J, I, L, K and cells O, M, P, N one after another without moving other cells at all. No further minimization can proceed.

【0009】例えば図2の例では、セルF,H,U,
V,C,D,S,Q等のどれか一つが先に移動候補とな
ってしまうことが避けられず、こうなってしまうとこの
後いくらゲインを累積して先読みしてもこれ以上の改良
は進まずにこの配置状態で集束してしまう。即ち、同一
ゲインのセルが複数存在した時に、どのセルから先に移
動すべきかの選択基準がない為、これらの組み合わせで
決まる次の配置状態を最適な方向へ導く事ができなかっ
た。
For example, in the example of FIG. 2, cells F, H, U,
It is inevitable that any one of V, C, D, S, Q, etc. becomes a movement candidate first, and if this happens, even if the gain is accumulated and read ahead, further improvement is possible. Does not proceed and converges in this arrangement. That is, when there are a plurality of cells having the same gain, there is no selection criterion as to which cell should be moved first, so that the next arrangement state determined by these combinations cannot be guided in the optimal direction.

【0010】また、この様な同一のゲンイを持つセルは
大規模なLSIになればなる程増えていく為、それらの
順列で決まる配置改良状態を全て虱潰しに調べる訳には
いかないという問題があった。
In addition, the number of cells having the same gain increases as the size of a large-scale LSI increases. Therefore, it is not possible to exhaustively examine all the layout improvement states determined by their permutations. there were.

【0011】一方、上述した配置改良過程における最も
シンプルな方法としては、あるセルの位置と他のセルの
位置を交換して新配置状態を作り、元の配置状態よりも
良くなれば新配置状態を採用し、悪くなれば元の配置状
態へ戻す操作を繰り返して配置改良を図るという方法が
ある(M.hanan, P.K.Wolff Sr. ahd B.J.Agule, "Some
experimental results on placement techniques", Pro
ceedings of the 13thDesign Automation Conference,1
976,pp.214-224.)。
On the other hand, the simplest method in the above-described arrangement improvement process is to exchange a position of a certain cell with a position of another cell to create a new arrangement state. There is a method to improve the arrangement by repeating the operation of returning to the original arrangement state if it gets worse (M.hanan, PKWolff Sr. ahd BJAgule, "Some
experimental results on placement techniques ", Pro
ceedings of the 13thDesign Automation Conference, 1
976, pp. 214-224.).

【0012】この方法では、セル数の増加に従って、満
足のいく配置解を得る為の配置改良に要する処理時間が
急激に増大していく。この為、現実的な処理時間内で効
果的に最適化を図るべく処理の高速化を達成しなければ
ならないという問題があった。
In this method, as the number of cells increases, the processing time required for improving the arrangement to obtain a satisfactory arrangement solution sharply increases. For this reason, there is a problem that it is necessary to achieve high-speed processing in order to effectively optimize within a practical processing time.

【0013】この課題を解決するための並列配置改良方
法としては、互いに直接的な接続関係がないセル同士を
並列に改良していく方法、或いは、この様な限定操作を
せずにLSIのチップ領域を分割して並列配置改良を行
う方法が既に提案されている(ICCAD'86, A parallel s
imulated annealing algorithm for the placemet ofma
cro-cells, A Casotto and Alberto Aangiavanni-Vince
ntelli,UCB.、特開昭62−243071)。
As a parallel arrangement improving method for solving this problem, there is a method of improving cells having no direct connection relationship with each other in parallel, or an LSI chip without such a limiting operation. A method of improving the parallel placement by dividing the region has already been proposed (ICCAD'86, A parallel s
imulated annealing algorithm for the placemet ofma
cro-cells, A Casotto and Alberto Aangiavanni-Vince
ntelli, UCB., JP-A-62-243071).

【0014】ところが、前者は同時並列にセル交換処理
が施された場合の改良誤差をなくす為に、直接接続関係
がない互いに独立な交換セル対を選択する為のロック機
構が必要となり、独立な交換セル対を計算機で収集し限
定する操作の為のオーバヘッドが改良対象となるセルを
選択する度に毎回発生する。また、交換セル対は通常非
常に多数存在するため、改良が収束するまでに多くの繰
り返し操作が必要であるという問題が残り、大局的な最
適化を高速に進める事は難しい。
However, the former requires a lock mechanism for selecting mutually independent exchange cell pairs having no direct connection relationship in order to eliminate an improvement error when cell exchange processing is performed simultaneously and in parallel. An overhead for the operation of collecting and limiting the exchanged cell pair by the computer is generated every time a cell to be improved is selected. In addition, since there are usually a large number of exchange cell pairs, there remains a problem that many repetitive operations are required before the improvement converges, and it is difficult to perform global optimization at high speed.

【0015】一方、後者の様に単純に領域を分割して並
列化する方法では分割された領域内の配置改良処理時間
が不均一になり、チップ全体としての配置改良時間が最
も処理時間のかかる領域に律則されて短縮化できない
(並列度が上がらない)という問題点があった。
On the other hand, in the latter method of simply dividing a region and parallelizing it, the placement improvement processing time in the divided region becomes non-uniform, and the placement improvement time of the entire chip takes the longest processing time. There is a problem in that it cannot be shortened due to the rules of the area (the degree of parallelism does not increase).

【0016】以上のように、セル数の増加に従って、満
足のいく配置解を得る為の配置改良に要する処理時間が
急激に増大していく。この為、現実的な処理時間内で効
果的に最適化を図るべく処理時間を短縮化しなければな
らなかった。
As described above, as the number of cells increases, the processing time required for improving the arrangement for obtaining a satisfactory arrangement solution sharply increases. For this reason, the processing time has to be shortened in order to effectively optimize within a realistic processing time.

【0017】この為、いくつかの並列配置方法が既に提
案されているが、領域を分割して並列化する方法では分
割された領域内の配置改良処理時間が不均一になり、チ
ップ全体として配置改良時間が最も処理時間のかかる領
域に律則されて並列度が上がらないという課題があっ
た。
For this reason, some parallel placement methods have already been proposed. However, in the method of dividing and parallelizing a region, the placement improvement processing time in the divided region becomes non-uniform, and the placement as a whole chip is performed. There is a problem that the parallelism is not increased because the improvement time is determined by the region where the processing time is the longest.

【0018】図13は、この課題をより具体的に説明す
るためのチップ領域上の領域分割例を示す概略図であ
り、点線で分割された4つの領域はそれぞれ別々の計算
機により並列に配置改良処理が施される単位領域に対応
している。ここで網がけの大きいい矩形はRAM/RO
M等のマクロブロックを示しており、小さい矩形はその
他の一般セルを示している。
FIG. 13 is a schematic diagram showing an example of area division on a chip area for explaining this problem more specifically. Four areas divided by dotted lines are arranged and improved in parallel by separate computers. It corresponds to the unit area to be processed. Here, the large rectangle with half-tone is RAM / RO
Macro blocks such as M are shown, and small rectangles show other general cells.

【0019】この例の様に単純にチップを4分割して処
理すると各領域内の実効改良対象セル数は異なってしま
い。各領域内の配置改良に要する処理時間が著しく異な
る事になる。チップ全体の配置改良処理時間は図13の
矢印で示したように分割された各領域内の配置改良処理
時間の最大値で決まってしまうので単純な分割では並列
度が上がらない。
If the chip is simply divided into four parts and processed as in this example, the number of cells to be effectively improved in each area is different. The processing time required for improving the arrangement in each area is significantly different. Since the placement improvement processing time of the entire chip is determined by the maximum value of the placement improvement processing time in each divided area as shown by the arrow in FIG. 13, the degree of parallelism does not increase with simple division.

【0020】一般的な並列処理方式としては、動的に負
荷の分散・均一化を図る方法、及び処理時間の掛かりそ
うな処理から先にプロセッサに割り付ける方法などが考
えられる。確かに前者は利用するプロセッサ数が比較的
少なく、対象とする処理単位が小さくて多い(粒度が小
さい)時には確率的に負荷が均一化され、有効である
が、粒度が大きい場合にはやはり負荷の不均衡が残って
しまうという課題があった。
As a general parallel processing method, a method of dynamically distributing and equalizing a load, a method of allocating processing to a processor in advance of processing that would take a long time, and the like can be considered. Certainly, the former is relatively effective when the number of processors used is relatively small and the target processing unit is small and large (granularity is small), and the load is stochastically uniform and effective. There was a problem that the imbalance remained.

【0021】後者に於いては実行中に刻々と変化する負
荷状況や利用する計算機の性能のばらつきなどを吸収す
る事はできず、負荷が均等になる保障がない。また、粒
度が大きい時には前者と同様に負荷の不均衡が残ってし
まい、問題は解決されない。
In the latter case, it is not possible to absorb a load situation that changes every moment during execution or a variation in the performance of a computer to be used, and there is no guarantee that the loads become even. When the granularity is large, the load imbalance remains as in the former case, and the problem is not solved.

【0022】ところが、図6のように分割領域を調整し
てやれば、各領域内の配置改良処理時間は矢印で示した
ように均一化さてた揃い、チップ全体の配置改良処理に
要する計算時間が短縮化される。つまり、この様な分割
の前準備の手順を負めば利用できるプロセッサを有効に
活用してレイアウト処理の高速化を実現する事が可能と
なる。
However, if the divided areas are adjusted as shown in FIG. 6, the layout improvement processing time in each area is uniformed as shown by the arrows, and the calculation time required for the layout improvement processing of the entire chip is reduced. Be transformed into In other words, if such a preparatory procedure for the division is taken, the available processor can be effectively used, and the speed-up of the layout processing can be realized.

【0023】ところで、ULSI製造技術の進歩による
集積度の向上により、ULSIに搭載されるトランジス
タの数は毎年数倍の割合で増大してきており、数年内に
は。メガゲートクラスのLSIが実現可能となると予想
される一方、短期間に制作されることが強く要求されて
いる。このことより、レイアウトCADは大量のデータ
を高速に処理しなければならなくなっている。
By the way, the number of transistors mounted on the ULSI is increasing at a rate of several times every year due to the improvement of the integration degree due to the advance of the ULSI manufacturing technology, and within a few years. While it is expected that megagate class LSIs will be feasible, it is strongly required that they be produced in a short period of time. For this reason, the layout CAD must process a large amount of data at high speed.

【0024】これまで自動配置において種々の方法が提
案されているが、これらのほとんどの場合、単一のCP
Uを用いてシーケンシャルに処理が行われてきたために
計算速度には限度があり、計算時間の短縮は難しかっ
た。計算速度をあげるにはCPUの速度をあげるか、マ
ルチCPUにより並列処理を行い計算時間の大幅な短縮
化をはかるかの方法が考えられる。このうちCPUの速
度をあげる方法には自ずと限度がある。一方、並列処理
により計算時間の短縮を図る配置方法も従来提案されて
きている。
Various methods have been proposed for automatic placement, but in most cases, a single CP is used.
Since processing has been performed sequentially using U, the calculation speed is limited, and it is difficult to reduce the calculation time. In order to increase the calculation speed, a method of increasing the speed of the CPU or a method of performing parallel processing by multiple CPUs to greatly reduce the calculation time can be considered. Of these, the method of increasing the speed of the CPU is naturally limited. On the other hand, an arrangement method for shortening the calculation time by parallel processing has been conventionally proposed.

【0025】従来、並列配置処理においては並列用領域
を設定したのち、各プロセッサーに対し任意に領域を割
り当てていたため、プロセッサー数より並列領域数が多
い場合、個々のプロセッサーが複数の領域を処理する事
になり、それぞれのプロセッサーの全処理時間の差が大
きなものとなるという問題があった。
Conventionally, in the parallel arrangement processing, after a parallel area is set, an area is arbitrarily allocated to each processor. When the number of parallel areas is larger than the number of processors, each processor processes a plurality of areas. As a result, there is a problem that the difference between the total processing times of the respective processors becomes large.

【0026】この場合、一つの領域の処理を終えたプロ
セッサーに直ちに別の未処理の領域の処理を行わせるよ
うにして並列度の向上を図ったとしても、最後に残った
領域の処理に非常に時間がかかる場合には、一つのプロ
セッサーだけに処理の負荷がかかり、他のプロセッサー
は処理が終了し、並列度が落ちるという問題があった。
In this case, even if the processor which has completed processing of one area is immediately processed by another unprocessed area to improve the degree of parallelism, the processing of the last remaining area is extremely difficult. However, there is a problem that the processing load is applied to only one processor, and the other processors end the processing and the degree of parallelism decreases.

【0027】[0027]

【発明が解決しようとする課題】以上述べてきたよう
に、自動配置に於いては既に提案されている従来のグリ
ーディな分割手法による改良アルゴリズムは一般的にア
ニーリングなどの最適化手法と比べてはるかに高速であ
るが、局所的な最適解に陥り改良が十分進まないという
欠点があった。これは、一度図2の様な局所的な配置状
態に陥ってしまうと、セルを単独で評価して移動を繰り
返すだけでは十分な最適化が実現できない事に起因して
いる。
As described above, in the automatic arrangement, the improved algorithm based on the conventional greedy division method already proposed is generally far more than the optimization method such as annealing. Although it is fast, it has a drawback that it falls into a local optimal solution and the improvement does not proceed sufficiently. This is due to the fact that once the cell has fallen into the local arrangement state as shown in FIG. 2, sufficient optimization cannot be realized only by evaluating the cell alone and repeating the movement.

【0028】また、自動配置に於ける従来の配置改良方
法では、LSIのチップ領域を分割して並列化を行う場
合には、利用できるプロセッサ数と分割領域数の間に大
差がない時、負荷の分散・均一化が難しく並列度が落ち
てしまうという問題があった。
In the conventional placement improvement method in automatic placement, when the chip area of the LSI is divided and parallelized, when there is no large difference between the number of available processors and the number of divided areas, the load is reduced. There is a problem that it is difficult to disperse and equalize the data and the degree of parallelism is reduced.

【0029】さらに、従来のLSI設計におけるセルの
並列配置方法においては、並列用領域を設定したのち、
各プロセッサーに対し任意に領域を割り当てていたた
め、最後に残った領域の処理に非常に時間がかかる場合
には、他のプロセッサーは処理が終了しているにも係わ
らず、一つのプロセッサーだけに処理の負荷がかかって
いる場合があり、レイアウトの並列効果も下がってしま
うという問題があった。
Further, in the conventional method for arranging cells in parallel in an LSI design, after setting a parallel area,
If the processing of the last remaining area takes a very long time because the area is allocated arbitrarily to each processor, the processing is performed only by one processor, even if the other processors have completed processing. In some cases, the parallel effect of the layout is reduced.

【0030】本発明はこの様な問題点を解決するために
成されたものであり、第1の発明の目的は、まず貧欲な
方法で改良を進めて高速に最適な状態に近づけ、その後
はセルをダイナミックにグループ化して動かすことによ
って、さらに最適な配置状態を大局的に発見できる論理
セルの並列配置処理方法を提供する事にある。
The present invention has been made to solve such a problem, and the first object of the present invention is to first improve the system by a greedy method to quickly approach an optimum state, An object of the present invention is to provide a method of parallel arrangement of logical cells, which can globally find an optimal arrangement state by dynamically grouping and moving cells.

【0031】また、第2の発明の目的は、高速なセル配
置改良方法を提供する事にある。さらに、第3の発明の
目的は、並列に処理する際に並列領域の評価値を考慮し
た上、各領域をプロセッサーへ割り当てることによりレ
イアウト処理の並列度を上げ、高速でかつ効果的に配置
結果を得ることができる論理セルの並列配置方法を提供
する事にある。
It is another object of the present invention to provide a high-speed cell arrangement improving method. A third object of the present invention is to increase the degree of parallelism of layout processing by allocating each area to a processor in consideration of the evaluation value of a parallel area when performing parallel processing, thereby achieving a high-speed and effective placement result. And a method for arranging logic cells in parallel.

【0032】[0032]

【課題を解決するための手段】第1の発明は、半導体集
積回路のレイアウト設計に於いて、セルの配置位置を計
算機を用いて自動的に決定する際に、LSIのチップ領
域を分割して複数の領域を構成する工程と、分割された
領域間を通過するネット数が当該セルの移動或いは交換
によって減少するセルを選択して配置位置を改善する工
程と、分割された領域間を通過するネット数が当該セル
集合の移動或いは交換によって減少するセル集合を選択
して配置位置を改善する工程とを含み、分割された領域
へのセル配置を最適化する事を特徴とする。
According to a first aspect of the present invention, in a layout design of a semiconductor integrated circuit, when a cell arrangement position is automatically determined using a computer, an LSI chip area is divided. A step of configuring a plurality of areas; a step of selecting cells whose number of nets passing between the divided areas is reduced by moving or exchanging the cells to improve an arrangement position; and a step of passing between the divided areas Selecting a cell set in which the number of nets is reduced by moving or exchanging the cell set to improve the arrangement position, and optimizing the cell arrangement in the divided areas.

【0033】また、第2の発明は、計算機を用いて半導
体基板上に複数のセルを自動的に配置する方法に於い
て、LSIのチップ領域を裁断して複数の領域に分割
し、それぞれの領域内のセル配置改良処理を複数の計算
機を利用して同時並列に実行させる際に、マクロブロッ
ク等の位置が固定されたセルを控除して領域内の実質的
な改良対象セルを計算する工程と、領域内部で接続する
ネット及び領域外部へつながるネット数を計算する工程
と、領域内の目標とする配置評価値と現在の配置評価値
とのズレを計算する工程と、利用する計算機の性能及び
負荷状況を計算する工程とを行なってチップ領域の分割
方法を決定し、各領域内の配置改良処理時間を均一化さ
せる事を特徴としている。
According to a second aspect of the present invention, in a method of automatically arranging a plurality of cells on a semiconductor substrate by using a computer, an LSI chip area is cut and divided into a plurality of areas. A step of subtracting cells whose positions such as macroblocks are fixed and calculating a substantial improvement target cell in the area when the cell arrangement improvement processing in the area is performed simultaneously and in parallel using a plurality of computers. Calculating the number of nets connected inside the region and the number of nets connected outside the region; calculating the gap between the target placement evaluation value within the region and the current placement evaluation value; and the performance of the computer used. And a step of calculating a load condition to determine a method of dividing the chip region, and to make the arrangement improvement processing time in each region uniform.

【0034】さらに、第3の発明は、半導体集積回路の
自動レイアウトシステムにおいて、対象領域を複数個の
領域に分割し、並列にセルの配置改良を行うに際し、セ
ルの集合が配置されている状態の良さを評価し、その評
価値を基に並列処理用領域をプロセスに割り当てる事を
特徴とする。
According to a third aspect of the present invention, there is provided an automatic layout system for a semiconductor integrated circuit, wherein a target area is divided into a plurality of areas, and a cell set is arranged in parallel in improving cell arrangement. Is evaluated, and a parallel processing area is allocated to a process based on the evaluation value.

【0035】[0035]

【作用】第1の発明では、半導体基板上に複数のセルを
計算機を用いて自動的に配置する方法に於いて、配置状
態の改良手段として、単独のセル移動による改善手段と
ネットの接続関係から適当なセルグループを構成してセ
ル集合毎に移動するという改善手段の2つの手段が設け
られている。これにより、高速に改良を進めるという効
果と局所的に最適な状態から抜け出してより最適な配置
状態を大局的に発見するという効果を同時に満足させた
最適化が実現できる。
According to the first aspect of the present invention, in a method of automatically arranging a plurality of cells on a semiconductor substrate by using a computer, the means for improving the arrangement state includes a connection between the improving means by moving a single cell and a net. , An appropriate cell group is constructed, and the cell group is moved for each cell set. As a result, it is possible to realize an optimization that simultaneously satisfies the effect of advancing the improvement at a high speed and the effect of exiting the locally optimal state and finding a more optimal arrangement state globally.

【0036】また、第2の発明は、計算機を用いて半導
体基板上に複数のセルを自動的に配置する方法に於い
て、LSIのチップ領域を複数の領域に分割し、それぞ
れの領域内のセル配置改良処理を複数の計算機を利用し
て同時並列に実行させる際に、各領域内の配置改良処理
時間を均一化させる事が可能となり、チップ全体として
の配置改良時間が最も処理時間のかかる領域に律則され
て短縮化できない(並列度が上がらない)という問題が
解決される。
According to a second aspect of the present invention, in a method of automatically arranging a plurality of cells on a semiconductor substrate by using a computer, an LSI chip area is divided into a plurality of areas, and each area is divided into a plurality of areas. When the cell placement improvement processing is performed simultaneously and in parallel using a plurality of computers, the placement improvement processing time in each region can be made uniform, and the placement improvement time of the entire chip takes the longest processing time. This solves the problem that it cannot be shortened due to the rules of the area (the degree of parallelism does not increase).

【0037】これにより、領域内の配置改良処理を別々
のプロセッサによって同時並列に実行する事による高速
化が有効に実現される。また、この方法に於いては当然
ながら分割領域を決定するための見積時間(オーバヘッ
ド)か必要であるが、この見積時間は実際に領域内の配
置改良を繰り返す処理時間と比べれば非常に小く実現で
きる。従って、ひとたび不均一な負荷を割り当ててしま
った後に複数のプロセッサが待ち状態になるよりははる
かに効率的であり、並列度の低下を未然に回避できる。
As a result, high-speed processing can be effectively realized by executing the arrangement improvement processing in the area simultaneously and in parallel by different processors. In addition, this method naturally requires an estimated time (overhead) for determining a divided area, but this estimated time is very short as compared with the processing time for actually repeating the layout improvement in the area. realizable. Therefore, it is much more efficient than a case where a plurality of processors are put into a waiting state once an uneven load is assigned, and a decrease in the degree of parallelism can be avoided.

【0038】さらに、第3の発明によれば、レイアウト
処理を並列化する際、並列領域の評価値を基に各領域を
プロセッサーへ割り当てるため、プロセッサー数より並
列用領域が多い場合、各プロセッサーの処理時間が均一
化され並列効果を上げる事ができる。
Further, according to the third aspect of the present invention, when the layout processing is parallelized, each area is assigned to a processor based on the evaluation value of the parallel area. The processing time is made uniform and the parallel effect can be improved.

【0039】[0039]

【実施例】以下、本発明の一実施例について説明する。An embodiment of the present invention will be described below.

【0040】第1の発明 図1は第1の発明の概略処理手順を示すフローチャート
であり、これを実現するための詳細な処理手順は実施例
の最後に詳細処理手順step0〜step21の形で
記述してある。以下、本発明の実施例を図2,図3及び
詳細処理手順step0〜step21を利用しなが
ら、図1のフローチャートの流れに沿って説明する。
FIG. 1 is a flowchart showing a schematic processing procedure of the first invention. A detailed processing procedure for realizing this is described at the end of the embodiment in the form of detailed processing steps step0 to step21. I have. Hereinafter, an embodiment of the present invention will be described with reference to FIGS. 2 and 3 and detailed processing procedures step0 to step21 along the flow of the flowchart of FIG.

【0041】START後、まずLSIのチップ領域を
カットラインによって2分割し、分割領域を作成する。
そして、それぞれの分割領域内のセルを仮決定し、初期
の配置状態を決定する。この初期配置は例えばランダム
なセル配置を採用しても良い(S1)。
After START, first, the chip area of the LSI is divided into two by a cut line to create a divided area.
Then, cells in each divided area are provisionally determined, and an initial arrangement state is determined. This initial arrangement may employ, for example, a random cell arrangement (S1).

【0042】次に、(S1)で出来上がった初期分割に
於いて改良度を初期化し(step0)、セルの混雑し
た分割領域を選択する(step1)。次に、カットラ
インを通過するネット数を最も減少させる効果の高いセ
ルを混雑した領域内のセルから選択し(S2)、セルの
移動を実行して(S3)、改良度を累積する(step
2)。次に、以前の配置状態との比較を行って改良度が
あれば配置状態を更新する(step3)。
Next, the degree of improvement is initialized in the initial division completed in (S1) (step 0), and a congested divided area of cells is selected (step 1). Next, a cell having the highest effect of reducing the number of nets passing through the cut line is selected from the cells in the congested area (S2), the cell is moved (S3), and the improvement is accumulated (step).
2). Next, the arrangement state is compared with the previous arrangement state, and if there is a degree of improvement, the arrangement state is updated (step 3).

【0043】次に、step4〜step6の改良収束
判定条件によって、上記(S2からS3)のような単独
のセル移動による配置改善処理を収束するまで行う。こ
れによって、最大ゲインのセル選択と当該セルの移動処
理が繰り返される。(S2〜S4)。
Next, according to the improved convergence determination conditions of step 4 to step 6, the arrangement improvement processing by the single cell movement as described above (from S2 to S3) is performed until convergence. As a result, the cell selection with the maximum gain and the movement processing of the cell are repeated. (S2 to S4).

【0044】以上の様な単独のセル移動による配置改良
過程により、最も改良効果の高いセルから配置状態が改
善され急速に最適化が進む。これによって、ある局所的
な配置最適解に収束する。これは、例えば図2の様な配
置状態である。
In the above-described arrangement improvement process by moving a single cell, the arrangement state is improved from the cell having the highest improvement effect, and the optimization proceeds rapidly. As a result, it converges to a certain local arrangement optimal solution. This is an arrangement state as shown in FIG. 2, for example.

【0045】次に、この様な局所的に最適な配置状態か
ら更に配置改善を進めるために、step7〜step
14(S5〜S7)の手順に従ってダイナミックにセル
のクラスタを形成し、クラスタ単位で移動を試みる。そ
して、この当該クラスタの移動によって移動先の領域内
のセル充填率が許容範囲を越えた場合は、同様の手順s
tep15〜step21に従って動的に形成したクラ
スタと交換する。
Next, in order to further improve the layout from such a locally optimum layout, steps 7 to 7 are described.
In step 14 (S5 to S7), a cluster of cells is dynamically formed, and movement is attempted in cluster units. If the cell filling rate in the destination area exceeds the allowable range due to the movement of the cluster, the same procedure s is performed.
Replace with a dynamically formed cluster according to steps 15 to 21.

【0046】クラスタの形成方法としては、配置状態の
改善効果が高いセル(ゲインの高いセル、通常、複数個
ある)をひとたびキューに詰め込んで、これらのセルを
各クラスタの核の候補とし(step9,step1
6)、次に、このキューからクラスタの核となる候補セ
ルを一つ選び出して(step10,step17)、
当該セルにネット接続するセルを連鎖的に手繰り寄せ、
ゲインの高い順にソートされた状態のリストに追加する
事によってクラスタ(セル集合)を作成する(step
11,step13,step18,step20)。
As a method of forming a cluster, cells having a high effect of improving the arrangement state (cells having a high gain, usually a plurality of cells) are once packed in a queue, and these cells are set as kernel candidate candidates for each cluster (step 9). , Step1
6) Next, one candidate cell serving as a core of the cluster is selected from this queue (step 10 and step 17), and
The cells connected to the cell are connected in a chain,
Create a cluster (cell set) by adding it to the list of states sorted in descending order of gain (step
11, step 13, step 18, step 20).

【0047】これにより、ある配置状態からネットの接
続関係で決定されるゲイン最大のクラスタが動的に抽出
できる。また、このクラスタの作成に於いては、分割さ
れた各領域内のセル充填率のバランスがクラスタの移動
/交換によって崩れないようにクラスタのサイズを調整
する(step12,step19)。
As a result, a cluster having the maximum gain determined by the net connection relation can be dynamically extracted from a certain arrangement state. In creating the cluster, the size of the cluster is adjusted so that the balance of the cell filling rate in each of the divided areas is not broken by the movement / exchange of the cluster (steps 12 and 19).

【0048】以上のような処理手順によって、例えば図
2の様な配置状態から、セルJ,I,L,Kで構成され
たセル集合を一纏めにして反対側の領域に移動した場合
の評価、及び、セルO,M,P,Nで構成されるセル集
合と交換した場合の評価等が行える。従って、ひとたび
図2の様な局所的に最適な配置解に陥っても、そこから
脱出して更に最適化を進める事ができ、この例の場合で
は結果的に図3の様な大局的な最適配置状態へと改良が
進む事になる。
According to the above-described processing procedure, for example, when the cell set composed of the cells J, I, L, and K is collectively moved from the arrangement state as shown in FIG. In addition, it is possible to evaluate the case where the cell set is replaced with a cell set composed of cells O, M, P, and N. Therefore, even if a local optimal solution as shown in FIG. 2 is found, it is possible to escape from it and further optimize it, and in this case, as a result, a global solution as shown in FIG. The improvement will proceed to the optimal arrangement state.

【0049】次に、上記処理手順によるゲイン最大のク
ラスタの生成(S5)、及びクラスタ化されたセル集合
毎の移動(S6)による改良が成功したか否かを判定す
る(S7)。改良に成功した場合は(S2)に戻って、
単独のセル移動による改良処理から上記クラスタ単位の
改良処理までを手順通りに繰り返す。失敗した場合は配
置最適化処理を止める。
Next, it is determined whether or not the improvement by the generation of the cluster having the largest gain by the above processing procedure (S5) and the movement of each clustered cell set (S6) has been successful (S7). If the improvement is successful, return to (S2),
The process from the improvement process by a single cell movement to the improvement process in cluster units is repeated according to the procedure. If unsuccessful, stop the placement optimization process.

【0050】以上の様にして、本実施例ではある配置状
態から動的にクラスタ化したセル集合の移動を他のセル
の配置位置が変わらない状況下で評価する手段と単独の
セル移動による改良評価手段を使い分けて配置改良を進
める。これにより、高速に改良を進めるという効果と局
所的に最適な状態から抜け出して、より最適な配置状態
を大局的に発見するという効果を同時に満足させた最適
化が実現できる。
As described above, in this embodiment, the means for evaluating the movement of a dynamically clustered cell set from a certain arrangement state in a situation where the arrangement positions of other cells do not change and the improvement by single cell movement Use different evaluation methods to improve the layout. As a result, it is possible to realize an optimization that simultaneously satisfies the effect of advancing the improvement at a high speed and the effect of breaking out of a locally optimal state and finding a more optimal arrangement state globally.

【0051】尚、本発明は上記した一実施例に限られる
ものではなく、その趣旨を逸脱しない範囲で変形して実
施することができる。
It should be noted that the present invention is not limited to the above-described embodiment, but can be modified and implemented without departing from the spirit thereof.

【0052】詳細処理手順 step0:登録されている配置状態のカット数減少累
積値Gを0とする。 step1:セルの混雑している領域Rを選択する。 step2:Rの領域内から移動によって最もカット数
が減少するセルをカットラインの反対側へ移動して仮の
配置状態を作成し、カット数の減少値を累積Gする。 step3:累積値Gが現在までのGの値の最大値以上
であれば登録されている配置状態を更新する。
Detailed processing procedure step 0: The cut number reduction cumulative value G of the registered arrangement state is set to 0. Step 1: A congested region R of a cell is selected. Step 2: A cell in which the number of cuts is reduced by movement from the region of R is moved to the opposite side of the cut line to create a temporary arrangement state, and the reduced value of the number of cuts is accumulated G. Step 3: If the cumulative value G is equal to or larger than the maximum value of G up to the present, the registered arrangement state is updated.

【0053】step4:全てのセルが移動済みか累積
下限値を下回るまでstep1〜step3を繰り返
す。 step5:累積値Gの最大値が正であればstep0
へ。 step6:累積値Gの最大値が0で移動セルがあり、
セルの混雑している領域内の全てのセルの中にゲイン正
のセルがあればstep0へ。
Step 4: Steps 1 to 3 are repeated until all cells have been moved or fall below the cumulative lower limit. step5: if the maximum value of the cumulative value G is positive, step0
What. Step 6: The maximum value of the accumulated value G is 0 and there is a moving cell,
If there is a cell having a positive gain among all cells in the congested area of the cell, go to step0.

【0054】step7:登録されている配置状態のカ
ット数減少累積値Tを0とする。 step8:セルの混雑している領域Rを選択する。 step9:Rの領域内から移動によって最もカット数
が減少するセルをセルQUEQに挿入する。 step10:セルQUEQから一つセルを取り出しゲ
インソーテッドリストLを初期化する。QがNULLな
らEND。
Step 7: The cut number reduction cumulative value T of the registered arrangement state is set to 0. Step 8: Select a congested region R of cells. Step 9: The cell in which the number of cuts is reduced most by the movement from within the region R is inserted into the cell QUEQ. Step 10: One cell is taken out of the cell QUEQ and the gain sorted list L is initialized. If Q is NULL, END.

【0055】step11:ゲインソーテッドリストL
から一つセルCを取り出しカットラインの反対側へ移動
して仮の配置状態を作成し、カット数の減少値を累積T
する。 step12:セル総面積限界値を越えたらstep1
0へ。 step13:累積値Tが正でなければセルCにつなが
る同領域内の新規セルをLに追加し、step11へ。 step14:セル充填率の差が許容範囲以下であれば
配置状態の登録を更新してstep10へ。
Step 11: Gain sorted list L
One cell C is taken out from the table and moved to the opposite side of the cut line to create a provisional arrangement state, and the reduced value of the number of cuts is accumulated T
I do. Step 12: If the total cell area limit value is exceeded, step 1
To 0. Step 13: If the accumulated value T is not positive, add a new cell in the same area connected to the cell C to L, and go to step 11. Step 14: If the difference between the cell filling rates is equal to or smaller than the allowable range, the registration of the arrangement state is updated, and the process proceeds to step 10.

【0056】step15:セルの混雑している領域R
を選択する。 step16:Rの領域内から移動によって最もカット
数が減少するセルをセルQUEUに挿入する。 step17:セルQUEUから一つセルを取り出しゲ
インソーテッドリストLを初期化する。UがNULLな
らstep10へ。
Step 15: Cell Congested Area R
Select Step 16: The cell whose cut number is reduced most by the movement from the area of R is inserted into the cell QUEU. Step 17: One cell is taken out of the cell QUEU and the gain sorted list L is initialized. If U is NULL, go to step 10.

【0057】step18:ゲインソーテッドリストL
から一つセルを取り出しカットラインの反対側へ移動し
て仮の配置状態を作成し、カット数の減少値を累積Tす
る。 step19:セル総面積限界値を越えたらstep1
7へ。 step20:累積値Tが正でなければセルCにつなが
る同領域内の新規セルをLに追加しstep18へ。 step21:step14へ。
Step 18: Gain sorted list L
One cell is taken out from the cell and moved to the opposite side of the cut line to create a temporary arrangement state, and the decrease value of the number of cuts is accumulated T. Step 19: If the total cell area limit value is exceeded, step 1
Go to 7. Step 20: If the accumulated value T is not positive, add a new cell in the same area connected to the cell C to L and go to step 18. Step 21: Go to step 14.

【0058】第2の発明 図5は、分割されたチップ上の領域をそれぞれ受け持つ
各プロセッサ間の関係を示した概略構成図であり、Pが
記入された4つの矩形は、チップ上の分割された各領域
に割り当てられたそれぞれのプロセッサを示している。
各プロセッサは、基本的な演算装置と記憶装置を持ち、
太線で示された様にコントロール側のプロセッサと通信
チャネルにより結合されている。配置データの授受及び
全体制御は、これらの通信手段を介して行われ、各プロ
セッサは同時並列に動作する。
Second Embodiment FIG. 5 is a schematic diagram showing the relationship between the processors respectively responsible for the divided areas on the chip. The four rectangles with P are divided on the chip. Each processor allocated to each area is shown.
Each processor has basic computing and storage devices,
As shown by the bold line, it is connected to the processor on the control side by a communication channel. The transfer of the arrangement data and the overall control are performed via these communication means, and the respective processors operate simultaneously and in parallel.

【0059】図6は、本発明の実施例を説明するための
チップ領域上の領域分割例を示す概略図であり、点線で
分割された4つの領域はそれぞれ別々の計算機により同
時並列に配置改良処理を施すため単位領域に対応してい
る。この例では図13の様に単純にチップを4分割して
処理すると各領域内の実効改良対象セル数が異なる為、
各領域内の配置改良に要する処理時間が著しく異なる事
になる。
FIG. 6 is a schematic diagram showing an example of area division on a chip area for explaining an embodiment of the present invention. Four areas divided by dotted lines are simultaneously arranged in parallel by separate computers for improvement. It corresponds to a unit area for processing. In this example, if the chip is simply divided into four and processed as shown in FIG. 13, the number of cells to be effectively improved in each area is different.
The processing time required for improving the arrangement in each area is significantly different.

【0060】チップ全体の配置改良処理時間は分割され
た各領域内の配置改良処理時間の最大値で決まってしま
うのでこの様な単純な分割では並列度が上がらない。と
ころが実施例の図6のように分割領域を調整してやれ
ば、各領域内の配置改良処理時間が均一化されて揃い、
チップ全体の配置改良処理時間が短縮化される。
Since the layout improvement processing time of the entire chip is determined by the maximum value of the layout improvement processing time in each of the divided areas, the degree of parallelism does not increase by such a simple division. However, if the divided areas are adjusted as shown in FIG. 6 of the embodiment, the arrangement improvement processing time in each area is made uniform and uniform.
The processing time for improving the arrangement of the entire chip is shortened.

【0061】図4は、図6のような領域分割実現する為
の処理手順を示す本発明ののフローチャートであり、こ
の様な手順を踏めば利用できるプロセッサを有効に活用
したレイアウト処理の高速化が実現できる。以下、第2
の発明の並列配置処理方法を図4のフローチャートの流
れに沿って説明する。
FIG. 4 is a flow chart of the present invention showing a processing procedure for realizing the area division as shown in FIG. 6. According to such a procedure, the speed of the layout processing can be increased by effectively utilizing the available processor. Can be realized. The second
The parallel arrangement processing method according to the present invention will be described with reference to the flow chart of FIG.

【0062】スタート後、まずLSIチップ領域をカッ
トラインで裁断して複数の矩形領域に仮分割する(S1
1)。これによって、チップ上は例えば図6の点線で示
されたように縦方向に2つ、横方向に2つに分割され、
合計4つの分割領域が構成される。
After the start, first, the LSI chip area is cut along a cut line and temporarily divided into a plurality of rectangular areas (S1).
1). Thereby, the chip is divided into two in the vertical direction and two in the horizontal direction, for example, as shown by a dotted line in FIG.
A total of four divided areas are configured.

【0063】次に、(S11)で出来上がった各分割領
域内に於いてマクロブロック等の位置が固定されたセル
を控除して領域内の実質的な改良対象セル数を計算し、
ECとする(S12)。次に、仮分割で出来上がった各
分割領域内に於いて領域内部で接続するネット及び領域
外部へつながるネット数を計算し、それぞれIN,とす
る(S13)。次に、仮分割で出来上がった各分割領域
内に於いて領域内の目標とする配置評価値と現在の配置
評価値とのズレを計算し、DFとする(S14)。次
に、利用する計算機の性能及び現在の稼動(負荷)状況
を計算し、PW,LDとする(S15)。
Next, in each divided area completed in (S11), the number of cells to be substantially improved in the area is calculated by subtracting cells in which the positions of macroblocks and the like are fixed.
EC (S12). Next, the number of nets connected inside the area and the number of nets connected to the outside of the area in each divided area formed by the temporary division are calculated, and are set as IN, respectively (S13). Next, in each divided area formed by the temporary division, a deviation between a target arrangement evaluation value in the area and a current arrangement evaluation value is calculated, and is set as a DF (S14). Next, the performance of the computer to be used and the current operation (load) status are calculated and set as PW and LD (S15).

【0064】次に、(S12)〜(S15)によって求
めた値から、例えば次の計算式により負荷見積値Eを計
算して、この見積値が等しくなるように領域分割の修正
を繰り返し、各プロセッサへの割り付け領域を決定する
(S16)。尚、計算式に於けるa〜dは各項目の重み
係数である。これによって、LSIチップ上は例えば図
6の点線で示されたように分割領域が修正され、新たな
4つの分割か領域が決定される。
Next, from the values obtained in (S12) to (S15), a load estimation value E is calculated by, for example, the following formula, and correction of the area division is repeated so that the estimation values become equal. The area allocated to the processor is determined (S16). Note that a to d in the calculation formulas are weighting factors for each item. As a result, the divided area on the LSI chip is corrected, for example, as shown by a dotted line in FIG. 6, and four new divided areas are determined.

【0065】[0065]

【数1】 (S16)によってひとたび領域分割が決定した後は、
それらの各領域それぞれに対して別々の計算機(プロセ
ッサ)を割り付けて各領域内の配置改良処理を同時並列
に実行する(S17)。ここでは、各プロセッサは自分
の担当する部分領域内についてのみ配置改良を繰り返す
ため、チップ全面の配置処理に比べて高速に配置改良を
図る事ができる。最後に、各プロセッサによる各領域内
の配置改良結果を回収してチップ全体の配置結果を合成
し。終了する。
(Equation 1) Once the area division is determined by (S16),
A different computer (processor) is assigned to each of these areas, and the arrangement improvement processing in each area is executed simultaneously and in parallel (S17). Here, since each processor repeats the placement improvement only in the partial area in which it is assigned, it is possible to improve the placement at a higher speed than the placement processing of the entire chip. Finally, the result of the placement improvement in each area by each processor is collected, and the placement result of the entire chip is synthesized. finish.

【0066】第2の発明では、以上の様にして分割領域
毎の配置改良を並列化し、チップ全面の配置最適化を高
速に行う。尚、本発明は上記した一実施例に限られるも
のではなく、その趣旨を逸脱しない範囲で種々変形して
実施することができる。
In the second invention, as described above, the layout improvement for each divided area is parallelized, and the layout optimization of the entire chip is performed at high speed. Note that the present invention is not limited to the above-described embodiment, and can be implemented with various modifications without departing from the spirit of the present invention.

【0067】第3の発明 以下で、図7〜11を用い、第3の発明の具体的な実施
例について説明する。本実施例においては、ゲートアレ
イのレイアウト対象領域において初期配置が与えられて
いる時において、並列領域を複数設定しプロセッサーに
割当て、並列に配置改良処理を行い、セルの配置位置を
決定する場合について説明する。ここでは、子プロセッ
サー数が5、並列用領域数が9の場合を考える。
Third Embodiment A specific embodiment of the third invention will be described below with reference to FIGS. In the present embodiment, when an initial arrangement is given in a layout target area of a gate array, a plurality of parallel areas are set and assigned to a processor, an arrangement improvement process is performed in parallel, and a cell arrangement position is determined. explain. Here, a case where the number of child processors is 5 and the number of parallel areas is 9 is considered.

【0068】図7は本実施例に於ける処理フローを示す
図である。まず、図8で示すように与えられたレイアウ
ト対象領域1に対して並列用領域2〜10を設定する。
次に図9に示すように各並列用領域2〜10ごとに、与
えられた配置状態を基に現時点での評価値を求める。こ
こでは、現在の配置結果をもとにセル同士の重なり、カ
ット数、ピン分散値を総合した値(括弧内に示した数
字)を各並列領域2〜10毎に求める。
FIG. 7 is a diagram showing a processing flow in this embodiment. First, as shown in FIG. 8, parallel areas 2 to 10 are set for a given layout target area 1.
Next, as shown in FIG. 9, an evaluation value at the present time is obtained for each of the parallel areas 2 to 10 based on the given arrangement state. Here, based on the current arrangement result, a value obtained by integrating the cells, the number of cuts, and the pin dispersion value (the number shown in parentheses) is obtained for each of the parallel regions 2 to 10.

【0069】図10のように、当該評価値の悪い順に並
列用領域6,9,3,5,4を各プロセッサー20〜2
4に割当て並列に配置改良処理を行う。各プロセッサー
20〜24は各領域内での収束判定を当該評価値に基づ
き行い、収束が認められると領域内の配置改良を終了す
る。この場合、プロセッサー20〜24に領域を割り当
てる時に使用する評価値と当該領域の収束判定に使用す
る評価値は同一であるから、処理前の評価値の悪いもの
ほど処理に時間を要すると考えられる。
As shown in FIG. 10, the parallel areas 6, 9, 3, 5, and 4 are assigned to the processors 20 to 2 in ascending order of the evaluation value.
4 and perform arrangement improvement processing in parallel. Each of the processors 20 to 24 determines the convergence in each area based on the evaluation value, and ends the improvement of the arrangement in the area when convergence is recognized. In this case, since the evaluation value used when allocating an area to the processors 20 to 24 is the same as the evaluation value used for determining the convergence of the area, it is considered that processing with a lower evaluation value before processing requires more time. .

【0070】プロセッサー20〜24は領域の配置改良
を終了すると、そのつど未処理の領域の中から評価値の
悪い7,10,8,2の順に次に処理する領域を割り当
てられ、当該領域の配置改良処理が収束するまで行う。
全ての並列用領域2〜10の配置改良が終了し、未処理
の領域が無くなるまで前記処理を繰り返す。
When the processors 20 to 24 complete the improvement of the area arrangement, the areas to be processed next are assigned in the order of 7, 10, 8, and 2 having the lowest evaluation value from the unprocessed areas each time. The processing is performed until the arrangement improvement processing converges.
The above processing is repeated until the layout improvement of all the parallel areas 2 to 10 is completed and there is no unprocessed area.

【0071】図11に従来例として、領域番号に従いチ
ップの左下から順に領域の割当を行う場合のプロセッサ
ー毎の処理時間及び割り当てられた領域の関係を示す。
この場合、評価値を考慮していないため、一つの領域の
処理を終えたプロセッサーに直ちに別の未処理の領域の
処理を行わせるようにして並列度の向上を図っている。
FIG. 11 shows, as a conventional example, the relationship between the processing time of each processor and the allocated area when the areas are allocated in order from the lower left of the chip according to the area number.
In this case, since the evaluation value is not taken into account, the processor that has completed processing of one area is immediately made to process another unprocessed area, thereby improving the degree of parallelism.

【0072】しかしながら、他のプロセッサーは処理が
終了し、一つのプロセッサーだけに処理の負荷がかかる
事があるため、並列度が落ちてしまう。これに対し、図
10に示すように、本実施例では処理が速く終了したプ
ロセッサーに評価値の悪い方から、即ち処理時間がより
かかると予想される領域から割り当てる為、各プロセッ
サーにより均一に負荷がかかり並列度向上につながる。
However, the processing of other processors ends, and the processing load may be applied to only one processor, so that the degree of parallelism decreases. On the other hand, as shown in FIG. 10, in the present embodiment, since the processor that has completed the processing quickly is allocated from the one with the worse evaluation value, that is, from the area where the processing time is expected to take longer, the load is uniformly applied to each processor. To increase the degree of parallelism.

【0073】[0073]

【発明の効果】以上述べた様に、第1の発明によれば、
半導体集積回路のレイアウト設計に於いてセルの配置位
置を計算機を用いて自動的に決定する際に、まず単独の
セル移動や交換で改善が図れる場合には先にこれらのセ
ルの配置改善を行って急速に最適な配置状態に近づける
事ができる。また、この様な配置改善方法が収束した後
には、ネットの接続関係からダイナミックに構成したグ
ループ毎の移動或いは交換による大局的な配置改善が行
える。この様に、配置状態の性質によって改良のレベル
を動的に変更すれば、局所最適解から脱出しながら高速
に最適化を進める事ができる。
As described above, according to the first aspect,
When automatically deciding the cell placement position using a computer in the layout design of a semiconductor integrated circuit, if the improvement can be achieved by moving or exchanging a single cell first, improve the arrangement of these cells first. To quickly reach the optimal arrangement. Also, after such an arrangement improvement method has converged, global arrangement improvement can be performed by moving or exchanging each group dynamically configured from the connection relation of the nets. As described above, if the level of improvement is dynamically changed according to the nature of the arrangement state, optimization can be performed at high speed while escaping from the local optimum solution.

【0074】また、第2の発明によれば、計算機を用い
てセルの配置位置を決定する自動配置処理に於いて、L
SIチップ上の分割領域数と利用可能なプロセッサ数と
の間に大差がない場合であってもロスの少ない並列化を
実現する事ができ、プロセッサを有効に利用して配置改
良処理を高速化する事が可能となる。
According to the second aspect of the present invention, in the automatic placement processing for determining the placement location of a cell using a computer, L
Even if there is no large difference between the number of divided regions on the SI chip and the number of available processors, parallelization with little loss can be realized, and the processor is effectively used to speed up the layout improvement processing. It is possible to do.

【0075】さらに、第3の発明によれば、レイアウト
処理を並列化する際、並列領域の評価値を基に各領域を
プロセッサーへ割り当てるため、プロセッサー数より並
列用領域が多い場合、各プロセッサーの処理時間が均一
化され並列効果を上げる事がてできる。
Further, according to the third aspect of the present invention, when the layout processing is parallelized, each area is assigned to a processor based on the evaluation value of the parallel area. The processing time is made uniform and the parallel effect can be improved.

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

【図1】第1の発明の一実施例の処理手順を示すフロー
チャート。
FIG. 1 is a flowchart showing a processing procedure according to an embodiment of the first invention.

【図2】第1の発明に対する従来技術の問題点を説明す
るための概略図。
FIG. 2 is a schematic diagram for explaining a problem of the related art with respect to the first invention.

【図3】第1の発明の一実施例を説明するための概略
図。
FIG. 3 is a schematic view for explaining one embodiment of the first invention.

【図4】第2の発明における一実施例の処理手順を示す
フローチャート。
FIG. 4 is a flowchart showing a processing procedure according to an embodiment of the second invention.

【図5】第2の発明における各プロセッサ間の関係を示
した概略構成図。
FIG. 5 is a schematic configuration diagram showing a relationship between processors in the second invention.

【図6】第2の発明における発明の実施例を説明する為
の図。
FIG. 6 is a view for explaining an embodiment of the invention in the second invention.

【図7】第3の発明における一実施例に係わる配置処理
手順を表わすフローチャート。
FIG. 7 is a flowchart showing an arrangement processing procedure according to an embodiment of the third invention.

【図8】第3の発明における一実施例の並列用領域を示
す図。
FIG. 8 is a diagram showing a parallel area according to an embodiment of the third invention;

【図9】第3の発明における一実施例の並列用領域毎の
評価値を示す図。
FIG. 9 is a diagram showing an evaluation value for each parallel region according to one embodiment of the third invention;

【図10】第3の発明における一実施例のプロセッサー
毎の処理時間及び割り当てられた領域の関係を示す図。
FIG. 10 is a diagram showing a relationship between a processing time for each processor and an allocated area according to an embodiment of the third invention.

【図11】第3の発明に対する従来のプロセッサー毎の
処理時間及び割り当てられた領域の関係を示す図。
FIG. 11 is a diagram showing a relationship between a processing time and an assigned area of each conventional processor according to the third invention.

【図12】第1及び第2の発明に対する従来技術の問題
点を説明するための概略図。
FIG. 12 is a schematic diagram for explaining a problem of the related art with respect to the first and second inventions.

【図13】第1及び第2の発明に対する従来の半導体集
積回路のチップ概略構成を示す図。
FIG. 13 is a diagram showing a schematic configuration of a chip of a conventional semiconductor integrated circuit for the first and second inventions.

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

A〜X セル 1 レイアウト対象領域 2〜10 並列用に設定した領域 20〜24 プロセッサー A to X cell 1 layout target area 2 to 10 area set for parallel use 20 to 24 processor

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

Claims (7)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 半導体集積回路のレイアウト設計に於い
て、セルの配置位置を計算機を用いて自動的に決定する
際に、LSIのチップ領域を分割して複数の領域を構成
する工程と、分割された領域間を通過するネット数が当
該セルの移動或いは交換によって減少するセルを選択し
て配置位置を改善する工程と、分割された領域間を通過
するネット数が当該セル集合の移動或いは交換によって
減少するセル集合を選択して配置位置を改善する工程と
を含み、分割された領域へのセル配置を最適化する事を
特徴とする論理セルの並列配置処理方法。
In a layout design of a semiconductor integrated circuit, when automatically determining a cell arrangement position by using a computer, a step of dividing a chip area of an LSI to form a plurality of areas, Selecting a cell in which the number of nets passing between the divided areas is reduced by moving or exchanging the cell and improving the arrangement position; and moving or exchanging the cell set by the number of nets passing between the divided areas. Selecting a cell set reduced by the above and improving the arrangement position, and optimizing the cell arrangement in the divided areas.
【請求項2】 前記セルを選択する工程は、分割された
領域間を通過するネット数が当該セルの移動或いは交換
によって最も減少するセルを選択して配置位置を改善す
る事を特徴とする請求項1記載の論理セルの並列配置処
理方法。
2. The method according to claim 1, wherein in the step of selecting a cell, a cell in which the number of nets passing between the divided areas is minimized by moving or exchanging the cell is selected to improve an arrangement position. Item 6. A method for processing parallel arrangement of logic cells according to Item 1.
【請求項3】 前記セル集合を選択する工程は、分割さ
れた領域間を通過するネット数が当該セル集合の移動或
いは交換によって最も減少するセル集合を選択して配置
位置を改善する事を特徴とする請求項1記載の論理セル
の並列配置処理方法。
3. The step of selecting a cell set is characterized by selecting a cell set in which the number of nets passing between the divided areas is the smallest by moving or exchanging the cell set and improving the arrangement position. 2. The parallel arrangement processing method for logic cells according to claim 1, wherein
【請求項4】 移動或いは交換を施す前記セル集合を発
見する際に、セルを選択する工程で選択されたセルから
ネットで接続しているセルを連鎖的に手操る事によって
セル集合を決定する事を特徴とする請求項1あるいは2
記載の論理セルの並列配置処理方法。
4. When finding the cell set to be moved or exchanged, the cell set is determined by chain-operating the cells connected to the net from the cell selected in the cell selecting step. 3. The method according to claim 1, wherein
A parallel processing method for arranging logic cells according to the above description.
【請求項5】 半導体集積回路のレイアウト設計に於い
て、セルの配置位置を計算機を用いて自動的に決定する
際に、LSIのチップ領域を分割して複数の領域を構成
する工程と、分割された領域間を通過するネット数が当
該セルの移動或いは交換によって減少するセルを選択し
て配置位置を改善する工程と、この工程の後に分割され
た領域間を通過するネット数が当該セル集合の移動或い
は交換によって減少するセル集合を選択して配置位置を
改善する工程とを含み、分割された領域へのセル配置を
最適化する事を特徴とする論理セルの並列配置処理方
法。
5. A step of dividing a chip area of an LSI to form a plurality of areas when automatically determining a cell arrangement position using a computer in a layout design of a semiconductor integrated circuit. Selecting a cell in which the number of nets passing between the divided areas is reduced by moving or exchanging the cell to improve the arrangement position; and, after this step, the number of nets passing between the divided areas is determined by the cell set. Selecting a cell set that is reduced by movement or replacement of the cell and improving the arrangement position, and optimizing the cell arrangement in the divided areas.
【請求項6】 計算機を用いて半導体基板上に複数のセ
ルを自動的に配置する方法に於いて、LSIのチップ領
域を裁断して複数の領域に分割し、それぞれの領域内の
セル配置改良処理を複数の計算機を利用して同時並列に
実行させる際に、前記分割領域内においてマクロブロッ
ク等の位置が固定されたセルを控除して領域内の実質的
な改良対象セルを計算する工程と、前記分割領域内部で
接続するネット及び分割領域外部へつながるネット数を
計算する工程と、前記分割領域内の目標とする配置評価
値と現在の配置評価値とのズレを計算する工程と、利用
する計算機の性能及び負荷状況を計算する工程とを行な
ってチップ領域の分割方法を決定し、前記各分割領域内
の配置改良処理時間を均一化させる事を特徴とする論理
セルの並列配置処理方法。
6. A method of automatically arranging a plurality of cells on a semiconductor substrate using a computer, wherein the chip area of the LSI is cut and divided into a plurality of areas, and the cell arrangement in each area is improved. When performing the processing simultaneously and in parallel using a plurality of computers, a step of calculating a substantial improvement target cell in the area by subtracting a fixed cell position such as a macroblock in the divided area. , calculates the displacement of calculating a number of nets connected to the network and the divided regions outside the placement evaluation value and the current placement evaluation value as a target of the divided region to <br/> connected inside the divided region Performing a step and a step of calculating the performance and load state of a computer to be used to determine a method of dividing a chip region, and uniforming the placement improvement processing time in each of the divided regions. Logic cells in parallel End processing method.
【請求項7】 半導体集積回路の自動レイアウトシステ
ムにおいて、対象領域を複数個の領域に分割し、並列に
セルの配置改良を行うに際し、前記各領域のセルの集合
が配置されている状態に基づいて評価値を算出し、その
評価値を基に並列処理用領域をプロセッサーに割り当て
る事を特徴とする論理セルの並列配置処理方法。
7. In an automatic layout system for a semiconductor integrated circuit, a target area is divided into a plurality of areas, and a cell set of each area is used for improving cell arrangement in parallel.
Calculating an evaluation value based on the state in which the logic cells are arranged, and allocating a parallel processing area to the processor based on the evaluation value .
JP07393093A 1993-03-31 1993-03-31 Logic cell parallel arrangement processing method Expired - Fee Related JP3215215B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP07393093A JP3215215B2 (en) 1993-03-31 1993-03-31 Logic cell parallel arrangement processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP07393093A JP3215215B2 (en) 1993-03-31 1993-03-31 Logic cell parallel arrangement processing method

Publications (2)

Publication Number Publication Date
JPH06291186A JPH06291186A (en) 1994-10-18
JP3215215B2 true JP3215215B2 (en) 2001-10-02

Family

ID=13532346

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07393093A Expired - Fee Related JP3215215B2 (en) 1993-03-31 1993-03-31 Logic cell parallel arrangement processing method

Country Status (1)

Country Link
JP (1) JP3215215B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19910876C2 (en) * 1999-03-11 2003-07-17 Fraunhofer Ges Forschung Process for producing a weather-resistant coating
JP2001024153A (en) 1999-07-06 2001-01-26 Mitsubishi Electric Corp Method for cell layout in integrated circuit device
JP4713962B2 (en) 2005-06-27 2011-06-29 株式会社東芝 Pattern creating method and semiconductor device manufacturing method

Also Published As

Publication number Publication date
JPH06291186A (en) 1994-10-18

Similar Documents

Publication Publication Date Title
US5224057A (en) Arrangement method for logic cells in semiconductor IC device
Burstein et al. Timing influenced layout design
Donath et al. Timing driven placement using complete path delays
US6480991B1 (en) Timing-driven global placement based on geometry-aware timing budgets
WO2021253684A1 (en) Overall wiring method based on topology optimization and heuristic search
JP2001022816A (en) Layout method for semiconductor integrated circuit device
US10901922B2 (en) Arbitrating requests for access to a computer resource by ordered requestors
CN106682306B (en) Rapid FPGA wiring method
GB2567027A (en) Common priority information for multiple resource arbitration
CN111709205A (en) FPGA wiring method
CN115983187A (en) Multi-strategy-based layer distribution method considering bus deviation
US20050151258A1 (en) Method for reducing wiring congestion in a VLSI chip design
Hu et al. Congestion minimization during placement without estimation
JP3215215B2 (en) Logic cell parallel arrangement processing method
Monemi et al. PIugSMART: A pluggable open-source module to implement multihop bypass in networks-on-chip
Zhu et al. Minideviation: an efficient multi-stage bus-aware global router
CN113919272A (en) FPGA wiring method for improving wiring efficiency by utilizing vacant logic resources
Dong et al. Delay-driven and antenna-aware layer assignment in global routing under multitier interconnect structure
JPH0567178A (en) Automatic wiring processing method
JP3433025B2 (en) Module placement method
US6725437B1 (en) Performance groups-based fast simulated annealing for improving speed and quality of VLSI circuit placement
Fukase et al. The performance evaluation of link-sharing method of buffer in noc router
CN114070748B (en) Multi-objective optimization-based operation and maintenance service scheduling method and related equipment
JPH0423347A (en) Semiconductor integrated circuit and disposing and wiring method thereof
Farkish et al. Parallelizing the FPGA global routing algorithm on multi-core systems without quality degradation

Legal Events

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

Free format text: PAYMENT UNTIL: 20080727

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090727

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090727

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100727

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110727

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120727

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees