JPH05233762A - 自動配線方法 - Google Patents

自動配線方法

Info

Publication number
JPH05233762A
JPH05233762A JP4317473A JP31747392A JPH05233762A JP H05233762 A JPH05233762 A JP H05233762A JP 4317473 A JP4317473 A JP 4317473A JP 31747392 A JP31747392 A JP 31747392A JP H05233762 A JPH05233762 A JP H05233762A
Authority
JP
Japan
Prior art keywords
wiring
area
cut
cut line
rough
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.)
Granted
Application number
JP4317473A
Other languages
English (en)
Other versions
JP3219500B2 (ja
Inventor
Mototaka Kuribayashi
元隆 栗林
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 JP31747392A priority Critical patent/JP3219500B2/ja
Publication of JPH05233762A publication Critical patent/JPH05233762A/ja
Priority to US08/427,979 priority patent/US5583788A/en
Application granted granted Critical
Publication of JP3219500B2 publication Critical patent/JP3219500B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S257/00Active solid-state devices, e.g. transistors, solid-state diodes
    • Y10S257/923Active solid-state devices, e.g. transistors, solid-state diodes with means to optimize electrical conductor current carrying capacity, e.g. particular conductor aspect ratio

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)

Abstract

(57)【要約】 【目的】 マクロブロックなど大きな配線禁止領域を含
む回路に対して階層的配線を効率的に行う。 【構成】 配線領域を概略格子で分割し、概略格子間の
境界上に設定され、配線ネットによって横切られるカッ
トラインを全て求め、各カットラインに対して、最も配
線の混雑を緩和させるように前記配線領域を2分割する
カットラインの選択され易さを表す評価値を、複数の評
価項目について計算し、計算された各評価値に重み付け
を行って評価値の総和を計算し、前記全てのカットライ
ンのうち、評価値の総和が最小となったカットラインで
前記配線領域を2分割し、このカットラインを横切る全
配線ネットの横切る位置を決定し、2分割された部分領
域が所望の最小領域になるまで同様な処理を階層的に繰
り返すことにより、全配線ネットに対する前記概略格子
上の概略配線経路を決定する 【効果】 配線禁止領域を考慮し、配線混雑も緩和され
た質の良い配線経路を得ることができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、半導体集積回路やプ
リント基板などの配線方法に関し、特に計算機を用いた
自動配線方法に関する。
【0002】
【従来の技術】大規模集積回路(LSI)は、微細化技
術の進歩に連れて、1チップに搭載されるトランジスタ
ー数が年々増えている。既に、1チップに百万個を越え
るトランジスターが載せられたLSIが出ている。一
方、製品開発に要する期間を短縮する必要があり、ゲー
トアレイ、スタンダードセルなどのセミカスタムLSI
は広く用いられている製造方法である。これらのLSI
を設計するときには、計算機を用いた設計(CAD)が
不可欠である。
【0003】設計の下流段階に相当するレイアウト設計
は、研究開発の歴史も長く、いくつかの代表的な技術が
実用段階に達して製品開発に用いられている。例えば、
自動配線のアルゴリズムとして、これまでに多数の方法
が提案されてきた。その代表的なものは、迷路アルゴリ
ズム・階層的アルゴリズム・ラインサーチアルゴリズム
・チャネル配線アルゴリズムなどである。
【0004】これらのアルゴリズムの中で、Leeの迷
路アルゴリズムは最も歴史も古く、そのオリジナルなバ
ージョンを高速化した方法がこれまで広く使われてき
た。その理由の一つは、もし解が存在するならば必ず配
線経路が見つかるという探索能力に優れていること、そ
の解が最短経路として得られることなどのメリットによ
る。
【0005】しかし、処理時間が掛かり、大規模チップ
領域を対象としてこのアルゴリズムを適用するならば数
日から数週間の膨大な時間が掛かることにもなる。さら
に、現実的に存在する数千の端子を持つ信号線を配線し
ようとすると、チップ上に全面に分布するそのようなネ
ットの配線を完了するには探索領域がチップ全面におよ
び多大な時間がかかる。
【0006】また、このアルゴリズムは一ネットずつ処
理するため、複数個のネットの中からどのネットから順
に選択して配線するかによって配線が不可能となる場合
が発生するなど、配線順序の決め方によっては全体の配
線が完了できないというデメリットを持つ。
【0007】これに対して、階層的な配線アルゴリズム
は分割統治手法に基づくアルゴリズムであり、処理時間
はLeeのアルゴリズムよりはるかに速く、多数の端子
を持つ信号線の配線も不得手とすることもない。
【0008】また、配線対象ネットを同時に扱うのでそ
の処理順序にも依存しない結果が得られる利点がある。
この特徴をもつ階層的アルゴリズムの分類にはいるもの
としては、これまでBursteinの方法[198
3],Lautherの方法[1988],Marek
−Sadowskaの方法[1984]などが提案され
ている。
【0009】今後、LSIの上流設計技術のさらなる自
動化やプロセス技術の進歩によってさらに大規模な回路
が1チップに搭載されてくると、配線プログラムが扱う
データ規模が大きくなり、それにつれて処理時間が増す
ので、実用的な時間で結果を得るためにはますます高速
な配線アルゴリズムが求められてくる。このような背景
にあって階層的な配線アルゴリズムは、その高速性のメ
リットから将来の大規模データの配線のために最も重要
なアルゴリズムの一つであるといえる。
【0010】しかし、この階層的アルゴリズムはローカ
ルな配線混雑の情報をみることができないので階層処理
が進み最終的なレベルに近づくにつれて配線できない状
況に出会ってしまう可能性があるという欠点もある。特
に、配線領域内に大きな面積を占める禁止領域が存在す
ると、トップダウンに階層処理を進めて行く場合上位の
階層レベルでこの禁止領域を考慮した処理をすることは
非常に難しい。
【0011】しかし、最近のゲートアレイでは、ゲート
を全面に敷き詰めたタイプのゲートアレイであるSOG
(Sea Of Gate)が高密度を達成できるメリ
ットから広く用いられている。
【0012】図24は、SOGの母体を示し、チップD
内に基本セルBSが2次元的に規則的に敷き詰められて
いる。回路はこの基本セルを複数個組み合わせて内部配
線することによって論理回路が構成される。
【0013】このSOGには、基本セルを数十または数
百個2次元的に集めてブロックとして、ROM,RAM
などのマクロブロック(メガセル)を比較的高密度に混
載できるメリットがあり、この回路に対応出来る階層配
線アルゴリズムがますます必要となってきた。
【0014】一般に、自動配線処理は処理時間の観点か
ら、詳細配線と概略配線の2段階に分けて行われる。概
略配線は、ネットの大まかな経路を決定する。そのため
に、図25(a)の点線で示すような実際の配線グリッ
ド(詳細グリッド)を複数本まとめた、図25(b)の
粗い格子(概略格子または概略グリットと呼ぶことにす
る)G13〜G33上での経路を決定する。
【0015】概略配線に続く詳細配線ではネットの概略
の経路情報を受けて、取り扱う問題のサイズを小さくす
るためにチップの一部分の領域を対象に、ビアの設定や
デザインルールの制約などを考慮して配線される。詳細
配線では、この処理を全ての領域の配線が完成されるま
で繰り返して、全体の配線を完成する。
【0016】概略配線においては、粗い格子の各境界辺
に対して、障害物を考慮してネットが通過できる配線ト
ラック(詳細配線のグリッド)が何本あるかを配線容量
として計算する。図25(b)に示す概略格子(2点鎖
線)で囲まれた各領域Gij(i,j=1,2,3)に対
して計算する。概略配線問題は、「全ネットに対して、
各境界辺の配線容量値をオーバーしないで全ネットの概
略経路を決定する」問題である。
【0017】以下、従来の階層的配線アルゴリズムの一
例を述べる。
【0018】配線領域に対して2分割を繰り返すLau
therのアルゴリズムを階層的アルゴリズムの一例と
して選び、以下このアルゴリズムを例として説明する。
【0019】図26は階層的に領域を分割して行く様子
を示す図である。DO,1がチップなどの配線対象領域を示
す(図26(a))。第一階層での処理は、領域DO,1を
水平または垂直のカットラインで2分し(図26
(b))、このカットラインを横切るネットに対して、
その通過位置を決定する。このとき考慮することは、カ
ットする全ネットについて、カットライン上の各概略格
子境界の配線容量を越えて割り当てられないこと、ネッ
トの配線長をできるだけ最短化することなどである。
【0020】この問題は線形割当問題として、ネットワ
ークフローアルゴリズムを用いて効率的に解くことがで
きる。分割された各部分領域に対して、カットラインに
対するカットネットの割当を行い、これを領域が最小サ
イズ(図26(e))になるまで繰り返す。
【0021】このようにして配線経路が決定していく様
子の一例を図27に示す。Tは端子であり、CPはカッ
トラインLを横切る位置を仮想端子として示したもので
ある。図27(a)〜(d)のようにトップダウンに階
層が深まるにつれて経路が定まっていく。
【0022】次に、従来の階層的概略配線の問題点を具
体的に説明する。いま、配線に使用できる層は2つの層
であると仮定する。SOGでは、NAND,NORなど
の簡単な論理回路用のセル以外に、ROM,RAMなど
のようにサイズの大きなマクロブロックが存在する場合
がある。
【0023】一般に、マクロブロックはその機能を構成
するために第1層、第2層が用いられて設計されてい
る。従って、マクロブロックの上の領域は一般ネットの
配線は通過出来ないか、通過できても、上位層である第
2層のごく限られた場所でのみ可能である。。
【0024】従来の階層的配線処理では、マクロブロッ
クが存在する場合に対し、特別な対応がなされていなか
った。従って、階層処理をして行ったときに、全ての領
域の処理が終了した段階で配線の通過が禁止されている
マクロブロック上に配線が通過してしまうことがあっ
た。
【0025】その例を図28,29に示す。両図におい
て、M,M1〜M3はマクロブロックを、L1〜L5は
領域の分割のために挿入されたカットラインを示す(こ
こでは、経路が完成するために挿入する全てのカットラ
インは示していない)。T,A,Bは端子を示し同一名
を持つ端子間の経路を決定する必要があるものとする。
【0026】図28のように、カットラインがL1,L
2の順に挿入されて、カットラインL2をカットする位
置として、CPの位置が決められたとする。つぎにカッ
トラインL3が引かれたとするとき、L1,L2,L3
と配線領域の外枠で囲まれた領域内にはCPとTの結線
要求が残るが、この領域が階層処理されて行ったとして
も、この結線を実現するためにはマクロブロック上を通
過しないでは不可能である。
【0027】従って、実際にはマクロブロック上を通過
可能な領域がないにも関わらず配線が通過してしまうと
いう矛盾した経路が発生してしまう。図29は、マクロ
ブロックが領域内に複数個存在する場合や、多端子ネッ
トが存在するなど、より複雑な場合について、同様の問
題が発生する別の例を示したものである。
【0028】このような問題が発生する一つの理由は、
階層処理における領域分割、すなわち、カットラインの
引き方がマクロブロックの存在を考慮していないことで
ある。従来のカットラインの引き方としては、図30や
図31にフローチャートで示した方法がある。
【0029】図30は、カットラインをカットするネッ
ト数Dとカットライン上の配線容量Sとの差D−Sの最
も大きい位置を現領域のカットラインとして選択して分
割するものである。
【0030】図31の方法は、領域ができるだけ正方形
に近くなるようにカットする方向を決定した後、カット
ラインをカットするネット数Dとカットライン上の配線
容量Sとの差D−Sが臨界値(THRHD)以下であれ
ば、最もカットする本数の少ないカットラインを優先的
に選択するものである。この方法は、階層の上位で決定
するときに誤る量を少なくして、また分割された両領域
をできるだけ独立した領域に分割するという考えに基づ
いている。
【0031】これらの方法においても、マクロブロック
が領域内に存在する場合にはマクロブロック上の配線容
量がなくなるので、ある程度カットラインの選択に影響
を与えるが、実際には、図28,図29のようなカット
ラインの挿入が起こり問題が発生する。
【0032】また、マクロブロックを無視してカットラ
インを引くと、図32の例に示すように、カットライン
LとマクロブロックMとに挟まれた領域の周辺部分(図
で点線で囲んだ領域Pの近辺)で配線混雑が起こり、階
層処理の下位レベルで割当ネット数が配線容量を越えて
しまうなどの問題も発生する。
【0033】さらに、領域の分割方法に関する先に述べ
た2つの方法(図30,図31)は、決定に当たって複
数の評価項目を同時に考慮していない。例えば、図30
の方法では、カットライン数と配線容量との差による評
価項目のみで決定している。この評価項目で同じ評価値
のカットラインが複数ある時には、ランダムにその位置
が選択されることになる。
【0034】場合によっては、全く面積や縦横比の異な
る二つの領域に分割するカットラインが選択されたりす
る。このような、不均一な分割では、階層アルゴリズム
のメリットである分割統治のメリットである高速性のメ
リットが充分発揮されなくなる。
【0035】また、図31の方法でも、カットネット数
と配線容量の差が臨界値以下であるカットラインの候補
は複数個あり、しかも、カット数はセルが自動配置され
ているときには一般に領域の周辺部分で少なくなる性質
があるので、周辺付近のカットラインが選択される可能
性がある。このため、この方法で分割される2つの領域
のアスペクト比がアンバランスになりやすく、また長細
い領域などの発生にともなって冗長な経路が発生しやす
くなる。
【0036】以上述べた、従来技術の問題点は、マクロ
ブロックの占める領域が第1層、第2層とも他のネット
の禁止領域となる場合を仮定して述べたが、以下に図3
3,図34を用いて、マクロブロック上に第2層(M
2)のみ若干の配線容量が存在する場合を説明する。
【0037】図33,図34は、従来の方法をこのよう
なマクロブロックが混在する回路に直接適用した際に発
生する問題点を説明するための図である。
【0038】図33において、Mはマクロブロックを、
Lは領域の分割のために挿入されたカットラインを示
す。配線層は、第1層(M1)を垂直方向に、第2層を
水平方向に用いるものと仮定する。A,Bは端子を示
し、同一名を持つ端子間の経路を決定する必要があるも
のとする。
【0039】従来の方法では、カットネットに対して
(図面ではネットA,ネットBの2つを示しただけであ
るが、一般にこの数は数十から数百個対象となるものが
存在する)、その通過位置を決定した後に、通過位置の
両側に仮想的な2端子を設定していた。
【0040】今、カットラインLとマクロブロックMが
交わった概略格子境界にM2の配線が通過可能な配線容
量が存在するとする。このとき、カットネットの中には
マクロブロック上にその通過位置が設定されることが起
こり得る。
【0041】例えば、ネットAは、マクロブロックとカ
ットラインの交わるPの位置にその通過位置が割り当て
られたものである。従って、従来方法ではネットAに対
しては位置Pの両側に仮想的な端子T1,T2が登録さ
れる。これらの仮想端子は、階層が一つ下がった、それ
ぞれの部分領域の処理で用いられ、ネットBはマクロブ
ロック上ではない位置に割り当てられた場合を示してい
る。
【0042】図34は、マクロブロック上に割り当てら
れたネットが、通過を禁止された経路を生じる例を示し
たものである。すなわち、通過配線の許されていない配
線層M1の垂直方向の経路が発生している。
【0043】いま、マクロブロックMは、図34(b)
に示すように、マクロブロックの占める領域に対応する
概略格子がG11からG44までを持っているものと
し、概略格子G11,G21,G31,G41およびG
13,G23,G33,G43の左右の境界辺に、M2
に配線可能な配線容量(空白部分)を持っているものと
する。
【0044】従って、カットラインL1上にそのカット
ネットを割り当てるときにマクロブロック上にその位置
が割当られることも起こる。ネットAに対して、カット
ラインL1上の割当位置がそれぞれ、P1・P2であっ
たとする。いま、カットラインL1で分割された右の領
域がさらにカットラインL2,L3で分割されたものと
する。
【0045】カットラインL3を引いたときには、実際
の端子Aと仮想的な端子P2からネットAはこのカット
ラインL3をカットするネットと見なされて、カットラ
イン上に通過位置が決定される。
【0046】いま、L3上での割当に当たってはG31
とG33の右の境界辺には正の配線容量が存在するので
これらの位置とマクロブロックに重ならない位置が選ば
れるが、配線長の観点からG33,G31がその候補と
して優先度が高いがそのどちらが選ばれるかは不定であ
る。従って、いまG33の位置すなわちQの位置に割り
当てられたとする。
【0047】このとき、P2とQとの結線にはどこかで
垂直方向のセグメントが必要となり、M1を使用せざる
おえない。すなわち、マクロブロック上で通過が禁止さ
れている第1層M1の配線が発生する。
【0048】最後に、従来技術の1つである、マクロブ
ロックのみを対象とするモデルに対して概略配線経路を
求める方法に言及する。このモデルは、図35(a)に
示すようにマクロブロックMが配置されて、ブロック間
の領域をチャネルと呼ばれる配線領域(図中、CH1か
らCH8)として、ブロック間の経路を決定するもので
ある。決定されるブロック間の経路は、どのチャネルを
通るかによって表現される。
【0049】図35(b)は、端子T間の経路の一例を
示したものである。すなわち、ネットTはチャネル{C
H4,CH2,CH1,CH7,CH5}を通る経路と
して表現される。このモデルでは、詳細配線はチャネル
毎にチャネル配線アルゴリズムにより完成される。
【0050】このようなビルディングブロックのモデル
の概略配線方法は、規則的な概略配線格子を設定し、2
次元的な領域に任意の位置の禁止領域を許す、一般的な
AREAルーターで詳細配線を実行する必要のある、
「チップの一部の領域にマクロブロックが存在するマク
ロブロック混みのSOG」や「Embedded Ar
ray」には適用できない。
【0051】
【発明が解決しようとする課題】以上説明したように、
従来の自動配線方法において階層的な配線アルゴリズム
にあっては、配線領域内にマクロブロックなどの広い範
囲にまたがる禁止領域が存在する場合に、階層的に処理
を進めて行ったとき、禁止領域上に配線が通過して通過
配線が実現できなかったり、その周辺が混雑するなどと
いった質の悪い経路が求まっていた。
【0052】さらに、従来の階層的な配線方法では、領
域を分割する位置を決定するときに、一つの評価項目で
のみ決定していたので、分割に際して重要な他の評価項
目のことが考慮されず総合的に良い分割が成されていな
かった。
【0053】そのため、これら概略経路を受けて詳細配
線を実行したおりには、配線できないネットの数が多く
なることにつながっていた。
【0054】そこで、この発明は上記事情に鑑みてなさ
れたものであり、第1の発明の目的とするところは、禁
止領域上を通過した配線が発生せず、また禁止領域の周
辺が混雑することが緩和される概略経路を生成して、詳
細配線が容易となる自動配線方法を提供することにあ
る。
【0055】また、第2の発明の目的とするところは、
マクロブロック上に若干のスルー配線する場所が存在す
る際に、禁止された層の通過配線が起こらない概略経路
を生成して、詳細配線が容易となる自動配線方法を提供
することにある。
【0056】
【課題を解決するための手段】上記目的を達成するため
に、第1の発明は、配線領域を複数の大まかな概略格子
で分割し、概略格子間の境界上に設定され、配線ネット
によって横切られるカットラインを全て求め、各カット
ラインに対して、最も配線の混雑を緩和させるように前
記配線領域を2分割するカットラインの選択され易さを
表す評価値を、複数の評価項目について計算し、計算さ
れた各評価値に重み付けを行って評価値の総和を計算
し、前記全てのカットラインのうち、評価値の総和が最
小となったカットラインで前記配線領域を2分割し、こ
のカットラインを横切る全配線ネットの横切る位置を決
定し、2分割された部分領域が所望の最小領域になるま
で同様な処理を階層的に繰り返すことにより、全配線ネ
ットに対する前記概略格子上の概略配線経路を決定する
ことを要旨とする。
【0057】また、第1の発明において、前記複数の評
価項目は、少なくとも、カットラインによって2分割さ
れる部分領域の形状が正方形に近いほど、このカットラ
インを選択され易くする評価項目と、カットラインを横
切るネットの本数と通過可能な配線の本数とを基に、配
線混雑が多いカットネットを選択され易くする評価項目
と、前記配線領域内に所定以上の面積を占める配線禁止
領域が存在する場合、この配線禁止領域外のカットネッ
トについては、この領域から離れているカットネットほ
ど選択され易くし、この配線禁止領域内のカットネット
については、全て選択され易くするかあるいは中央に近
いカットネットほど選択され易くする評価項目とを含む
ことを特徴とする。
【0058】また、第2の発明は、同電位端子間を結ぶ
ネットが複数与えられた、ROM,RAMなどのマクロ
ブロックを含む配線領域を、大まかな縦と横の概略格子
で分割し、前記各概略格子の境界に配線が実際に何本通
過できるかを表す配線容量値を計算し、前記配線領域
を、前記概略格子間の境界上のカットラインにより部分
領域に分けて前記カットラインを横切る全ネットに対し
てカットライン上にそれぞれの横切る位置を決定する際
に、前記マクロブロック上にネットが通過できる配線容
量が許されている場合に、マクロブロック上のカットラ
インに横切る位置が割り当てられたネットは、マクロブ
ロックの端から端までのセグメントを生成して、以降の
処理ではそのセグメントの端点を仮想端子と見なして前
記部分領域が所望の最小領域になるまで同様な処理を階
層的に繰り返すことにより、全ネットに対して前記概略
格子上の配線経路を決定することを要旨とする。
【0059】
【作用】第1の発明による階層的な自動配線方法は、配
線領域内にマクロブロックなどの大きな禁止領域が存在
する場合には、領域をカットラインで分割する際に、下
位の階層で配線禁止領域に経路が通過してしまうなどの
問題が起こらないような、またはマクロブロック周辺部
分が混雑しないような分割が上位階層で行われる。
【0060】さらに、第1の発明による階層的な自動配
線方法は、マクロブロックが存在しない場合でも、領域
の縦横比・配線容量・カットネット数などの複数の評価
項目を同時に考慮した分割位置が選択される。そのた
め、質の良い配線結果が高速に得られる。
【0061】また、第2の本発明による階層的な自動配
線方法は、配線領域内にマクロブロックなどの大きな禁
止領域が存在する場合に、領域をカットラインで分割し
た際に、マクロブロック上に許された若干のスルー配線
の領域があれば、そのスルー配線のセグメントを発生さ
せることにより、階層的な処理の枠組みの中でマクロブ
ロック上のスルー配線を実現することが出来る。
【0062】
【実施例】以下、図面を用いてこの発明の実施例を説明
する。
【0063】第1の発明図1は、第1の発明の自動配線
方法の手順を示すフローチャート図である。
【0064】まず、ステップS1では概略配線を始める
に当たって、概略格子を設定する。概略格子は、図25
に示すように、詳細配線を行う配線格子(グリッド)を
十数本から、数十本をまとめた程度のサイズとする。セ
ルの配置位置や回路の大きさなどによって、概略格子の
引き方を修正することができる。
【0065】ステップS2では、各概略格子境界につい
て、実際に詳細配線を行ったときに、何本の配線が通過
できるかを表す配線容量を計算する。配線容量は、配線
層毎に計算され、各層についてどれだけネットが通過で
きるかを示す。その計算に当たっては、境界の近傍の端
子や禁止領域などが考慮される。
【0066】ROM,RAMなどのマクロブロックにか
かる格子境界は、一般ネットが通過することが出来ない
ので、その配線容量は0となる。また、近傍に配線の障
害物がない場合には配線容量は、その境界を通過してい
る詳細配線グリッド数として定義することができる。ま
た、配線に使用する層が3層以上の多層であれば、上位
の層についてはマクロブロック上に一般ネットの配線が
通過することが許されるので、その層の配線容量は正の
値となる。
【0067】以下の説明では説明を簡単にするために、
ネットの配線には2つの層が使用できるものとして、マ
クロブロック内部はこれらの2層を使って密に設計され
ているため、ネットの配線が通過できなく、マクロブロ
ック上の格子境界の配線容量は0となっているものとし
て説明する。
【0068】つぎに、配線対象領域に対してステップS
3からステップS9までの処理で領域を2分割するとき
の方向および位置、すなわちカットラインを決定する。
この処理では、分割してできる2つの領域の縦横比に関
する評価値(以下、コストという)と、カットラインを
カットするネットの本数とカットライン上の配線容量に
関するコストと、マクロブロックが領域内に存在すると
きにはマクロブロックに関するコストから、総コストを
計算して、そのコストの最小となるカットラインを一つ
選択して領域を分割している。
【0069】ステップS10では、選択されたカットラ
インを受けて、このカットラインを通過するネットに対
してどこの概略格子境界を通過するかを決定する。この
方法としては、カットネット全てに対して、各境界を通
過する場合に配線長がどれだけになるかを反映させたコ
ストを設定して、各境界の配線容量以上にネットが割当
てられないことを条件とし、コストを最小化する問題と
してモデル化してネットワークフロー問題を解く割当ア
ルゴリズムを用いる方法がある。
【0070】以上の処理をカットラインで分けられたそ
れぞれの部分領域に対して繰り返し適用していって、領
域のサイズが所望の最小サイズに全てなれば、全ネット
の経路が得られる。
【0071】以下、第1の発明の中心部分であるステッ
プS3からステップS9までの分割カットラインを求め
る処理について図面を用いて具体的に説明する。
【0072】ステップS3では、配線領域の全てのカッ
トラインを求める。図2は、配線領域Dの全てのカット
ラインの一例を示したものである。すなわち、領域内の
垂直方向の全ての概略格子位置に対応するカットライン
L(図2(a))と、水平方向の全ての概略格子位置に
対応するカットラインL(図2(b))の中から任意に
一つ選択する。
【0073】ステップS4では縦横比に関するコストを
計算する。領域の分割に当たっては、カットラインで分
割された2つの領域が正方形に近い方ほど階層処理の効
率が良いため、ネットの配線長が短くなるなどの配線の
質の良い経路が得られる。従って、このコストは分割さ
れた領域が正方形に近いほど値が小さく、分割位置とし
て選択され易いものを採用する。
【0074】一例を図3に示す。図3(a)は、幅W,
高さHの領域の垂直方向の全てのカットラインL1〜L
7を示し、各カットラインについて図3(b)に縦横比
のコストを示す。例えば、コストの関数としては、両領
域の縦横比の和を取り、横方向にカットラインの位置x
を取って、 A Cost=H/x+H/(W−x) などとすれば良い。水平方向についても90度回転させ
て考えれば良い。
【0075】次に、ステップS5でカット本数と配線容
量に関するコストを計算する。この2つの量で決まるコ
ストは、例えば図4のフローにしたがって計算される。
すなわち、カットする本数Nとカットライン上の全境界
の配線容量の和Cとの差が、混雑とするか否かの基準値
である、予め設定した臨界点(LIMIT)を越えた場
合には、その位置が混んでいることを示している。この
ときは、速い段階でカットラインを引いた方がよいの
で、その位置のコストを負の値として小さく取り、選択
され易くする。
【0076】例えば、このコストはαを正のパラメータ
として、 B cost=−α×(N−C−LIMIT)/格子境
界数 LIMITとしては、0,−1,−2,…などの値をパ
ラメータして調節してやれば良い。
【0077】逆にN−C≦LIMITのときには、カッ
トするネット数が少ないほど、また配線容量の値が少な
いほど優先的に選択する。この理由は、カットライン上
にカットネットを割り当てることは経路に関する制約を
与えることであるが、上位階層で与える制約の失敗が少
ない方がよいのでカットネット数の少ない位置を優先し
た方が良い。
【0078】また、配線容量の少ない位置からカットを
引くことによって、階層の下位の方で配線容量の豊富な
ものが残り、上位階層を処理しているときには分からな
い下位階層のために配線容量の多いところを残すことが
でき、最終的な配線のオーバーフローが少ない結果が得
られるからである。
【0079】従って、コストとしては、例えば、単位格
子境界当たりのカット数と配線容量に比例したコストを
設定する。β,γを正のパラメータとして B cost=β×N+γ×C などとすればよい。
【0080】領域内にマクロブロックが存在すれば(ス
テップS6肯定)、ステップ7でマクロブロックに関す
るコスト(C cost)を計算する。領域内のマクロ
ブロックは、階層処理が進むに連れてカットラインによ
って分割されていくが、分割されたマクロブロックの存
在位置と幅・高さなどの情報を下位の階層に伝えてい
く。従って、ステップS6で判断するときにはマクロブ
ロック全体を見ている場合もあるし、その一部を見てい
る場合もある。
【0081】つぎに、マクロブロックが領域内に存在す
る場合について、カットラインの引き方を決めるコスト
の与え方について説明する。一般に、領域内Dにマクロ
ブロック(またはその一部)Mが1つ存在する場合、そ
の領域内におけるマクロブロックのフロアプランは図5
(a)〜(h)および図6(a)〜(h)まである。こ
こでは、Mが領域Dの各辺に隣接しているかの有無によ
って分けた。
【0082】例えば、図5(a)はMが領域Dの左辺と
下辺に接している場合であり、図5(f)はMがDのど
の辺にも接していない場合である。このうち、図5
(h)と図6(f)は領域Dがマクロブロックによって
2つの孤立した領域に分けられている。
【0083】階層処理を進めて行った途中で発生する、
このような領域については、マクロブロックを挟んだ両
領域に端子(または仮想端子)があるネットはこの領域
内でマクロブロックを通過した配線を避けることが出来
ない。すなわち、袋小路に入ったとみなされる。
【0084】第1の発明ではこのような位置関係が発生
しないように上位の階層で領域分割するときに対処する
ものである。図7,8は、縦方向のカットラインを引い
た際の、各フロアプランに対する、マクロブロックに関
するコスト関数の例を示したものである。図5,6に示
したものの内、図7,8で取り上げなかったものは、左
右または上下の対称性に基づいて同様のコストを設定す
るものとする。
【0085】それぞれの場合、マクロブロックの近辺に
近い位置でのカットラインは従来技術の図32を用いて
説明したように配線混雑が発生しやすいので、分割位置
として選ばれ難い方がよい。従って、マクロブロックに
近づくにつれて双曲的にコストが高くなるように設定す
る。
【0086】また、マクロブロックを分断するカットラ
インの場合には、袋小路に陥る図5(h)を発生させて
しまう図7(e)の場合を除いて、どの位置を選択して
も問題ないのでコスト的には最小コスト0を与えること
にする。
【0087】図7(e)の場合には、図7(f)に示す
ように、充分大きなコストを設定して、この位置が選ば
れ難くする。図8(a)の場合には、縦方向のカットラ
インはどこに引かれても良いので、どの位置にも最小コ
ストを与える。
【0088】またマクロブロックが領域の中央部に存在
するとき(図5(f))は、図9(b)のようなコスト
を設定するのも効果的である。これは、図9(c)に示
すようにマクロブロックの回りを迂回して配線するネッ
トがあるときに、配線の自由度を上げるためである。
【0089】例えば、カットラインL1については図9
(c)のtypeAの経路もtypeBの経路も選択可
能である。しかし、カットラインL2の場合にはtyp
eBの可能性は失われて、強制的にtypeAの経路を
選ぶことになる。逆に、カットラインL3の場合にはt
ypeAの可能性は失われて、強制的にtypeBの経
路を選ぶことになる。
【0090】このように、マクロブロックの中央部のコ
ストをマクロブロックの端の位置よりも選択され易いよ
うに図9(b)のようなコストを考えることもできる。
【0091】次に、具体的なコスト関数型の一例を図1
0,図11に示す。図10は、(a)のマクロブロック
の配置に対するコストを(b)に示したものである。
【0092】カット位置L1〜L3に対しては、 Cost=r1×h÷(xi−x+1) カット位置L4〜L5に対しては、 Cost=r3×(xc−x) カット位置L6〜L7に対しては、 Cost=r3×(x−xc) カット位置L8〜L10に対しては、 Cost=r1×h÷(x−xj+1)などとすれば良
い。
【0093】この例の場合にはマクロブロックに関する
コストとしてはL5,L6が小さく、また水平方向では
L14の位置が小さくなる。実際のカットラインの位置
は、他のコストも考慮して総コストが最小になる位置が
選択される。
【0094】また、図11は(a)のマクロブロックの
配置に対するコストを(b)に示したものである。
【0095】カット位置L1〜L2に対しては、
【数1】 Cost=r1×h−r2×h÷((w−1)×(xj−x)) カット位置L3〜L10に対しては、 Cost=r1×h÷(x−xj+1) などとすればよい。
【0096】なお、パラメータr1〜r3は双曲線の係
数や直線の傾きを決めるものであり、問題に応じてチュ
ウニングすればよく、例えばr1=1.5,r2=0.
5,r3=1.0などとした場合、図10(b),11
(b)のようなコスト関数となる。
【0097】図12に示すように、領域内にマクロブロ
ックが複数存在するときにも、それぞれのマクロブロッ
クに関するコストを計算してその和とすることにより同
様に扱うことが出来る。図12(b)は、マクロブロッ
クM1(点線)とM2(2点鎖線)に関する単独のコス
トから両者を合成したコストを実線で示したものであ
る。
【0098】最後に、図1のステップS8で、各コスト
の線形和
【数2】 TCOST=W1×A Cost+W2×B Cost+W3×C Cost を計算して総コストとする。各項の重みの定数W1〜W
3は回路の性質等に応じて決定すれば良い。
【0099】なお、これらのコスト以外にも幾つかのコ
ストを追加して考えることもできる。例えば、詳細配線
は図13(a)に示すように、概略格子Gを一つまたは
複数個集めた領域D11〜D33で行われることに注目
して、詳細配線での結線の成功を高めるように分割位置
を調整することができる。
【0100】詳細配線は領域の周辺に定義された外部端
子と内部の端子に基づいて処理されるが、外部の端子が
ほど良く分散化されていたり、その個数が少なければ制
約が少ないために、詳細配線は一般にやりやすい。
【0101】これにより、詳細配線の切れ目となる位置
に、階層処理の上位の段階でカットラインが選択される
ことが好ましいと考えられる。そこで、図13(b)の
ように詳細配線の切れ目となるカットラインのコスト
を、他の位置のコストより小さくして選択されやすくす
ることができる。
【0102】最後に第1の発明と従来例の相違を示す。
従来技術のところで示した、図28,29に対して、第
1の発明で処理したときの結果を図14と図15に示
す。
【0103】図14は、カットラインをL1,L2,L
3,L4という順序で挿入したものであり、それにつれ
てネットTの経路がカットネットとしてカットライン上
にCP1〜CP3と仮想的な端子が生成されていく。従
来の方法ではマクロブロック上の配線で失敗したが、第
1の発明ではその禁止領域を上手に回避した経路が生成
されている。
【0104】図15のような多端子の複雑なネットが存
在する場合や、マクロブロックが複数存在する場合でも
第1の発明では階層処理が進んで行っても禁止領域内に
配線が陥ることはない。また、マクロブロックのみ考慮
していないため、マクロブロックの存在しない領域での
分割も効果的に行うことができる。
【0105】なお、今回の実施例における、カットライ
ンを選択する際のコスト関数の形は、一具体例でありこ
れに限定されるものではない。また、領域内に存在する
配線禁止領域はマクロブロック等に限定しないで、その
他の比較的大きな禁止領域を対象としても扱うことが出
来る。
【0106】さらに、本手法によれば、マクロブロック
の存在の有無や配線領域専用のチャネルの存在の有無な
どに関係なく一般的なレイアウトモデルにも適用が可能
である。
【0107】第2の発明 第1の発明がマクロブロック上は第1層、第2層が完全
に通過禁止された領域であると仮定したのに対して、第
2の発明はマクロブロック上の第2層に1部通過可能な
領域を仮定している点が異なる。
【0108】本配線は、図16に示すような、規則的な
基本セル列(BS)のゲートアレイに、マクロブロック
(マクロブロック、図中Mで示したもの)が混在する回
路をおもに対象としている。
【0109】概略配線は、図17に示すような、2次元
的に規則的に設定された格子上で決定される。概略格子
GGは、同図に示すように、基本セル数個分の、詳細配
線を行う配線格子(グリッド)を十数本から、数十本を
まとめた程度のサイズとする。セルの配置位置や回路の
大きさなどによって、概略格子の大きさを修正すること
ができる。
【0110】本配線モデルでは、マクロブロックが占め
ている領域にも同様にこの格子を設定する。概略配線経
路は、図中太い実線で示すように、異なる概略格子内に
存在する端子(図中Tで示したもの)間を結ぶセグメン
トとして表現される。
【0111】本配線方法は従来技術の項でも示したよう
に、2分割処理を繰り返して、カットラインをカットす
るネットに対してそのカットする位置を全体の配線長が
最小となるように決定する、トップダウンな階層処理の
枠組みに則っている。また、分割は全ての分割された領
域のサイズが概略格子のサイズになるまで再帰的に続け
られるものとする。
【0112】今、本実施例として説明を簡単にするため
に、配線層として2つの層が利用できる例について説明
する。実際には、配線層が3層以上使用できる場合も同
様の扱いが可能である。また、第1層は垂直方向、第2
層は水平方向に用いるものとする。
【0113】概略配線に当たって、各概略格子境界につ
いて、実際に詳細配線を行ったときに、何本かの配線が
通過できるかを表す配線容量を計算する。配線容量は配
線層毎に計算され、各層についてどれだけネットが通過
できるかを示す。その計算に当たっては、境界の近傍の
端子や禁止領域などが考慮される。2層配線の例では水
平方向の格子境界には、第2層の配線容量が、垂直方向
の概略格子境界には第1層の配線容量が与えられる。
【0114】図18は、通過配線の可能なマクロブロッ
クの一例を示したものである。同図で、チップ上に設定
された概略格子(図中、太い破線)がマクロブロックM
と重なっている部分の様子を示した。一般には、RO
M,RAMなどのマクロブロックにかかる格子境界の配
線容量は、ROM,RAMなどを構成するために内部配
線として使用した配線のために第1層に関しては、一般
ネットが通過することが出来ないので、配線容量は0と
なる。
【0115】しかし、ROM,RAMの設計の仕方で
は、第2層目に若干の配線容量が残っていて、マクロブ
ロックをスルーできる場合もある。
【0116】図18で、H1,H2,H3は第2層の禁
止領域、細い破線DGは詳細配線のグリッドを示す。こ
の例のマクロブロックには、マクロブロックMの第2層
に関してスルーできる配線トラックが存在する。
【0117】従って、図19に示すように、マクロブロ
ックを貫通する経路が許される。従って、概略格子の垂
直格子境界の配線容量は、G11,G21,G31,G
13,G23,G33は1、G12,G22,G32は
2である。一方、第1層はマクロブロックを構成するた
めに完全に使用されているので、G11からG33の水
平方向の境界の配線容量は全て0となる。
【0118】マクロブロック上では第1層の配線容量が
無いので、マクロブロックをスルーするモデルとして
は、マクロブロック上で折れ曲ることはできないので、
マクロブロックを端から端まで水平方向に、直線で、ス
ルーするものを考える。
【0119】図20は、第2の発明の自動配線方法にお
けるマクロブロック上のスルー配線を実現する方法を示
す図である。これは、一般的なレベルの階層での処理を
示す。Lはカットラインを示す。
【0120】いま、このカットラインLがマクロブロッ
クをカットしたとする。配線処理としては、このカット
ラインを横切る全てのネットに対してカットライン上の
概略格子境界の位置を、全体の配線長が最小になるよう
に位置決めを同時に全ネットに対して行う。
【0121】例えば、各カットネット(i)の各境界
(j)への割当の際の配線長に関するコストCijをコ
スト行列(Cij)とし、各境界の配線容量値を割当ネ
ット数の上限として、各Cijの総和を最小化する問題
として解くことができる。従って、あるネットをマクロ
ブロック上に割り当てるか、それ以外のところに割り当
てるかは全体として最適化されて選択される。例えば、
ネットAはマクロブロックをスルーすることにより最短
の経路が実現され、ネットBはマクロブロックをスルー
しない方が最短な経路が実現される。
【0122】第2の発明では、マクロブロック上に割当
位置が決定したネットに対しては、マクロブロックを完
全にスルーするセグメントをその位置に発生させる。
【0123】例えば、図1のネットAがカットライン上
の位置Pに割り当てられたとすると、Pの位置にはセグ
メント[S1,S2]を発生する。そして、以下の階層
では、このネットは既に、S1またはS2の位置に仮想
的な端子があるとみなされて処理される。
【0124】なお、マクロブロックに掛からない位置に
割り当てられたものは、長さ1のセグメントを発生する
ことになる。例えば、図中ネットBはマクロブロックに
掛からない格子境界である位置Qに割り当てられたとす
ると、その位置には長さ1のセグメントが発生される。
【0125】図21は、図20の右側の領域に対してさ
らに分割が進んだ際に、上位階層で発生したセグメント
の扱いを説明するための図である。
【0126】領域Dに対して、カットラインL1に続
き、L1の右の領域に対してL2、L3とカットライン
が挿入されたとする。カットラインL3を引いたときに
は、ネットAに関してはカットラインL1のレベルでP
に発生されたセグメントの端点S2が既にカットライン
L3の右の領域D2に存在する。
【0127】従って、ネットAに関してはD1とD2の
両方に端子または仮想端子が存在する訳でないので、こ
れはカットネットと見なされない。すなわち、カットラ
インL3のレベルでは対象とならない。このように、マ
クロブロックをスルーして発生されたセグメントは、そ
のセグメントの端点の位置がどこに実際に存在するかを
みて以下の階層で扱われることになる。
【0128】最後に、マクロブロック上のスルー配線の
制限について述べる。マクロブロックをスルーした経路
は、必ずしも最短の経路を実現するとは限らない。図2
2は、マクロブロックをスルーした場合(a)と、しな
かった場合(b)の配線経路を示したものである。図中
示したようなネットAの場合には、無理にマクロブロッ
ク上を追加させるよりも、(b)のようにスルーしない
経路の方が良いと考えられる。
【0129】そこで、本発明ではマクロブロックをスル
ーした方が好ましいネットをつぎのように選択する。マ
クロブロックをスルーした方が好ましいネットを選別す
るために、図23に示すようにマクロブロックの存在す
る区間DMとその右DRとその左DLに分ける。
【0130】このとき、マクロブロックを通過した方が
好ましいネットは、領域DRと領域DLにのみその端子
を持つものである、と見なす。例えば、ネットAはこの
ようなネットである。ネットBは領域DMと領域DRに
その端子を持つものであり、マクロブロックを通過した
ほうが好ましいネットとは見なされない。
【0131】すなわち、ネットBは図22(b)で説明
したようなマクロブロックをスルーしない経路の方が好
ましい。このような選択を行うためには、カットネット
をカットラインLに割り当てるとき、ネットBのような
ネットがマクロブロックの境界に割り当てられるコスト
Cijを故意に大きく設定することによって解決でき
る。
【0132】
【発明の効果】以上説明したように、第1の発明によれ
ば、領域内に大きな禁止領域が存在する場合でもこれを
避けた経路が求まり、また、混雑しやすい禁止領域の周
辺部分の配線混雑が緩和され、質の良い概略配線結果が
得られる。
【0133】また、第1の発明によれば、マクロ領域以
外の領域についても総合的に考慮されるので、領域全体
に混雑の分散化が行われた概略配線結果が得られる。こ
のために、この概略配線に続く詳細配線が容易になる。
【0134】また、第2の発明によれば、領域内に大き
な禁止領域が存在する場合でも、マクロブロック上に通
過配線可能な領域があればその経路が求められ、質の良
い概略配線結果が得られる。この結果、ネットの総配線
長を短くでき、マクロブロックの回りの配線混雑の解消
による配線率の向上が可能である。
【図面の簡単な説明】
【図1】第1の発明の自動配線方法の手順を示すフロー
チャート図。
【図2】挿入可能なカットラインの候補位置を説明する
ための図。
【図3】縦横比に関するコストの例を示す図。
【図4】カットネットと配線容量に関するコストを説明
するための図。
【図5】領域内部でのマクロブロックの相対位置を示す
図。
【図6】図5と同様な、領域内部でのマクロブロックの
相対位置を示す図。
【図7】マクロブロックの存在に関するコストを示す
図。
【図8】図7と同様な、マクロブロックの存在に関する
コストを示す図。
【図9】マクロブロックの回りの迂回に関するコストを
説明するための図。
【図10】マクロブロックの存在に関するコストの一例
を示す図。
【図11】マクロブロックの存在に関するコストの一例
を示す図。
【図12】マクロブロックが領域内に複数個存在する場
合のコストを説明するための図。
【図13】詳細配線のことを考慮したコストを説明する
ための図。
【図14】第1の発明によるカットラインの引き方を示
した図。
【図15】第1の発明によるカットラインの引き方を示
した図。
【図16】チャネルレスゲートアレイにマクロブロック
が混在する回路を示す図。
【図17】概略格子と概略格子上の経路の例を示す図。
【図18】マクロブロック上の禁止領域と概略格子・詳
細格子の様子を示す図。
【図19】マクロブロック上の概略格子のスルーできる
様子を示す図。
【図20】第2の発明によるマクロブロック上の通過配
線を実現する方法を説明するための図。
【図21】第2の発明による分割された部分領域での仮
想端子の考慮の方法を説明するための図。
【図22】マクロブロック上のスルー配線をする場合と
しない場合の経路の例
【図23】スルー配線とするかしないかを判別する方法
を説明するための図。
【図24】チャネルレスゲートアレイの基本セル列を示
す図。
【図25】詳細配線格子と概略配線格子を説明するため
の図。
【図26】配線領域を2分割しながら階層処理する様子
を示す図。
【図27】2分割処理により配線経路が得られる様子を
示す図。
【図28】図14に対する従来のカットラインの引き方
を示す図。
【図29】図15に対する従来のカットラインの引き方
を示す図。
【図30】従来のカットラインの引き方を示すフローチ
ャート。
【図31】図30と異なる従来のカットラインの引き方
を示すフローチャート。
【図32】従来におけるカットラインの周辺での配線混
雑を示す図。
【図33】従来手法でマクロブロック上のスルー配線を
実現した例を示す図。
【図34】従来方法におけるマクロブロックの通過配線
が禁止された層で発生することを示す図。
【図35】チャネル構造のモデルに基づく概略配線を説
明する図。
【符号の説明】
T,A,B ネットの端子 L,L1〜L16 カットライン D11〜D33 詳細配線領域 D,Di,j 配線領域またはその一部 G 概略配線グリッド G11〜G33 概略配線格子で囲まれた領域 CP1〜5 カット位置 M,M1〜M3 マクロブロック T,A,B ネットの端子 L,L1,L2,L3 カットライン M マクロブロック D1,D2 部分配線領域 DL,DM,DL マクロブロックの区間の左右内部の
領域 D チップ・配線領域またはその一部 GG 概略配線グリッド DG 詳細配線グリッド G11〜G44 概略配線格子で囲まれた領域 H1,H2,H3 マクロブロックの第2層の禁止領域 BS ベーシックセル P,Q カットネットのカットライン上での割当ピン T1,T2,P1,P2 仮想端子 S1,S2 割当セグメント S 概略配線セグメントの例 CH1〜CH8 配線チャネル

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 配線領域を複数の大まかな概略格子で分
    割し、概略格子間の境界上に設定され、配線ネットによ
    って横切られるカットラインを全て求め、 各カットラインに対して、最も配線の混雑を緩和させる
    ように前記配線領域を2分割するカットラインの選択さ
    れ易さを表す評価値を、複数の評価項目について計算
    し、 計算された各評価値に重み付けを行って評価値の総和を
    計算し、 前記全てのカットラインのうち、評価値の総和が最小と
    なったカットラインで前記配線領域を2分割し、 このカットラインを横切る全配線ネットの横切る位置を
    決定し、 2分割された部分領域が所望の最小領域になるまで同様
    な処理を階層的に繰り返すことにより、全配線ネットに
    対する前記概略格子上の概略配線経路を決定することを
    特徴とする自動配線方法。
  2. 【請求項2】 前記複数の評価項目は、少なくとも、 カットラインによって2分割される部分領域の形状が正
    方形に近いほど、このカットラインを選択され易くする
    評価項目と、 カットラインを横切るネットの本数と通過可能な配線の
    本数とを基に、配線混雑が多いカットネットを選択され
    易くする評価項目と、 前記配線領域内に所定以上の面積を占める配線禁止領域
    が存在する場合、この配線禁止領域外のカットネットに
    ついては、この領域から離れているカットネットほど選
    択され易くし、この配線禁止領域内のカットネットにつ
    いては、全て選択され易くするかあるいは中央に近いカ
    ットネットほど選択され易くする評価項目とを含むこと
    を特徴とする請求項1記載の自動配線方法。
  3. 【請求項3】 同電位端子間を結ぶネットが複数与えら
    れた、ROM,RAMなどのマクロブロックを含む配線
    領域を、大まかな縦と横の概略格子で分割し、 前記各概略格子の境界に配線が実際に何本通過できるか
    を表す配線容量値を計算し、 前記配線領域を、前記概略格子間の境界上のカットライ
    ンにより部分領域に分けて前記カットラインを横切る全
    ネットに対してカットライン上にそれぞれの横切る位置
    を決定する際に、 前記マクロブロック上にネットが通過できる配線容量が
    許されている場合に、マクロブロック上のカットライン
    を横切る位置が割り当てられたネットは、マクロブロッ
    クの端から端まで通過するセグメントを生成し、 以降の処理ではそのセグメントの端点を仮想端子と見な
    して前記部分領域が所望の最小領域になるまで同様な処
    理を階層的に繰り返すことにより、全ネットに対して前
    記概略格子上の配線経路を決定することを特徴とする自
    動配線方法。
