JP2941520B2 - 配置処理装置 - Google Patents

配置処理装置

Info

Publication number
JP2941520B2
JP2941520B2 JP3278239A JP27823991A JP2941520B2 JP 2941520 B2 JP2941520 B2 JP 2941520B2 JP 3278239 A JP3278239 A JP 3278239A JP 27823991 A JP27823991 A JP 27823991A JP 2941520 B2 JP2941520 B2 JP 2941520B2
Authority
JP
Japan
Prior art keywords
processor
arrangement
circuit element
processing
processors
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
JP3278239A
Other languages
English (en)
Other versions
JPH056410A (ja
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 JP3278239A priority Critical patent/JP2941520B2/ja
Publication of JPH056410A publication Critical patent/JPH056410A/ja
Application granted granted Critical
Publication of JP2941520B2 publication Critical patent/JP2941520B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、半導体集積回路、プリ
ント基板等においてセル或いは回路ブロック等の回路要
素を自動的に配置する配置処理装置に関し、特に、複数
のプロセッサを備えて高速に処理でき、且つ誤差の少な
い配置処理装置に関する。
【0002】
【従来の技術】半導体集積回路は、所望の回路動作が得
られるように、論理機能や記憶機能を有するセル或いは
回路ブロック(以下セルと略記する)がチップ内に配置
され、その入出力端子間がそれぞれ配線されて構成され
ている。近年の半導体集積回路の大規模化は、その回路
設計における配置、配線等の自動レイアウトに必要な計
算機処理時間を飛躍的に増大させ、今後ともますます増
大の方向にある。レイアウトの中でも、特に自動配置処
理に要する時間の増大が著しい。
【0003】この様な状況に対処する1つの方法とし
て、複数のプロセッサで同時並列的に自動配置処理を行
なう並列処理が考えられる。この並列処理の幾つかの手
法とその問題点が、次の文献[1]にまとめられてい
る。
【0004】[1]M. D. Durand; "Parallel Simulate
d Annealing: Accuracy vs. Speed inPlacement", IEEE
Design and Test of Computers, pp.8-34, June 1989. 一般に、自動配置処理では、先ず初期配置フェーズで配
置の初期状態が決定され、その後の逐次配置改善フェー
ズにより、最終的な配置レイアウトが決定される。
【0005】以下、各フェーズの処理及び問題点を具体
例を示して説明する。
【0006】先ず、初期配置フェーズの処理対象となる
具体例として、図17に示すような、一般的なゲートア
レイ方式による半導体集積回路チップを考える。同図
は、その概略構成図を示したもので、チップ上には、セ
ルが配置された領域61、セル間の配線が施される領域
62、及び周辺に設けられた入出力回路の配置される領
域63が構成されている。また、配線には複数の配線層
が利用でき、水平・垂直方向の配線にそれぞれ別の層が
割り当てられるのが一般的である。
【0007】この様な半導体集積回路において、計算機
を用いた自動処理により配置レイアウトを決定する時に
は、例えば、仮想配線長を最小化し、配線混雑度を均一
化するといったことが目的となる。初期配置フェーズに
おいては、様々な手法が考えられるが、最もシンプルな
方法として、あるセルの位置を決め、そのセルと接続性
の強いものを順次そのセルの周りに配置していくという
方法がある。この方法では、既に配置されているセル集
合とまだ配置されていないセルとの接続関係により、次
に配置すべきセルの位置を決定する為、既配置セル集合
との接続関係は正確に反映できるが、未配置セル同士の
接続関係は正確には考慮されていない。この為、最終的
な結果としては、グローバルな最適化が図れない、ま
た、セル数の増大により処理時間が膨大になるという問
題があった。
【0008】前者の問題点を図6及び図7を用いてより
具体的に説明する。
【0009】図6は前記方法によって、所謂クラスタリ
ング処理が進んでいる途中段階である。符号の付加され
た○印B1〜B8はセルであり、実線は各セル間の配線
要求を示すものとする。また、波線で囲まれた領域A1
及びA2内のセルは既にチップ上でのセルの配置位置が
決まり、配置処理が確定済みとする。
【0010】この様な状況の下で、次の配置候補として
考えられるセルを既配置集合の中に配置する時には、ど
のセルを選んでも破線をカットする接続配線要求が1本
以上増加するという状態になる。従って、前記方法で
は、セルB6が選択されれば破線で囲まれた2つの領域
A1及びA2のどちらに配置されるかは不定となり、1
/2の確率でそれぞれの領域に配置されることになる。
この時、セルB1の所属する領域A1の方に配置されれ
ば、図7のような配置を得ることが可能であり、この例
の場合は、この図7が最適な配置結果であるので、グロ
ーバルに見て明らかに不適当な配置結果になってしまう
可能性がある。この様な状況は、全てのセルをチップ上
に配置してしまうまでに、通常、多数回起こる。従っ
て、従来の手法では、その際の歪みが蓄積されていき、
グローバルな最適化を図ることは難しい。
【0011】次に、初期配置フェーズで決定された初期
配置の状態から逐次配置状態の小変更を繰り返して、次
第に配置状態を改良し、最終的に最適或いは準最適な配
置状態を得る逐次配置改善フェーズについて説明する。
【0012】この逐次配置改善フェーズの手法としては
様々なものが考えられるが、最も簡単な方法として、あ
るセルの位置と他のセルの位置を交換して新しい配置状
態を作り、元の配置状態よりも良くなれば新しい配置状
態を採用し、悪くなれば元の配置状態へ戻すという操作
を繰り返して配置改良を図る方法が次の文献[2]に示
されている。
【0013】[2]M.Hanan, P.K.Wolff Sr. and B.J.A
gule; "Some experimental results on placement tech
niques", Proceedings of the 13th Design Automation
Conf., pp.214-224, 1976. この方法では、セル数の増加に伴い、満足の行く配置解
を得るための配置改良に要する時間が急激に増大してい
く。このため、現実的な処理時間内で効果的に最適化を
図るべく処理時間を短縮化しなければならないという問
題がある。
【0014】また、特開昭62−243071に開示さ
れている並列配置改善方式は、この問題を解決するため
に、互いに独立な交換セル対を選択する手段を設けて、
同時に交換処理を施すことにより、処理時間の短縮化を
図るものであるが、そのためには、独立な交換セル対を
計算機で収集するためのオーバヘッドが生じる。また、
交換セル対は通常非常に多数存在するため、改良が収束
するまでに多くの繰り返し操作が必要であるという問題
が残り、全体的な最適化を高速に進めることは難しい。
【0015】更に、前述した文献[1]でも指摘されて
いるように、複数のプロセッサが同時に配置状態を変更
すると、それぞれ他のプロセッサが配置状態を変更する
前の情報に基づいて変更の可否を判断するので、判断基
準に誤差を含むようになる。
【0016】以下、具体的に例を示して問題を指摘す
る。簡単の為、2つのプロセッサA、Bで並列に配置を
進める場合を考える。図18(a)のように、基板を2
つの領域に分け、左側の領域41をプロセッサA、右側
の領域42をプロセッサBが担当するものとし、左側の
領域41にある回路要素51と右側の領域42にある回
路要素52とが配線で接続されるものとする。この時、
プロセッサAは予想される配線長を短くするため回路要
素51を下方に移動させ、一方、プロセッサBは予想さ
れる配線長を短くするため回路要素52を上方に移動さ
せることが考えられる。この場合、双方のプロセッサが
回路要素を移動させた結果、実際には図18(b)のよ
うな状態になり、予想される配線長に変化はない。プロ
セッサAもプロセッサBも予想される配線長即ち配置の
評価関数が改善されていると評価しているが、実際には
配置の評価関数は何等改善されていないことになる。こ
こでは、最も簡単な例について示したが、多数のプロセ
ッサを用いて行なう複雑な処理においても本質的に同様
の現象が起こる。
【0017】また、レイアウト処理を並列に行なうため
には、レイアウトされるべき論理回路を複数の部分に分
割し、それぞれの部分回路を複数の部分回路の各々に割
り当て、同時並行的に処理を行なうことが最も有力な手
段である。即ち、一旦元の回路より小規模な複数の回路
に分割されれば、個々に並列にレイアウト処理が可能で
ある。そのためには、通常の並列レイアウト処理の前処
理として、回路を分割する処理が必要になってくる。し
かしながら、回路を適切に分割することは必ずしも簡単
な問題ではない。
【0018】回路分割の手法としては、次のような方法
が知られている。
【0019】[3]B.W.Kernighan and S.Lin; "An eff
icient heuristic procedure forpartitioning graph
s", The Bell Technical Journal, vol.49, pp.291-30
7, 1970.
【0020】また、[3]を改良した手法として、次の
ような手法も知られている。
【0021】[4]C.M.Fiduccia and R.M.Mattheyses;
"A Linear time heuristic for improving network pa
rtitions", Proc. 19th Design Automation Conf., pp.
175-181, 1982. これら2つの従来の手法は、本発明の基礎となってお
り、以下、簡単に説明する。
【0022】先ず[3]の手法は、回路を2分割する手
法であって、配線としては、2つのセル間を接続するも
ののみを想定している。但し、回路を3以上に分割する
ようにも、3つ以上のセル間を接続する配線を想定する
ようにも、容易に拡張できる。分割の目的関数は、分割
された2つのグループ間にまたがる配線の数(カット数
と称する)を最小化することである。また制約条件は、
両グループに含まれるセルの数を同一にすることであ
る。図19に本従来手法の処理手順を示す。先ず、ステ
ップS201で回路に含まれる全セルを適宜2等分し、
初期分割とする。例えば、ランダムに2等分すればよ
い。次にステップS202で分割の一方に所属するセル
と他方に所属するセルを交換した時に減少するカット数
(ゲインと称する)を全てのセルの対に関して計算す
る。このゲインは一般に正または負の値を取り得る。そ
してゲインの最も大きいセル対を交換し、情報を更新す
る。同様にして、ゲインの大きい順に次々とセル対を交
換する。但し、一度他方に移ったセルは再び移動させる
ことはない。このようにして全てのセルが反対側に移動
するまでステップS202の処理を続ける(ステップS
203にて判断する)。ここまでの処理で、ゲインが負
であってもセルの交換を行なっていることに注意を要す
る。ここで、これまでの処理を振り返り、ゲインの累積
が最も大きかったところ、即ちカット数が最も小さかっ
たところまで状態を戻す(ステップS204)。これに
より新しい状態が得られ、この新しい分割状態を初期分
割としてステップS202に戻り、ステップS202か
らステップS204までの処理を分割状態が変わらなく
なるまで複数回繰り返す(ステップS205にて判断す
る)。
【0023】次に、[4]の方法は、[3]の改良であ
り、3つ以上のセル間の配線を考慮すること、及び処理
の中でセルの交換ではなく単一セルの移動の繰り返しを
行なうところを除いて[3]と同様である。但し、
[3]に比べて著しく処理速度が速いため、実用的には
[4]の方法が使用されている。
【0024】[3]または[4]の従来の回路分割処理
では、回路全体を一度に扱う必要があり、回路規模の増
大と共に処理時間が非常に増大するという問題があっ
た。また、並列処理のために複数のプロセッサを用意し
ても、この部分だけは1台のプロセッサで行なわなけれ
ばならず、プロセッサの稼働効率が著しく落ちるという
問題があった。このように、回路の分割処理の部分が隘
路となって、レイアウト処理全体の並列化が妨げられて
いた。
【0025】
【発明が解決しようとする課題】以上の様に、従来の配
置処理装置では、 (1) 初期配置フェーズにおいては、既に配置されている
セル或いは回路ブロック(以下セルと略記する)集合と
まだ配置されていないセルとの接続関係により、次に配
置すべきセルの位置を決定する為、既配置セル集合との
接続関係は正確に反映できるが、未配置セル同士の接続
関係は正確には考慮されていない。この為、最終的な配
置結果のグローバルな最適化が図れない、また、セル数
の増大により処理時間が膨大になる。
【0026】(2) 逐次配置改善フェーズにおいては、セ
ル数の増加に従って、満足の行く配置解を得るための配
置改良に要する処理時間が急激に増大していく。このた
め、現実的な処理時間内で効果的に最適化を図ることが
難しい。また、本処理を並列化した場合には、1単位の
改良処理の独立性を維持するために、独立な交換セル対
を計算機で収集するためのオーバヘッドが生じる。
【0027】(3) 逐次配置改善フェーズにおいては、各
プロセッサの判断と実際との食い違いにより、配置状態
の改善が進まず、ひいては最終的な配置結果に悪い影響
を与え、また、配置処理の収束性が悪くなり処理が終わ
らないことも起こり得る。更に、判断の誤差を最小化す
る為にはプロセッサ間で頻繁に(例えば、1つのセルを
移動する毎に)情報を交換する必要があり、プロセッサ
間の通信の負荷が増大する原因にもなる。
【0028】(4) また回路分割処理では、回路全体を一
度に扱う必要があり、回路規模の増大と共に処理時間が
非常に増大し、また並列処理のために複数のプロセッサ
を用意しても、この回路分割処理だけは1台のプロセッ
サで行なわなければならず、プロセッサの稼働効率が著
しく落ちる。
【0029】という欠点があった。
【0030】本発明は、上記問題点を解決するもので、
その目的は、(1) 初期配置フェーズにおいて、既配置セ
ル集合との接続関係と未配置セル同士の接続関係を同時
に考慮しながら、高速に未配置セルを順次配置していく
ことを可能とした配置処理装置、(2) 逐次配置改善フェ
ーズにおいて、複数のセル集合の交換を並行に実行し
て、高速に配置改良を進めることを可能とした配置処理
装置、(3) 逐次配置改善フェーズにおいて、各プロセッ
サが独立に配置状態の変更を評価しても全く誤差がな
く、従って、プロセッサ間の通信も頻繁になされる必要
がなく、得られる配置結果も十分良い配置処理装置、及
び(4) 回路分割を複数のプロセッサで並列に行ない、レ
イアウトの前処理である回路分割処理を高速化し、レイ
アウト処理全体の並列化の可能な配置処理装置を提供す
ることである。
【0031】
【課題を解決するための手段】前記課題を解決するため
に、本発明の第1の特徴は、複数のプロセッサを備えて
基板上の回路要素の配置を自動的に決定する配置処理装
置において、図1に示す如く、前記複数のプロセッサに
核となる回路要素を割り当てる回路要素割当手段3と、
前記各プロセッサが前記核となる回路要素と接続関係の
強い回路要素を前記核に併合していく回路要素併合手段
4と、前記各プロセッサの併合処理が同一の回路要素に
対して競合した場合に当該回路要素を併合処理対象の後
に回す併合処理制御手段7とを具備することである。
【0032】また、本発明の第2の特徴は、複数のプロ
セッサを備えて基板上の回路要素の配置を自動的に決定
する配置処理装置において、図1に示す如く、前記複数
のプロセッサに核となる回路要素を割り当てる回路要素
割当手段3と、前記各プロセッサが前記核となる回路要
素と接続関係の強い回路要素を前記核に併合していく回
路要素併合手段4と、前記各プロセッサが併合処理対象
とする回路要素に優先順位を付ける優先順位付加手段5
と、前記優先順位を用いて併合処理制御を行なう優先度
判定手段6と、前記各プロセッサの併合処理が同一の回
路要素に対して競合した場合に当該回路要素を併合処理
対象の後に回す併合処理制御手段7とを具備することで
ある。
【0033】また、本発明の第3の特徴は、複数のプロ
セッサを備えて基板上の回路要素の配置を自動的に決定
する配置処理装置において、図2に示す如く、前記基板
上の複数の回路要素をグループに分割して各グループを
前記各プロセッサに割り当てる第2の回路要素割当手段
17と、前記各回路要素のグループを回路要素間の接続
関係により複数のクラスタに細分する細分化手段18
と、前記各回路要素グループ内の一部のクラスタを他の
回路要素グループ内のクラスタと相互に交換する配置改
良手段19とを具備することである。
【0034】また、本発明の第4の特徴は、複数のプロ
セッサを備えて基板上の回路要素の配置を自動的に決定
する配置処理装置において、図2に示す如く、前記基板
を複数の格子状領域に分割する第1の領域分割手段1
と、前記各プロセッサを前記分割された領域に対して割
り当てる第1のプロセッサ割当手段2と、前記基板上の
複数の回路要素をグループに分割して各グループを前記
各プロセッサに割り当てる第2の回路要素割当手段17
と、前記各回路要素のグループを回路要素間の接続関係
により複数のクラスタに細分する細分化手段18と、前
記各回路要素グループ内の一部のクラスタを隣接する他
の回路要素グループ内のクラスタと相互に交換する配置
改良手段19とを具備することである。
【0035】更に、本発明の第5の特徴は、請求項3ま
たは4に記載の配置処理装置において、図2に示す如
く、前記配置改良手段19は、所定の評価関数を満たす
まで、前記各回路要素グループ内の一部のクラスタを隣
接する他の回路要素グループ内のクラスタと相互に交換
する処理を繰り返すクラスタ交換手段19Aと、前記ク
ラスタ交換手段19Aで交換されるクラスタの面積総和
を繰り返しの度に減少するよう制御する転送量調整手段
19Bとを具備することである。
【0036】また、本発明の第6の特徴は、図3に示す
如く、n台のプロセッサP1〜Pnを備えて基板上の回
路要素の配置を自動的に決定する配置処理装置におい
て、前記各プロセッサP1〜Pnは、回路を複数個のグ
ループに分割する回路分割手段26と、前記各グループ
内の回路要素を交換して分割状態を変更する分割状態変
更手段27と、変更後の分割状態における所定の目的関
数を算出して当該プロセッサの処理の停止及び他プロセ
ッサの処理の起動を制御する制御手段28とを具備し、
i番目(i=1〜n)のプロセッサPiの前記制御手段
28は、前記分割状態変更手段27により所定回数の繰
り返し変更の後、前記目的関数が改善される分割状態が
あった場合には、i+1番目(i=nの場合には1番
目)のプロセッサPi+1を起動して該プロセッサPi
+1内の前記分割状態変更手段27に該分割状態を供給
することである。
【0037】更に、本発明の第7の特徴は、請求項6に
記載の配置処理装置において、前記目的関数は、前記分
割された複数個のグループ間の配線数であり、より少な
い配線数を改善と見做すことである。
【0038】
【作用】本発明の第1及び第2の特徴の配置処理装置で
は、初期配置フェーズにおいて、先ず第1の領域分割手
段1で基板を複数の格子状領域に分割し、第1のプロセ
ッサ割当手段2で各プロセッサに前記分割された領域に
対して割り当てる。次に、回路要素割当手段3で複数の
プロセッサに核となる回路要素を割り当てる。そして、
(回路要素に優先順位を付ける場合には、優先順位付加
手段5で各プロセッサが併合処理対象とする回路要素に
優先順位を付け、優先度判定手段6の制御の下に、)回
路要素併合手段4で各プロセッサが核となる回路要素と
接続関係の強い回路要素を核に併合していく。更に、前
記各プロセッサの併合処理が同一の回路要素に対して競
合した場合には、併合処理制御手段7で当該回路要素を
併合処理対象の後に回す。最後に、概略配線手段11で
概略配線を決定し、初期配置を得る。
【0039】逐次配置改善フェーズにおいては、初期配
置フェーズにより得られた初期配置を元に、先ず第2の
領域分割手段13で基板を複数の領域に分割し、第2の
プロセッサ割当手段14で各プロセッサを前記分割され
た領域に対して割り当てる。次に、配置最適化手段15
で前記或いは後記概略配線の領域境界上の位置を固定と
して各回路要素の配置を変更して各配線長の和を最小に
し、分割変更手段16で前記領域の分割を変更し概略配
線を決定する。尚、前記配置最適化手段15と前記分割
変更手段16の処理は予め定められた基準に達するまで
繰り返し、配置を逐次改良して行き最終配置を得る。
【0040】また、本発明の第3、第4、及び第5の特
徴の配線処理装置では、初期配置フェーズにおいて、先
ず、第1の領域分割手段1で基板を複数の格子状領域に
分割し、第1のプロセッサ割当手段2で各プロセッサに
前記分割された領域に対して割り当てる。次に、第2の
回路要素割当手段17で基板上の複数の回路要素をグル
ープに分割して各グループを前記各プロセッサに割り当
てる。更に、細分化手段18で各プロセッサ毎に各回路
要素のグループを回路要素間の接続関係により複数のク
ラスタに細分して初期配置を得る。
【0041】逐次配置改善フェーズにおいては、初期配
置フェーズにより得られた初期配置を元に、先ず、配置
改良手段19(クラスタ交換手段19A)で、所定の評
価関数を満たすまで、各回路要素グループ内の一部のク
ラスタを隣接する他の回路要素グループ内のクラスタと
相互に交換する処理を繰り返す。尚、転送量調整手段1
9はクラスタ交換手段19Aで交換されるクラスタの面
積総和を繰り返しの度に減少するよう制御する。
【0042】このように、各プロセッサが独立に並行し
て、回路要素のグループを細分化したクラスタを相互に
交換して配置状態の改良を進めるので、逐次配置改善フ
ェーズにおける配置改良が高速となる。
【0043】また、本発明の第6及び第7の特徴の配線
処理装置では、i番目(i=1〜n)のプロセッサPi
の回路分割手段26で初期分割を決定し、次に分割状態
変更手段27により所定回数の分割変更を繰り返す。制
御手段28は、繰り返し変更の後、目的関数(例えば、
分割された複数個のグループ間の配線数)を算出して、
目的関数が改善される分割状態があった場合には、i+
1番目(i=nの場合には1番目)のプロセッサPi+
1を起動して、該プロセッサPi+1内の分割状態変更
手段27にその分割状態を供給する。i+1番目のプロ
セッサPi+1でも、分割変更手段27及び制御手段2
8が同様の処理を行ない、目的関数が改善される分割状
態があった場合には、i+2番目のプロセッサPi+2
を起動する。
【0044】このように、状態変更系列を幾つかに分割
し、それぞれの時点で分割の改善が成されたか否かを判
断し、改良が成されていた場合には、その状態を初期分
割として他のプロセッサを起動して並行処理することと
しており、従来1台のプロセッサで連続して繰り返し行
なっていた処理を、並行処理する時間だけ短縮して行な
うことができ、回路の分割処理を高速に実行することが
できる。
【0045】
【実施例】本発明に係る第1の実施例を図面に基づいて
説明する。本実施例は、初期配置フェーズにおいて、既
配置セル集合との接続関係と未配置セル同士の接続関係
を同時に考慮しながら、高速に未配置セルを順次配置し
ていくことを可能とした配置処理装置に係るものであ
る。
【0046】図4は本発明の第1の実施例で使用するマ
ルチプロセッサシステムの概略構成図であり、制御プロ
セッサCPと、4台のプロセッサP1〜P4と、補助記
憶装置SMと、これら構成要素を結ぶ通信路CHとから
構成されている。各プロセッサP1〜P4はそれぞれ基
本的な演算装置と局所メモリを持ち、分担された領域に
ついての配置処理を行なう為、独立してプログラムされ
た命令を実行する。制御プロセッサCPは全体の処理の
流れを監視し、制御を行なう。制御プロセッサCPと各
プロセッサP1〜P4間は通信路CHで結ばれており、
配置データ等の授受が行なわれる。また、補助記憶装置
SMには配置処理に必要な全体的なデータが保持されて
いる。尚、図4では、前プロセッサが1つの通信路CH
に接続されているが、本発明で使用するマルチプロセッ
サシステムの構成としては、プロセッサが格子状に接続
されている等、任意の接続状態であっても問題はない。
【0047】図5は、本発明の第1の実施例に係る初期
配置フェーズにおける配置処理の概略フローチャートを
示す。
【0048】先ずステップS1で、基板上の全領域を複
数の格子状領域に分割し、各領域へプロセッサを割り当
てる。次にステップS2で、分割された領域に評価関数
を用いて適当な核となるセル(回路要素)を割り当て
る。ここで、評価関数とは、例えば、I/Oセルからの
ネットのパスの長さ、或いは接続ネット数やクロックセ
ル等を基にして、分割された領域数に見合った数のセル
を算出するための指標である。例えば図6の場合は核と
なるセルとして、セルB1及びセルB5がそれぞれ波線
内の領域A1及びA2へ割り当てられている。
【0049】次にステップS3で、配置すべき全てのセ
ルを未配置セルとして登録する。そしてステップS4
で、この未配置セルを各プロセッサP1〜P4が参照で
きるようにして、各領域単位で核へ未配置セルを併合し
ていく処理を並列に進める。
【0050】更にステップS5では、各プロセッサP1
〜P4が併合対象候補セルに優先度を付けて制御プロセ
ッサCPに返し、制御プロセッサCP側ではこの情報を
基にこれらセル間の競合の有無を判定して競合解消す
る。競合が無かった場合はそれらのセルを配置済みセル
として未配置セルリストから外し、競合が有った場合は
当該セルを未配置セルリストの中に残し、それ以外のセ
ルを配置済みセルとして未配置セルリストから外す。例
えば、図6のような状況の場合には、セルB1を核とす
る領域A1側では次の併合処理対象候補としてセルB
2、セルB4及びセルB6が選出され、セルB5を核と
する領域A2側ではセルB6及びセルB8が併合処理対
象候補として選出される。従って、セルB6は波線内の
領域A1及びA2にそれぞれ割り当てられた2つのプロ
セッサの併合処理対象候補になり、競合が生じている。
この時制御プロセッサCPでは、この状況を探知してセ
ルB6を併合対象候補から一時的に外し、セルB6を未
配置セルリストをそのまま残す。これにより、セルB1
を核とする領域A1側ではセルB2及びセルB4が併合
され、セルB5を核とする領域A2側ではセルB8が併
合されることになる。
【0051】次にステップS6で、未配置セルリストに
登録されている要素を調べて終了判定を行なう。即ち、
未配置セルリストに要素が有る場合には、それらを対象
としてステップS4及びS5の併合処理を続け、未配置
セルリストに要素が無い場合は処理を終了する。これに
より、後の繰り返しでセルB3はセルB1を核とする領
域A1に、セルB7はセルB5を核とする領域A2にそ
れぞれ併合され、その後、セルB6がセルB1を核とす
る領域A1に併合され、結果として、図7の様な最適な
配置結果が得られることになる。
【0052】次に、本発明に係る第2の実施例を図面に
基づいて説明する。本実施例は、逐次配置改善フェーズ
において、各プロセッサが独立に配置状態の変更を評価
しても全く誤差がなく、従って、プロセッサ間の通信も
頻繁になされる必要がなく、得られる配置結果も十分良
い配置処理装置に係るものである。
【0053】本実施例で使用するハードウェアの構成
は、本発明の第1の実施例と同様に図4に示すマルチプ
ロセッサシステムである。
【0054】図8は、本発明の第2の実施例に係る逐次
配置改善フェーズにおける配置処理の概略フローチャー
トを示す。
【0055】先ずステップS61で、各回路要素の初期
配置及び接続されるべき回路要素間の配線の初期概略配
線経路を決定する。このステップS61において、初期
配置を決定する処理は第1の実施例を用いてもよいし、
従来の配置処理装置に於ける手法を用いてもよい。ここ
では、制御プロセッサCP上で従来の手法により処理さ
れるものとする。また、初期配置を決定するのは従来の
手法と同じであるが、同時に初期概略配線経路を決定す
るのが本実施例の特徴である。尚、本ステップでは並列
処理は行なわれず、制御プロセッサCPにより行なわれ
るため、初期配置及び初期概略配線の処理は十分早いこ
とが要求されるが、反面、この後の処理で十分な改良が
なされるので、初期配置の結果は必ずしも良いものであ
る必要はない。例えば、配置としてはランダム配置、配
線としては障害物を無視した最短距離配線などを行なえ
ばよい。
【0056】次にステップS62で、基板を複数の領域
に分け、それぞれの領域内の配置を各プロセッサP1〜
P4に分担させる。具体的には、制御プロセッサCPが
各領域のデータを各プロセッサP1〜P4の局所メモリ
に送り込む。またこの時、初期配置結果及び初期概略配
線結果も同時に送り込まれる。ある概略配線経路が複数
の領域にまたがって存在しているときは、領域の境界で
概略経路を切り取り、担当している領域内にある経路だ
けを各プロセッサP1〜P4の局所メモリに送り込む。
【0057】次にステップS63で、各プロセッサP1
〜P4毎に割り当てられた領域内の配置を行なう。本ス
テップにおける回路要素の配置にはシミュレーテッドア
ニーリング法等の適当な従来手法を使用することができ
る。つまり、本ステップでは、回路要素の配置位置を逐
次変更しその結果を評価して変更の可否を決定するこ
と、及び回路要素の配置位置の変更に伴って既存の概略
配線を修正することを行なう。例えば、回路要素の配置
変更に伴って概略配線長が短くなったときは配置状態が
良くなったと評価する。尚、領域の境界上を概略配線が
横切っている位置は動かさない。注目すべきことは、回
路要素の配置変更に伴う評価を領域内の情報だけを用い
て行なうことができ、たとえその回路要素と接続されて
いる回路要素が他の領域にあって、他のプロセッサが配
置位置を変更していたとしても、評価は何の影響も与え
ないことである。
【0058】図9は4台のプロセッサP1〜P4で処理
を行なっている具体例である。同図(a)において、基
板20は全体を4つの領域21〜24に分割され、それ
ぞれプロセッサP1〜P4が割り当てられて処理を行な
っている。回路素子31と回路素子32間の概略配線が
同図に示すような経路で求まった時、領域の境界上を概
略配線が横切っている点W1及びW2は以降の回路要素
の配置変更の処理では固定点として扱われ、これらの情
報は補助記憶装置SMに保持される。
【0059】次にステップS64で、各プロセッサP1
〜P4による各領域内の配置改良がある程度進んだかど
うかを判断し、進んでいれば終了し、進んでいなければ
ステップS65で、領域の境界を変更しプロセッサP1
〜P4への領域割当を変更する。ここで、各領域内の配
置改良がある程度進んだという判断は、例えば、予め決
められた時間だけ配置改良処理を行なったこと、配置状
態の評価関数がある量だけ改善されたこと、又は回路要
素の移動をある決められた回数だけ行なったこと、或い
はこれらの組み合わせを基準として行なわれる。領域の
境界を変更する前に一旦各プロセッサP1〜P4の処理
を止め、制御プロセッサCPが領域の境界変更を行な
う。
【0060】図9は4台のプロセッサP1〜P4で処理
を行なっている具体例であるが、領域変更前に同図
(a)のように基板20全体を4つの領域21〜24に
分割して処理していたものを、同図(b)のような領域
境界に変更することが考えられる。このように、1つの
プロセッサが担当する領域は一繋がりの領域である必要
はなく、各所に分散していても良い。また、同図の例の
ように、なるべく元の境界とは重ならないように新たな
境界を設定するのがよい。何故なら、各プロセッサP1
〜P4における並列処理時には、境界を越えての回路要
素の移動は行なわれないからである。
【0061】ステップS65で領域の境界を変更した
ら、再びステップS63に戻り、新たに設定された各領
域21〜24内での配置改良処理を行なう。この時、新
たな領域境界を概略配線が横切る位置が固定され、その
かわり、領域境界変更前に固定されていた古い境界を横
切る位置は自由に動かせるようになる。この場合にも、
配置状態の評価は各領域内の情報だけで決定できること
は前述の通りである。
【0062】図9(b)のように領域境界が変更された
場合、各プロセッサが分担する領域を変更すると共に、
変更された各分担領域上へ補助記憶装置SMに保持され
ている各配線を移し、新たに各配線の概略経路を決定す
る。例えば、回路要素31と回路要素32間の概略配線
は、領域境界変更前の固定点W1及びW2を自由に動か
して同図に示すような経路で求まる。この時、領域の境
界上を概略配線が横切っている点W3〜W6は以降の回
路要素の配置変更の処理では固定点として扱われ、これ
らの情報は補助記憶装置SMに保持される。
【0063】ステップS63及びS65の処理、即ち各
プロセッサがそれぞれ割り当てられた領域内の配置改良
を行なう処理及び領域境界を変更する処理を何度か繰り
返し、ステップS64で、各プロセッサP1〜P4によ
る各領域内の配置改良がある程度進んだと判断される
と、全体の配置改良処理を終える。
【0064】図10に、従来の技術の問題点として示し
た図18の例が如何に改善されるかを示す。予め制御プ
ロセッサCPによって回路要素51及び52の位置及び
回路要素間の概略配線経路55の初期配置が与えられた
後、左側の領域41及び右側の領域42をそれぞれプロ
セッサP1及びP2に割り当て、各々配置改良を行な
う。この時概略配線55が領域を横切る位置W11は、
プロセッサP1及びP2から共に認識され、しかもその
位置は固定されている。この様にすると、回路要素51
及び52間の配線長は領域41内の配線長(回路要素5
1と点W11間の配線長)と領域42内の配線長(点W
11と回路要素52間の配線長)の和であるから、領域
41及び42内で各々独立に回路要素の配置を変更して
配線長を最小化すれば、図10(b)のように、回路要
素51及び52間の配線長は全体として最小化される。
【0065】本発明の他の実施例として、図9のように
一度に大幅な領域の境界変更をするのではなく、境界を
少しずつずらしていく方法も考えられる。この方法によ
れば、各プロセッサに割り当てられた領域情報の変化が
小さく、一度にプロセッサ間でデータをやり取りする必
要がなく、通信路CHの混雑を防ぐことができる。
【0066】次に、本発明に係る第3の実施例を図面に
基づいて説明する。本実施例は、逐次配置改善フェーズ
において、複数のセル集合の交換を並行に実行して、高
速に配置改良を進めることを可能とした配置処理装置に
係るものである。
【0067】本実施例で使用するハードウェアの構成
は、図11に示すような複数のプロセッサP11〜P3
3を通信チャネルで格子状に結合したマルチプロセッサ
システムである。同図において、各プロセッサP11〜
P33は基本的な演算装置と記憶装置を持ち、全てのプ
ロセッサP11〜P33を制御する制御プロセッサCP
2と波線で示す通信チャネルCH1で、またプロセッサ
相互間を実線で示す通信チャネルCH2でそれぞれ結合
されている。これら9個のプロセッサP11〜P33に
はチップの各領域が割り当てられ、処理における配置デ
ータの授受及び全体制御はこれらの通信手段を通して行
なわれ、各プロセッサP11〜P33は並列に動作す
る。
【0068】次に本実施例の動作を説明する。
【0069】図12は、本発明の第3の実施例の配置処
理の概略フローチャートである。
【0070】先ずステップS101で、チップを複数の
格子状領域に分割し、各領域をプロセッサP11〜P3
3に割り当てる。次にステップS102で、配置すべき
セルをプロセッサ数(ここでは9個)のグループに分割
して、グループのセル集合として各プロセッサP11〜
P33に割り当てて初期配置の状態を生成する。
【0071】次にステップS103では、各プロセッサ
P11〜P33は並列に動作して、それぞれのプロセッ
サP11〜P33に割り当てられているセルのグループ
をセル間の接続関係により更に複数のクラスタへ細分割
する。この細分割は、例えば自プロセッサが担当する領
域内で接続関係の密なセルの集合を作り、更にそのセル
集合毎に、周囲のプロセッサが担当する領域内のセルと
の接続関係から周囲のプロセッサ(が担当する領域)毎
に分割するといった方法で行なわれる。
【0072】次にステップS104で、配置状態を改良
するように、周囲のプロセッサが担当するクラスタと交
換する。図11のプロセッサ構成において、例えばプロ
セッサP22は、各プロセッサP11〜P33で同時並
列的に生成されたクラスタを、その周囲のプロセッサP
12、P21、P23、P32と通信チャネルを介して
同時並列的に交換する。交換するクラスタの選択は、例
えば領域内の各クラスタの周囲の領域に対する接続関係
を評価関数とすると、各プロセッサP11〜P33は、
評価関数の高いもの、即ち接続関係の密なものから選択
する。
【0073】次にステップS105では、制御プロセッ
サCP2は、各プロセッサP11〜P33の間のセル交
換量を制御する。この制御方法の一例としては、前の繰
り返しサイクルにおけるプロセッサ間の交換セル量を、
プロセッサが担当する総面積の8割に相当するセル量に
制限し、その後、徐々に交換セル量を等比級数的に減少
させていく方法がある。
【0074】更にステップS106で、交換セル量、処
理時間、或いは配置改良のための評価関数等により、改
良の収束判定を行ない、判定の結果、収束条件が満たさ
れない場合には、ステップS103に戻って並列配置改
良の処理を繰り返す。収束条件が満たされた場合には、
処理を終了する。
【0075】以上の一連の処理を具体例を示して説明す
る。図13は、ステップS102の処理終了後の初期配
置の一例を示しており、説明を簡単にするために、2つ
のプロセッサPA1及びPA2により、波線で区切られ
た2つの領域A1及びA2の配置処理を行なうものとし
ている。また、領域A1にはセルB3、B4、B6、B
7が、領域A2にはセルB1、B2、B5、B8がそれ
ぞれ割り当てられており、実線は接続関係(配線要求)
を表している。
【0076】先ず、ステップS103のセルの細分割
は、それぞれのセルの接続関係から、領域A1ではセル
B3及びB4で構成されるクラスタC2と、セルB6及
びB7で構成されるクラスタC4が、また領域A2では
セルB1及びB2で構成されるクラスタC1と、セルB
5及びB8で構成されるクラスタC3がそれぞれ作られ
る。次にステップS104のクラスタ化されたセルの交
換は、プロセッサPA1では領域A2との接続関係の多
いクラスタC4が選ばれ、またプロセッサPA2では領
域A1との接続関係の多いクラスタC1が選ばれて、同
時並列的に交換される。この結果、図7に示すように、
領域A1にはセルB1、B2、B3、B4、領域A2に
はセルB5、B6、B7、B8という配置となる。
【0077】尚、ハードウェアの構成は、本実施例で使
用した格子結合のマルチプロセッサシステムに限定され
るものではなく、例えばハイパーキューブ状に結合され
たマルチプロセッサシステムでも同様に適用でき、その
主旨を逸脱しない範囲で種々変形して実施することがで
きる。
【0078】次に、本発明に係る第4の実施例を図面に
基づいて説明する。本実施例は、回路分割を複数のプロ
セッサで並列に行ない、レイアウトの前処理である回路
分割処理を高速化し、レイアウト処理全体の並列化の可
能とした配置処理装置に係るものである。
【0079】本実施例で使用するハードウェアの構成
は、マルチプロセッサシステムであり、図4に示すバス
結合のマルチプロセッサシステム、或いは図11の格子
状のマルチプロセッサシステムの何れでもよい。
【0080】図14に、本発明の第4の実施例に係る回
路分割処理の概略フローチャートを示す。尚、同図の処
理は、1台のプロセッサで行なわれる処理を示してお
り、初期配置フェーズの回路分割ステップで、複数のプ
ロセッサにより並列実行される。即ち、複数のプロセッ
サの内1台のプロセッサにおいて図14の処理が起動さ
れ、その処理中に該プロセッサが他のプロセッサに処理
起動命令を発する。処理起動命令を受けたプロセッサは
図14の処理を開始し、順次、他のプロセッサに処理起
動命令を与えていき、全体のプロセッサが同時に並行処
理することになる。また、本実施例は、 文献[3]の
手法、即ち回路を2分割する手法に基づいており、配線
としては、2つのセル間を接続するもののみを想定して
いる。
【0081】先ずここで、図15及び図16を参照し
て、本実施例の分割処理におけるカット数の推移を、従
来の分割処理と比較して説明する。
【0082】図15は、縦軸にカット数、横軸に交換個
数とした場合の一連の状態変更系列におけるカット数変
動の典型例を示す。一般に、状態変更系列の始めの段階
(図中CP11〜CP13)においては多少の振動(例
えばCP12)を伴いながらもカット数が減少するが、
ある時点(CP13)からカット数は増加に転じ、つい
には初期のカット数を上回り、最終的に初期のカット数
をはるかに上回る(CP14)で終了する。このような
カット数の推移は、場合によって異なるものの、傾向と
して殆どの場合に見られるものである。
【0083】従来の分割処理(図19参照)によれば、
状態変更系列が全てのセルの交換が終わった段階(CP
14)に達した段階で、カット数が最も良かった状態
(CP13)に戻し、次の状態変更系列を開始すること
になる。つまり、CP13の時点では今後カット数が更
に減少しないという保証はなく、CP14までの処理を
続行することとなり、CP13からCP14までの処理
は結果として無駄な処理となっている。
【0084】本実施例の分割処理によるカット数の変動
を図16に示す。図16(a)は1番目のプロセッサに
おける処理によるカット数の推移、図16(b)は2番
目のプロセッサにおける処理によるカット数の推移をそ
れぞれ示している。
【0085】本実施例では、図16に示す如く、一連の
状態変更系列中に数箇所のチェックポイントCP21〜
CP13を設けている。尚、このチェックポイントの数
は、プロセッサ数程度を設定すればよく、本実施例では
プロセッサ数を3と仮定している。更に同図では、一連
の状態変更系列では、全てのセルの交換が行なわれるこ
とから、チェックポイントCP21は約3分の1のセル
の交換が終わった状態として、チェックポイントCP2
2は3分の2のセルの交換が終わった状態として設定し
ている。
【0086】再び図14に戻り、本実施例の動作を説明
する。
【0087】先ず1番目のプロセッサが処理を開始し、
回路に含まれる全セルを適宜2等分して初期分割とする
(図16(a)のCP11)。次に、ステップS151
で分割の一方に所属するセルと他方に所属するセルを交
換した時に減少するカット数(ゲインと称する)を全て
のセルの対に関して計算する。このゲインは一般に正ま
たは負の値を取り得る。そしてゲインの最も大きいセル
対を交換し、情報を更新する。同様にして、ゲインの大
きい順に次々とセル対を交換する。但し、一度他方に移
ったセルは再び移動させることはない。
【0088】このようにして、ステップS152で交換
したセル数が所定量に達するまで、ステップS151の
処理を繰り返す。ここでは、交換セル数が3分の1に達
した時、即ちチェックポイントCP21に到達した時
に、ステップS153に進む。ステップS153では前
回のチェックポイントより最良の状態が改善されたか否
かを判断する。ここでは、初期分割の状態CP11のカ
ット数と現在の最良状態CP13のカット数を比較し、
現在の最良状態の方が改善されているので、ステップS
154に進む。ステップS154では自身の次の番号の
プロセッサにおける処理を中止し、該プロセッサに対し
自プロセッサが現在持っている最良状態を初期分割とし
て与え、分割改良を起動する。ここでは、2番目のプロ
セッサに対して最良状態CP13を初期分割として与え
て分割改良の処理を起動し、一方、1番目のプロセッサ
ではそのままステップS151に戻って分割改良の処理
を続ける。
【0089】1番目のプロセッサにおいて、ステップS
151の処理が進んで、交換したセル数が3分の2(チ
ェックポイントCP22)に達したら、前回のチェック
ポイントCP21におけるカット数と比較する。ここで
は、カット数は却って増加しており、他のプロセッサを
起動することなく、再びステップS151に戻って分割
改良の処理を続ける。更に1番目のプロセッサにおける
処理が進み、全てのセルの交換が終了すると、1番目の
プロセッサは処理を停止し、他のプロセッサからの起動
を待つ状態に入る。
【0090】一方、2番目のプロセッサは、起動後、ス
テップS151の処理を繰り返し、図16(b)に示す
チェックポイントCP31及びCP32を通過するが、
何れも前回のチェックポイントよりもカット数が増加し
ており、他のプロセッサを起動することなく分割改良の
処理を続ける。チェックポイントCP33に到達して全
てのセルの交換が終わると、ステップS156で、初期
状態より改善された状態があるかどうかを調べる。この
場合改善はなく、全体の処理を終了し、初期状態に戻し
て最終結果とする。
【0091】以上のように、本実施例では、状態変更系
列をプロセッサ台数分に分割し、それぞれの時点で分割
改良が成されたか否かを判断し、改良が成されていた場
合には、その最良状態を初期分割として他のプロセッサ
を起動して並行処理することとしており、従来1台のプ
ロセッサで連続して繰り返し行なっていた処理を、並行
処理する時間だけ短縮して行なうことができる。上記の
例では、CP21〜CP23、或いはCP30〜CP3
2の処理の時間分だけ短縮でき、全体の処理時間の約3
分の1が節約されたことになる。しかも、処理結果は全
く同一である。
【0092】また、本実施例では、簡単のために状態変
更系列が2回しか起こらない例について説明したが、状
態変更系列は多数回起こるのが一般的であり、その場
合、次々に他のプロセッサを起動していくことによって
並列度が上がり、数倍の高速化が達成される。
【0093】また、本実施例では文献[3]を基に説明
をしたが、文献[4]に基づき、回路を3以上に分割す
るようにも、3つ以上のセル間を接続する配線を想定す
るようにも、容易に拡張できる。
【0094】
【発明の効果】以上の様に本発明によれば、初期配置フ
ェーズにおいては、格子状に分割された各領域へ配置す
るセル集合を決定する際に、各領域に割り当てられた各
プロセッサが当該領域に未配置セルを併合していく処理
を並列に進めることが可能となり、高速な処理が行なえ
る配置処理装置を提供することができる。
【0095】また、併合処理の繰り返しが終了する毎
に、プロセッサの併合処理が競合しているセルを検出
し、当該セルを併合処理の対象の後に回すことで、間接
的に未配置セル間の接続関係を評価しながら配置処理を
進めることが可能となる。これにより、グローバルな最
適化が図られ、得られる配置結果の品質が向上する。
【0096】また、逐次配置改善フェーズにおいては、
複数のプロセッサで基板上の複数の領域を分担して配置
改良を行なうとき、他の領域の配置状態を知らなくても
各領域内の配置状態の正確な評価を算出することがで
き、確実に配置改良を行なうことができ、更にプロセッ
サ間の通信も頻繁に行なう必要がなく、通信量の増大を
抑制し得る配置処理装置を提供することができる。
【0097】また、初期配置フェーズにおいて、分割さ
れた各領域へ配置する回路要素集合を決定する際に、各
領域に割り当てられた各プロセッサが同時並行に当該領
域に配置すべき回路要素を他のプロセッサと連携して決
定することができ、処理の並列化により、処理の高速化
の図られた配置処理装置を提供することができる。
【0098】また、逐次配置改善フェーズにおいては、
クラスタ交換処理の繰り返しの度に、交換されるクラス
タの面積総和を減少するよう調整することとしたので、
回路要素移動時の改良判定において生じうる誤差が自動
的に制御され、繰り返し処理を速やかに収束させること
ができる。従って、回路要素並列交換時の改良判定誤差
を防ぐための回路要素の選別処理を必要とせず、配置改
良の処理時間の短縮化と同時に、改良の自由度が増加す
る。これにより、グローバルな最適化を行ない易くな
り、配置結果の品質が向上する。
【0099】更に、状態変更系列を幾つかに分割し、そ
れぞれの時点で分割の改善が成されたか否かを判断し、
改良が成されていた場合には、その状態を初期分割とし
て他のプロセッサを起動して並行処理することとしたの
で、並行処理による処理時間の短縮が図られ、高速な回
路の分割処理が行なえる配置処理装置を提供することが
できる。
【図面の簡単な説明】
【図1】本発明の発明原理図である。
【図2】本発明の発明原理図である。
【図3】本発明の発明原理図である。
【図4】本発明の第1の実施例で使用するマルチプロセ
ッサシステムの概略構成図である。
【図5】本発明の第1の実施例に係る初期配置フェーズ
における配置処理の概略フローチャートである。
【図6】初期配置フェーズにおけるクラスタリング処理
の具体例を示す図(初期状態)である。
【図7】第1の実施例に係る初期配置フェーズにおける
クラスタリング処理の具体例を示す図(最終結果)であ
り、また第3の実施例に係る逐次配置改善フェーズにお
けるクラスタリング処理の具体例を示す図(最終結果)
である。
【図8】本発明の第2の実施例に係る逐次配置改善フェ
ーズにおける配置処理の概略フローチャートである。
【図9】逐次配置改善フェーズにおける配置処理の第1
の具体例を示す図である。
【図10】逐次配置改善フェーズにおける配置処理の第
2の具体例を示す図である。
【図11】本発明の第3の実施例で使用するマルチプロ
セッサシステムの概略構成図である。
【図12】本発明の第3の実施例に係る逐次配置改善フ
ェーズにおける配置処理の概略フローチャートである。
【図13】第3の実施例に係る逐次配置改善フェーズに
おけるクラスタリング処理の具体例を示す図(初期状
態)である。
【図14】本発明の第4の実施例に係る回路分割処理の
概略フローチャートである。
【図15】状態変更系列におけるカット数変動の典型例
を示す図である。
【図16】本発明の第4の実施例におけるカット数変動
を説明する図である。
【図17】ゲートアレイ方式による半導体集積回路チッ
プのレイアウトの一例を示す図である。
【図18】従来の逐次配置改善フェーズにおける配置処
理の問題点を説明する図である。
【図19】従来の回路分割処理の概略フローチャートで
ある。
【符号の説明】
1 第1の領域分割手段 2 第1のプロセッサ割当手段 3 回路要素割当手段 4 回路要素併合手段 5 優先順位付加手段 6 優先度判定手段 7 併合処理制御手段 11 概略配線手段 12 初期配置手段 13 第2の領域分割手段 14 第2のプロセッサ割当手段 15 配置最適化手段 16 分割変更手段 17 第2の回路要素割当手段 18 細分化手段 19 配置改良手段 19A クラスタ交換手段 19B 転送量調整手段 26 回路分割手段 27 分割状態変更手段 28 制御手段 CP,CP2 制御プロセッサ P1〜P4〜Pn プロセッサ P11〜P33 プロセッサ SM 補助記憶装置 CH,CH1,CH2 通信路 A1,A2 領域 B1〜B8 セル C1〜C4 クラスタ CP21〜CP33 チェックポイント
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 17/50 G06F 15/16 H01L 21/82

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数のプロセッサを備えて基板上の回路
    要素の配置を自動的に決定する配置処理装置において、
    前記複数のプロセッサに核となる回路要素を割り当てる
    回路要素割当手段と、前記各プロセッサが前記核となる
    回路要素と接続関係の強い回路要素を前記核に併合して
    いく回路要素併合手段と、前記各プロセッサの併合処理
    が同一の回路要素に対して競合した場合に当該回路要素
    を併合処理対象の後に回す併合処理制御手段とを有する
    ことを特徴とする配置処理装置。
  2. 【請求項2】 複数のプロセッサを備えて基板上の回路
    要素の配置を自動的に決定する配置処理装置において、
    前記基板を複数の格子状領域に分割する第1の領域分割
    手段と、前記各プロセッサを前記分割された領域に対し
    て割り当てる第1のプロセッサ割当手段と、前記複数の
    プロセッサに核となる回路要素を割り当てる回路要素割
    当手段と、前記各プロセッサが前記核となる回路要素と
    接続関係の強い回路要素を前記核に併合していく回路要
    素併合手段と、前記各プロセッサの併合処理が同一の回
    路要素に対して競合した場合に当該回路要素を併合処理
    対象の後に回す併合処理制御手段とを有することを特徴
    とする配置処理装置。
  3. 【請求項3】 複数のプロセッサを備えて基板上の回路
    要素の配置を自動的に決定する配置処理装置において、
    前記基板上の複数の回路要素をグループに分割して各グ
    ループを前記各プロセッサに割り当てる第2の回路要素
    割当手段と、前記各回路要素のグループを回路要素間の
    接続関係により複数のクラスタに細分する細分化手段
    と、前記各回路要素グループ内の一部のクラスタを他の
    回路要素グループ内のクラスタと相互に交換する配置改
    良手段とを有することを特徴とする配置処理装置。
  4. 【請求項4】 複数のプロセッサを備えて基板上の回路
    要素の配置を自動的に決定する配置処理装置において、
    前記基板を複数の格子状領域に分割する第1の領域分割
    手段と、前記各プロセッサを前記分割された領域に対し
    て割り当てる第1のプロセッサ割当手段と、前記基板上
    の複数の回路要素をグループに分割して各グループを前
    記各プロセッサに割り当てる第2の回路要素割当手段
    と、前記各回路要素のグループを回路要素間の接続関係
    により複数のクラスタに細分する細分化手段と、前記各
    回路要素グループ内の一部のクラスタを隣接する他の回
    路要素グループ内のクラスタと相互に交換する配置改良
    手段とを有することを特徴とする配置処理装置。
  5. 【請求項5】 n台のプロセッサを備えて基板上の回路
    要素の配置を自動的に決定する配置処理装置において、
    前記各プロセッサは、回路を複数個のグループに分割す
    る回路分割手段と、前記各グループ内の回路要素を交換
    して分割状態を変更する分割状態変更手段と、変更後の
    分割状態における所定の目的関数を算出して当該プロセ
    ッサの処理の停止及び他プロセッサの処理の起動を制御
    する制御手段とを有し、i番目(i=1〜n)のプロセ
    ッサの前記制御手段は、前記分割状態変更手段により所
    定回数の繰り返し変更の後、前記目的関数が改善される
    分割状態があった場合には、i+1番目(i=nの場合
    には1番目)のプロセッサを起動して該プロセッサ内の
    前記分割状態変更手段に該分割状態を供給することを特
    徴とする配置処理装置。
JP3278239A 1990-11-29 1991-09-30 配置処理装置 Expired - Fee Related JP2941520B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3278239A JP2941520B2 (ja) 1990-11-29 1991-09-30 配置処理装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP32572690 1990-11-29
JP2-325726 1990-11-29
JP3278239A JP2941520B2 (ja) 1990-11-29 1991-09-30 配置処理装置

Publications (2)

Publication Number Publication Date
JPH056410A JPH056410A (ja) 1993-01-14
JP2941520B2 true JP2941520B2 (ja) 1999-08-25

Family

ID=26552780

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3278239A Expired - Fee Related JP2941520B2 (ja) 1990-11-29 1991-09-30 配置処理装置

Country Status (1)

Country Link
JP (1) JP2941520B2 (ja)

Also Published As

Publication number Publication date
JPH056410A (ja) 1993-01-14

Similar Documents

Publication Publication Date Title
JP2895129B2 (ja) 論理セルの配置処理方法及び論理セルの配置処理装置
US6480991B1 (en) Timing-driven global placement based on geometry-aware timing budgets
US10831972B2 (en) Capacity model for global routing
JPH077427B2 (ja) ノードの相互接続方法
US20050166169A1 (en) Method for legalizing the placement of cells in an integrated circuit layout
US6958545B2 (en) Method for reducing wiring congestion in a VLSI chip design
JP3220250B2 (ja) セル自動配置方法
US9165103B1 (en) Methods, systems, and articles of manufacture for tessellating and labeling routing space for routing electronic designs
JP2941520B2 (ja) 配置処理装置
Kim et al. ProperPLACE: A portable parallel algorithm for standard cell placement
US10606976B2 (en) Engineering change order aware global routing
US5631842A (en) Parallel approach to chip wiring
Wu et al. Antenna avoidance in layer assignment
US6725437B1 (en) Performance groups-based fast simulated annealing for improving speed and quality of VLSI circuit placement
JPH0567178A (ja) 自動配線処理方法
JP3215215B2 (ja) 論理セルの並列配置処理方法
US5875118A (en) Integrated circuit cell placement parallelization with minimal number of conflicts
JP3238232B2 (ja) 半導体集積回路の自動配線方法
JP2575564B2 (ja) 自動マクロ最適順序化方法
Sadakane et al. A congestion-driven placement improvement algorithm for large scale sea-of-gates arrays
JP2736104B2 (ja) 半導体集積回路の論理セルの配置方法
JP2777149B2 (ja) 集積回路レイアウトの設計変更方法
Lim et al. Performance Driven Placement with Global Routing
SE516166C2 (sv) En anordning och ett förfarande relaterande till timing av kretsar
JPH10116910A (ja) モジュール配置方法及びモジュール配置プログラムを記録した媒体

Legal Events

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

Free format text: PAYMENT UNTIL: 20090618

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20090618

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20100618

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees