JPS62128166A - 複数の集積回路エレメントの配置を決定する方法 - Google Patents

複数の集積回路エレメントの配置を決定する方法

Info

Publication number
JPS62128166A
JPS62128166A JP61257111A JP25711186A JPS62128166A JP S62128166 A JPS62128166 A JP S62128166A JP 61257111 A JP61257111 A JP 61257111A JP 25711186 A JP25711186 A JP 25711186A JP S62128166 A JPS62128166 A JP S62128166A
Authority
JP
Japan
Prior art keywords
elements
score
placement
grid
location
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.)
Pending
Application number
JP61257111A
Other languages
English (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS62128166A publication Critical patent/JPS62128166A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Architecture (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 A、産業上の利用分野 この発明は、一般に集積回路のレイアウトに関するもの
であり、特に、集積回路のエレメント間の接続の長さが
最小になるように、集積回路内のエレメントの配列を決
定する方法に関するものである。
B6従来技術及び発明が解決しようとする問題点多くの
種類の集積回路では、相互接続を必要とする画定された
エレメントが多数ある。相互接続は、エレメントを配列
する順序がすぐにはわからないものであることが多い。
エレメントをチップ上に一見して無作為に配置し1次に
必要な相互接続を行なうことができる。この状況は、メ
モリ・セル、それに接続された駆動回路および入出力回
路が自然な順序で配列されている半導体メモリとは対照
的である。しかし、エレメントを無作為に配列すると、
相互接続が非常に複雑になる傾向がある。したがって、
相互接続の問題が簡単になるようにうまくエレメントを
配置することが望ましい。必要な1組の相互接続を評価
するのに使用できるスコア(得点)計算方法がいくつか
ある。その1つは、エレメントから伸びる配線の距離を
推定し、すべてのエレメントについての距雅を合計して
得られるスコア(得点)である。したがって、最小のス
コアが望ましい。もちろん、他のスコア付は法も可能で
ある。
チップ上にエレメントがすべて配置されると、その配置
のスコアを評価することができる。もちろん、配置を変
えるとスコアが良くなることがある。残念ながら1通常
はエレメントが多すぎて。
可能なすべての配置のスコアを求めることはできない。
したがって、スコアを使って妥当な時間内に最適に近い
、または許容できる配置を見つけるという問題がある。
この種の配置が必要な集積回路の1つのクラスは、構造
化アレイ、すなわちゲート・アレイを使ったLSIおよ
びVLSIチップがある。このレイアウトでは、相互に
関係する多数の個別エレメントを自動的に配置する高速
で効果的な方法が必要である。各エレメントは二次元の
表面に配置しなければならず、またエレメントの長さと
幅は様々である。したがって、どれに付随する問題は、
利用されていないチップ上の面積が最小になるように、
これらのエレメントをはめ込むことである。
エレメントの配置を移動するのに一般的に使用される2
つの方法は、′ペアワイズ・インターチェンジ”法およ
び“インサート・アンド・バンプ法と呼ばれるものであ
る。これらの方法は、非常に大きい二次元問題に適用し
た場合、特に配置されるニレメンI−の寸法が異なる場
合には、固有の欠陥がある。
“ペアワイズ・インターチェンジ”法は、位置を交換す
るとスコアが改善される寸法の類似した2つのエレメン
ト、またはエレメント群を見つける方法である。寸法の
類似する2つの物体を見つけるという制約によって、あ
る物体をどこに配置できるかという点で柔軟性が狭まる
。また、互にスコアを改善する2つの物体を見つけると
いう制約により、移動の柔軟性も狭くなる。これらの制
約によって、移動可能の数が限定され、したがって発見
的展開過程の速度が遅くなったり妨げられたりする。こ
の方法を用いる際に必要な計算時間は、大きな問題に適
用した場合、従来がらずっと過大であった。
一般に用いられるもう一つの方法である1゛インサート
・アンド・バンプ”法は、エレメントが個々に配置され
、1度に1つずつ、新しい位置に挿入されるので、エレ
メント、の移動に柔軟性がある。
この方法は一般に、エレメントが正当性を保つ、1方向
に“バンプ”する(追出す)ことだけが必要な、−次元
配置問題の解決に用いられる。各移動のスコア付けは、
エレメントを新しい位置に挿入する直接効果と、移動に
よりエレメントがオフセットされる二次効果を含んでい
る。この方法を二次元の問題に適用すると、すべてのエ
レメントを“X”方向と“y D1方向にバンプするこ
とができる。エレメントの挿入によって生じるオーバー
ラツプを解消するには、両次光での評価が必要であり、
おそらく著しいリップル効果を生じる。この格納手続に
は効果的で高速の方法が無いため、この方法は二次元配
置には有効ではない。
上記の二つの一般的方法のほかにも、二次元アレイ中に
エレメントを配置する方法は多数知られている。米国特
許第3654615号明細書には。
すべてのエレメントを、残りのエレメントに対する接続
性が最大になるように、優先順位の順序に配列する方法
が開示されている。優先順位リストで第1位のエレメン
トが、予定の中央位置に配置され、第2位のエレメント
がその隣りの位置に配置される。その後、優先順位リス
ト中の残りのエレメントが、配置が外方に進展するよう
に、最良の接続性スコアをもたらす位置に順次配置され
る。
米国特許第3654072号および第3702004号
明細書には、コネクタに接続されるデバイスを、コネク
タの次に配置する方法が開示されている。その後、デバ
イスに、すでに配置されているデバイスへの接続の百分
率に応じたスコアを付ける。スコアが最良のデバイスを
、配線性が最良の位置に配置する。スコアを再計算して
、すべてのデバイスが配置されるまで、この方法を繰り
返す。デバイスがすべて初期配置されると、ペアワイズ
・インターチェンジを行なって、スコアをさらに改善さ
せる。これとやや類似しているが、米国特許第3621
208号明細書にも、相互接続の長さにもとづく順序で
デバイスを考11して、予め割当てた行中のデバイスを
相互接続する方法が開示されている。
レイモンド(Raymond)は、IBMテクニカル・
ディスクロジャ・ブレティン(Technical D
isclosureBulletin) 、Vol、 
13、N001.1970年6月、pp、274−27
6である配置方法を開示している。この方法では、まず
エレメントを無作為に配置する。その後、各デバイスを
試みに他のソケット中に配置する。新しく配置したデバ
イスが、既にそのソケット中にあるデバイスに接続され
た場合、それらのデバイスを交換する。これにより、線
形割当て問題で使用できる各位置に配置するのに必要な
線の長さを示す、配線マトリックスが作成される。得点
が単調に改善されないこともあるものの、より良いスコ
アを得るためにこの手順を繰返すことができる。
ドナス(Donath)は、IBMテクニカル・ディス
クロジャ・ブレティン、 Vol、17.No、10゜
1974年3月、pp、3121−3125に、エレメ
ントを高位レベルの階層に集め、順次下位レベルに分割
する配置法を開示している。まずエレメントを階層ツリ
ーの各ノードに無作為に割当てる。その後、グラフ理論
法で交換を行なって、接続性を改善する。
ラリエ(Lallier)、ヒクソン(Hickson
) 、およびジャクソン(Jackson)は、英国電
子設計自動化会議(Electronic Desig
n Auton+ation Conferencei
n England)  (1981年9月1〜4日)
で、゛′ゲート・アレイ・チップの自動レイアウト・シ
ステム(A System for Automati
c Layout of GateArray Chi
ps)”と題する論文を発表した。この論文はIBMの
TR19,90024として、バーリントン・テクニカ
ル・ブレティン(BurligtonTechnica
l Bulletin)で配布されている。この方法は
、・関連するエレメントを高位の階層レベルに集めるも
のである。エレメントをまず無作為に配置する。その後
、一対毎の交換または単一エレメントの移動によってス
コアを改善し、暫定スコアを計算してから最良の配置を
選定することができる。
したがって、この発明の目的は、最良のスコアを与える
のに役立つ配置方法を提供することにある。
この発明のもう一つの目的は、少数のステップにより、
最適に近い配置を実現することにある。
この発明のもう一つの目的は、配置手順が不必要に複雑
にならずに、大きいエレメント内でサブエレメントを再
配置できる配置方法を提供することにある。
C1問題点を解決するための手段 この発明を要約すると、エレメントをまず無作為に配置
し、この無作為の配置にスコア(得点)付けする配置方
法である。各エレメントに優先順位を割当てる。次にエ
レメントを優先順位の順に、最良のスコアを与える利用
可能なスペースに挿入する。すべてのエレメントを置き
換えた後、この新しい配置を最後の最良のスコアと比較
する。新しいスコアのほうが良ければ、この新しい配置
を保存する。そうでない場合は、ある回数だけ再配置を
繰り返してi、スコアが改善されなくなるまで、さらに
再配置を試みる。
D、実施例 この発明では、第2図に示すように、チップ領域1を、
基盤目状に配列された等面積のグリッド位置12に分割
する。その構成エレメントがチップ領域10上に配置さ
れているアレイのモデルは。
一般に選択された1つのグリッド位置12に個々のエレ
メントを配置したものである。特定のグリッド位置12
内のエレメントの配置は、そのグリッド位置がそのエレ
メントを収容できる場合、正当である。
この発明は1階層グリッド・システムを意図したもので
ある。第1の、すなわち最高位のレベルでは、グリッド
構造は第1図に示すように、比較的粗い。各階層レベル
で配置を行なう。その後、グリッドを第3図に示すよう
に再分割する。第2レベルのグリッド位置14は、その
大きさが前のレベルのグリッド位置12の大きさの4分
の1である。階層グリッド法には、大きいエレメントの
中の多数のサブエレメントを関連づけるクラスタ技法が
付随する。この大きいエレメントは、寸法は十分画定さ
れているが、形状は画定されていない。集合エレメント
は、その形状に関係なく、大きいグリッド位置12中に
配置できる。ただし、階層中のある点、おそらく第3図
の第2レベルでは、配置されるエレメントの寸法と形状
の両方が重要になる。しかし、大きいグリッド位置12
内にあるクラスタのすべてのサブエレメントの以前の配
置が、長時間の過程が必要でない良好な出発点となる。
まず高位の階層レベルの解を見つけると、さらに詳細な
、局部的配置関係によって制約されずに、全体的配置関
係に焦点を定めて、それを解決する配置が可能になる。
この方法は、グリッドの数および配置されるエレメント
の数が多い場合、#に有効になる。形状の画定されてい
ないエレメントを、高位レベルに配置することで、さら
に近似的で寛大な、したがって実行が速い配置方法が可
能になる。
階層配置の各レベルで1反復配置法を実施する。
配置の利点の明確な尺度を与える、スコア付はアルゴリ
ズムが必要となる。何らかの重要な尺度にもとづいて、
エレメントに優先順位を付ける。優先順位の高いエレメ
ントは、以前のステップで配置された他のエレメントに
比べて最高のスコアをもたらすグリッド位置に配置され
る。次に、優先順位リスト中の各エレメントについて、
この過程を順次繰返す。すべてのエレメントが交換され
ると、合計スコアを計算し、優先順位リストによって順
序付けを行なう前に得られたスコアと比較する。そのス
コアの方が良い場合は、新しい位置がこれまでの最良の
配置として記憶される。次に、最後の配列がそれより悪
いスコアであっても、最後の配列から反復過程を繰返す
。一定回数だけ反復した後、それ以上再配列してもスコ
アがそれ以上改善されなくなるまで、または、予定回数
だけ反復を試みるまで、ある階層レベルで反復配置過程
を繰返す。次に、グリッドのサイズを縮小して、次の階
層レベルを実行する。
エレメントを移動するのに用いるスコア付けの基準は、
計算を速く行うことができ、しかも意味のある配線性の
モデルであることである。可能なスコア付はアルゴリズ
ムは多数あるが、ここで説明するのは、配線相互接続の
長さに関するものである。
ネットとは、2つ以上のエレメントをそれに接続しなけ
ればならない相互接続である。各ネットは、そのネット
に接続される各エレメントの配線リストが付随している
。スコアが必要な場合、各ネット毎に、そのネットが接
続されるエレメントをすべて含む長方形を計算する。そ
の長方形の半周が、そのネットの範囲を示す尺度である
。すべてのネットの半周の合計が合計スコアである。も
ちろん、スコアが低いほど、必要な相互接続が短かくな
るため、スコアは良くなる。
この発明の単一階層レベルでの操作のフローチャートを
第3図に示す。最初のステップ16でデータが入力され
、プログラムが初期化される。高位の階層レベルでは、
データはエレメント、その寸法、および1組のネットへ
の相互接続からなる。
次に、第2のステップ18で、エレメントがグリッドに
割当てられる。最高の階層レベルでは、この割当ては無
作為割当てである。それより低位のレベルでは1割当て
は、以前の階層レベルに基づくグリッドの転位を含む。
各グリッド位置には、その位置がどれだけ配置されたエ
レメントによって占められているかを記録する、占有メ
モリが付随している。占有メモリが、その新しいエレメ
ントの大きさを収容できる十分なスペースが残っている
ことを示した場合にのみ、エレメントを正当に配置でき
る。エレメントがその位置に配置されると、その位置の
占有メモリは、その配置を反映するように調節される。
この種の配置では、エレメントの形状は重要ではない。
形状が重要になるのは、後述のように、これより低位の
階層レベルだけである。
最初の配置では、エレメントはグリッド位置12中に無
作為に配置される。この発明の発明者らは、エレメント
をどのように配列するか何らかの予想概念にもとづいて
最初の配置を行なった場合、与えられたアルゴリズムは
最良の配列をもたらさないことを発見した。すなわち、
最初のスコアが比較的良好で、アルゴリズムはそれに対
してささやかな改善しかもたらさない。しかし、最初の
配置が無作為であれば、最初のスコアは悪いが、アルゴ
リズムによってスコアが大幅に改善され、それより秀れ
た最終配置が得られることを発見した。
最初の無作為配置手順の詳細を第4図に示す。
各グリッド位置12に使用するスペースを消去して、エ
レメントがどのグリッド位置にも割当てられず、すべて
のグリッド位置の占有が0となるようにする。次に、す
べてのエレメントを順次処理するためのループに入る。
未処理のエレメントが残っている場合は、任意の順序で
次のエレメントが得られる。ある無作為グリッド位置を
選んで、処理中のエレメントの領域用のスペースが残っ
ているかどうかを判定するため、その占有率をテストす
る。そのグリッド位置のスペースが不十分な場合、必要
なスペースをもたらすグリッド位置が見つかるまで、こ
の過程を繰返す。スペースが見つかると、そのエレメン
トはその位置を占めていると記録され、そのグリッド位
置の占有が、その位置を現在占有しているエレメントの
大きさを反映するように増分される。
エレメントがすべて配置されるまでループが、繰返され
る。エレメントの大きさが等しくない場合、最終エレメ
ントを収容する十分なスペースを単独で有するグリッド
位置がない状況が起こりうろことは明白である。この問
題は、ポピユレーション管理によって処理される。グリ
ッドは近所からスペースを借りることができる。それが
不十分な場合でも、ニレメン1−は、他のグリッドから
スペースを借りて、′いずれかの″位置に、配置される
。このように、スペース割振りモデルを使うと、近似に
よって領域分裂の開運を避けることができる。
エレメントがすべて配置されると、第1図のステップ2
0で配置にスコアを付ける。スコア付はアルゴリズムを
第5図に示す。配置スコアは最初ゼロに初期化されてい
る。次に集積回路のすべてのネットを順次処理するため
のループに入る。ネットの1つが得られ、そのネットの
ネット・スコアが計算される。各ネットにはそのネット
に接続されるエレメントのリストが付随している。この
とき、エレメントはそれが配置されているグリッド位置
と関連づけられている。このようにしてそのネットに関
連するグリッド位置が決定される。
処理中のネットに関連するすべてのグリッド位置を取囲
む長方形が計算される。この長方形は、関連するグリッ
ド位置の二次元の最小位置および最大位置を見つけるこ
とによって、容易に決定できる。この長方形は、その時
処理中のグリッドの大きさと同じ解像度を有する。すな
わち、たとえばグリッド境界によって直接分離されるデ
バイスの配線の長さが、グリッド位置の離れたかどにあ
るデバイスと同じになる。配置スコアがネット・スコア
だけ増分され、集積回路のすべてのネットについてルー
プが繰返される。配置スコアは、すべてのネット・スコ
アの合計である。
配置されるエレメントの可動性は、そのエレメントの相
対的配置順序に依存する。最初すべてのグリッド位置で
スペースが使用できるため、先に配置されたエレメント
は、はとんどどの位置にも自由に移動できる。この可動
性は、エレメントが配置され、エレメントを配置するの
に使えるスペースを有するグリッドの数が減少するにつ
れて、次第に減少する。この順序依存性のため、先に配
置されたエレメントが有利になる。
第1図のステップ22に示すように、エレメントは好ま
しい順序で配置される。この優先順位リストは、重要度
の高い順に配列されている。ある種のスコアは、各エレ
メント毎に未配置の残りのエレメントに対して、計算さ
れる。重要度の基準はいろいろあるが、ふつうはエレメ
ントの大きさ。
電気的性能、および他のエレメントへの接続性の組合わ
せにもとづく。スコアの値により、優先順位リスト中で
のランクが決まる。この発明の方法で、好ましい順序の
ために優先順位リストを使用することは不可欠ではない
が、この種の配列方法を用いれば、より良いスコアが得
られ、配置が速くある解に収束することがわかっている
−上述の初期ステップが実行されると、一連のループに
入る。外側ループの開始時に、ステップ24で変数No
  PROGRESSが0に初期化される。これは、新
しい配置を使ってスコアを改善しようと試みたが、以前
の最良のスコアを上回る改善が得られなかった反復回数
を示す。ステップ26の、内側ループの開始時に、内側
ループの以前のN回の反復で、進歩がなかったかどうか
を判断するため、No  PROGRESSが、所定の
変数Nと比較される。以前のN回の反復で進歩がなかっ
た場合は、この階層レベルの配置が完了する。ステップ
26のテストに合格せず、スコアを改善するために他の
試みを行なう場合、ステップ28ですべてのエレメント
が交換され、結果がスコア付けされる。この重要なステ
ップ28を、第6図に詳細に示す。
各グリッド位置に付随する占有メモリは、先ずすべての
スペースが最初使用可能になるように0に初期化される
。次に、優先順位リストの好ましい順序に従って:順次
エレメントを処理するためのループに入る。未処理のエ
レメントが残っている場合、重要度が低い次のエレメン
トが得られる。
次にそのエレメントが、第5図のアルゴリズムと類似の
アルゴリズムにもとづいて、各グリッド位置に配置され
、これらの各配置についてスコアが計算される。スコア
付けでは、現在配置中以外のエレメントの位置は、最近
に記録された位置である。すなわち、この位置は、必ず
しもそれまでに最良のスコアをもたらした配列の位置と
は限らない。あるエレメントの記録された位置は、この
交換ステップで記録された位置、または以前のステップ
からの記録位置のどちらかである。すなわち、記録され
た位置は、常に更新されている。配置中のエレメントの
すべてのグリッド位置のスコアが計算されると、最良の
スコアを与えるグリッド位置がそのエレメントのために
選定される。しかし。
現在のエレメントと同じ大きさのエレメントを配置する
スペースがあるかどうかを判定するため。
その位置に付随する占有メモリについてテストが行われ
る。スペースが無い場合は、グリッド位置は使用不能と
マークされ、最良のスコアをもたらす配置のグリッド位
置が再び探索される。
正当なグリッド位置が見つかると、エレメントはその位
置に配置中であると記録され、そのグリッド位置に関連
する占有メモリが、配置中のエレメントの大きさだけ増
分される。これらの記録された位置は、その配置が最良
のスコアを与えないと暫定的に決定された場合でも、後
のスコア付けに用いられる。次に、優先順位リストの次
のエレメントが、ループをもう一度繰返す際に交換され
る。最後に、すべてのエレメントが交換されると、最終
配置のスコアが付けられる。
もう−変節1図を参照すると、最終配置のスコアが以前
の最良のスコアと比較される。現在のスコアが以前の最
良のスコアより良い場合は、その最良のスコアが現在の
スコアと交換され、現在のスコアをもたらしたグリッド
上のエレメントの位置が、最良の位置として保存される
。すなわち、記録された位置が、新しい最良の位置とな
る。次に外側ループの始めに戻ってその最良のスコアが
さらに改善できるかどうか確かめる。
しかし、現在のスコアが以前の最良のスコアと同じくら
いの場合は、No  PROGRESS変数が1だけ増
分されて、内側ループの始めに戻る。
内側ループが次に実行されるとき、エレメントの記録さ
れた位置は、内側ループの以前の実行によって得られた
位置であるが、最良のスコアおよび最良の位置は、内側
ループに入る前から存在しているもののままである。あ
る点で、内側ループをN回連続して繰返しても、スコア
の改善がみられず、No  PROGRESSテXトで
第1図ノ)I/−プから出る。部分的な再配置でスコア
が低下するが、再配置をさらに続けると、以前の最良の
スコアより良いスコアが得られることが観察されている
ため、スコアを改善するための試みを何回も行なうこと
もできる。すなわち、スコア付けでは、再配置順序に局
部的最大値および最小値がある。
しかしある点で、再配置を中止し、最後の最良の配置を
この階層レベルでの最終配置として採用する。
上述の方法を用いて、エレメントの最近の記録位置、お
よびそのエレメントを収容する十分なスペースがあるグ
リッド位置の利用可能性に基づいて、エレメントの移動
が行われる、新しい配置の解が段階的に構築される。最
初、すべてのグリッド位置は空であり、エレメントの移
動は完全に過去の履歴に基いて行われる。次に、エレメ
ントが配置され、グリッド位置の使用可能なスペースを
占めるにつれて、ポピユレーション・モデルおよび配置
の解が次第に現実的になり、意味をもってくる。
この方法はまた、正当性の制限が最小であり、したがっ
てエレメントの移動の可能性が増大するとともに、移動
のスコア付けおよび評価のための計算が非常に簡単かつ
高速になる。″プログレッシブ・インサージョン”を使
用すると、各エレメントは、配置中のエレメントに利用
できるスペースが十分にある最良の位置を探索して見つ
けるだけでよい。そのアルゴリズムは、″ペアワイズ・
インターチェンジ法の場合のように、時間をかける必要
がなく、また互換性のある対抗動作を探すことだけに限
定されず、また″インサート・アンド・バンプ法のよう
に挿入されたエレメントの重複スペースを収容するため
、ある種の″パンピング″パターンを探す必要もない。
″プログレッシブ・インサージョン”法は、エレメント
にさらに柔軟性を与え、特にパ全体的″進化が起こると
きに、配置の初期段階でエレメントのはめ合いよりも配
線性にもとづいて移動が行なえる。
プログレッシブ・インサージョン法では、配置されたエ
レメントが、バス毎に常に位置間を局部的に移行する状
況が生じる。この不断の移動は、エレメントが最後のパ
スと異なる位置に配置され、その新しいグリッドの使用
可能なスペースを吸収した時に生じる。この時、以前に
その新しいグリッドに配置されたエレメントは、それが
少し後に配置される場合、強制的に別の位置に移動させ
られることがある。残りのエレメントが配置されとき、
この間接的なパンピングが、残りの配置ノ゛ス全体に伝
播する。
この不断の移動には、良い効果も悪い効果もある。不断
の移行により、配置日程が早期に膠着状態になるのが防
止される点では有利である。局部的な最適化が望ましい
ときは、配置の最終段階中に有害な効果が生じる。この
不断のパンピングは、局部的な改善のため、エレメント
の移動をスコア付けできる、安定な細部環境の発達を抑
制する。
かかる配置結果の改善は、ふつう上述のプログレッシブ
・インサージョンの後に各配置移動毎に正当なポピユレ
ーション・モデルを維持する、ペアワイズ・インターチ
ェンジ法等の、より拘束された他の何らかの方法を行な
う場合に、みられる。
これらの他の方法は、計算費用が高くなるため、品質の
改善と、必要な計算資源との間で、妥協点を見つけなけ
ればならない。
もう一つの方法は、階層システム中でプログレッシブ・
インサージョンを行うことである。グリラドの大きさを
漸次小さくして、上述のプログレッシブ・インサージョ
ンを繰返すことができる。
もちろん、エレメントの配置は、以前にエレメントを収
容していた大きいグリッド位置を占める小さいグリッド
の1つの中にエレメントを配置することを除いて、低位
の階層レベルの始めには無作為化されない。
高位の階層レベルではエレメントをクラスタにし、これ
を低位の階層レベルで成分エレメントに分解すると、著
しい改善が得られる。クラスタは、同種間の接続性は大
きいが、他のエレメントとの接続性が小さな、エレメン
トからなる。エレメントのクラスタは、その寸法は十分
に画定されているが、その形状は幾分任意であるため、
上述のプログレッシブ・インサージョン法に特に適して
いる。したがって、高位の階層レベルでは、これらのク
ラスタがグリッド位置にどのようにはまるかを考慮せず
に、大きいグリッド位置にいくつかのクラスタを配置す
ることができる。このためには、その大きさのクラスタ
のためのスペースがあることだけが必要である。
階層のある点で、エレメントの形状が重要になる。これ
は、グリッドの寸法が配置中の微細なエレメントの寸法
に近付いた場合に生じる。その1例がフリップ・フロッ
プである。グリッドの寸法がこれらの寸法に近付くと、
エレメントの形状と寸法の両方を考慮に入れることが必
要になる。たとえば、第7図に示すエレメント16は、
1つのグリッド位置だけの面積を有するが、その形状の
ため縦に隣接した少くとも2つのグリッド位置14を占
めなければならない。
したがって、エレメントの形状が重要になる場合は、プ
ログレッシブ・インサージョン法を修正しなければなら
ない。エレメントが3個以上のセルに重ならない限り、
面積だけに基いてエレメントを連続的に配置できること
がわかっている。すなわち、エレメントの最大寸法は、
グリッドの寸法の2倍以下である。もちろんこの状況で
は、隣接する2つのセルが必要なスペースを有する場合
にのみ、エレメントの配置が可能である。グリッドの寸
法がさらに減少すると、寸法の大き過ぎるエレメントは
いずれも、隣接するグリッド・エレメントを占める正当
な位置に凍結される。この凍結は最終的なもので、エレ
メントはそれ以上移動しない。第7図に示すように、凍
結によってその時点でのグリッド寸法を分割することが
できる。
未配置のエレメントに使用できるスペースの分割をでき
る限り少なくするために、正当なグリッド位置中のすで
に凍結されたエレメントに隣接する位置に凍結されたエ
レメントを配置するように努めるべきである。
最終階層レベルでは、エレメントは寸法制限を超えても
いなくても、すべて凍結される。エレメントがすべて凍
結されるまで、この過程が続けられる。
上述の“プログレッシブ・インサージョン法は速く収束
する高品質の配置の解を得るための新しい方法である。
これにより、正当性の制約が緩和され、そのためこの方
法が全体的進化に非常に有用となる。この方法は、各種
の寸法のエレメントに関する問題に適用できるため、V
LSI配置問題の極めて有効な配置手段となる。もちろ
ん、この方法が果粒回路設計以外の他の種類の配置にも
使用できることは明らかである。
E9発明の効果 集積回路のエレメント間の相互接続の長さが最小になる
ような集積回路内のエレメントを、まず無作為に配置し
た後、最小の再配置ステップで実質的に最適な配置を実
現することができる。
【図面の簡単な説明】
第1図は、この発明を実施する一方法を示すフローチャ
ートである。第2図は、半導体チップ上のグリッドを示
す。第3図は、グリッドの寸法が細かい、別のグリッド
を示す。第4図ないし第6図は、第1図のフローチャー
トの1部分を詳細に示すフローチャートである。第7図
は、グリッド上での形状の画定されたエレメントの凍結
を示す。 10・・・・チップ領域、12.14・・・・グリッド
、16・・・・エレメント、16・・・・初期化および
入力、22・・・・エレメント配置の好ましい順序の決
定、28・・・・全エレメントおよびスコアの結果を交
換。 出願人  インターナショナル・ビジネス・マシーンズ
・コーポレーション 復代理人  弁理士  篠  1) 文  雄第4図

