JP2663680B2 - チャネル配線方法 - Google Patents

チャネル配線方法

Info

Publication number
JP2663680B2
JP2663680B2 JP2135069A JP13506990A JP2663680B2 JP 2663680 B2 JP2663680 B2 JP 2663680B2 JP 2135069 A JP2135069 A JP 2135069A JP 13506990 A JP13506990 A JP 13506990A JP 2663680 B2 JP2663680 B2 JP 2663680B2
Authority
JP
Japan
Prior art keywords
horizontal line
line segment
wiring
horizontal
channel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2135069A
Other languages
English (en)
Other versions
JPH0429356A (ja
Inventor
善之 川上
昌彦 豊永
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2135069A priority Critical patent/JP2663680B2/ja
Priority to US07/704,181 priority patent/US5272645A/en
Publication of JPH0429356A publication Critical patent/JPH0429356A/ja
Application granted granted Critical
Publication of JP2663680B2 publication Critical patent/JP2663680B2/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

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)

Description

【発明の詳細な説明】 産業上の利用分野 本発明はVLSIのレイアウト設計において、配線領域
(チャネル)内配線を行なう方法に関するものである。
従来技術 従来の配線方法としては(1)配線トラック数を最小
化することを目的とした方法、(2)チャネル高を最小
化することを目的とした方法があった。
(1)の方法の代表的なものとして、「レフトエッジ
法」(プロシーリング 第8回 デザイン オートメー
ション ワークショップ Proc.8th Design Automation
Workshop,pp.155−169,1971.)、「ドッグレッグ法」
(プロシーリング 第13回 デザイン オートメーショ
ン コンファレンス Proc.13th Design Automation Co
nf.,pp.425−433,1976)、「吉村・クウの方法」(アイ
・イー・イー・イー トランザクション コンピュータ
エイデッド デザイン IEEE Trans.Computer−Aided
Design,vol.CAD−1,pp.25−35,1982.)、「グリーディ
法」(プロシーリング 第19回 デザイン オートメシ
ョン コンファレンス Proc.19th Design Automation
Conf.,pp.418−424,1982)、「階層的配線方法」(プロ
シーリング 第20回 デザイン オートメーション コ
ンファレンス Proc.20th Design Automation Conf.,p
p.591−597,1983)、「YACR2」(プロシーリング オブ
ザ アイ・イー・イー・イー インターナショナル
コンファレンス オン コンピュータ エイデッド デ
ザイン Proc.of the IEEE International Conference
on Computer−Aided Design,ICCAD−84,pp.72−75,198
4)などがある。これらいずれの方法も、配線幅は全て
同じであるものとして配線を行っており、配線幅の考慮
はなされていない。また、YACR2を除いて設計規準の考
慮もなされていないため、配線間隔はコンタクトが横に
並んでいても設計基準が満たされるだけ空けられる。従
って、チャネル高を最小にすることは配線トラック数の
最小化となる。
(2)の方法の代表的なものとして、「非格子型配線
幅可変配線手法」(プロシーリング オブ インターナ
ショナル コンファレンス オン コンピュータ エイ
デッド デザイン Proc.of International Conference
on Computer−Aided Design,pp.304−306,1985)があ
る。この方法は配線幅を考慮している。また、設計基準
も考慮しているため、配線間隔は設計基準の最小間隔で
ある。従って一般的には、(1)の方法よりチャネル高
の点では優れた解を得ることができる。
発明が解決しようとする課題 従来方法(1)では、配線幅一定といった制約のもと
で配線を行っているために、配線幅の種類が複数存在す
るときチャネル高の点で最適化が行えない、また上記で
述べたように、配線間隔の考慮を行っていないため、余
分な空間を作るといった問題点を有している。
従来方法(2)では、(1)がもつ問題点は存在しな
い。しかし、この配線方法はXYテクニックを用いて行っ
ている。ここで2層配線におけるXYテクニックとは、配
線の水平方向線分を第1層(または第2層)、垂直方向
線分を第2層(または第1層)を用いて配線を行なうテ
クニックである。従って、配線の水平線分が垂直線分と
同じ配線層を用いて配線を行うことができない。また、
その逆も同様である。このことは、2層を有効に用いた
配線を行なうより高密度な配線結果を得るという機会を
失うといった問題点を有している。
本発明は、以上のような問題点に鑑み、配線幅や配線
間隔の考慮ができ、さらにXYテクニックを無視した配線
を行なうことにより、チャネル高の低い高密度な配線結
果を得ることのできるチャネル配線方法を提供すること
を目的とする。
課題を解決するための手段 本発明は、2行の端子列に挟まれた帯状の配線領域に
おいて、前記各端子に与えられた結線要求を満足するよ
うに前記配線領域内で配線を行なう方法であって、配線
が完了するために必要な水平線分を発生させる水平線分
発生手段と、前記配線領域内に前記端子列に平行な仮想
線分を前記配線領域内に含まれる配線層ごとに1本ある
いは複数本発生させ、前記仮想線分上に前記配線の水平
線分を割り当てる水平線分割当手段と、前記配線の水平
線分に対して前記配線領域における前記配線層ごとの設
計基準を満たして前記配線領域の高さができるだけ低く
なるような前記水平線分の折り曲げを行なう水平線分折
り曲げ手段と、配線の垂直線分を発生させる垂直線分発
生手段とを備えたチャネル配線方法である。
また、本発明は上記水平線分割当手段として、前記端
子の位置関係により生じる前記水平線分の割当順番を調
べる水平線分割当順番決定手段と、ある一つの前記仮想
線分上に割り当てることのできる前記水平線分の候補を
選択する水平線分候補選択手段と、前記端子の位置関係
により生じる前記水平線分の上下関係において前記上下
関係をもつ前記水平線分の集合を求め、前記集合内に含
まれる前記水平線分の線分幅と設計基準により前記集合
内に含まれる前記水平線分を評価する最長路長計算手段
と、配線を完了するために必要な前記配線領域の高さを
あらかじめ見積るチャネル高見積り手段と、前記チャネ
ル高見積り手段によって得られたチャネル高のある一定
以上の高さの位置に垂直線分を設けこの垂直線分を列挙
する配線密度位置列挙手段と、前記水平線分候補が前記
垂直線分を被覆する個数を計算する配線密度個数計算手
段と、前記水平線分をチャネルの上側に割り当てる度合
を評価する上辺引力計算手段と、前記各水平線分の長さ
を計算する水平線分長計算手段と、前記最長路長計算手
段と前記配線密度個数計算手段と前記上辺引力計算手段
及び前記水平線分長計算手段のうち少なくとも1つの手
段を用いて得られた結果を基にして前記仮想線分上に前
記水平線分候補から水平線分を選択する水平線分選択手
段とを備え、前記水平線分がすべて割り当てられるまで
前記各手段を繰り返し行なうことを特徴とする。
作用 本発明によれば、配線幅や配線間隔を考慮し、XYテク
ニックを無視した配線を行なうため、チャネル高の低い
高密度な配線結果を得ることができる。
実施例 以下、本発明の一実施例を添付図面に基づいて説明す
る。本発明の処理の流れを、第1図のフロー図、第2図
の配線処理の分解図及び第3図の水平線分割当手段の分
解図を用いて説明する。
第1図に示すように本発明のフローは大きく分けて、
水平線分発生手段13、水平線分割当手段1、水平線分折
り曲げ手段11及び垂直線分発生手段12から構成されてい
る。また水平線分割当手段1は、水平線分割当順番決定
手段2、水平線分候補選択手段3、最長路長計算手段
4、チャネル高見積り手段5、配線密度位置列挙手段
6、配線密度個数計算手段7、上辺引力計算手段8、水
平線分長計算手段9、水平線分選択手段10(10a,10b)
から構成されている。
初めに、本発明の処理方法の概略を第1図を用いて説
明する。まず水平線分発生手段13では、配線が完了する
ために必要な水平線分をすべて列挙するものである。発
生される水平線分は公知例「ドッグレッグ法」で示され
るものと同様な2端子ネットによって構成される水平線
分である。ここで、列挙された水平線分の集合を水平線
分集合Hとする。次に、水平線分割当手段1では端子列
に平行な仮想線分をチャネル内に配線層ごとに発生さ
せ、その仮想線分上に配線の水平線分を割り当てる。も
し水平線分が仮想線分上に割り当てることができたな
ら、水平線分集合Hから除かれる。この操作はすべての
端子が結線要求どおりに配線できるまですなわち、水平
線分集合Hが空になるまで行なう。例えば、第2図
(a)がその一例である。第2図において、201は幅4
のネット1の端子、202は幅2のネット2の端子、203は
幅3のネット3の端子、204はチャネルの上辺、205はチ
ャネルの下辺、206は幅4の第1層にあるネット1の水
平線分、207は幅2の第2層にあるネット2の水平線
分、208は幅3の第1層にあるネット3の水平線分、209
は第1トラックの第1層仮想線分、210は第2トラック
の第2層仮想線分、211は第3トラックの第1層仮想線
分である。
次の水平線分折り曲げ手段11によって、設計規準を満
たし、かつ、できるだけ最終的なチャネル高を最小にす
るために、割り当てられた水平線分を同層による折り曲
げを行なう。例えば、第2図(a)は第2図(b)とな
る。ここで第2図(b)において、212は水平線分207を
折り曲げしたときの線分を示す。
最後の垂直線分発生手段12によって、すべての端子に
対して結線要求どおりに同電位に接続するために、層ご
とに、端子と端子、端子と水平線分、水平線分と水平線
分との間に配線の垂直線分を発生させる。例えば、第2
図(c)が第2図(b)に対する最終結果である。ここ
で第2図(c)において、213はコンタクト219と端子20
1をつなぐ第2層の垂直線分、214はコンタクト220と端
子201をつなぐ第2層の垂直線分、215は線分212の左端
と端子202をつなぐ第2層の垂直線分、216は線分212の
右端と端子202をつなぐ第2層の垂直線分、217はコンタ
クト221と端子203をつなぐ第2層の垂直線分、218はコ
ンタクト222と端子203をつなぐ第2層の垂直線分、219
は線分206と垂直線分213をつなぐコンタクト、220は線
分206と垂直線分214をつなぐコンタクト、221は線分208
と垂直線分217をつなぐコンタクト、222は線分208と垂
直線分218をつなぐコンタクトである。端子201〜203は
すべて第2層に割り当てることにする。
次に、水平線分割当手段1について説明する。この手
段1はチャネルの上辺から下辺へ順に仮想線分を発生さ
せ、その仮想線分上に配線の水平線分を割り当てていく
のものである。ここで、仮想線分の発生させる順番はチ
ャネルの上辺からに限らず、任意に発生させることもで
きる。例えば、チャネルの下辺から上辺へ、またはチャ
ネルの上辺と下辺を交互に発生させてもよい。以下で
は、仮想線分をチャネルの上辺から下辺の順に発生させ
るときを考える。手段1に含まれる手段2から手段10の
1回のループによって発生する仮想線分の種類は、1ト
ラック×層数通りである。ここで、トラックとは垂直方
向位置で区別した仮想線分のことである。また、本実施
例では層数を2とする。第1図において水平線分選択手
段10が2つ(10aと10b)あるのは、層数が2のときのフ
ロー例であるからである。従って、配線問題が扱う層数
だけ水平線分選択手段10が必要となる。
第3図によって、第1図における水平線分割当手段1
のループについて説明する。第3図において、301は仮
想線分302上に割り当てられた水平線分、302は第1層の
仮想線分、303は第2層の仮想線分、304は仮想線分306
上に割り当てられた水平線分、305は第1層の仮想線
分、306は第2層の仮想線分、307は仮想線分308上に割
り当てられた水平線分、308は第1層の仮想線分、309は
第2層の仮想線分である。水平線分発生手段13で発生す
る水平線分集合Hの要素は、水平線分301、304と307で
ある。1回目のループ(手段2から手段10まで)によっ
て第3図(a)に示すように仮想線分302を発生し、仮
想線分302上に水平線分301を割り当てたとする。従って
水平線分301は水平線分集合Hから削除される。ここで
水平線分301は仮想線分303上に割り当てることができな
いことに注意されたい。なぜなら、もし線分301を仮想
線分303上に割り当てたとすると、下層線分302上に他の
いかなる配線の水平線分を割り当てたとしても端子201
〜203の全てが第2層に割り当てられるため、水平線分3
01と電気的ショートを起こすからである。まだ水平線分
集合Hが空になっていないので、2回目のループが実行
される。このループによって第3図(b)に示すように
仮想線分306を発生し、仮想線分306上に水平線分304を
割り当てたとする。従って水平線分304は水平線分集合
Hから削除される。ここで線分304は仮想線分305または
306上いずれでも割り当てることができることに注意さ
れたい。ただし、本発明は2層オーバーラップ配線を行
うので、できる限り第2層の仮想水平線分に割り当てる
ことが望ましい。まだ水平線分集合Hが空になっていな
いので、3回目のループが実行される。このループによ
って第3図(c)に示すように仮想線分308を発生し、
仮想線分308上に水平線分307を割り当てたとする。従っ
て水平線分307は水平線分集合Hから削除される。この
とき、水平線分集合Hが空になったので、水平線分割当
手段1は終了する。
次に、さらに詳細に水平線分割当手段1を説明するた
めに、手段2から手段10を処理の順番に説明する。
水平線分割当順番決定手段2を、第4図を用いて説明
する。401はネット1の幅4の水平線分、402はネット2
の幅2の水平線分、403はネット3の幅3の水平線分、4
04は拡張上下制約グラフ、405はグラフ404におけるソー
ス、406はグラフ404におけるシンク、407は水平線分401
を表すグラフ上の頂点、408は水平線分402を表すグラフ
上の頂点、409は水平線分403を表すグラフ上の頂点であ
る。配線の水平線分401〜403の垂直配置位置は端子20
1、202と203の位置関係によって限定される場合があ
る。このことを表すものとして上下制約グラフがある。
これはチャネル配線問題では一般によく用いられるもの
であり、また公知例「再帰的配線方法」(プロシーリン
グ 第25回 デザイン オートメーション コンファレ
ンス Proc.25th Design Automation Conf.,pp.178−18
2,1988)ではその上下制約グラフに対して一部情報を追
加した拡張上下制約グラフについて示されている。本発
明ではこの拡張上下制約グラフを用いる。拡張上下制約
グラフ404において、各頂点407から409は各水平線分を
表し、有向枝は枝の両端にある頂点の上下関係を表す。
例えば、頂点407→頂点408の場合、頂点407がもつ水平
線分は頂点408がもつ水平線分より先(上)に割り当て
なければならないことを表す。さらに拡張上下制約グラ
フ404において、頂点405はそのグラフにおけるソース、
頂点406はシンクを表す。水平線分割当順番決定手段2
によってこのグラフ404を作成する。
次の水平線分候補選択手段3では、拡張上下制約グラ
フ404を用いてチャネルの上辺に最も近いトラックに割
り当てることのできる水平線分の候補を求める。その方
法として、グラフ404において頂点405につながる頂点が
もつ水平線分を水平線分集合Hの中からすべて列挙す
る。ここで、列挙された水平線分の集合を水平線分集合
H′とする。同時に、集合H′の各要素には4つの属性
(W1,W2,W3,W4)がある。この属性は、水平線分選択手
段10のところで線分の選択基準として用いるものであ
り、それらは以下の手段4から手段9によって求められ
る。
最長路長計算手段4では、拡張上下制約グラフ404を
用いて、集合H′に含まれる各水平線分Lに対して割当
優先度を計算する。計算方法は式(1)とし、それを属
性W1とする。
W1=Σ(水平線分Lの頂点を含むソースからシンクまで
の最長路上にある頂点がもつ水平線分幅)+スペーシン
グデザインルール×(水平線分Lの頂点を含むソースか
らシンクまでの最長路上にある頂点数+1)……(1) 例えば、第4図において線分401の属性W1は、W1=
(4+2+3)+(2×4)=17となる。ここで、スペ
ーシングデザインルール(以下、単にスペーシングと呼
ぶ)とは線分間の設計規準間隔であり、ここでは2とし
た。
チャネル高見積り手段5を、第5図を用いて説明す
る。501は水平線分401の左端に接する垂直線分、502は
水平線分403の左端に接する垂直線分、503は水平線分40
2の左端に接する垂直線分、504は水平線分401の右端に
接する垂直線分、505は水平線分402の右端に接する垂直
線分、506は水平線分403の右端に接する垂直線分であ
る。まず、配線密度と呼ぶ概念を導入する。配線密度と
は、チャネルのある位置に対して垂直線分を引き、その
垂直線分を通過する配線の水平線分の配線幅とその間の
スペーシングの和とする。ただし、チャネルの上辺と水
平線分の間、及びチャネルの下辺と水平線分の間も考慮
することにする。例えば、スペーシングを2として、第
5図の各チャネル密度を計算すると、垂直線分501にお
けるチャネル密度D1は2+4+2=8、垂直線分502に
おけるチャネル密度D2は2+4+2+3+2=13、垂直
線分503におけるチャネル密度D3は2+4+2+2+2
+3+2=17、以下垂直線分504におけるチャネル密度D
4=17、垂直線分505におけるチャネル密度D5=11、垂直
線分506におけるチャネル密度D6=7となる。もし配線
方法がXYテクニックを用いているならば、各位置におけ
るチャネル密度は配線を完了するための必要な最低チャ
ネル高を示すことになるから、チャネル密度の最大値は
すべての配線が完了するために必要なチャネル高を表す
ことになる。手段5では各端子201、202と203の位置に
垂直線分を発生させ、その位置の配線密度を計算し、位
置とその位置における配線密度を対とした集合である配
線密度集合Cを求める。
さらに、配線密度位置列挙手段6では、配線密度集合
Cの中からある一定以上の配線密度をもつものだけ列挙
した限定配線密度集合C′を求める。この手段6は後の
手段7の計算で用いるものである。後述の手段7で明ら
かになるが、一定以上の配線密度をもつものを採用する
のは、もし配線密度のある値だけを採用すると、手段7
の最適化が損なわれる可能性があるからである。
次に、配線密度個数計算手段7を説明する。この手段
は、各水平線分が限定配線密度集合C′に含まれる要素
をどのくらい被覆しているか、を評価するものである。
被覆された個数が多いほど、また配線密度の高いところ
を被覆している水平線分は優先的にトラックに割当をし
なければならない。本発明では、それを評価するため
に、被覆された個数が多いほど、さらに配線密度の大き
いものを被覆すればするほど評価が高くなる評価式を式
(2)を用いる。ここで、評価された各値は水平線分集
合H′の各線分Lの属性W2とする。
W2=Σ(ki×水平線分区間にある配線密度Diを被覆する
個数) ……(2) ここで、kiは任意の定数でk1≧k2≧…≧kiの関係をも
ち、またDiは限定配線密度集合C′に含まれる配線密度
でD1≧D2≧…≧Diの関係をもつ。例として、第5図にお
いて水平線分401の属性W2を計算する。まず限定配線密
度集合C′に含まれる配線密度が17と13であったする。
線分401は配線密度=13を1つ、配線密度=17を2つ被
覆しているので、W2=(10×2)+(5×1)=25とな
る。ここでk1=10、k2=5とした。
上辺引力計算手段8を説明する。この手段8はその水
平線分が上辺と下辺に向かってどのくらい強さで引っ張
られているかを評価するものである。例えば、ある水平
線分Nが上辺に4つと、下辺に2つと接続する必要があ
るとする。その線分Nはできるだけチャネルの上辺に割
当てることができたならば、総配線長は短くなることは
容易にわかる。本実施例はチャネルの上辺から下辺に向
かって水平線分を割当てることにしているので、手段8
は上辺への引力を計算する。従って、もしチャネルの上
辺から下辺に向かって水平線分を割当てを行なうなら
ば、手段8は下辺への引力を計算しなければならない。
水平線分集合H′に含まれる各水平線分Lに対して、式
(3)により上辺への引力を計算する。また、この値を
線分Lの属性W3とする。
W3=線分Lがもつ端子のうちチャネル上辺にある端子数
/線分Lがもつ端子数 …(3) 次に、水平線分長計算手段9を説明する。水平線分の
長いものや幅の広いものを優先的に割り当てると後述の
水平線分選択手段10で2層オーバーラップ配線が容易と
なる。そこで、長いもの、幅の広いものを優先的に割り
当てる評価として式(4)を計算する。それを水平線分
集合H′に含まれるすべての水平線分Lの属性W4とす
る。
W4=ki×(水平線分の左端から右端の長さ)×(水平線
分の幅) ……(4) ここで、kiは任意定数。
水平線分選択手段10を、第6図を用いて説明する。60
1はネット1の端子、602はネット2の端子、603はネッ
ト3の端子、604はネット4の端子、605は幅4の配線の
水平線分、606は幅2の配線の水平線分、607は幅4の配
線の水平線分、608は幅3の配線の水平線分、609は水平
線分605を区間表現した線分、610は水平線分606を区間
表現した線分、611は水平線分607は区間表現した線分、
612は水平線分608を区間表現した線分、613は第1層の
仮想線分、614は第2層の仮想線分である。手段10は手
段10aと手段10bとに分かれるが、異なるところは水平線
分を仮想線分に割り付ける基準だけである。これは後で
述べる。
まず、水平線分集合H′に含まれるすべての水平線分
Lを区間表現する。例えば、水平線分605は区間線分609
に、水平線分606は区間線分610に、水平線分607は区間
線分611、水平線分608は区間線分612になる。次に、各
水平線分Lに対する各区間線分Sに重みWを与える。W
は式(5)によって計算される。
W=k1×W1+k2×W2+k3×W3+k4×W4 ……(5) ここで、k1、k2、k3、k4はそれぞれ任意の定数。Wは
値が大きいほどその線分の選択優先度が高くなる。Wは
W1からW4の和であるので、W1からW4の優先の度合をk1か
らk4によって自由に制御できる。一般には、チャネルの
高さを最小化するためにk1とk2がk3とk4より高い値が設
定される。次に、選択すべき(割当すべき)水平線分の
組を求めるために、グラフ理論における「最大独立集
合」の概念を用いる。最大独立集合とは、お互いの区間
線分に重なりがなく、かつそれら区間線分がもつ重みの
和が最大である区間線分の集合のことをいう。線分の選
択方法として、先に求めた重みW付き区間線分Sに対し
て最大独立集合を求め、その集合に含まれる線分すべて
を今割当すべき線分とする。一例を第6図によって説明
する。前提として、区間線分609の重みWを12、区間線
分610の重みWを6、区間線分611の重みWを8、区間線
分612の重みWを6とする。まず、線分609と610、及び
線分610と611はある区間で重なりが生じているので、そ
れぞれは1つの集合にできない。線分609と611、及び線
分610と611も同様である。しかし線分609と612は重なり
がないので、それらは1つの集合{609,612}にでき
る。さらにその集合の重みを12+6=18となる。同様に
して、線分611と612は重なりがないので、それらは1つ
の集合{611,612}にできる。また、その集合の重みは
8+6=14となる。線分610はどの線分とも重なりをも
つので、線分610それ自身が集合{610}となり、その集
合の重みは8である。ここで今、集合{610}、{609,6
12}と{611,612}が存在するが、重みはそれぞれ8、1
8、14なのでその重みの最大値18をもつ集合、すなわち
集合{609,612}が最大独立集合となる。よって選択さ
れる線分は線分609と線分612となる。最大独立集合を解
く算法は、公知例(ジャーナル オブ ザ アソシエー
ション フォア コンピューティング マシーナリ Jo
urnal of the Association for Computing Machinery,v
ol.33,no.2,pp.290−312,1986)に示されている。本発
明はその算法を用いる。
次に、仮想線分613,614を発生させ、求めた区間線分6
09の水平線分605と区間線分612の水平線分608を仮想線
分613叉は614上に割り当てる。それを第6図を用いて説
明する。区間線分609の区間内に対して、チャネルの上
辺にある同電位でない端子を列挙する。もしその端子が
なければ、水平線分609を609がもつ端子と層と同じ層の
仮想線分上に割り当てる。第6図の場合、端子602,603
が存在する。従って上の場合に当たらない。このとき、
端子が存在する層と違う層の仮想線分上に割り当てる。
今の場合、端子602,603があるから、線分609を端子と違
う層(端子は第2層に存在)、すなわち第1層目の仮想
線分613上に割り当てることになる。以上の操作を線分6
08についても同様に行なう。そして水平線分集合H′の
中から水平線分605と608を削除する。手段10の内、これ
までの操作は水平線分選択手段10aである。
次に、水平線分選択手段10bを説明する。この手段10b
は手段10aとほとんど同じである。しかし、仮想線分に
水平線分を割り当てるところだけが異なる。まず手段10
aと同様にして、水平線分集合H′に含まれる線分Lに
対して選択すべき(割当すべき)線分を最大独立集合の
概念を用いて求める。第6図では、すでに線分609と612
が割り当られているので、集合{610}と{611}しか存
在しない。従って最大独立集合は集合{611}である。
次に、区間線分611の水平線分607を仮想線分に割り当て
る。このときすでに仮想線分613に水平線分605と608が
割り当てられているので、水平線分607を第1層目の仮
想線分613に割り当てることはできない。従って、ここ
では第2層目の仮想線分614に水平線分が割り当てるこ
とができるかを調べるだけでよい。第6図では、水平線
分607の区間内に対してチャネルの上辺に端子が存在し
ないので、仮想線分614上に水平線分607を割り当てる。
そして水平線分集合H′の中から水平線分607を削除す
る。
以上の手段10により、2層のオーバーラップ配線が可
能となることがわかる。水平線分選択手段10a,10bによ
って、水平線分集合H′から除外された水平線分を水平
線分集合Hから取り除いてできた水平線分集合H″につ
いて水平線分割当手段1を適用する。
水平線分折り曲げ手段11を、第7図を用いて説明す
る。701は幅2の1層のみの配線、702は配線701を折り
曲げした後の配線である。手段11は水平線分割当手段1
によってできた配線結果に対して垂直方向のチャネルの
圧縮を行うものである。このとき、圧縮されてできたチ
ャネル内の配線は設計基準が満たされてなければならな
い。例えば第7図(a)が水平線分割当手段1によって
得られた配線結果であったとすると、垂直方向のチャネ
ルの圧縮により、第7図(b)の結果が得られる。この
手段11は一般にチャネルコンパクションと呼ばれる。こ
こで用いる算法は、例えば公知例「ナットクラッカー
法」(プロシーリング 第24回 デザイン オートメー
ション コンファレンス Proc.24th Design Automatio
n Conf.,pp.298−304,1987)、「チャネルスペーサ」
(信学論(A),J72−A,No.2,pp.349−358,1989)など
いずれの方法を用いてもよい。
最後に、垂直線分発生手段12によって、すべての端子
に対して結線要求どおりに同電位に接続するために、層
ごとに、端子と端子、端子と水平線分、水平線分と水平
線分との間に配線の垂直線分を発生させる。
第8図は、ある配線問題を本発明に適用した配線結果
を示すものである。第8図において、101は端子、102は
コンタクト、103は第1層配線、104は第2層配線、105
はチャネルの上辺、106はチャネルの下辺である。第9
図は、第8図と同じ配線問題を「非格子型配線幅可変配
線手法」に適用した配線結果を示すものである。
本発明を用いれば、第8図に示すように、XYテクニッ
クを無視したより低いチャネル高の高密度な配線結果を
得ることができる。この結果を第9図に示すような従来
例「非格子型配線幅可変配線手法」(プロシーリング
オブ インターナショナル コンファレンス オン コ
ンピュータ エイデッド デザイン Proc.of Internat
ional Conference on Computer−Aided Design,pp.304
−306,1985)によって得られた配線結果と比較すると、
明らかに配線層の使用に差が見られ、結果的にチャネル
高に影響が現れている。
発明の効果 以上説明したように、本発明によれば、配線幅や配線
間隔を考慮し、XYテクニックを無視した配線を行なうた
め、チャネル高の低い高密度な配線結果を得ることが可
能であり、その効果は顕著である。
【図面の簡単な説明】
第1図は本発明の処理のフロー図、第2図の配線処理の
分解図、第3図は水平線分割当手段の分解図、第4図は
水平線分割当順番決定手段の説明図、第5図はチャネル
高見積り手段の説明図、第6図は水平線分選択手段の説
明図、第7図は水平線分折り曲げ手段の説明図、第8図
は本発明による一配線結果図、第9図は従来例「非格子
型配線幅可変配線手法」による配線結果図である。 1……水平線分割当手段、2……水平線分割当順番決定
手段、3……水平線分候補選択手段、4……最長路長計
算手段、5……チャネル高見積り手段、6……配線密度
位置列挙手段、7……配線密度個数計算手段、8……上
辺引力計算手段、9……水平線分長計算手段、10……水
平線分選択手段、11……水平線分折り曲げ手段、12……
垂直線分発生手段、13……水平線分発生手段、101……
端子、102……コンタクト、103……第1層配線、104…
…第2層配線、105……チャネルの上辺、106……チャネ
ルの下辺。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】2行の端子列に挟まれた帯状の配線領域に
    おいて、前記各端子に与えられた結線要求を満足するよ
    うに前記配線領域内で配線を行なう方法であって、 配線が完了するために必要な水平線分を発生させる水平
    線分発生工程と、前記配線領域内に前記端子列に平行な
    仮想線分を前記配線領域内に含まれる配線層ごとに1本
    あるいは複数本発生させ、前記仮想線分上に前記配線の
    水平線分を割り当てる水平線分割当工程と、前記配線の
    水平線分に対して前記配線領域における前記配線層ごと
    の設計基準を満たして前記配線領域の高さができるだけ
    低くなるような前記水平線分の折り曲げを行なう水平線
    分折り曲げ工程と、配線の垂直線分を発生させる垂直線
    分発生工程とを備え、 前記水平線分割当工程は、前記端子の位置関係により生
    じる前記水平線分の割当順番を調べる水平線分割当順番
    決定工程と、ある一つの前記仮想線分上に割り当てるこ
    とのできる前記水平線分の候補を選択する水平線分候補
    選択工程と、前記端子の位置関係により生じる前記水平
    線分の上下関係において前記上下関係をもつ前記水平線
    分の集合を求め、前記集合内に含まれる前記水平線分の
    線分幅と設計基準により前記集合内に含まれる前記水平
    線分を評価する最長路長計算工程と、配線を完了するた
    めに必要な前記配線領域の高さをあらかじめ見積もるチ
    ャネル高見積り工程と、前記チャネル高見積り工程によ
    って得られたチャネル高のある一定以上の高さの位置に
    垂直線分を設けこの垂直線分を列挙する配線密度位置列
    挙工程と、前記水平線分候補が前記垂直線分を被覆する
    個数を計算する配線密度個数計算工程と、前記水平線分
    をチャネルの上側に割り当てる度合を評価する上辺引力
    計算工程と、前記各水平線分の長さを計算する水平線分
    長計算工程と、前記最長路長計算工程と前記配線密度個
    数計算工程と前記上辺引力計算工程及び前記水平線分長
    計算工程のうち少なくとも1つの工程を用いて得られた
    結果を基にして前記仮想線分上に前記水平線分候補から
    水平線分を選択する水平線分選択工程とを備え、 前記水平線分がすべて割り当てられるまで前記水平線分
    割当順番決定工程と前記水平線分候補選択工程と前記最
    長路長計算工程と前記チャネル高見積り工程と前記配線
    密度位置列挙工程と前記配線密度個数計算工程と前記上
    辺引力計算工程と前記水平線分長計算工程と前記水平線
    分選択工程を繰り返し行なうことを特徴とするチャネル
    配線方法。