JP31747392A 1991-12-27 1992-11-26 自動配線方法 Expired - Fee Related JP3219500B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP31747392A JP3219500B2 (ja) 1991-12-27 1992-11-26 自動配線方法
US08/427,979 US5583788A (en) 1991-12-27 1995-04-21 Automatic layout design method of wirings in integrated circuit using hierarchical algorithm

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP3-347436 1991-12-27
JP34743691 1991-12-27
JP31747392A JP3219500B2 (ja) 1991-12-27 1992-11-26 自動配線方法

Publications (2)

Publication Number Publication Date
JPH05233762A true JPH05233762A (ja) 1993-09-10
JP3219500B2 JP3219500B2 (ja) 2001-10-15

Family

ID=26569026

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31747392A Expired - Fee Related JP3219500B2 (ja) 1991-12-27 1992-11-26 自動配線方法

Country Status (2)

Country Link
US (1) US5583788A (ja)
JP (1) JP3219500B2 (ja)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5729469A (en) * 1992-12-07 1998-03-17 Matsushita Electric Industrial Co., Ltd. Wiring method and system for integrated circuit
JP3504739B2 (ja) * 1994-09-09 2004-03-08 富士通株式会社 階層レイアウト設計を用いたクロック配線設計方法
JP3608832B2 (ja) * 1995-02-28 2005-01-12 富士通株式会社 自動配線方法および自動配線装置
JP3373089B2 (ja) * 1995-08-28 2003-02-04 富士通株式会社 集積回路の初期配置決定装置
JP3352583B2 (ja) * 1996-03-04 2002-12-03 インターナショナル・ビジネス・マシーンズ・コーポレーション 配線経路探索方法及び装置、並びに検査不要クリティカルカット検出方法及び装置
US6219823B1 (en) 1996-11-26 2001-04-17 International Business Machines Corporation Method and apparatus for deciding a wiring route and for detecting a critical cut
JPH1056162A (ja) * 1996-05-24 1998-02-24 Toshiba Corp 半導体集積回路およびその設計方法
US5784600A (en) * 1996-07-01 1998-07-21 Sun Microsystems, Inc. Method of generating exact-length wires for routing critical signals
JP3063828B2 (ja) * 1997-03-27 2000-07-12 日本電気株式会社 集積回路の自動概略配線方法
US6266802B1 (en) * 1997-10-27 2001-07-24 International Business Machines Corporation Detailed grid point layout using a massively parallel logic including an emulator/simulator paradigm
JP3184796B2 (ja) * 1998-03-19 2001-07-09 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 配線設計装置およびその方法
US6260183B1 (en) * 1998-04-17 2001-07-10 Lsi Logic Corporation Method and apparatus for coarse global routing
US6175950B1 (en) * 1998-04-17 2001-01-16 Lsi Logic Corporation Method and apparatus for hierarchical global routing descend
JP3530025B2 (ja) * 1998-06-16 2004-05-24 富士通株式会社 概略配線決定方法及び記憶媒体
US6223329B1 (en) * 1998-06-17 2001-04-24 Prosper Design Systems Pte. Ltd. Hybrid design method and apparatus for computer-aided circuit design
US6412102B1 (en) * 1998-07-22 2002-06-25 Lsi Logic Corporation Wire routing optimization
US6507941B1 (en) * 1999-04-28 2003-01-14 Magma Design Automation, Inc. Subgrid detailed routing
JP3986717B2 (ja) * 1999-12-01 2007-10-03 富士通株式会社 パス決定方法及び記憶媒体
JP3548070B2 (ja) * 2000-01-26 2004-07-28 インターナショナル・ビジネス・マシーンズ・コーポレーション 多端子ネットを自動的に発生する方法及び装置並びに多端子ネット自動発生方法を実行するためのプログラムを記憶したプログラム記憶媒体
JP2002124572A (ja) * 2000-10-18 2002-04-26 Mitsubishi Electric Corp 自動配置配線装置及びそれを用いる配置配線方法
US7036101B2 (en) * 2001-02-26 2006-04-25 Cadence Design Systems, Inc. Method and apparatus for scalable interconnect solution
US6694502B2 (en) 2001-11-02 2004-02-17 Sun Microsystems, Inc. Data structure for fine-grid multi-level VLSI routing and method for storing the data structure in a computer readable medium
US6721927B2 (en) * 2002-03-29 2004-04-13 International Business Machines Corporation Substituting high performance and low power macros in integrated circuit chips
US7178118B2 (en) * 2003-05-30 2007-02-13 Synplicity, Inc. Method and apparatus for automated circuit design
US7188322B2 (en) * 2005-02-25 2007-03-06 International Business Machines Corporation Circuit layout methodology using a shape processing application
US8510703B1 (en) * 2005-04-01 2013-08-13 Cadence Design Systems, Inc. Method and mechanism for implementing PCB routing
US7376926B1 (en) * 2005-04-29 2008-05-20 Xilinx, Inc. Run-time efficient methods for routing large multi-fanout nets
US20060281221A1 (en) * 2005-06-09 2006-12-14 Sharad Mehrotra Enhanced routing grid system and method
JP2009015491A (ja) * 2007-07-03 2009-01-22 Nec Electronics Corp 半導体集積回路のレイアウト設計方法
JP2010003712A (ja) * 2007-08-09 2010-01-07 Renesas Technology Corp 半導体装置、半導体装置の配置配線方法、及びデータ処理システム
JP5239739B2 (ja) * 2008-10-23 2013-07-17 富士通株式会社 プリント基板配線処理装置、プリント基板配線処理プログラム、プリント基板配線処理方法
US8099693B2 (en) * 2008-11-04 2012-01-17 Cadence Design Systems, Inc. Methods, systems, and computer program product for parallelizing tasks in processing an electronic circuit design
US20100320558A1 (en) * 2009-06-18 2010-12-23 Hsien-Chang Chang Circuit layout structure and method to scale down ic layout
US8959473B2 (en) 2010-11-29 2015-02-17 Synopsys Taiwan Co., LTD. Multiple level spine routing
US8683416B1 (en) 2011-07-28 2014-03-25 Juniper Networks, Inc. Integrated circuit optimization
WO2014056201A1 (en) 2012-10-12 2014-04-17 Mediatek Inc. Layout module for printed circuit board
TWI643082B (zh) 2013-09-03 2018-12-01 美商新思科技股份有限公司 一種佈線出一解決路徑之方法及系統
US10192019B2 (en) 2013-09-25 2019-01-29 Synopsys, Inc. Separation and minimum wire length constrained maze routing method and system
US8978003B1 (en) 2013-09-27 2015-03-10 Taiwan Semiconductor Manufacturing Company, Ltd. Method of making semiconductor device and a control system for performing the same
US9940422B2 (en) * 2015-01-08 2018-04-10 Mediatek Inc. Methods for reducing congestion region in layout area of IC
US10977410B2 (en) 2019-04-16 2021-04-13 Fungible, Inc. IC routing for silicon circuits with smaller geometries

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4636965A (en) * 1984-05-10 1987-01-13 Rca Corporation Routing method in computer-aided-customization of universal arrays and resulting integrated circuit
JPS61199166A (ja) * 1985-03-01 1986-09-03 Nec Corp 配線経路探索装置
JPH0763074B2 (ja) * 1986-02-25 1995-07-05 株式会社東芝 半導体論理集積回路の論理セル配置方法
JPH0770598B2 (ja) * 1986-03-20 1995-07-31 株式会社東芝 半導体集積回路装置の配線方法
JPS63225869A (ja) * 1986-10-09 1988-09-20 Nec Corp 配線経路探索方式
JPS63278249A (ja) * 1986-12-26 1988-11-15 Toshiba Corp 半導体集積回路装置の配線方法
JPS63237436A (ja) * 1987-03-26 1988-10-03 Toshiba Corp 半導体集積回路装置の配線方法
US4965739A (en) * 1987-03-26 1990-10-23 Vlsi Technology, Inc. Machine process for routing interconnections from one module to another module and for positioning said two modules after said modules are interconnected
US5124273A (en) * 1988-06-30 1992-06-23 Kabushiki Kaisha Toshiba Automatic wiring method for semiconductor integrated circuit devices
US5224057A (en) * 1989-02-28 1993-06-29 Kabushiki Kaisha Toshiba Arrangement method for logic cells in semiconductor IC device
US5072402A (en) * 1989-10-10 1991-12-10 Vlsi Technology, Inc. Routing system and method for integrated circuits
EP0431532B1 (en) * 1989-12-04 2001-04-18 Matsushita Electric Industrial Co., Ltd. Placement optimization system aided by CAD
JP2895129B2 (ja) * 1990-01-22 1999-05-24 株式会社東芝 論理セルの配置処理方法及び論理セルの配置処理装置
JP3033203B2 (ja) * 1991-01-25 2000-04-17 株式会社日立製作所 配線経路探索装置及び配線経路探索方法