Claims (1)

  1. 【特許請求の範囲】 所定の物理的位置に配置したのち相互接続して機能的集
    積回路を形成するため、複数の集積回路エレメントの配
    置を決定する方法において、(a)各エレメントの予定
    位置を確定するために、各エレメント毎に暫定的に異る
    物理的配置位置を無作為に決定し、 (b)上記の無作為に決定した位置を記録し、(c)上
    記の無作為に決定した位置に応じて、すべてのエレメン
    トに対して配置相互接続スコア(第1のスコア)を付け
    、 (d)各エレメント毎に配置の優先順位を確定し、(e
    )上記の優先順位に従つて、すべての使用可能な位置に
    エレメントを順次配置し、他のすべてのエレメントの最
    後に記録された位置に基づいて、上記の他のすべてのエ
    レメントに関して上記の配置にスコアを付け、最良のス
    コアを得た位置に配置されている上記のエレメントの配
    置を記録し、(f)上記のすべてのエレメントについて
    、ステップ(e)を繰返し、 (g)ステップ(e)および(f)の最後のスコアが、
    上記の第1のスコアより良い場合は、ステップ(e)お
    よび(f)の最後に記録された配置に応じて、上記のす
    べての回路エレメントの配置を暫定的に決定し、かつ上
    記第1のスコアを前記の最後のスコアに等しく設定し、
    そうでない場合は暫定的に決定され以前の配置を維持し
    、 (h)ステップ(g)の最後のスコアが、所定回数順次
    繰返す間に上記の第1のスコアと同じくらい悪くなるま
    で、ステップ(e)、(f)および(れ)を繰返し、こ
    のステップの最後に暫定的に決定された配置が、最終決
    定配置となることの各ステップを含む方法。
JP61257111A 1985-11-21 1986-10-30 複数の集積回路エレメントの配置を決定する方法 Pending JPS62128166A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US800569 1985-11-21
US06/800,569 US4754408A (en) 1985-11-21 1985-11-21 Progressive insertion placement of elements on an integrated circuit

Publications (1)

Publication Number Publication Date
JPS62128166A true JPS62128166A (ja) 1987-06-10

Family

ID=25178749

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61257111A Pending JPS62128166A (ja) 1985-11-21 1986-10-30 複数の集積回路エレメントの配置を決定する方法

Country Status (4)

Country Link
US (1) US4754408A (ja)
EP (1) EP0229248B1 (ja)
JP (1) JPS62128166A (ja)
DE (1) DE3683273D1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03296173A (ja) * 1990-04-13 1991-12-26 Matsushita Electric Ind Co Ltd 部品配置位置改良方法および部品配置位置改良装置

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0770598B2 (ja) * 1986-03-20 1995-07-31 株式会社東芝 半導体集積回路装置の配線方法
US4811244A (en) * 1986-09-26 1989-03-07 Hitachi, Ltd. Drawing information management system
JPH0793358B2 (ja) * 1986-11-10 1995-10-09 日本電気株式会社 ブロック配置処理方式
JPS63199421A (ja) * 1987-02-16 1988-08-17 Toshiba Corp 荷電ビ−ム描画方法
JP2635617B2 (ja) * 1987-09-29 1997-07-30 株式会社東芝 半導体素子特性評価用の直交格子点の発生方法
US5684723A (en) * 1987-11-16 1997-11-04 Fujitsu Limited Device simulation method and device simulator
US4916627A (en) * 1987-12-02 1990-04-10 International Business Machines Corporation Logic path length reduction using boolean minimization
JP2564344B2 (ja) * 1987-12-23 1996-12-18 株式会社日立製作所 半導体集積回路の設計方式
US5159682A (en) * 1988-10-28 1992-10-27 Matsushita Electric Industrial Co., Ltd. System for optimizing a physical organization of elements of an integrated circuit chip through the convergence of a redundancy function
US5032991A (en) * 1988-12-14 1991-07-16 At&T Ball Laboratories Method for routing conductive paths
JP2536125B2 (ja) * 1989-02-15 1996-09-18 日本電気株式会社 配置処理方式
JPH02236779A (ja) * 1989-03-10 1990-09-19 Nec Corp スキャンパス接続方式
JPH02242474A (ja) * 1989-03-16 1990-09-26 Hitachi Ltd 素子配置最適化方法及び装置並びに最適配置判定方法及び装置
JP2863550B2 (ja) * 1989-06-08 1999-03-03 株式会社日立製作所 配置最適化方法及び配置最適化装置と回路設計装置
JP2831703B2 (ja) * 1989-06-23 1998-12-02 株式会社東芝 自動フロアプラン演算装置
US5309371A (en) * 1989-06-28 1994-05-03 Kawasaki Steel Corporation Method of and apparatus for designing circuit block layout in integrated circuit
EP0431532B1 (en) * 1989-12-04 2001-04-18 Matsushita Electric Industrial Co., Ltd. Placement optimization system aided by CAD
US5218551A (en) * 1990-04-30 1993-06-08 International Business Machines Corporation Timing driven placement
US5337252A (en) * 1991-10-01 1994-08-09 International Business Machines Corporation Delta-I noise minimization
JP3220250B2 (ja) * 1992-01-09 2001-10-22 株式会社東芝 セル自動配置方法
US5363313A (en) * 1992-02-28 1994-11-08 Cadence Design Systems, Inc. Multiple-layer contour searching method and apparatus for circuit building block placement
US5493510A (en) * 1992-11-10 1996-02-20 Kawasaki Steel Corporation Method of and apparatus for placing blocks in semiconductor integrated circuit
US5729469A (en) * 1992-12-07 1998-03-17 Matsushita Electric Industrial Co., Ltd. Wiring method and system for integrated circuit
JPH0721229A (ja) * 1993-06-24 1995-01-24 Fujitsu Ltd 分配系付加回路自動発生処理方式
US5481474A (en) * 1993-07-22 1996-01-02 Cadence Design Systems, Inc. Double-sided placement of components on printed circuit board
JPH0786556A (ja) * 1993-09-17 1995-03-31 Nec Corp 四面体分割方式
JPH0793386A (ja) * 1993-09-28 1995-04-07 Fujitsu Ltd Lsi実装設計システム
JPH07152802A (ja) * 1993-12-01 1995-06-16 Nec Corp 配線設計方法
SG68564A1 (en) * 1994-01-25 1999-11-16 Advantage Logic Inc Apparatus and method for partitioning resources for interconnections
JP3192057B2 (ja) * 1994-03-18 2001-07-23 富士通株式会社 配線プログラム生成方法及びその装置
US5495419A (en) * 1994-04-19 1996-02-27 Lsi Logic Corporation Integrated circuit physical design automation system utilizing optimization process decomposition and parallel processing
US5535134A (en) * 1994-06-03 1996-07-09 International Business Machines Corporation Object placement aid
US6272668B1 (en) 1994-12-14 2001-08-07 Hyundai Electronics America, Inc. Method for cell swapping to improve pre-layout to post-layout timing
WO1996024904A1 (en) * 1995-02-07 1996-08-15 Silicon Valley Research, Inc. Integrated circuit layout
US5856927A (en) * 1995-05-01 1999-01-05 Vlsi Technology, Inc. Method for automatically routing circuits of very large scale integration (VLSI)
US5838583A (en) * 1996-04-12 1998-11-17 Cadence Design Systems, Inc. Optimized placement and routing of datapaths
US5812740A (en) * 1996-06-28 1998-09-22 Lsi Logic Corporation Advanced modular cell placement system with neighborhood system driven optimization
US5870312A (en) * 1996-06-28 1999-02-09 Lsi Logic Corporation Advanced modular cell placement system with dispersion-driven levelizing system
US5872718A (en) * 1996-06-28 1999-02-16 Lsi Logic Corporation Advanced modular cell placement system
US5831863A (en) * 1996-06-28 1998-11-03 Lsi Logic Corporation Advanced modular cell placement system with wire length driven affinity system
US5808899A (en) * 1996-06-28 1998-09-15 Lsi Logic Corporation Advanced modular cell placement system with cell placement crystallization
US5835381A (en) * 1996-06-28 1998-11-10 Lsi Logic Corporation Advanced modular cell placement system with minimizing maximal cut driven affinity system
US6030110A (en) * 1996-06-28 2000-02-29 Lsi Logic Corporation Advanced modular cell placement system with median control and increase in resolution
US5867398A (en) * 1996-06-28 1999-02-02 Lsi Logic Corporation Advanced modular cell placement system with density driven capacity penalty system
US5892688A (en) * 1996-06-28 1999-04-06 Lsi Logic Corporation Advanced modular cell placement system with iterative one dimensional preplacement optimization
US6067409A (en) * 1996-06-28 2000-05-23 Lsi Logic Corporation Advanced modular cell placement system
US5870311A (en) * 1996-06-28 1999-02-09 Lsi Logic Corporation Advanced modular cell placement system with fast procedure for finding a levelizing cut point
US6026223A (en) * 1996-06-28 2000-02-15 Scepanovic; Ranko Advanced modular cell placement system with overlap remover with minimal noise
US6085032A (en) * 1996-06-28 2000-07-04 Lsi Logic Corporation Advanced modular cell placement system with sinusoidal optimization
US5914888A (en) * 1996-06-28 1999-06-22 Lsi Logic Corporation Advanced modular cell placement system with coarse overflow remover
US5963455A (en) * 1996-06-28 1999-10-05 Lsi Logic Corporation Advanced modular cell placement system with functional sieve optimization technique
US5844811A (en) * 1996-06-28 1998-12-01 Lsi Logic Corporation Advanced modular cell placement system with universal affinity driven discrete placement optimization
US6189132B1 (en) * 1998-04-09 2001-02-13 International Business Machines Corporation Design rule correction system and method
US6532439B2 (en) 1998-06-18 2003-03-11 Sun Microsystems, Inc. Method for determining the desired decoupling components for power distribution systems
US6385565B1 (en) * 1998-06-18 2002-05-07 Sun Microsystems, Inc. System and method for determining the desired decoupling components for power distribution systems using a computer system
US6792582B1 (en) 2000-11-15 2004-09-14 International Business Machines Corporation Concurrent logical and physical construction of voltage islands for mixed supply voltage designs
US6789241B2 (en) * 2002-10-31 2004-09-07 Sun Microsystems, Inc. Methodology for determining the placement of decoupling capacitors in a power distribution system
US20050257178A1 (en) * 2004-05-14 2005-11-17 Daems Walter Pol M Method and apparatus for designing electronic circuits
US20080133440A1 (en) * 2006-12-05 2008-06-05 International Business Machines Corporation System, method and program for determining which parts of a product to replace
US8413087B1 (en) 2010-03-26 2013-04-02 Cadence Design Systems, Inc. Method and mechanism for implementing region query using hierarchical grids
US8769457B2 (en) 2012-06-30 2014-07-01 International Business Machines Corporation Separate refinement of local wirelength and local module density in intermediate placement of an integrated circuit design
US9209036B2 (en) 2014-02-24 2015-12-08 International Business Machines Corporation Method for controlling the profile of an etched metallic layer

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR1502554A (ja) * 1965-12-01 1968-02-07
US3702004A (en) * 1970-01-08 1972-10-31 Texas Instruments Inc Process and system for routing interconnections between logic system elements
US3653072A (en) * 1970-01-08 1972-03-28 Texas Instruments Inc Process for producing circuit artwork utilizing a data processing machine
US3629843A (en) * 1970-05-11 1971-12-21 Bell Telephone Labor Inc Machine process for assigning interconnected components to locations in a planar matrix
US4495559A (en) * 1981-11-02 1985-01-22 International Business Machines Corporation Optimization of an organization of many discrete elements
US4593363A (en) * 1983-08-12 1986-06-03 International Business Machines Corporation Simultaneous placement and wiring for VLSI chips
US4630219A (en) * 1983-11-23 1986-12-16 International Business Machines Corporation Element placement method
US4615011A (en) * 1983-12-19 1986-09-30 Ibm Iterative method for establishing connections and resulting product

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03296173A (ja) * 1990-04-13 1991-12-26 Matsushita Electric Ind Co Ltd 部品配置位置改良方法および部品配置位置改良装置