JP2135069A 1990-05-24 1990-05-24 チャネル配線方法 Expired - Fee Related JP2663680B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2135069A JP2663680B2 (ja) 1990-05-24 1990-05-24 チャネル配線方法
US07/704,181 US5272645A (en) 1990-05-24 1991-05-22 Channel routing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2135069A JP2663680B2 (ja) 1990-05-24 1990-05-24 チャネル配線方法

Publications (2)

Publication Number Publication Date
JPH0429356A JPH0429356A (ja) 1992-01-31
JP2663680B2 true JP2663680B2 (ja) 1997-10-15

Family

ID=15143133

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2135069A Expired - Fee Related JP2663680B2 (ja) 1990-05-24 1990-05-24 チャネル配線方法

Country Status (2)

Country Link
US (1) US5272645A (ja)
JP (1) JP2663680B2 (ja)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5345394A (en) * 1992-02-10 1994-09-06 S-Mos Systems, Inc. Method for generating power slits
US5377125A (en) * 1992-02-28 1994-12-27 Vlsi Technology, Inc. Improved pad ring router
EP0602257B1 (de) * 1992-12-12 1997-09-10 International Business Machines Corporation Leiterplatten mit lokal erhöhter Verdrahtungsdichte und Herstellungsverfahren für solche Leiterplatten
US5648912A (en) * 1993-04-12 1997-07-15 International Business Machines Corporation Interconnection resource assignment method for differential current switch nets
US5483461A (en) * 1993-06-10 1996-01-09 Arcsys, Inc. Routing algorithm method for standard-cell and gate-array integrated circuit design
US5544088A (en) * 1993-06-23 1996-08-06 International Business Machines Corporation Method of I/O pin assignment in a hierarchial packaging system
US5638288A (en) * 1994-08-24 1997-06-10 Lsi Logic Corporation Separable cells having wiring channels for routing signals between surrounding cells
JP2785710B2 (ja) * 1994-09-30 1998-08-13 日本電気株式会社 集積回路の配線設計方法
US5852562A (en) * 1994-12-13 1998-12-22 Matsushita Electric Industrial Co., Ltd. Method and apparatus for designing an LSI layout utilizing cells having a predetermined wiring height in order to reduce wiring zones
JP3351651B2 (ja) * 1995-04-07 2002-12-03 富士通株式会社 会話型回路設計装置
JP3175812B2 (ja) * 1995-08-04 2001-06-11 株式会社日立製作所 半導体集積回路配線方法
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
US5841664A (en) * 1996-03-12 1998-11-24 Avant| Corporation Method for optimizing track assignment in a grid-based channel router
AU2327997A (en) 1996-03-15 1997-10-01 University Of Arizona, The Interconnection routing system
US5793643A (en) * 1996-04-30 1998-08-11 Avant| Corporation Method for handling variable width wires in a grid-based channel router
WO1998033132A1 (en) * 1997-01-23 1998-07-30 Motorola Inc. Routing method removing cycles in vertical constraint graph
JP2001507841A (ja) * 1997-01-23 2001-06-12 モトローラ・インコーポレイテッド チャネルを有する電子装置の製造方法
US6075934A (en) * 1997-05-01 2000-06-13 Motorola, Inc. Method for optimizing contact pin placement in an integrated circuit
US6564366B1 (en) * 1998-10-13 2003-05-13 Motorola, Inc. Method for channel routing, and apparatus
JP4596406B2 (ja) * 2001-08-22 2010-12-08 富士通セミコンダクター株式会社 集積回路の回路ブロック間自動配線設計方法及び装置並びにこの方法を実施するためのプログラム
US6586828B2 (en) 2001-10-17 2003-07-01 International Business Machines Corporation Integrated circuit bus grid having wires with pre-selected variable widths
US7146596B2 (en) * 2003-08-29 2006-12-05 International Business Machines Corporation Integrated circuit chip having a ringed wiring layer interposed between a contact layer and a wiring grid
US8095903B2 (en) * 2004-06-01 2012-01-10 Pulsic Limited Automatically routing nets with variable spacing
US7784010B1 (en) 2004-06-01 2010-08-24 Pulsic Limited Automatic routing system with variable width interconnect
US7131096B1 (en) 2004-06-01 2006-10-31 Pulsic Limited Method of automatically routing nets according to current density rules
US7373628B1 (en) 2004-06-01 2008-05-13 Pulsic Limited Method of automatically routing nets using a Steiner tree
US7257797B1 (en) 2004-06-07 2007-08-14 Pulsic Limited Method of automatic shape-based routing of interconnects in spines for integrated circuit design
WO2007074402A2 (en) 2005-06-21 2007-07-05 Pulsic Limited High-speed shape-based router
US7603644B2 (en) * 2005-06-24 2009-10-13 Pulsic Limited Integrated circuit routing and compaction
US7363607B2 (en) 2005-11-08 2008-04-22 Pulsic Limited Method of automatically routing nets according to parasitic constraint rules
US8458636B1 (en) 2009-03-18 2013-06-04 Pulsic Limited Filling vacant areas of an integrated circuit design

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4500963A (en) * 1982-11-29 1985-02-19 The United States Of America As Represented By The Secretary Of The Army Automatic layout program for hybrid microcircuits (HYPAR)
US4636965A (en) * 1984-05-10 1987-01-13 Rca Corporation Routing method in computer-aided-customization of universal arrays and resulting integrated circuit
JPS61285735A (ja) * 1985-06-12 1986-12-16 Mitsubishi Electric Corp 自動配線処理における配線折曲処理装置
JPH0770598B2 (ja) * 1986-03-20 1995-07-31 株式会社東芝 半導体集積回路装置の配線方法
JPS63308343A (ja) * 1987-06-10 1988-12-15 Matsushita Electric Ind Co Ltd 半導体集積回路