Also Published As

Publication number Publication date
US5583788A (en) 1996-12-10
JP3219500B2 (ja) 2001-10-15

Similar Documents

Publication Publication Date Title
JPH05233762A (ja) 自動配線方法
US5784289A (en) Method for estimating routability and congestion in a cell placement fo integrated circuit chip
CN110795908B (zh) 偏差驱动的总线感知总体布线方法
US6463575B1 (en) Cell-layout method in integrated circuit devices
US5877091A (en) Multilayer routing method and structure for semiconductor integrated circuit
US5984510A (en) Automatic synthesis of standard cell layouts
US6006024A (en) Method of routing an integrated circuit
US5987086A (en) Automatic layout standard cell routing
EP0145925B1 (en) Iterative method for establishing connections between nodes and the resulting product
US6598206B2 (en) Method and system of modifying integrated circuit power rails
JPH10270563A (ja) 集積回路の自動概略配線方法
US20050151258A1 (en) Method for reducing wiring congestion in a VLSI chip design
Chen et al. Global and detailed routing
JPH04142060A (ja) 半導体集積装置の配線方法
JP5380969B2 (ja) レイアウト設計方法、及び装置
US6513148B1 (en) Density driven assignment of coordinates
JP3068892B2 (ja) 自動配線方法
JP2014170595A (ja) レイアウト設計方法及びレイアウト設計支援プログラム
JP3570883B2 (ja) 半導体集積回路の配線方法
JP2735257B2 (ja) 半導体集積回路装置の論理セルの配置方法
JP3022198B2 (ja) セル合成方法及びセル合成装置
JPH09219454A (ja) レイアウト設計装置
JP2921454B2 (ja) 集積回路の配線方法
JP3068492B2 (ja) 自動配置配線方法
Taghavi et al. Congestion minimization in modern placement circuits

Legal Events

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

Free format text: PAYMENT UNTIL: 20070810

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20080810

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090810

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees