JPH077427B2 - ノードの相互接続方法 - Google Patents

ノードの相互接続方法

Info

Publication number
JPH077427B2
JPH077427B2 JP1107911A JP10791189A JPH077427B2 JP H077427 B2 JPH077427 B2 JP H077427B2 JP 1107911 A JP1107911 A JP 1107911A JP 10791189 A JP10791189 A JP 10791189A JP H077427 B2 JPH077427 B2 JP H077427B2
Authority
JP
Japan
Prior art keywords
net
path
paths
band
overflow
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 - Lifetime
Application number
JP1107911A
Other languages
English (en)
Other versions
JPH01320582A (ja
Inventor
ブラツドフオード・ダンハム
ジエローム・ビスル・ヒツクソン、ジユニア
ハーシユ・リユータン
Original Assignee
インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン
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 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン filed Critical インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン
Publication of JPH01320582A publication Critical patent/JPH01320582A/ja
Publication of JPH077427B2 publication Critical patent/JPH077427B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/394Routing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10TTECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
    • Y10T29/00Metal working
    • Y10T29/49Method of mechanical manufacture
    • Y10T29/49002Electrical device making
    • Y10T29/49117Conductor or circuit manufacturing
    • Y10T29/49124On flat or curved insulated base, e.g., printed circuit, etc.
    • Y10T29/49155Manufacturing circuit on or in base
    • Y10T29/49156Manufacturing circuit on or in base with selective destruction of conductive paths
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10TTECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
    • Y10T29/00Metal working
    • Y10T29/49Method of mechanical manufacture
    • Y10T29/49002Electrical device making
    • Y10T29/49117Conductor or circuit manufacturing
    • Y10T29/49124On flat or curved insulated base, e.g., printed circuit, etc.
    • Y10T29/49155Manufacturing circuit on or in base
    • Y10T29/49162Manufacturing circuit on or in base by using wire as conductive path
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10TTECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
    • Y10T29/00Metal working
    • Y10T29/49Method of mechanical manufacture
    • Y10T29/49764Method of mechanical manufacture with testing or indicating

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Electric Propulsion And Braking For Vehicles (AREA)

Description

【発明の詳細な説明】 A.産業上の利用分野 本発明はチップ上のノードを相互接続する方法を説明す
るものであり、詳細にいえば、任意のデバイスのノード
を相互接続する方法を説明するものである。詳細にいえ
ば、本発明はノードを相互接続すべきネットの出発帯域
を生成することを含むものである。出発帯域はネットの
ノードを相互接続するための全パスの部分集合であり、
2本以上の最短長パスを使用してネットの任意の2つの
ナードを接続できる場合に、冗長なパスを含んでいる。
次いで、パス空間に対する需要と供給を比較する関数で
ある評点が最も低い冗長パスが、冗長パスがなくなるま
で、順次除去される。
B.従来技術 大域配線は回路チップの物理的設計にきわめて重要な役
割を果たすものであって、特定のトラックを指定せず
に、ワイヤのネットワークの概略の経路を生成するもの
である(下記参照)。その後、この配線に対して、トラ
ックの詳細な割当てが行なわれる。この2段階の方法
は、カード、基板及びその他のパッケージにも適用可能
である。
多くの大域配線プログラムを、これらがネットの再構成
に用いるアルゴリズムにおいて、「セグメント・ムー
バ」として記述することができる。ネットの経路を再指
定するには、プログラムはまず、移動の対象として、1
つの特定のセグメント(「列」または「行」に沿って延
びているワイヤの直線部分)を識別する。通常、チップ
上において、ワイヤのトラフィックの経路は、1枚また
は複数枚のプレーンにおいては垂直に、またほかのプレ
ーンにおいては水平に指定される。「列」という語は垂
直方向の平行ワイヤ・チャネルの集合体を規定し、
「行」という語は水平方向の水平ワイヤ・チャネルの集
合体を規定するものである。したがって、セグメントは
移動される可能性のあるものとして識別された後、ほか
の平行な列または行に再配置され、次いでワイヤのほか
の部分が移動されたセグメントをネットのほかの部分に
再接続するために、調節される。最後に、新しい構成を
以前のものと比較し、1つだけが保存される。ワイヤの
接続に関連する調整は、比較的単純な態様で処理され
る。このことは計算時間を短くしておくのに役立つもの
であるが、ワイヤがきわめて長い、最適でない解決策を
もたらすものである。
ワイヤ・セグメントを移動して、よりよい経路を見出す
大域経路指定アルゴリズムは、成功しない多くの移動を
試みなければならない。1つのネットの1回だけの見直
しで、いくつかのセグメントのいくつかの異なる位置へ
の再配置を考慮することがあるので、計算量はきわめて
多くなる。工程の初期には、セグメントの満足のいく再
配置位置を見つけだすのはさほど困難ではない。しかし
ながら、「余分の」配線空間が比較的少ない、設計工程
の終り近くでは、移動を成功させることはきわめて困難
となる。セグメント移動プログラムは評点が最も低い
(下記参照)多くの移動を試みなければ、受け入れられ
る評点を、最終的に発見することはできない。これらの
プログラムは、簡単な設計については迅速に回答を発見
するが、難しい設計の場合、計算時間はかなり多いもの
となる。
このようなセグメント・ムーバの1つが、第8図設計オ
ートメーション・ワークーショップ会報(Proceedings
of the Eighth Desgn Automation Workshop)、1971
年、pp.155−169のアキヒロ・ハシモト(Akihiro Hashi
moto)及びジェームズ・スティーブンス(James Steven
s)による「大アパーチャ内のチャネルの割当てを最適
化することによるワイヤの経路指定(Wire Routing by
Optimizing Channel Assignment within Large Apertur
es)」という論文に記載されている。ハシモト及びステ
ィーブンスは数本の平行「チャネル」を含んでいる「空
間」を定義しているが、この場合、各チャネルが保持で
きるワイヤは1本だけである。彼らは最初、他のネット
との輻湊を無視して(下記参照)、空間の中心を通し
て、各ネットの最適な経路指定を行なった。次いで、問
題となるすべての領域が除去されるまで、彼らはセグメ
ントを過密となっている空間から、過密ではない近傍の
空間へ移動させた。
大域経路指定のもう1つの一般的な手法は、メイズ・ラ
ンナ法によるものである。メイズ・ランナ・アルゴリズ
ムは、少なくとも電子計算機に関するIRE会報(IRE Tra
nsactions on Electronic Computers)、1961年9月、p
p.346−365にC.Y.リー(Lee)が「パス接続のためのア
ルゴリズム、及びその応用(An Algorithm for Path Co
nnections and Its Application)」を発表してから、
経路指定の問題に広く使用されている。もう1つのメイ
ズ・ランナ手法である、第6回設計オートメーション・
ワークショップ会報(Proceedings of the Sixth Desig
n Automation Workshop)、pp.25−41のR.ヒッチコック
(Hitchcock)の「セル状配線及びセル状モデリング手
法(Cellular Wiring and Cellular Modeling Techniqu
e)」は、各セルが数本のワイヤを含むことのできる直
交セルのアレイにおけるメイズ・ランナを説明してい
る。第10回設計オートメーション・ワークショップ会報
(Proceedings of the Tenth Design Automation Works
hop)、pp.44−48、1973年のJ.C.フォスタ(Foster)の
「多層プリント配線バックプレーンのための経路指定プ
ログラム(A Router for Multilayer Printed Wiring B
ackplanes)」は、数本のトラックのそれぞれのチャネ
ルを介して経路指定し、配線を各プレーン上の単一の方
向に制約し、バイア(下記参照)及びトラックの両方を
各接続部に利用できるようにするメイズ・ランナを記載
している。「階層経路指定について(On Hierarchical
Routing)」、ジャーナル・オブ・ディジタル・システ
ムズ(Journal of Digital Systems)、Vol.5、No.3、1
981年9月、にJ.ソーカップ(Soukup)及びJ.C.ロイル
(Royle)が発表した「ルーズ・ルータ」など、大域配
線のためのメイズ・ランナの各種の改変形が開発されて
いる。
経路指定の主要な方法としてメイズ・ランナ・アルゴリ
ズムを使用した大域配線プログラムには、多くの問題が
ある。最大の問題は、多くのピンを有するネットの経路
指定が困難なことである。基本的なメイズ・ランナが扱
えるのは、2点間の接続だけである。ピンが3本以上の
ネットはいくつかの接続に分けなければならないが、経
路指定を開始する前に、ネットの最善の分解方法を見出
せないということである。第2の問題は解決策を網羅的
に探索しなければならないことであるが、これはメイズ
・ランナの利点の1つと考えられることがしばしばある
ものである。網羅的な探索には、特に接続すべき点が広
く広がっている場合には、相当な時間がかかる。多くの
メイズ・ランナの改変形が、計算時間と記憶空間を節約
するためだけに導入されている。さらに、このアルゴリ
ズムでは、多くのバイアがあり、ワイヤ長が付加された
メンダの経路を導入するのが容易である。これらのメン
ダ経路は作業の初期において、混雑評点を改善すると考
えられるが、慎重に管理しない限り、作業の後期におい
て困難を引き起こすものである。第3の問題はほとんど
のメイズ・ランナの付加的な特性である。すなわち、経
路指定を行なわなければならない最初の結線には、競合
する混雑が存在しないが、これは他の結線の経路指定が
行なわれていないからである。結線の経路指定が多くな
るにしたがって、混雑が増加し、付加的なネットの経路
指定を行なう際に、重要な要因となる。経路指定の対象
となる最後の結線にはしばしば、競合するきわめて多く
の混雑の問題が生じ、これは複雑な設計を成功させるこ
とをほとんど不可能とするものである。この付加方法
は、最後の結線を犠牲にして、最初の結線を援助するも
のであるが、結線を整理して、これらのすべてを経路指
定できるようにする方法はない。ネットの最初の経路指
定を行ない、ネットの再経路指定を行なう(メイズ・ラ
ンナ・プログラムがこれを行なう場合)アルゴリズム1
つだけでは、メイズ・ランナ・プログラムは限定された
ものとなる。作業中に手順及び評点パラメータを変更す
ると、この制限を軽減できるが、完全に解決できるもの
ではない。
チップのための大域配線プログラムをバーモンド州のIB
Mバーリントンのチームが開発した。このプログラムはI
BMテクニカル・レポートTR19.0522(IBM Technical Rep
ort TR19.0522)のJ.B.ヒクソン・ジュニア(Hickson,J
r.)、P.H.バーゲロン(Bergeron)及びJ.W.ソーバルド
ソン(Thorvaldson)による「バーリントンの大域配線
プログラム(Burlington′s Global Wiring Progra
m)」、1981年9月で説明されている。大域配線方法の
要約を含む、このチップの物理設計システムの概要は、
電子設計オートメーションに関するヨーロッパ会議会報
(Proceedings of the European Conference on Electr
onic Design Automation)」、pp.54−58、1981年9
月、のK.W.ラリア(Lallier)、J.B.ヒクソン・ジュニ
ア、及びR.K.ジャクソン(Jackson)による「ゲート・
アレイ・チップの自動レイアウト・システム(A System
for Automatic Layout of Gete Array Chips)」で発
表されている。パーリントンで開発されたプログラム
は、上記で概略を示した「セグメント・ムーバ」の概念
に基づいたものである。電気通信総合研究所会報(Revi
ew of the Electrical Communication Laboratorie
s)、第25巻、第5−6号、1977年5−6月、に掲載さ
れた日本電気のヨシ・スギヤマ(Yoshi Sugiyama)、カ
ズヒロ・ウエダ(Kazuhiro Ueda)、ケンジ・カジ(Ken
ji Kani)、及びマサノリ・テラモト(Masanori Teramo
to)の「マルチチップLSI経路指定プログラムCOMPAS(A
Multichip LSI Routing Program COMAS)」は、他の大
域配線システムを説明したものである。混雑の他に、こ
のプログラムはネット経路再指定を行なう場合の電気的
特性による長さの制約を考慮したものである。再経路指
定すべきネットは、混雑したチャネルを通るもの、また
は長いネットのいずれかから選択される。
すべてのネットの経路指定を行なった後、ネットの経路
再指定を行なうには、配線構造を阻害することを余儀な
くされる。経路の再指定を続けると、領域に割り振られ
るワイヤの量は、利用できる配線空間の量ときわめて近
くなる。すべてのネットのワイヤは、段階的に「完成
度」、「滑らかさ」及び「精度」の面での品質が高まっ
た構造にまとめられる。この構造は部分的には「偶然」
によるものであり、また部分的には個々の設計の特徴に
よるものである。構造が阻害された場合、あるいはプロ
グラムを若干条件を変えて再度実行した場合、偶然によ
るこれらの構造面での態様は、きわめて異なったものに
なるであろうが、個々の設計に固有なものはほぼ同じも
のとなろう。構造が完全なものになればなるほど、ネッ
トの移動を評価する既存のモードによる「トラフィック
・ジャム」または完全な停止が生じるまで、変更に対す
る抵抗が高まり、1回も移動を行なえなくなる。
すべての大域配線の手順は適切な解決策をもたらせるよ
うに、この抵抗を解決するのに役立つ機能を含んでいな
ければならない。これらは「トラフィック・ジャム」機
構と呼ばれることがある。(「自然選択による設計(De
sign by Natural Selection)」、B.ダンハム(Dunha
m)、D.フリッシャル(Fridshal)、R.フリッシャル(F
ridshal)及びJ・H・ノース(North)、IBMリサーチ
・レポートRC−476(IBM Research Report RC-476)、1
961年、参照。)大域配線におけるネットの経路再指定
の初期の段階で、個々の問題の解決に必要な構造によっ
て、その最善の形態を発見できるように、偶然形成され
た構造を細分するのは、避けられないところである。こ
れらの初期の段階に適したトラフィック・ジャム機構
は、豆を一杯に入れたふるいを振って、豆を孔から落と
してやることに類似している。
IBM社内では、数種類の大域配線プログラムが作成され
ている。第14回設計オートメーション会議会報(Procee
dings of the Fourteenth Design Automation Conferen
ce)、pp.298−302、1977年、のK.A.チェン(Chen)、
M.フォイア(Feuer)、K.H.コーカーニ(Khokhani)、
N.ナン(Nan)及びS.シュミット(Schmidt)による「チ
ップ・レイアウトの問題:自動配線手順(The Chip Lay
out Problem:An Automatic Wiring Procedure)」は大
域配線を説明したものであって、この自動配線プログラ
ムが1972年に完成したと述べている。このプログラムの
詳細な説明は、1974年7月22日付けのIBMテクニカル・
レポートTR22.1796(IBM Technical Report TR 22.179
6)のクオ・アン・チェン(Kuo An Chen)の」配線可能
度分析プログラムII(WAP II):基本アルゴリズム及び
ユーザの手引き(Wirability Analysis Program II(WA
P II):Basic Algorithm and User′s Guide)」に収め
られている。後者のレポートにおいて、チェンはプログ
ラムの初期のバージョンがワイヤを移動させるものであ
るが、彼の新しいアルゴリズムはそうではないと述べて
いる。チェンは混雑を無視し、「スタイナツリー」法に
よって、すべてのネットの最初の経路指定を行なった。
ネットの再構成は接続の対象となるレクタングルの包囲
点を定義し、接続の対象となるすべての点を垂直及び平
行の両方向で貫通してレクタングルを横切るワイヤを挿
入し、次いで必須の部分だけが残るようになるまで、ル
ープ中の最も費用のかさむ部分を除去する。チェンの方
法と本発明の以下の相違点はすべて本発明に有利なもの
であるから、本発明で提示される手法を使用して、はる
かに困難なワイヤの経路指定の問題を解決することがで
きる。(1)個々のネットの最初の経路指定において、
チェンは本発明が行なっているように、最初の領域構造
をもたらして、除去工程での将来の選択の幅を最大限の
もとすることを行なっていない。(2)最初の領域構成
を重畳させておらず、したがってセグメントごとに徐々
に除去していくことができない。(3)問題点を隔離
し、オーバーフローを除去するボックス法は、チェンの
手法の一部ではない。これらの相違は、チェンの方法で
の選択が早すぎるもので、かつ恣意的な態様で行なわれ
るものであって、これによりある意味で望ましくない、
解決が困難な構造を構築することを意味している。ボッ
クス法(問題のある領域に対して新しい最大限の選択の
幅をもたらす)がないことは、構造に当初恣意的に構築
されたものの再調整を行なえる範囲がきわめて限定され
たものであることを意味する。
C.発明が解決しようとする問題点 本発明の目的は、冗長パスの除去による大域配線方法を
提供することである。
D.問題点を解決するための手段 本発明は多数のネットのノードを互いに接続する方法を
説明する。この方法はネットのおのおのに対して出発帯
域を生成することからなっている。出発帯域は各ネット
のノードを相互に接続するために使用される任意のセッ
トのパスであるが、任意の所定ネットの任意の2つのノ
ードを相互接続するために、2本以上の最短の長さのパ
スを使用できる場合に、冗長なパスを含むものである。
本方法の次の段階は、上述の出発帯域によって作成され
たパス空間に対する累積需要を決定することである。次
いで、ネットが上記のものから選択され、多数の冗長パ
スが選択されたネットから選択される。次いで、上記で
求められた累積需要が、上記で選択された冗長パスが使
用する領域で利用できるパス空間の供給と比較される。
次いで、少なくとも上記の比較の関数である評点によっ
て、評点を決定する。次いで、上記で選択されたネット
に対する出発帯域から、冗長パスが削除される。なお、
この冗長パスは上記の選択されたパスのうち最も評点が
低いものである。この工程は、すべての冗長パスが各ネ
ットの出発帯域から除去されるまで、他のネット及びパ
スの選択時にも繰り返される。この工程が繰り返される
たびに、この工程を以前に反復したときに削除されたパ
スを含めずに、累積需要が再計算される。最後に、上記
において、パス空間が得られるのに削除されなかったパ
スを使用して、各ネットのノードが互いに接続される。
しかしながら、上記の工程を使用して、すべての冗長パ
スが除去された場合、及びパス空間に対する需要が依然
供給を上回っている場合には、以下で説明する方法を使
用する。まず、パス空間に対する需要が供給を超えてい
る領域を選択する。次いで、拡張帯域が各部分集合に対
して生成される。次に、部分集合とは、選択された領域
内のネットの部分を指し、選択された領域の残りのパス
と周辺の交差部で点として形成されたノードを含んでい
る。残りのパスという語は、上記で述べた冗長パスの削
除後に残っているパスを指す。拡張帯域とは、各部分集
合のノードを相互接続するのに使用されたパスの集合で
あり、冗長パスを含んでいる。次に、拡張帯域に対して
選択された領域に必要なパス空間に対する累積需要が決
定される。次いで、選択された領域で、部分集合が選択
される。次に、選択された部分集合に対する拡張帯域の
多数の冗長パスが選択される。次いで、パス空間に対す
る需要が、選択された領域で利用できるパス空間の供給
と比較される。次いで、上記で選択された冗長パスのお
のおのに対する評点が決定される。この評点は少なくと
も、上述の比較の関数である。次に、パスを選択された
冗長パスから削除する。なお、このパスは上記で決定さ
れた評点が最も低いものである。この工程は、領域の拡
張帯域のおのおのに冗長パスがなくなるまで、繰り返さ
れる。パスが削除されたとき、この工程を繰り返すたび
に、パス空間に対する累積需要を再計算しなければなら
ないことを忘れてはならない。次に、ワイヤ空間に対す
る需要が供給を上回っている、他の選択された領域に対
して、上記の工程を繰り返す。最後に、削除されない残
っているパスにパス空間が利用できる場合に、各ネット
のノードを削除されないパスと接続する。
E.実施例 チップ、カード、または基板の論理設計においては、い
くつかの回路ノードを中間ワイヤによって、互いに接続
する必要がある。1つの回路のノードが第2の回路のノ
ードに、また第3の回路のノードに連結される。他のノ
ードが上述の3つのノードに接続されないものと仮定す
ると、3点の「ネット」が論理的に指定される。性能の
要件以外に、チップの論理ステートメントは使用すべき
各種の回路タイプ、たとえば230の3ウェイOR、560の4
ウェイANDなどをすべて指定するものである。個々の回
路のそれぞれには、独自の名前または番号、ならびに必
要なすべての固有なノードの結線、すなわちネットの詳
細なリストが与えられる。
物理設計は物理的レイアウトのための青写真であって、
すべての基本回路が正確に配置され(この工程を「プレ
ースメント」と呼ぶ)、また必要なすべてのネットの結
線が正確に配置される(この工程を「ワイヤ経路指定」
と呼ぶ)。「プレースメント」及び「ワイヤ経路指定」
はすべて、使用されるテクノロジに適用されるいわゆる
「基本原則」にしたがって行なわれる。
たとえば、特定のテクノロジにおける所定の配線プレー
ンには、平行なワイヤの間の最短距離が常に指定され
る。
ワイヤ経路指定は通常、次の2段階の工程に分割され
る。1)「大域配線経路指定」と、2)「精密埋込み」
である。大域配線経路指定はある配線プレーンから他の
ものへの個々のトラック、または個々の転移点を指定せ
ずに、すべてのネットに対する概略の経路指定を行なう
ものである。精密埋込みは正確な物理位置を、あらゆる
ワイヤ及び中間転移ノードに与えるものである。
本明細書記載の本発明は、大域配線経路指定の新規の方
法であって、チップ、カード、及び基板のほとんどすべ
ての物理設計の基本となるものである。
本発明の好ましい実施例をチップの配線に関して説明す
るが、本発明が他の用途、たとえば電話ネットワーク、
パイプライン・ネットワークの設定、あるいは代替パス
を使用して、多数のノードの相互接続を行なえるあらゆ
る場合に適用できることがわかろう。
第1図には、回路チップ10が示されており、これは列C1
ないしC15及び行R1ないしR15に分割されているので、各
行が数本の水平ワイヤに対するワイヤ空間を有し、各列
が数本の垂直ワイヤに対するワイヤ空間を有している。
より一般的な用途においては、ワイヤ空間の等価物を
「パス空間」と呼ぶ。一般に、列が1枚または複数枚の
プレーン内にあるのに対し、行はチップの他のプレーン
内にある。パスをあるプレーンから他のプレーンに経路
指定するには、列を行に相互接続するのにバイアが使用
される。第2図はトラック13を有する行Rn(1≦n≦1
5)または列Cn(1≦n≦15)の拡大図であって、これ
に対して個々のワイヤが最終的に割り当てられる。列と
行の交差部を「セル」と呼ぶ(第1図の15参照)。各セ
ルは回路全体、回路の一部、あるいはいくつかの回路の
部分を含むことができる。大域配線が始まる前に、すべ
ての回路の位置が判明する。本発明の理解を容易とする
ために、ネットという語を、本実施例においては、導電
パスによって互いに接続される点の集合であると定義す
る。ネットはノードを相互接続するために使用されるセ
グメントまたはパスを含むこともできる。ネットの大域
配線は、ネットの点(以下参照)を含んでいるすべての
セルを、ワイヤの共通ネットワークに接続することから
なっている。ワイヤは正確なトラックの割当てを決定せ
ずに、列と行に沿って配置される。大域配線の最終結果
では、任意の列または行の任意の点に割り当てられたワ
イヤが、適合するもの以上であってはならない。
配線領域のこのモデル(第1図)はきわめて融通性が高
いものである。たとえば、すべての列及び行が同じ容量
をもっている必要はない。縁部の列及び行は、たとえ
ば、これらが入出力回路を含んでいる場合には、他の列
及び行とまったく異なっていてもかまわない。大域配線
中に容量を動的に変更できることは、可変幅配線ベイを
有しているある種のテクノロジには強力な設計手順とな
る。また、チップの全領域をRAM(ランダム・アクセス
・メモリ)などの事前設計のものに専用とすることもで
きる。RAMにカバーされるセル内の配線空間のモデル
は、必要に応じ、ゼロに設定し、大域配線がこの領域を
通らないように経路指定することができる。モデルは詳
細な配線手法と合致し、大域配線の解決策を詳細な配線
プログラムが容易に処理できるものでなければならな
い。
本発明の大域配線手順は、各ネットに対して出発「帯
域」を定義することから始まる。ネットの帯域は、この
ネットに現在認められているすべての経路指定の和集合
によって定義される。出発帯域は特定のネットのすべて
のノードを相互接続するための全セグメントの部分集合
であって、この部分集合のすべてのセグメントは(1)
除去不能であって、問題のネットのあらゆる最小パスの
一部であるセグメントか、(2)除去可能で、すべてが
問題のネットの少なくとも1本の最小パスの一部である
が、そのネットのあらゆる最小パスの一部ではないセグ
メントのいずれかである。
最小パスという語は通常、最も長さの短いパスである
が、最も好ましいパスを決定する際に、線の長さ以外の
基準が関与することが、当分野の技術者には明らかであ
ろう。最小パスによって、取り組むあらゆる問題に対し
て、最も好ましいパスを指す。好ましいパスは、たとえ
ば、最もコストのかからないパスである。出発帯域は通
常、認められているすべての最短の経路を含んでおり、
平行度を最小とし、かつ不必要なセグメントを排除す
る。最短経路(最短パス)とは、対応するネットのノー
ドを相互接続するのに、長さが最も短いワイヤを使用す
ることを意味する。最も短いもの以外のものを使用した
場合、パスは最短ではなくなる。認められるという語
は、チップ設計者が帯域に含めると決定した経路を指
す。この決定は予期される各種のオーバーフロー状態に
基づいていなければならない。
「平行度」の概念を考察する。それぞれがレクタングル
の角にある4つのノードを接続するものと想定する。こ
れら4つのノードを相互に接続するには、2つが平行な
3つのライン・セグメントが必要なことは明らかであ
る。もちろん、平行なセグメントが正方形でないレクタ
ングルの短い辺にあれば、ネットは短くなるであろう。
同じ垂直列にある2つのノードを接続するものと想定す
る。単純なライン・セグメントで充分であろう。頂部ノ
ードから水平に右に進み、底部ノードのレベルまで垂直
に下り、底部ノードに向かって水平に左へ進む迂回経路
を求める場合、平行な水平なラインの両方がネットの全
長に加えられるものとなる。
第3A図はサンプルのネット、及びその出発帯域30を示し
ている。円はネットの点(ノード)(35)を表わし、各
ライン(36)は最終的な経路の一部として使用されるこ
とのあるワイヤを表わす。したがって、第3A図は認めら
れるすべての最短経路(パス)を示すものであって、こ
れらは点(ノード)35を互いに接続するために使用され
るものである。最短の経路を使用するということは、不
必要な平行度も不必要なセグメントもないことを意味す
る。ネットの再構成処理は(以下で説明する)主として
減算的なものであって、出発帯域から始まり、各ネット
に残される経路が1つだけになるまで、ネットの帯域の
削除が行なわれる。再構成段階の際の任意の特定のネッ
トの評価は、他のすべての重畳ネットの現行の帯域を考
慮するものである。特に混雑した点に集中する方法を以
下に説明する。
本発明の大域配線の最初の入力の1つは、各ネットに対
して接続しなければならない点またはセルのリストであ
る。本発明では、各ネットの出発帯域を作成する。きわ
めて単純なネットはその出発帯域として定義された最終
経路を有しており、これらの帯域の定義は変わらない。
ネットの点35を相互接続する経路ないしパスの例が、第
3A図に太い線で示されている。他に許容される経路ない
しパスのないこのパスが、第3B図の下部の32というボッ
クスでより明確に示されている。第3B図には、セグメン
ト34も示されている。これらのセグメントはパスの一部
であり、2つのノード、2つのバイア、または1つのノ
ードと1つのバイアを互いに接続するために使用され
る。バイア33も第3B図に示されている。バイアはチップ
の異なるプレーンにあるセグメントを互いに接続するの
に使用される。32という符号はセグメントを示すのにも
使用されているが、この符号は詳細にいえば、除去不能
なセグメントを示すものであって、これが第3A図のあら
ゆる最小パスの一部であるセグメントであることを意味
している。符号34で示されている除去可能パスは、この
セグメントが第3A図の少なくとも1つの最小パスの一部
であることを意味する。「経路指定」、「経路」及び
「パス」という語が、本明細書において互いに入れ替え
て使用できることにも留意されたい。ほとんどのネット
はより多くの可能性を含んでいる出発帯域を有してお
り、後の処理では各ネットに対するこれらの経路指定の
1つ以外が省かれる。
ネットの2つの点は、これらの点が対向する角にあるレ
クタングル(第3A図の37または38参照)である出発帯
域、または、点が1つの列または行(第3A図の39参照)
にある場合には、単一のラインを有することができる。
第3A図の30のように3つ以上の点を有するネットは、レ
クタングルとラインを組み合わせたものであってもかま
わない。「ハイブリッド帯域」という出発帯域の特別な
場合は、2つの辺(第4図の45参照)が最終経路の必須
の部分であるが、他の2つの辺の間のパスには選択肢が
あるレクタングルを有している。ハイブリッド帯域を第
4図に示す。以下の検討において、「レクタングル」と
は経路指定に多くのオプションを有している正規の帯域
を指し、ハイブリッド帯域の例外事項は必ず注記される
ものである。
各ネットの出発帯域は、ネットの点を接続する際に使用
できるすべての最短の経路の和集合であることが理想的
である。しかしながら、ネットによっては、すべての最
短経路が第4図に示すハイブリッド帯域におけるよう
に、認められる経路でないものもある。最短経路は完成
した回路の性能に望ましいものである。最短経路は混雑
の問題もより迅速に解決する。ネット内の平行度を、各
出発帯域の作成時に最小限としなければならないが、場
合によっては、最短のものでない経路も可能である。し
かしながら、帯域が開始時に最小のものでない場合で
も、本発明で使用されるプログラムは適切に作動し、そ
の最終的な解決策として、最小構成を選択できる。
出発帯域の作成には、いくつかの任意の選択が必要であ
る。レクタングルを決定するネットは水平及び垂直両方
の経路を有する出発帯域を画定するが、実際には、関連
する考慮事項によっては、いずれかの方向を選択するこ
ともできる。たとえば、チップによっては垂直チャネル
が、水平チャネルよりも少ないものもある。それ故、垂
直方向のオーバーフローを避けるために、苦労すること
になる。選択は長さ、予期される混雑、及びチップ上の
位置などの妥当な要因に基づくものである。しかしなが
ら、これらの出発帯域には常に若干の任意性があるが、
これは開始時には、どの選択がチップ全体の設営に最善
のものとなるかがわからないからである。選択にはどの
経路が出発帯域に認められるか、あるいは含まれるかを
決定することが含まれている。この任意性がさほど有害
でないのは、不完全な出発帯域の影響を後で解決するさ
まざまな機会があるからである。
ネットに出発帯域を定義する際には、関連する要因を考
慮する。水平プレーンでのトラフィックの方が速い場合
には、これに留意する。また、あるプレーンから他のプ
レーンへの必要な転移(バイア)にも留意する。垂直ラ
インの経路指定が行なわれるプレーンA上の2つのノー
ドが、レクタングルの対向する角にあるものと想定す
る。水平セグメント1つと垂直セグメント2つを必要と
する最終的な解決策を考えた場合、導入されるバイアは
2つだけとなる。一方、垂直セグメント1つと水平セグ
メント2つを必要とする解決策を求める場合には、4つ
のバイアが必要となる。それ故、好ましい出発帯域の構
成は、代替手法のラインの長さがさほど長くない場合で
も、単純な水平ラインを含むすべての解決策を選択でき
るようにすることである。
「帯域」の例を挙げる。第5図には、5つの列(C6−C1
0)、ならびに6つの行(R8−R13)が示されている。ノ
ード35Aは列C6、行R10にある。ノード35Bは列C8、行R8
にある。ノード35Cは列C10、行R13にある。「帯域」は
簡単にいえば、第5図に示すようなものであって、各列
及び各行にラインが割り当てられ、3つのノードを接続
するのに考えられるすべての経路を示している。本明細
書で「出発帯域」と呼んでいるものを得るために、帯域
内の何本かのラインを第6図に示すように除去する。
行R8及びR9は完全に除去され、行R11、R12及びR13は部
分的に除去され、列C6、C7、及びC9は完全に除去され、
列C10の一部が除去される。当分野の技術者には、(列C
9を除いて)除去された部分がいずれも問題のネットの
最小ワイヤ経路にないと思われることが明らかであろ
う。第7図は他の「出発帯域」を示したものである。
第7図は行R11とR12が全部除去されており、列C9の一部
が復元されている点で、第6図と異なっている。当分野
の技術者に明らかなとおり、第6図または第7図はいず
れも、第5図に示した「帯域」の「出発帯域」として使
用できるものである。第8図は「出発帯域」とすること
のできる第3の帯域を示している。
この図では、第7図で除去された行R11とR12が復元され
ている。したがって、当技術分野の技術者には、「出発
帯域」が最小解決策に入らないと思われるすべての列の
ライン及び行のラインを除去するものであることが明ら
かであろう。これらのすべての図においては、列C6及び
C7、ならびに行8R及びR9がなくなっている。少なくと
も、行R11及びR12の一部、ならびに行C9の一部が、第6
図、第7図及び第8図に示した3つの「出発帯域」と考
えられるものからなくなっている。
ワイヤの経路指定を行なうには、解決すべき問題に対し
て「出発帯域」となるものを、3つの候補から正確に選
択しなければならないことが、当分野の技術者には明ら
かとなろう。ある候補を他のものから選択することにな
る状況のいくつかの例を挙げる。
垂直方向の作業空間(すなわち、列方向の)が平行な行
よりもはるかに少ないチップで作業を行なっているもの
とする。この場合に選択できるのは、第7図に示した出
発帯域であるが、これは(「除去」工程の説明を行なう
場合に明らかとなるように)垂直面での選択の幅を最大
としようと考えるからである。しかしながら、配線に使
用できる領域の垂直及び水平方向での差が問題にはなら
ないが、あるプレーンから次のプレーンへの転移(いわ
ゆる「バイア」によって行なわれる)の数を少なくした
いと考えているものとする。3つのノード35A、35B及び
35Cが、「プレーン1」に直接到達しており、これが垂
直ラインが通っているプレーンでもあるものもとする。
水平ラインは「プレーン2」を通る。「プレーン1」と
「プレーン2」の間の接続には、各点で、「バイア」が
必要である。
第9図には、第7図または第8図からの「除去」(追っ
て検討する)によって行なわれる経路指定が示されてい
る。第9図は3つの円(行R13と列C10の交点、行R13と
列C9の交点、及び行R10と列C9の交点)を示している。
3つの円の各々は、図示のワイヤの経路指定を行なうた
めに追加された「バイア」を示している。第9図に示す
経路は、当分野の技術者には明らかなように、第7図及
び第8図に示した出発帯域から除去を行なうことによっ
て達成できるが、第6図のものでは達成できない。それ
故、出発帯域が第7図または第8図のいずれかに示した
ものであれば、3個の追加バイアを必要とする解が必要
となる。
ただし、ここでの出発帯域は第6図に示すものであると
する。第10図は第6図から達成できる経路を示してい
る。
第10図は2つの円(行R11と列C10の交点にあるものと、
行R11と列C8の交点にあるもの)を示している。第10図
に示した経路指定に必要な追加のバイアが2個だけであ
ることが、明らかであろう。さらに、第6図から得られ
る経路に3個以上の追加バイアが必要ないのに対し、第
9図に示す経路指定(第7図または第8図に示した出発
帯域のいずれかから達成される)には3個の追加バイア
が必要なことも明らかであろう。問題のチップについ
て、バイアの総数を少なくすることがきわめて有利な場
合には、第6図に示す出発帯域を選ぶことができる。
第6図に示す出発帯域を実際に選択したものとする。図
示のラインには(1)除去不能なものと、(2)除去可
能なものの2つのカテゴリがある。列C6から列C8までの
行R10にあるセグメントは除去不能であり、行R8から行R
10までの列C8にあるものも除去不能である。図示の他の
セグメントは、問題のセグメントを省いても、経路指定
が行なえるという意味で、すべて除去可能である。
「除去」工程は、ネットを不連続なものとせずに、それ
以上セグメントを除去できないところまで、除去可能な
セグメントを除去することである。本発明の除去工程独
自の特徴は、これを行なう方法にある。学習例として第
6図に示す出発帯域を使用して、この方法を説明する。
問題となっているすべてのネットについて、出発帯域が
得られたものとする。すべての出発帯域のラインのすべ
てが、すべての列及び行に存在しているものとする。す
べての出発帯域を「オーバーレー」したという。例とし
て、列(C6−C10)の各々に対して、10本の垂直チャネ
ルが利用でき、行(R8−R13)の各々に対して、11本の
水平チャネルが利用できるものとする。オーバーレー工
程がすべての出発帯域全体のすべてのワイヤに対して行
なわれる。行と列の各交点を「レクタングル」と呼ぶ。
図示の領域に、6つの行と5つの列があるので、図示の
例では30個のレクタングルがあることになる。各レクタ
ングルについて、水平方向の需要と水平方向の利用可能
度の比較値、ならびに垂直方向の需要と垂直方向の利用
可能度の比較値の2つの値を計算するものとする。行R1
1と列C8を表わすレクタングルは、15本のワイヤに対す
る垂直方向の需要と、18本のワイヤに対する水平方向の
需要を有している。すなわち、オーバーレー工程で、垂
直及び平行方向のワイヤがすべて追加された後、問題の
ボックスに当たるワイヤが、垂直方向に15本、水平方向
には18本存在する。垂直方向に10本、水平方向に11本の
ワイヤのための空間しかないので、検討しているレクタ
ングルには、垂直方向に5、水平方向に7のオーバーフ
ローが生じることが明らかとなろう。これを第11図に示
した構成で表わすものとする。
オーバーレー工程の後、第6図に示す出発帯域に対する
除去可能ラインを含んでいるボックスについて、第12図
に示すオーバーフロー状況が生じたものとする。
頂部の水平ライン(行13)を除去するか、あるいは底部
のライン(行10)を除去するかの決定をくださなければ
ならないものとする。選択を評価するのに各種の方法を
使用できることが、当分野の技術者には明らかであろう
が、例として、垂直または水平のオーバーフローのうち
大きい方を少なくすることを考えるものとする。列C9と
行R10の交点を表わすボックスが含んでいるオーバーフ
ローは10である。そこで、列C8から列C10までの行R10の
水平セグメント、ならびに行R10から行R11までの列C10
の垂直セグメントを除去することにする。列C8から列C1
0までの列R10の水平なセグメント、及び行R10から行R11
までの列C10の垂直なセグメントを通るあらゆるパスが
除去されるが、これはこのようなパスの評点が、第12図
の帯域のあらゆるパスのうちで最も低いからである。
行R10の列C8から列C10までの3つのボックスの左から右
への評点は更新されて、V−6、H−3;V−3、H−9;V
−1、H−5となる。ただし、これは上述の除去を行な
った後に残る評点である。
ここで、問題となっているネットからしばらく離れ、他
のネットに対する他の出発帯域からの除去を行なう。除
去の計画を立てる何らかの妥当な方針によって、問題の
ネットに戻るものとする。ラインが他のネットから除去
されているのであるから、ボックスの評点は低くなる。
第13図に示す状況に遭遇したものとする。
行R13の列C8からC10までの水平セグメント、ならびに列
C8の行R12からR13までの垂直セグメントを除去するか、
あるいは行R11の列C8からC10までの水平セグメント、な
らびに列C10の行R11からR12までの垂直セグメントを除
去するかの選択を、本発明のプログラムが指定するもの
とする。前述の最大の単一オーバーフローの基準によっ
て、行R13と列C8の交点を表わすボックス内の垂直オー
バーフローは、−5から−4に減少する。それ故、上述
の2種類の除去のうち前者を行なう。すなわち、行R13
の列C8からC10までの垂直セグメント、及び列C8の行R12
からR13までの水平セグメントを除去する。
他のネットからセグメントを除去したと仮定して、最後
に、問題のネットに戻ってきた場合、第14図に示した状
況に遭遇する。
行R12と列C9の点を表わすボックスに含まれるオーバー
フローが−1であるから、ここで、行R12の列C8からC10
までの水平セグメントと、列C8の行R11からR12までの垂
直セグメントを除去する。このネットには、第10図に示
す経路が残る。除去すべきセグメントの妥当な選択を行
なうための方法を調整し、各種の要望に適したものとで
きることは、当分野の技術者にとって明らかなものであ
ろうが、この検討は本発明の範囲を超えるものである。
条件によっては、たとえば、垂直オーバーフローが水平
のものよりも重大なものであると考えられることなどが
ある。また、内部の水平セグメントを除去してから、外
部のものを除去することを選ぶこともできる。すなわ
ち、行R12を除去してから、行R13またはR10のいずれか
を除去することができるが、このようなプログラムの調
整はすべて本発明の範囲内のものである。
オーバーフローの状態を決定するにあたり、一般に、セ
ルの縁部のワイヤの交差を数えるが、セルの中心で数え
ることもできる。それぞれの場所において利用できる配
線空間の数は、大域配線を開始する前に決定される。す
べてのネットの最初の経路指定が行なわれると、これら
の点を通過するワイヤの本数が判明する。本発明では次
いで、利用できる空間(「供給」)を、通過するワイヤ
の本数(「需要」)と比較し、ワイヤの全体的な構成の
どこを修正しなければならないかを決定する。
すべてのネットに対して、出発帯域を定義してから、そ
の累積配線需要を決定する。帯域が単一の接続ワイヤか
らなっている場合、ワイヤが通過する大域セルの各々
を、このワイヤに充分な配線空間に対する需要について
評価する。帯域がレクタングルで構成されている場合に
は、レクタングルを通って水平方向に平行に延びている
数本のワイヤと、レクタングルを通って垂直方向に平行
に延びている数本のワイヤを、ネットが有しているかの
ようにして、その帯域の需要を計算する。レクタングル
内の大域セルの各々は、ネットのための垂直及び水平両
方のワイヤを含んでいる。ほとんどのネットの帯域は、
レクタングルとワイヤ・セグメントの両方を含んでいる
ので、一方の影響を受けるセルの評点もあれば、他方の
影響を受けるものもある。場合によっては、上述したよ
うに、「バイア」やパスの角を数えることも役に立つ。
設計のための混雑値を、各セルの供給値から需要値を差
し引くことによって生成できる。需要が供給を上回って
いる領域は負の結果を有しており、オーバーフロー状態
を示す。垂直及び水平のオーバーフローを分析すること
によって、領域によっては1つのプレーンでのみ混雑を
生じることが明らかになった。混雑の測定値は設計者に
とって、大域配線工程を制御するのに役立つものであ
り、またさまざまな処置を制御するため、プログラムに
よって内部で使用されるものである。以下の説明で、す
べての出発帯域にオーバーレーを行なった後の評点を示
す図を含め、完全な問題の解に関するコンピュータの実
行結果を示す。本発明のすべての基本的な特徴を示す。
評点方法の変形の1つは「確定」需要と「オプション」
需要を別個に処理するものである。すなわち、帯域内の
ワイヤの中には選択肢を持っておらず、したがってこれ
らの需要は「確定」しているといわれる。他のワイヤは
選択肢を持っており、「オプション」であるといわれ
る。パス内のすべてのセルについてペナルティの重みを
累計する際にこれを考慮することによって、経路指定法
でもっと難しい混雑の問題に取り組めるようになる。選
択を行なった場合、オプションの需要のカウントが減
り、いくつかの確定需要のカウントが増加する。
「除去」工程 「除去」工程は各ネットに対して経路が1つだけ残るよ
うになるまで、ネットから余分なパスを除去するもので
ある。最初の評点が完了すると、多くの領域に激しい混
雑が生じることがある。これは一時的な状況に過ぎず、
また多くのネットが複数のパスを有しているのであるか
ら、若干人工的なものである。本発明は余分なパスを有
するネットを、おそらくはネットを通る各パスに対して
異なる順位を使用して、処理する。ネットの余分なパス
とは、最終的な経路指定で、最終的のどのパスを選択す
るかということに関して、依然複数の選択を行なうこと
のできるネットを指す。各ネットを調べて、その冗長パ
スのうちどれが混雑の問題に最も寄与するかを明らかに
し、次いで、そのパスを除去する。2つ以上のパスの評
点が、同程度に低い場合には、どれを除去するかの決定
が延期されることがしばしばあり、したがって、他のネ
ットに関する決定が考慮されることになる。同様に、考
えられる経路指定が多くあって、きわめて融通性の高い
ネットについてのすべての決定は、より制約が高いネッ
トがその最善のパスを選択するまで、延期されることに
なる。パスまたはパスの一部が除去された場合には、影
響を受けるセルの評点が更新される。
パス、またはパスの一部の評価は、パスに沿った各セル
のオーバーフロー状況を考慮しなければならない。需要
を供給から差し引くことによって、オーバーフローが計
算される。オーバーフローの値を累計するだけでは、他
のパスとの比較の良好な基盤をもたらされないので、一
連のペナルティ値、ないし重みが使用される。大域配線
中にさまざまな利用で、重みを変更できるが、通常、オ
ーバーフローがきわめて多い場合には、高いペナルティ
が、少ない場合には、低いペナルティが与えられ、供給
がほぼ適切な場合には、ペナルティはさらに低くなり、
供給が需要を大幅に上回っている場合には、何のペナル
ティも与えられない。評点が付けられるのが特定のパス
であるから、ネットの帯域がセルを通る垂直及び水平両
方向のパスを有していたとしても、セルを通るラインに
課されるペナルティは、その水平方向または垂直方向の
いずれかにおける寄与度に応じたものであって、両方に
ついてではない。パスに対する総合評点はバイア及びそ
の他の要因についてのペナルティを含むことができる。
パスに与えられる総合評点は、他のパスの評点と直接比
較できるものであるから、最も低い評点を簡単に識別で
きる。
ペナルティの加重計算を最小限とし、帯域定義データを
単純化する除去方法の変形の1つを、以下で説明する。
矩形の各帯域の出発帯域は、垂直または水平方向の両方
にではなく、一方のみに平行なワイヤを含んでいる(下
記の「水平/垂直方向のバイアス」参照)。除去で評点
が付けられるのは端部(上端及び下端、または左端と右
端)にある平行パスだけであるから、パスを除去する
と、レクタングルは小さくなる。これは一連の操作でレ
クタングルを細分することのある手法よりもプログラム
がはるかに容易なものであり、またより高速に実行でき
る。ハイブリッド帯域の中間から最小パスを除去して
も、帯域が通常のレクタングルと同じように細分されな
いのは、ハイブリッド帯域の辺の2つが最終構成で保持
されなければならないからである。ハイブリッド帯域は
考慮されるすべての可能性を容易に有することができ、
帯域を横切る余分な平行パスは、ブックキーピングをさ
ほど複雑とせずに、除去される。
最初の除去工程後に残る経路が、最終的な配線の解を満
たすこともある。これが回路の性能から考えて理想的な
ものであるのは、すべての経路が最短のものとなるから
である。しかしながら、あらゆる複雑な設計で、これを
期待することはできない。このようになったとすれば、
おそらく余分な配線空間があるからであり、設設は非常
に容易となる。最初の除去が「簡単な」混雑の問題を処
理し、解決するのには何らかのネットへのワイヤの長さ
を長くする以外にない「難しい」混雑の問題を、チップ
上の他の部分に残すものと考えられる。
ネットのすべての領域において、ネットのすべてについ
ての最初の除去手順が完了すると、本発明の重点は、他
のオーバーフローの領域を直接取り上げることに移る。
これはネットの帯域のいくつかを再作成し(以下で説明
する)、次いで除去手順を再度使用して、これらのネッ
トに対する新しい経路を見つけだすことを含んでいる。
「ボックス」問題の個所 本発明には設計上の問題点に集中する優れた能力があ
る。「ボックス」を隣接したセルの任意の集合を中心と
して作成することができ、これが通常は、問題の領域を
中心としてレクタングルを作成する。ボックスは重要な
オーバーフローを1つ、いくつかのオーバーフロー、あ
るいはその他の任意の需要と供給の状況を含むことがで
きる。ボックス内の領域が、再経路指定が行なわれる場
所である。再経路指定を容易とするために含められる問
題のないセル数に応じて、ボックスを「大きく」も、
「小さく」もできる。ボックスを使用して小さな領域に
集中することは、プログラムが行なわなければならない
作業の量を限定し、これは実行時間を短くするのに役立
つ。ボックスはきわめて強力で、柔軟性のある概念であ
り、さまざまな用途がある。
ボックス外の領域にある帯域は一定に保たれ、変更され
ない。対象となる領域を分離することにより、完全にボ
ックス内にある拡張帯域の新しいセットが作成でき、か
つボックスによって獲得されたオーバーフローを直接対
象として、新たな除去工程を行なうことができる。これ
は変更が外部の領域に影響を及ぼさないことを確実とす
るものである。ボックスの手法を使用して、混雑の問題
を2つの近傍の場所の間のものだけに限定することがで
き、また解決工程を定常的に前進させることができる。
ボックスが定義されると、このボックスの領域を通過す
るすべてのネットを、再経路指定に考えられる候補とし
て識別することができるようになる。再経路指定の初期
の段階で最も適切な変形の1つは、オーバーフローに直
接寄与するネットだけを識別することである。上述の出
発帯域の作成と同様な、ただしボックス内の部分だけに
作用する手順で、これらのすべてのネットに対して、内
部拡張帯域を作成する。ワイヤが帯域に入る部分はネッ
トの一次接続点となるから、ボックス内のあらゆる再経
路指定はボックス外の配線との接続を、ボックス外の配
線の変更を必要とせずに、保つことになる。ボックス内
に作成された拡張帯域は通常、問題のネットの当初の帯
域の構成とは異なっており、通常付加的なパスを考慮す
ることを認めるものである。このような拡張帯域がすべ
て作成されると、プログラムは総需要を再計算し、除去
手順を行なって、ボックス内の新しい経路を見つけだ
す。
最初の除去の直後に作成され、初期に定義されるボック
スは一般に小さいものであるから、最小限のワイヤの追
加、及び最小限の付加的な計算によって、問題を解決す
ることができる。小さなボックスでは解決が困難な問題
は、その後大きなボックスによって処理される。大きな
ボックスはより広範にわたる再経路指定を可能とするの
で、難しい問題を解決することができる。必要な場合を
除き、大きなボックスが使用されないのは、これが多く
の計算を必要とし、かつワイヤの長さを長くする傾向が
あるからである。
水平/垂直方向のバイアス 追加ワイヤをあまり多くせずに問題を解決し、かつ屈曲
が多い片巻きパスを回避するために、帯域の作成では、
再経路指定を故意に制約する。追加ワイヤとはネットの
非最短経路を指す。制約が工程の初期の段階で有用なの
は、導入するワイヤが多すぎると、後で改善するのが困
難になるからである。問題のある領域の中には水平プレ
ーンのみに、あるいは垂直プレーンのみにオーバーフロ
ーを含んでいるものがある。このような場合には、1つ
のプレーンのみに力を傾注するのが、きわめて効果的で
ある。1つのボックスの内部では、たとえば、多数の平
行なワイヤを有しているが、垂直なワイヤが縁部に沿っ
た2本だけである矩形の帯域を作成できる。これは水平
のオーバーフローの問題を解くのに適したものである。
他のプレーンに力を置くと、同じレクタングルが垂直方
向には多数のワイヤを有し、水平方向には頂部と底部と
だけにワイヤを有するようになる。
ボックスの中には、両方のプレーンにオーバーフローの
問題を有しているものがある。これらの問題を再経路指
定を制約して解くことも、長い片巻きパスを避けるのに
役立つものである。まず、ボックスが水平な平行度に集
中し、次いで垂直の平行度に集中するという一連の操作
を実行することができる。他の手法は、ボックス内の新
しい帯域のいくつかに水平な平行度を与え、他のものに
垂直な平行度を与えるというものである。
帯域の拡張 経路指定が進行すると、問題領域の中に、特に問題があ
るものがあることが判明する。これらの領域において
は、一般に最短パスのみを含んでいる正規の帯域の生成
よりも多くの、再経路指定の可能性をもたらすことによ
って、オーバーフローを解決できることがある。この場
合、拡張帯域はレクタングルを単に拡張しただけのもの
を含むこともあれば、ラインをレクタングルに変形した
ものを含むこともある。帯域の拡張量を選択し、ボック
スのサイズ、水平または垂直方向のバイア、問題解決の
段階、チップの位置、及びその他の要因に合致させるこ
とができる。
周辺のゼロの処理 場合によっては、オーバーフローがゼロ(供給マイナス
需要=0)で包囲されているので、小さなボックス内で
再経路指定を成功させるのが不可能なことがある。これ
らの場合には、ボックスの縁部において周辺のゼロを処
理し、オーバーフローを防ぐ経路の再指定を行なうため
の余地を作ることが必要となる。これは、ボックスを追
加ワイヤのための余裕を持っているいくつかのセルを含
むのに充分な大きさとし、かつゼロに寄与するネット及
びオーバーフローに寄与するネットとに対して帯域を再
設定することによって行なわれる。
実施例 本発明の概念は、チップの設計に利用されているコンピ
ュータ・ソフトウェアで実施されている。ここで、複雑
で、きわめて難しいチップの設計に対して、大域ワイヤ
経路指定を解決するために使用される、一連の完全な操
作を説明する。実際のコンピュータの印刷出力が、以下
のさまざまな図面の基礎となっている。第15図には、各
垂直列に利用できるワイヤ空間が示されている。たとえ
ば、列27には19本のワイヤに充分なワイヤ空間がある
(50参照)。第16図には、各水平行に利用できるワイヤ
空間が示されており、そのほとんどは22本のワイヤに充
分な空間を有している(60参照)。この問題の場合、34
×34のセルのアレイを使用する。第17図には、ネットの
すべての当初の出発帯域にオーバーレーを行なった後の
垂直オーバーフローが示されている。第18図には、ノッ
トの当初の出発大域にオーバーレーを行なった後の水平
オーバーフローが示されている。水平オーバーフローが
垂直のもよりもはるかに多いのは、出発帯域の構成が水
平方向での選択の幅を最大とし、ネットの大多数に必要
なバイアの数を最小としようとしているからである(以
下で説明する)。第19図には、除去工程後の垂直オーバ
ーフローが示されている。第20図には、除去工程後の水
平オーバーフローが示されている。解のこの段階で、水
平オーバーフローが垂直オーバーフローよりもかなり少
ないのは、上述のように、ネットの出発帯域の形成時に
水平側が重視されたからである。第21図には、コンピュ
ータによって生成された、オーバーフローを包囲するボ
ックスのいくつかが示されている。さまざまな数字(た
とえば、36、46、79など)は問題のボックスの名前の役
目を果たし、その内部のセルの位置を識別している。第
22図には、ボックスの内部に拡張帯域を形成したことに
よって作成された垂直オーバーフローが示されている。
第23図には、ボックス内部の拡張帯域によって生じた水
平オーバーフローが示されている。当初の除去工程後の
垂直オーバーフローが、水平オーバーフローよりもはる
かに多いので、プログラムはボックス内部で行なわれる
除去に関し、垂直方向の選択肢を最大のものとする。第
24図には、ボックス内部での除去後の垂直オーバーフロ
ーが示されている。図示のように、この段階は垂直オー
バーフローを、692から391に減らしている。第25図に
は、ボックス内部での除去後の水平オーバーフローが示
されている。最初重視したのが、垂直オーバーフローの
除去であるから、ここでは何の改善も記録されていな
い。達成された新しい位置は、実行前のオーバーフロー
の位置とは大幅に異なっている。新しいボックスが形成
され、処理が繰り返されて、垂直及び水平のオーバーフ
ローが減少する。第26図及び第27図は、結果として得ら
れたオーバーフローが垂直側で279に、また水平側で186
に減ったことを示している。次いで、ボックスの操作が
水平側を重視して実行される。第28図及び第29図はその
結果を示すもので、水平オーバーフローは95に減ってい
る。処理の目標を変更するという方法は通常、このよう
に大規模な問題を解くときには効果的なやり方である
が、これは位置を連続的に変えることによって、基本的
最適化機構が最高の効率で作動できるようになるからで
ある。ボックスの中には、第30図の例に示すように、プ
ログラムを後で実行する事によって形成されるものもあ
る。目標を変えていくというやり方を、さまざまな方法
で拡張することができる。最も効果的なものの1つは、
−1または−2という普遍的なバイアスをすべての位置
に導入するという方法を使用することである。したがっ
て、本発明を実施するために使用されるプログラムは、
0のセルを、それが−1であるかのようにして処理す
る。新たに大量の計算が行なわれ、位置を微妙に変化さ
せる。バイアスを実施した後、バイアスなしで実行する
と、オーバーフローを除去する新しい機会が見つかる。
第31図及び第32図は、−1または−2のバイアスを施し
てから、新たにバイアスを施すことによって得られるオ
ーバーフローを示してる。用いられる唯一のアルゴリズ
ムが、本発明で提示されるものであって、これが目標シ
フト法を簡単に採用できるものであることに、留意すべ
きである。
ここで検討しているコンピュータの作動の詳細を示す図
についての説明を続ける前に、2つの類比を行なうと、
上述の目標シフト法が理解しやすくなろう。春に、太陽
が毎日ほぼ同じ場所から昇り、毎日ほぼ同一の軌道をた
どるので、氷の塊が岩の割れ目に残っている。氷を遮っ
ている周囲の岩は位置を変えない。太陽の全体的な軌道
が変わるか、あるいは周囲の岩が若干位置を変えれば、
太陽の融解力によって氷が溶け、消え去る。前に、ふる
いに入った豆について述べた。しばらくすると、豆はさ
まざまな孔の上で、集合体のグループを形成するように
なり、この集合体が個々の豆が孔から落ちるのを妨げ
る。ふるい、つまり全体を揺すると、このような集合体
の多くがばらばらになり、豆は孔から下へ落下するよう
になる。問題を最も効果的に解決するには、本質的に静
的な状態を維持してはならない。
上述の方法を使用した操作をさらに続ける。その結果得
られるオーバーフローの値を、第33図及び第34図に示
す。この方法が可能なかぎり、不必要な平行度を導入す
ることなく、オーバーフローを除去するように構成され
てることに留意されたい。たとえば、オーバーフローが
アンダーフローに包囲されており、この時点までどのネ
ットに対しても、まわりくどい経路指定が行なわれてい
ない場合には、この手法に抗して、僅かな数のオーバー
フローが存在していると、少数のネットに若干まわりく
どいパスが設けられ(かなりのアンダーフローをもたら
す)、すべてのオーバーフローが比較的簡単に除去され
ることになる。第35図はプログラムをさらに実行するこ
とによって形成される若干のボックスを示している。
問題をシフトする他の方法は、基礎となる評点を変更
し、オーバーフローに対する処理を強化することであ
る。仮に、すべての1を0に下げると、−2のペナルテ
ィが課され、すべての−1をゼロに上げると、+5のボ
ーナスが与えられ、すべての−2を−1に上げると、+
7のボーナスが与えられるというようになる。動きのい
くつかが成功し、他のものは失敗することになる。大規
模な問題を解く初期の段階では、オーバーフローの処理
をあまり強力に行なわないことが重要である。このこと
によって、望ましくない位置が生じることがあるからで
ある。しかしながら、後で、オーバーフローがきわめて
限定され、かなりのアンダーフローが生じた場合には、
いくつかのペナルティを減らし、いくつかのボーナスを
増やすことによって、新しい移動を促進することができ
る。もちろん、これはすべて、本発明の方法を使用する
ことによって、簡単に満たされるものである。第36図及
び第37図は調整した評点を使用してボックスを実行した
後で到達する水平及び垂直方向の位置を表わしている。
この時点で、36の垂直のオーバーフローと、17の水平の
オーバーフローがある。
この時点で、プログラムは、オーバーフローを回避する
ためにワイヤの長さを追加できる一連のセグメント移動
を行なって、残っているオーバーフローを処理した。強
調しておかなければならないのは、このような方法がき
わめて初期の段階で問題に適用された場合、効果がな
く、効果があるのが、終了間際であることが証明された
が、これは本発明記載の方法が上述した後で扱いやすい
位置を達成するからだということである。垂直オーバー
フロー0、及び水平オーバーフロー0の最終位置が自動
的に達成される。
第38図ないし第44図は、上述のすべての操作を簡潔にま
とめたものである。本発明方法からセグメント移動操作
への転移が、第42図に示されている。指摘しておかなけ
ればならないのは、本発明を実施したソフトウェアの現
況では、これを何回にもわたって不必要に実行しなけれ
ばならないということである。これは修正できるもので
あり、基本的な発明に影響を及ぼすものではない。すべ
ての操作は1987年11月15日、1日で行なわれた。ソフト
ウェアの現在の状態では複数回実行しなければならない
が、比較的明確な制御機能を導入することによって、操
作全体を単純なものとすることができる。第45図及び第
46は、垂直及び水平方向のオーバーフローのない最終位
置を示すものである。
本明細書で取り上げた問題には、約5000個のネットと、
24000個を超えるノードがあった。第47図は5000個のネ
ットのうちの1つ(ネット#164)に対する出発帯域を
示している。これは第17図及び第18図に示した合計に寄
与したものである。第48図は除去工程が完了した後のネ
ットを示している。これは第19図及び第20図に示した最
終合計に寄与したものである。第49図はネット#164に
対応する最終の経路指定を示している。第49図におい
て、付加的なバイアが最終的に導入されてはいるが、こ
の最終的な経路指定に不必要な平行度が存在しないこと
に留意されたい。第50図、第51図、及び第52図は同じネ
ット3409に対する3つの段階を示したものであり、第53
図、第54図、及び第55図は同じネット1985に対する3つ
の段階を示したものである。「p」は異なるネットにお
けるノードを表わす。また、ネット3409については、追
加のバイアが導入されてはいるが、ラインの最小長さの
増加は生じていない(第52図)。ネット1985について
は、きわめて僅かな平行度が生じている(第55図)。い
くつかのネットについては、追加のバイア及びワイヤ長
の追加(非最短ワイヤ長)が導入されている。しかしな
がら、きわめて多いネットについては、もちろん、最終
除去工程から最終経路指定までの間に何の変化もない。
ここに示した3つのネットはロットのうちで典型的なも
のである。本発明の方法が問題全体に対してオーバーフ
ローを完全に除去できるだけでなく、個々のネットに対
して効率のよい経路指定も行なえることが理解されよ
う。
第56A図は選択された領域60を示しており、この領域に
おいては、出発帯域を作成し、これらの出発帯域から冗
長なパスを削除した後でも、パス空間に対する需要が供
給を上回っている。また、パス54と、ノード53A、53B及
び53Cを含むサブネットも示されている。ノード53Bは選
択された領域60に入るネットのノードであり、ノード53
A及び53Cはパス54と、選択された領域の周縁との交点の
点として形成されたノードである。
第56B図には、ノード53A、53B及び53Cを含むサブネット
に対する拡張帯域55及び選択された領域が示されてい
る。拡張帯域からのパスの削除については、上述した。
F.発明の効果 上記のように、本発明はノードを相互に接続すべきネッ
トに対して出発帯域を生成する事によって、大域配線を
最適化する方法を提供するものである。
【図面の簡単な説明】
第1図は15行、15列の回路チップの略図である。 第2A図及び第2B図はそれぞれ、回路チップの行及び列の
略図である。行は3つのワイヤ空間を有するものとして
示されており、列は3つのワイヤ空間を有するものとし
て示されている。 第3A図はサンプルのネット及びその出発帯域の略図であ
り、第3B図は出発帯域のパスの1つの略図である。 第4図は垂直方向の冗長パスが、水平方向の冗長パスよ
りも多い出発帯域の略図である。 第5図は3つのノードを有する帯域の略図である。 第6図は出発帯域の略図である。最短長のパスのみが出
発帯域に使用されていることに留意されたい。 第7図は第5図のノードを相互接続するために考えられ
る第2の出発帯域の略図である。 第8図は第5図の対応するノードを相互接続するために
考えられる第3の出発帯域の略図である。 第9図は第7図または第8図からパスを削除した後に残
るパスの略図である。 第10図は出発帯域から冗長パスを削除した後に残るパス
の略図である。同心円の3対のパスのいくつかは、この
パスの経路を指定するのに必要なバイアを表わす。 第11図は垂直に5のオーバーフローを、また水平に7の
オーバーフローを有しているセルの略図である。 第12図は垂直及び水平それぞれのオーバーフローを示
す、セルのアレイの略図である。このアレイは第6図の
出発帯域が使用するワイヤ空間に対応している。 第13図はR10を通るパスを除去した第12図を更新した図
であって、若干の冗長パスを除去したことによって更新
されたワイヤ空間に対する需要と、その供給を示すもの
である。 第14図はR13を通るパスを除去した第12図を更新した図
であって、他の冗長パスを除去したことによって更新さ
れたワイヤ空間に対する需要と、その供給を示すもので
ある。 第15図はチップの垂直列で利用できるワイヤ空間の略図
である。 第16図はチップの水平行で利用できるワイヤ空間の略図
である。 第17図はワイヤ空間に対する累積需要と、利用可能なワ
イヤ空間の供給との比較によってもたらされる垂直オー
バーフローの図である。 第18図はワイヤ空間に対する累積需要と、利用可能なワ
イヤ空間の供給との比較によってもたらされる水平オー
バーフローの図である。 第19図は出発帯域から冗長パスを削除した後の垂直オー
バーフローの図である。 第20図は出発帯域から冗長パスを削除した後の水平オー
バーフローの図である。 第21図はワイヤ空間に対する需要が供給を超えている選
択された領域を示す図である。 第22図は拡張帯域を生成することによって作成された垂
直オーバーフローを示す図である。これらのオーバーフ
ローはワイヤ空間に対する需要と、利用可能なワイヤ空
間の供給との比較によってもたらされるものである。 第23図は拡張帯域を生成することによって作成された水
平オーバーフローを示す図である。これらのオーバーフ
ローはワイヤ空間に対する需要と、利用可能なワイヤ空
間の供給との比較によってもたらされるものである。 第24図は拡張帯域から冗長パスを削除した後の垂直オー
バーフローの図である。 第25図は拡張帯域から冗長パスを削除した後の水平オー
バーフローの図である。 第26図及び第27図はそれぞれ、拡張帯域から冗長パスを
削除したことによってもたらされる垂直及び水平オーバ
ーフローの図である。 第28図及び第29図はそれぞれ、問題解決の後期の段階で
拡張帯域から冗長パスを削除したことによってもたらさ
れる垂直及び水平オーバーフローの図である。 第30図は拡張帯域が生成された付加領域を示す図であ
る。 第31図及び第32図はそれぞれ、バイアスを1本または2
本取り除いた後、新しいバイアスを配置した際の垂直及
び水平オーバーフローの図である。 第33図及び第34図は本発明の方法を数回反復した後に得
られる垂直及び水平オーバーフローの図である。 第35図は拡張帯域を生成した若干の領域を示す図であ
る。 第36図及び第37図はそれぞれ、拡張帯域から冗長パスを
削除した後に生じる垂直及び水平オーバーフローの図で
ある。 第38図ないし第44図は本発明の方法を数回繰り返して得
られる結果を要約した図である。 第45図及び第46図はそれぞれ、垂直及び水平オーバーフ
ローが本発明の方法を使用することによって、実際に0
まで減少したことを示す図である。 第47図はこの好ましい実施例に使用される出発帯域の1
つを示す図である。 第48図は第47図の出発帯域から冗長ワイヤ・パスを削除
したワイヤ・パスを示す図である。 第49図は第47図の出発帯域に使用される最終ワイヤ・パ
スを示す図である。 第50図、第51図及び第52図はそれぞれ、第2のネットを
使用した第47図、第48図及び第49図に対応した図であ
る。 第53図、第54図及び第55図はそれぞれ、第3のネットの
第47図、第48図及び第49図に対応した図である。 第56A図はパス空間に対する需要が供給を超えている選
択された領域の略図である。第56B図は選択された領域
の拡張帯域も示している。 10……回路チップ、13……トラック、15……セル、30…
…出発帯域、33……バイア、34……セグメント、35、53
A、53B、53C……ノード、54……パス、60……領域。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ハーシユ・リユータン アメリカ合衆国ニユーヨーク州マンズイ、 ウエイブリイ、プレス2番地

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】複数のネットのおのおののノードを相互接
    続するための方法において、(a)形成すべき上記ノー
    ドの各ネット毎に初期領域を形成する段階であって、該
    初期領域は、上記各ネットのすべてのノードを相互接続
    するための全セグメントの部分集合であって、そのとき
    該部分集合のあらゆるセグメントは、(a1)上記ネット
    のあらゆる最小経路の一部である除去不能セグメントで
    あるか、または(a2)除去可能セグメントであって、該
    あらゆる除去可能セグメントは上記ネットの少なくとも
    1つの最小経路の一部であるけれども上記ネットのあら
    ゆる最小経路の一部である訳ではないような段階と、 (b)上記段階(a)で形成された全ての初期領域によ
    って作成される経路スペースのための累加的な需要を決
    定する段階と、 (c)上記複数のネットの1つのネットを選択する段階
    と、 (d)上記段階(c)で選択された上記ネットのための
    初期領域の複数の冗長経路を選択する段階と、 (e)上記段階(b)で決定された上記需要を、上記段
    階(d)で選択された複数の冗長経路によって使用され
    る領域中の利用可能な経路スペースの供給量と比較する
    段階と、 (f)少なくとも上記段階(e)の比較の関数であるス
    コアを上記複数の冗長経路のおのおの毎に決定する段階
    と、 (g)上記段階(c)で選択された上記ネットの初期領
    域から、上記段階(d)で選択されたどれかの経路で最
    悪のスコアをもつような冗長経路を削除する段階と、 (h)上記全てのネットの各初期領域から全ての冗長経
    路が除去されるまで上記段階(c)乃至段階(g)を反
    復し、そのとき上記累加的な需要は、その前の反復の段
    階(g)で削除された経路を含めることなく再計算され
    るような段階と、 (i)上記段階(h)で残っている利用可能な経路スペ
    ースと経路を利用して各ネットのノードを相互接続する
    段階を有する、 ノードの相互接続方法。
JP1107911A 1988-06-10 1989-04-28 ノードの相互接続方法 Expired - Lifetime JPH077427B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/205,138 US4831725A (en) 1988-06-10 1988-06-10 Global wiring by removal of redundant paths
US205138 1988-06-10

Publications (2)

Publication Number Publication Date
JPH01320582A JPH01320582A (ja) 1989-12-26
JPH077427B2 true JPH077427B2 (ja) 1995-01-30

Family

ID=22760959

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1107911A Expired - Lifetime JPH077427B2 (ja) 1988-06-10 1989-04-28 ノードの相互接続方法

Country Status (4)

Country Link
US (1) US4831725A (ja)
EP (1) EP0346630A3 (ja)
JP (1) JPH077427B2 (ja)
CA (1) CA1290863C (ja)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5295082A (en) * 1989-02-22 1994-03-15 The Boeing Company Efficient method for multichip module interconnect
US5074037A (en) * 1989-12-01 1991-12-24 Oerlikon-Contraves Ag Process for producing electrical connections on a universal substrate
JP3052519B2 (ja) * 1992-01-14 2000-06-12 日本電気株式会社 集積回路の電源配線設計方法
US5495419A (en) * 1994-04-19 1996-02-27 Lsi Logic Corporation Integrated circuit physical design automation system utilizing optimization process decomposition and parallel processing
US5638288A (en) * 1994-08-24 1997-06-10 Lsi Logic Corporation Separable cells having wiring channels for routing signals between surrounding cells
WO1996024904A1 (en) * 1995-02-07 1996-08-15 Silicon Valley Research, Inc. Integrated circuit layout
US5638290A (en) * 1995-04-06 1997-06-10 Vlsi Technology, Inc. Method for eliminating a false critical path in a logic circuit
US6067409A (en) * 1996-06-28 2000-05-23 Lsi Logic Corporation Advanced modular cell placement system
US5870312A (en) * 1996-06-28 1999-02-09 Lsi Logic Corporation Advanced modular cell placement system with dispersion-driven levelizing system
US5808899A (en) * 1996-06-28 1998-09-15 Lsi Logic Corporation Advanced modular cell placement system with cell placement crystallization
US6026223A (en) * 1996-06-28 2000-02-15 Scepanovic; Ranko Advanced modular cell placement system with overlap remover with minimal noise
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
US6085032A (en) * 1996-06-28 2000-07-04 Lsi Logic Corporation Advanced modular cell placement system with sinusoidal optimization
US5867398A (en) * 1996-06-28 1999-02-02 Lsi Logic Corporation Advanced modular cell placement system with density driven capacity penalty system
US5872718A (en) * 1996-06-28 1999-02-16 Lsi Logic Corporation Advanced modular cell placement system
US5892688A (en) * 1996-06-28 1999-04-06 Lsi Logic Corporation Advanced modular cell placement system with iterative one dimensional preplacement optimization
US6030110A (en) * 1996-06-28 2000-02-29 Lsi Logic Corporation Advanced modular cell placement system with median control and increase in resolution
US5835381A (en) * 1996-06-28 1998-11-10 Lsi Logic Corporation Advanced modular cell placement system with minimizing maximal cut driven affinity system
US5812740A (en) * 1996-06-28 1998-09-22 Lsi Logic Corporation Advanced modular cell placement system with neighborhood system driven optimization
US5963455A (en) * 1996-06-28 1999-10-05 Lsi Logic Corporation Advanced modular cell placement system with functional sieve optimization technique
US5914888A (en) * 1996-06-28 1999-06-22 Lsi Logic Corporation Advanced modular cell placement system with coarse overflow remover
US5844811A (en) * 1996-06-28 1998-12-01 Lsi Logic Corporation Advanced modular cell placement system with universal affinity driven discrete placement optimization
US5831863A (en) * 1996-06-28 1998-11-03 Lsi Logic Corporation Advanced modular cell placement system with wire length driven affinity system
US6026224A (en) * 1996-11-20 2000-02-15 International Business Machines Corporation Redundant vias
US6412102B1 (en) * 1998-07-22 2002-06-25 Lsi Logic Corporation Wire routing optimization
DE10100068C1 (de) * 2001-01-02 2002-05-08 Siemens Ag Verfahren zum Aufbau eines Overlay-Netzes
US7107564B1 (en) * 2001-06-03 2006-09-12 Cadence Design Systems, Inc. Method and apparatus for routing a set of nets
GB2393533A (en) * 2002-09-27 2004-03-31 Zuken Ltd Routing of interconnected regions e.g. of electrical circuits
US6907588B2 (en) * 2002-12-31 2005-06-14 Lsi Logic Corporation Congestion estimation for register transfer level code
US7096445B1 (en) 2003-01-14 2006-08-22 Cadence Design Systems, Inc. Non-orthogonal structures and space tiles for layout, placement, and routing of an integrated circuit
US7676781B1 (en) 2003-01-14 2010-03-09 Cadence Design Systems, Inc. Method and mechanism for implementing a minimum spanning tree
US7100128B1 (en) * 2003-01-14 2006-08-29 Cadence Design Systems, Inc. Zone tree method and mechanism
US6941528B2 (en) 2003-08-28 2005-09-06 International Business Machines Corporation Use of a layout-optimization tool to increase the yield and reliability of VLSI designs
US20050048677A1 (en) * 2003-08-29 2005-03-03 International Business Machines Corporation The use of a layout-optimization tool to increase the yield and reliability of vlsi designs
US7376926B1 (en) * 2005-04-29 2008-05-20 Xilinx, Inc. Run-time efficient methods for routing large multi-fanout nets
US7308669B2 (en) * 2005-05-18 2007-12-11 International Business Machines Corporation Use of redundant routes to increase the yield and reliability of a VLSI layout
US7661085B2 (en) * 2007-07-23 2010-02-09 Board Of Regents, The University Of Texas System Method and system for performing global routing on an integrated circuit design
US20090179436A1 (en) * 2007-11-09 2009-07-16 Albert Sagalara Positive action lock for sliding windows
US8205934B2 (en) * 2008-03-17 2012-06-26 Alite Designs, Inc. Portable chair
US8001514B2 (en) * 2008-04-23 2011-08-16 Synopsys, Inc. Method and apparatus for computing a detailed routability estimation
US7898286B2 (en) * 2009-02-11 2011-03-01 International Business Machines Corporation Critical path redundant logic for mitigation of hardware across chip variation
US11120171B2 (en) * 2019-09-13 2021-09-14 Mccormick Systems Llc. System and method for construction cost estimation for non-computer aided design (CAD) files

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3028659A (en) * 1957-12-27 1962-04-10 Bosch Arma Corp Storage matrix
DE1266353B (de) * 1964-03-13 1968-04-18 Bbc Brown Boveri & Cie Matrixfoermige Anordnung von Oxydschichtdioden zur Verwendung als manipulierbarer Festwertspeicher oder Informationsumsetzer
US3378920A (en) * 1966-01-26 1968-04-23 Air Force Usa Method for producing an interconnection matrix
US4484292A (en) * 1981-06-12 1984-11-20 International Business Machines Corporation High speed machine for the physical design of very large scale integrated circuits
US4631100A (en) * 1983-01-10 1986-12-23 Pellegrino Peter P Method and apparatus for mass producing printed circuit boards
US4615011A (en) * 1983-12-19 1986-09-30 Ibm Iterative method for establishing connections and resulting product
US4713773A (en) * 1984-08-10 1987-12-15 International Business Machine Corporation Method for distributing wire load in a multilayer package and the resulting product
JPS61199166A (ja) * 1985-03-01 1986-09-03 Nec Corp 配線経路探索装置
US4613941A (en) * 1985-07-02 1986-09-23 The United States Of America As Represented By The Secretary Of The Army Routing method in computer aided customization of a two level automated universal array
US4742471A (en) * 1985-10-31 1988-05-03 International Business Machines Corporation Method for improving wirability of master-image DCVS chips
US4786613A (en) * 1987-02-24 1988-11-22 International Business Machines Corporation Method of combining gate array and standard cell circuits on a common semiconductor chip

Also Published As

Publication number Publication date
JPH01320582A (ja) 1989-12-26
CA1290863C (en) 1991-10-15
EP0346630A3 (en) 1991-06-12
EP0346630A2 (en) 1989-12-20
US4831725A (en) 1989-05-23

Similar Documents

Publication Publication Date Title
JPH077427B2 (ja) ノードの相互接続方法
US4615011A (en) Iterative method for establishing connections and resulting product
KR0153392B1 (ko) Lsi용 상호접속 배선 설계 방법
US6353918B1 (en) Interconnection routing system
US5880970A (en) Towards optimal Steiner tree routing in the presence of rectilinear obstacles
US6330707B1 (en) Automatic routing method
JP2006323643A (ja) 半導体集積回路のフロアプラン設計プログラム、フロアプラン設計装置、および設計方法
WO1997034316A9 (en) Interconnection routing system
US6480996B1 (en) System and method for transposing wires in a circuit design
Linsker An iterative-improvement penalty-function-driven wire routing system
EP0125537B1 (en) A method for packing a plurality of wire segments in a wiring bay composed of wiring channels
CN112560389A (zh) 一种基于轨道分配的实用详细布线方法
KR100910421B1 (ko) 집적회로를 자동으로 배선하는 방법 및 시스템, 집적회로를 자동으로 배선하기 위한 하나 이상의 명령어로 구성된 하나 이상의 시퀀스를 갖는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체 및 집적회로 레이아웃을 자동으로 검증하는 방법
US6615401B1 (en) Blocked net buffer insertion
JP4400428B2 (ja) 半導体集積回路の設計方法と設計装置並びにプログラム
JP3548398B2 (ja) 概略経路決定方法および概略経路決定方式
KR20010024944A (ko) 전자 소자 및 장치의 설계 및 제조 방법
Cha et al. A simple and effective greedy multilayer router for MCMs
US6477692B1 (en) Method and apparatus for channel-routing of an electronic device
JP3238232B2 (ja) 半導体集積回路の自動配線方法
JPH05175335A (ja) Lsiの自動配線方法
JP3422839B2 (ja) 半導体集積回路の論理セル分割処理方法
JPH0512384A (ja) 自動配線方法
Krishna et al. A novel technique for sea of gates global routing
JPH0450627B2 (ja)