Also Published As

Publication number Publication date
EP0229248A2 (en) 1987-07-22
EP0229248A3 (en) 1988-07-20
EP0229248B1 (en) 1992-01-02
US4754408A (en) 1988-06-28
DE3683273D1 (de) 1992-02-13

Similar Documents

Publication Publication Date Title
JPS62128166A (ja) 複数の集積回路エレメントの配置を決定する方法
US5898597A (en) Integrated circuit floor plan optimization system
US6026223A (en) Advanced modular cell placement system with overlap remover with minimal noise
US5808899A (en) Advanced modular cell placement system with cell placement crystallization
US6247167B1 (en) Method and apparatus for parallel Steiner tree routing
US6154874A (en) Memory-saving method and apparatus for partitioning high fanout nets
US6865726B1 (en) IC layout system employing a hierarchical database by updating cell library
US6289495B1 (en) Method and apparatus for local optimization of the global routing
US6175950B1 (en) Method and apparatus for hierarchical global routing descend
US6324674B2 (en) Method and apparatus for parallel simultaneous global and detail routing
US6651235B2 (en) Scalable, partitioning integrated circuit layout system
Pedram et al. Layout Driven Logic Restructuring/Decomposition.
US6085032A (en) Advanced modular cell placement system with sinusoidal optimization
US5909376A (en) Physical design automation system and process for designing integrated circuit chips using highly parallel sieve optimization with multiple "jiggles"
US5963728A (en) Method to partition clock sinks into nets
US5835378A (en) Computer implemented method for leveling interconnect wiring density in a cell placement for an integrated circuit chip
US5831863A (en) Advanced modular cell placement system with wire length driven affinity system
Igusa et al. ORCA A sea-of-gates place and route system
US6487697B1 (en) Distribution dependent clustering in buffer insertion of high fanout nets
US5870312A (en) Advanced modular cell placement system with dispersion-driven levelizing system
US5971588A (en) Advanced modular cell placement system with optimization of cell neighborhood system
US6880143B1 (en) Method for eliminating via blocking in an IC design
US5892688A (en) Advanced modular cell placement system with iterative one dimensional preplacement optimization
US5812740A (en) Advanced modular cell placement system with neighborhood system driven optimization
US5963455A (en) Advanced modular cell placement system with functional sieve optimization technique