Also Published As

Publication number Publication date
US5272645A (en) 1993-12-21
JPH0429356A (ja) 1992-01-31

Similar Documents

Publication Publication Date Title
JP2663680B2 (ja) チャネル配線方法
US6446239B1 (en) Method and apparatus for optimizing electronic design
Soukup Circuit layout
US7065730B2 (en) Porosity aware buffered steiner tree construction
KR20210082210A (ko) 신경망을 사용한 통합 회로 플로어 플랜 생성
US6598206B2 (en) Method and system of modifying integrated circuit power rails
US20020184607A1 (en) Practical methodology for early buffer and wire resource allocation
Dai Hierarchical placement and floorplanning in BEAR
US6532572B1 (en) Method for estimating porosity of hardmacs
Hutton et al. Characterization and parameterized generation of synthetic combinational benchmark circuits
US7003752B2 (en) Method and apparatus for routing
US6574782B1 (en) Decoupled capacitance calculator for orthogonal wiring patterns
US6564366B1 (en) Method for channel routing, and apparatus
US5798764A (en) Method for determining the intersections of Delaunay partitioned tetrahedra with the boundary of a body to be analyzed
Heisterman et al. The efficient solution of integer programs for hierarchical global routing
Dayan et al. Layer Assignment for Rubber Band Routing
Liu et al. Chip-level area routing
Eschermann et al. Hierarchical placement for macrocells: a'meet in the middle'approach
Van Marck et al. Interconnection length distributions in 3-dimensional anisotropic systems
Peyer et al. Delay-related secondary objectives for rectilinear Steiner minimum trees
JP2926823B2 (ja) 立体の3次元メッシュ形成方法
Wong et al. Fast buffer planning and congestion optimization in interconnect-driven floorplanning
Dasgupta et al. Searching networks with unrestricted edge costs
JPH09185649A (ja) Vlsi回路レイアウト最適化方法
JP2746214B2 (ja) ポリゴンメッシュ接続装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees