JP2645592B2 - レイアウトのコンパクシヨン方法 - Google Patents

レイアウトのコンパクシヨン方法

Info

Publication number
JP2645592B2
JP2645592B2 JP1140771A JP14077189A JP2645592B2 JP 2645592 B2 JP2645592 B2 JP 2645592B2 JP 1140771 A JP1140771 A JP 1140771A JP 14077189 A JP14077189 A JP 14077189A JP 2645592 B2 JP2645592 B2 JP 2645592B2
Authority
JP
Japan
Prior art keywords
horizontal
vertical
layout
constraint
coordinate
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
JP1140771A
Other languages
English (en)
Other versions
JPH036043A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP1140771A priority Critical patent/JP2645592B2/ja
Publication of JPH036043A publication Critical patent/JPH036043A/ja
Application granted granted Critical
Publication of JP2645592B2 publication Critical patent/JP2645592B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はLSI等のレイアウト設計において、レイアウ
トを与えられたデザインルールと素子パラメータ条件を
満たしつつ可能な限り圧縮し、レイアウト面積を縮小す
る方式に関するものである。
〔従来の技術〕
従来の制約グラフに基づくコンパクシヨン手法(参考
文献〔1〕)では、初期レイアウトに対して垂直方向の
コンパクシヨンと水平方向のコンパクシヨンを交互に繰
り返すことによつてコンパクシヨン結果のレイアウトを
得る。一回の垂直〔水平〕方向のコンパクシヨンでは、
以下の処理を行う。垂直方向について説明する。まず第
5図に示した如くして、レイアウトから垂直線分(太
線)を抽出する。また、このときレイアウトの最下端に
仮想的線分12を挿入しておく。続いてこれらの線分の集
合を節点集合とし、それらの間の相対的位置制約を枝に
対応させた垂直方向制約グラフを作成する。線分1とm
の間に1とmに垂直に交差する垂直線分が描け、かつデ
ザインルールにより制約がこの2線分間にあるとき、1
に対応する節点からmに対応する節点に枝を付加すると
する。例えば、第5図の例では、第5図(b)に示した
垂直方向制約グラフの枝15は、節点17に対応した線分13
の上方になければならないことを意味している。従来の
方法では、この枝上の長さとして、1とmの属性から決
まるデザインルールの値を付加し、線分12に対応する節
点18から各節点への最長路径路の長さを求めて、対応す
る各水平線分の垂直方向座標値としていた。
〔発明が解決しようとする課題〕
以上のような方法では、レイアウト要素を構成する各
水平線分は可能な限り下方向につめられるだけである。
しかし、アナログ回路など高性能を目標とする回路のレ
イアウト設計では、電気的特性を最適化するために、デ
バイスなどのレイアウト要素を設計者の与えた比率に応
じて分離させたり、接近させたりする必要が生じ、従来
の手法では十分なコンパクシヨン結果が得られなかつ
た。
本発明の目的は、LSI等のレイアウト設計において、
指定されたレイアウト要素間の距離の正数重みの逆数倍
の数値の最小値または最大値を、レイアウトの指定され
た高さ〔幅〕の上限値の範囲内でそれぞれ最大化または
最小化するように垂直〔水平〕方向にレイアウトをコン
パクシヨンするレイアウトコンパクシヨン手法を提供す
ることにある。
〔(従来の技術)の参考文献〕
〔1〕 リヤオとウオン,“雑多な制約を有するVLSIシ
ンボリツクレイアウトをコンパクト化するためのアルゴ
リズム",CADに関するアイ・イー・イー・イー会報、CAD
−2巻、62〜69頁、1983年(Liao ,Y.−Z.and Wong,C.
K.:“An Algorithm to Compact a VLSI Symboloic Layo
ut With Mixed Contraints",IEEE Trans.on CAD,VOL.CA
D−2,pp.62−69(1983).) 〔課題を解決するための手段〕 本発明は、LSI等のレイアウト設計において、指定さ
れたレイアウト要素間の距離の正数重みの逆数倍の数値
の最小値または最大値を、レイアウトの指定された高さ
〔幅〕の上限値の範囲内でそれぞれ最大化または最小化
するように垂直〔水平〕方向にレイアウトをコンパクシ
ヨンし、上記のコンパクシヨンは、パラメトリツク線形
計画法に基づき垂直〔水平〕方向の制約グラフを用いて
行なうようにしたものである。
〔作 用〕
本発明によるレイアウトのコンパクシヨン方法におい
ては、指定されたレイアウト要素間の距離の正数重みの
逆数倍の最小値または最大値を、レイアウトの指定され
た高さ〔幅〕の上限値の範囲内でそれぞれ最大化または
最小化できる。
〔実施例〕
本発明によるレイアウトのコンパクシヨン方法は、従
来の技術とは、指定されたレイアウト要素間の距離の正
数重みの逆数倍の数値の最小値または最大値を、レイア
ウトの指定された高さ〔幅〕の上限値の範囲内でそれぞ
れ最大化または最小化するように垂直〔水平〕方向にレ
イアウトをコンパクシヨンできる点が大きく異なる。
第1の実施例 この実施例は、指定されたレイアウト要素間の距離の
正数重みの逆数倍の数値の最小値を、レイアウトの指定
された高さ〔幅〕の上限値の範囲内で最大化するように
レイアウトを垂直〔水平〕方向にコンパクシヨンするこ
とを目的とした構成を有する。
本方式においては、コンパクシヨンは、レイアウトを
垂直方向に圧縮する垂直方向コンパクシヨンと水平方向
に圧縮する水平方向コンパクシヨンを設計者によつて決
められた回数交互に繰り返すことによつて行われる。こ
の二つのコンパクシヨンは、レイアウトの向きを90゜回
転することによつて互に他で置き換えることができる。
そこでここでは、垂直方向のコンパクシヨンについての
み説明する。
本実施例中で用いる用語“木”、“補木”、“基本閉
路”、“基本カツトセツト”、“基本閉路行列”の定義
は、参考文献〔1〕を参照するものとする。また、“ス
ラツク変数”、“基底解”、“基底変数”、“非基底
解”、“非基底変数”、“単体表”、“軸演算”の定義
は、参考文献〔2〕を参照にするものとする。
第1図は、本発明の第一の実施例を説明する図であつ
て、1は制御部、2は入力部、3はグラフ作成部、4は
最長径路木作成部、5は基本閉路抽出部、6は基本閉路
の値計算部、7は重み変更部、8は基本カセツトセツト
抽出部、9は基本カツトセツトの値計算部、10は初等変
換部、11は座標整数化部、12は出力部である。
制御部1においては、以下のステツプ1から9を制御
する。
(ステツプ1) 入力部2を起動し、初期レイアウトの
座標テーブルP、分離制約テーブルII、デザインルール
テーブルD、レイアウトの高さの上限値L、座標整数化
要求フラグIFの入力する。(ステツプ2)へ進む。
(ステツプ2) 初期レイアウトに対して、グラフ作成
部3を起動し、制約グラフG(枝集合E、点集合V)を
作成する。(ステツプ3)へ進む。
(ステツプ3) 制約グラフGに対して最長径路木作成
部4を起動して、Gの最長径路木Tを作成する。制御変
数qを0に設定し、パラメータzを0に設定する。△
という空のテーブルを作成する。(ステツプ4)へ進
む。
(ステツプ4) 制御変数qに1を加える。Iという名
前とJという名前の二つの空のテーブルを作成する。各
枝e(∈E−T)と木Tに対して、フラグcc=2として
基本閉路の値計算部6を起動して、第二の基本閉路の値
C2(e,T)を求める。そして、C2(e,T)が正である枝e
(∈T−T)をテーブルIに書き込む。(ステツプ5)
へ進む。
(ステツプ5) テーブルIに含まれる各枝eと木Tに
ついて、フラグcc=1として基本閉路の値計算部6を起
動し、第一の基本閉路の値C1(e,T)を求める。そし
て、直前の(ステツプ4)で求めたC2(e,T)を用い
て、以下の式(1)で定義される値cをテーブル△zの
q番目レコードに書き込む。
また、この値cを実現する枝e∈Iをrとする。(ス
テツプ6)へ進む。
(ステツプ6) 式(1)で定義された値cに対して、
重み変更部7を起動し、第一の枝の重みを書き替える。
また、パラメータzの値をcだけ増やす。(ステツプ
7)へ進む。
(ステツプ7) 枝rと木Tに対して、基本閉路抽出部
5を起動し、rとTの定める基本閉路の枝の集合を求め
る。そして、それらの中で向きが基本閉路の向きと逆で
あるものをテーブルJに書き込む。テーブルJに書き込
む枝がなければ、座標整数化フラグIFが1なら座標整数
化部11を起動し(0なら起動せずに)、続いて出力部12
を起動し、制御を終了する。テーブルJに書き込む枝が
あれば、(ステツプ8)に進む。
(ステツプ8) テーブルJに含まれる各枝eと木Tに
ついて、基本カツトセツトの値計算部9を起動し、基本
カツトセツトの値D(e,T)を求める。以下の式(2)
で定義される値dを計算する。
また、この値dを実現する枝e∈Jをtとする。(ス
テツプ9)へ進む。
(ステツプ9) 木Tと枝rと枝tに対して、初等変換
部10を起動する。(ステツプ4)にもどる。
入力部2においては、初期レイアウトの座標テーブル
P、分離制約テーブルII、デザインルールテーブルD、
レイアウトの高さの上限値L、座標整数化要求フラグIF
を入力する。
グラフ作成部3においては、初期レイアウトの座標テ
ーブルから、垂直方向の制約グラフを作成する。本部分
においては、水平線分テーブルHを作成すること、制約
グラフGの隣接リストを作成すること、制約グラフの第
一の重み、第二の重み、コストを隣接リストの当該枝の
欄に書き込むことを主な機能とする。第1図に示す如く
して、与えられた入力レイアウトの水平線分(第5図太
線)を抽出し、Hという名の水平線分テーブルを作成す
る。該テーブル中のi番目の水平線分をhiとする。各hi
の初期y座標をyiとし、該テーブルに書き込む。第5図
の11、12の如く、レイアウトの最上部と最下部に、その
X座標の最大値〔最小値〕がレイアウトを構成する水平
線分のX座標の最大値〔最小値〕より大きい〔小さい〕
仮想的な水平線分ht、hbを挿入する。ht、hbをそれぞれ
シンク線分、ソース線分と呼び、y座標をそれぞれyt
ysと書く。ht、hb、yt、ysもテーブルH中に記入する。
水平線分間の制約は、参考文献〔3〕に従うものとす
る。すなわち、水平線分hiとhjの間に、hiとhjに垂直に
交差する垂直線分が描け、かつ水平線分hiの方がhjより
上方にあるとき、この二線分は、制約: yi−yj≧dji (3) を持つとする。ここでdjiは線分hiとhjの属性から決定
されるデザインルールである。制約(3)は、djiが正
であればhiがhjよりdji以上上方になければならないこ
とを意味し、djiが負であればhiがhjより−dji以上下方
にあつてはならないことを意味している。
矩形の形状固定のためなどに用いる符合制約yi−yj
djiは、次式(4)の二つの不等号制約に置き換えるも
のとする。
yi−yj≧dji、yj−yi≧dji (4) 更に、以下ではレイアウトの高さの上限に関する次式
(5)の制約を仮定する。
yb−yt≧−L (5) dtb=−Lと考える。すなわち、分離制約以外の制約
は全て式(3)の形式で与えられる。以下では、式
(3)の形の制約を持つ水平線分の順序対(hj、hi)と
その間デザインルールdjiの記入されたテーブルをFと
する。ここで、分離制約とは、使用者によつて指定され
た線分対(hj,hi)間の距離をこの線分対間に使用者に
よつて与えられた重みαjiの逆数倍の最小値をテーブル
F中に制約に矛盾しない範囲で最大化しなければならな
いという制約である。入力部2において入力されたテー
ブルIIには、当該線分対とその座標と、その重みαji
記入されているとする。(hj,hi)(∈II)はyj≦yi
いう制約をFに加えても矛盾が生じないような線分対で
あるとする。このとき、制約グラフとよばれる、以下の
ように定義される点集合と枝集合を持つ有向グラフを定
義する。
ここで、vsは新しく付加された点、vb,vtはそれぞれ
ソース線分、シンク線分に対応する点であり、ソース
点、シンク点という。また、同じ始点・終点を持つE0
枝とE1の枝があつても、それらは別々の枝と考えること
にする。本グラフ作成部3では、このグラフGを“隣接
リスト”(参考文献〔1〕)というデータ形式で作成す
るものとする。参考文献〔3〕中で扱われている制約グ
ラフ(constraint graph)は、V0の点と、E0の枝のみで
構成されており、本実施例のものとは異なる。さらに、
第一の重みとよばれる量w1(e)を、枝e(=(vj,
vi)∈E0)に対してはdji、枝e(=(vj,vi)∈E1UE2
+(vb,vt))に対しては0と定義し、Gの隣接リスト
の当該部分に書き込む。合わせて、第二の重みとよばれ
る量w2(e)を、枝e(=(vj,vi)∈E0UE2+(vb,
vt))に対しては0、枝e(=(vj,vi)∈E1)に対し
てはαjiと定義し、Gの隣接リストの当該部分に書き込
む。
最後に、コストと呼ばれる量c(e)を、枝e(=
vb,vt))に対しては1、(vb,vt)以外の枝に対しては
0と定義し、Gの隣接リストの当該部分に書き込む。
最長径路木作成部4においては、参考文献〔3〕に示
されている方法によつて、第一の重みのみを考慮してグ
ラフG'の最長径路木Tを求める。このとき、正ループ
(参考文献〔3〕)が発見されたら、『制約Fに矛盾が
存在する』と出力して終了する。ここで、最長径路木T
とは、各節点からソース点へのT上のパスがG'における
その二点間の最長径路になつているような木のことであ
る。Tは、隣接リストとして記憶しておく。
基本閉路抽出部5においては、与えられた木Tと与え
られた補木枝eに対して、それらの定める基本閉路の枝
と当該枝の当該基本閉路中の向きを求める。
基本閉路の値計算部6においては、フラグccが1であ
れば、第一の基本閉路の値C1(e,T)を、フラグccが2
であれば、第二の基本閉路の値C2(e,T)を計算する。
ここで、第一の基本閉路の値とは、与えられた制約グラ
フG上の木Tと補木枝e(∈E−T)に対して、eのT
に対して定める基本閉路中の枝の第一の重みを、当該枝
がeと同じ向きに当該基本閉路に含まれる場合には+1
倍して、当該枝がeと逆向きに当該基本閉路に含まれる
場合には−1倍して加え合わせた値のことをいう。ま
た、第二の基本閉路の値とは、与えられた制約グラフG
上の木Tと補木枝e(∈E−T)に対して、eのTに対
して定める基本閉路中の枝の第二の重みを、当該枝がe
と同じ向きに当該基本閉路に含まれる場合には+1倍し
て、当該枝がeと逆向きに当該基本閉路に含まれる場合
には−1倍して加え合わせた値のことをいう。基本閉炉
を求めるには、基本閉路抽出部5を用いる。
重み変更部7においては、与えられたcに対して、全
ての枝e(∈E)について、第一の重みw1(e)に第二
の重みw2(e)のc倍を加える。
基本カツトセツト抽出部8においては、与えられた木
Tと与えられた木枝eに対して、それらの定める基本カ
ツトセツトの枝と当該枝の当該基本カツトセツト中の向
きを求める。
基本カツトセツトの値計算部9においては、基本カツ
トセツトの値D(e,T)を計算する。ここで、基本カツ
トセツトの値とは、制約グラフG上の木枝e(e∈T)
に対して、eのTに対して定める基本カツトセツト中の
枝のコストを、当該枝がeと同じ向きに当該基本カツト
セツトに含まれる場合に+1倍して、当該枝がeと逆向
きに当該基本カツトセツトに含まれる場合には−1倍し
て加え合わせた値のことをいう。基本カツトセツトを求
めるには、基本カツトセツト抽出部8を用いる。
初等変換部10においては、木Tの隣接リストに枝rを
付加して、枝tを除去する。
座標整数化部11においては、第一の重みw1(e)を超
えない最大の整数を新たにw1(e)とする。
出力部12においては、テーブル△の出力と、初期レ
イアウトとコンパクシヨン結果のレイアウトとの置き換
えを行なう。ここで、初期レイアウトとコンパクシヨン
結果のレイアウトとの置き換えは以下のようにして行な
う。本出力部12が呼ばれたときの木をTとする。まず、
テーブルH中の各水平線分hiのy座標yiを、ソース点vb
から点viへの木T上の有向バス上の枝の第一の重みを、
当該枝が当該バスに正の向きで含まれる場合には+1倍
して、当該枝が当該バスに逆の向きで含まれる場合には
−1倍して加え合わせた値で置き換える。続いて、この
テーブルHから初期レイアウトの座標テーブルPのy座
標を書換えるとする。
このような作用をするから、本方式は、分離制約中の
各線分対間の距離のαji -1倍の数値の最小値を最大化す
ることができ、使用者の指定したレイアウト要素間を重
みαjiに応じて分離するように、垂直〔水平〕方向にコ
ンパクシヨンできる。以下に例を用いて説明する。第2
図は、本構成の作用を説明する図であつて、(a)は初
期レイアウト、(b)は本構成によるコンパクシヨン結
果、(c)は最長路法(参考文献〔3〕)による結果で
ある。この例では、II={(32,36),(35,34),(3
3,31),(32,40),(39,38),(37,31)},αji
1(hj,hi)∈II)となつている。第2図(b)の「1
5」,「65」の数値は物理的距離を表わす数値である。
第2図(b)より明らかなように、本構成によるコンパ
クシヨンでは、レイアウト要素が、重み(この場合には
全てのαjiが1)に応じて、配置されている。しかし、
(c)から明らかなように、従来手法である最長路法に
よるコンパクシヨンでは、レイアウト要素は単に下方に
詰められているだけであり、電気的特性を考えると、
(b)のレイアウトの方が良い。以下に本実施例がこの
ような作用を持つ理由を説明する。
そのためには、本実施例で与えられる方式は、以下の
問題1を効率的に解く作用を持つことを示せば十分であ
る。
問題1を次に示す。
『制約』は次の通りである。
yi−yj≧dji(hj,hi)∈E) (7) yi≧0(hi∈H) (8) 『目的関数』は次の通りである。
min(αji -1・(yi−yj))(hj,hi)∈II (9) 上記『制約』のもとで『目的関数』を最大化せよ。こ
れが問題1である。
上記の問題1は、以下の問題2で置き換えることがで
きる。すなわち、問題2を解いて得られたyiは、問題1
の『制約』を満たし、『目的関数』を最大化する。ここ
で、uji,ubt′u′jiはスラツク変数である。
問題2を次に示す。
『制約』は次の通りである。
−yi+yj+uji=−dji(hj,hi)∈F) (10) −yt+yb+ubt=0 (11) −yi+yj+u′ji=−αji・z(hj,hi)∈II) (12) yi≧0(hi∈H) (13) z≧0 (14) uji≧0(hj,hi)∈F),ubt≧0, u′ji≧0(hj,hi)∈II) (15) 『目的関数』は次の通りである。
S=yt−yb (16) 『制約』を満たす最大のzを求め、このzの下で、
『目的関数』Sを最小化せよ。これが問題2である。
問題2は、単体法(参考文献〔2〕)を用いて、初め
に目的関数としてzを最大化し、続いて目的関数として
S=yt−ybを最小化することによつて解ける。
しかし、ここでは、グラフ理論的方法を構築し効率化
するために問題2をzをパラメータとする“パラメトリ
ツク線形計画問題”(以下“PLP"と略す、参考文献
〔2〕123頁参照)と考える。こう考えると、問題2は
参考文献〔2〕123頁に述べられている方式で解ける。
一般に、パラメトリツク線形計画法では、(k+1)
(〈∞)個の非負定数z0,z1,z2,…,zk((0≦)z0≦z1
≦z2…≦zk(≦∞))が定まつて、 yi(z)=βji+γji・z(i=1,2,…,|H|) (17) となることが知られている。zk<∞である場合には、z
ε(zk,∞)に対して、制約(10)〜(15)を満たす(y
i)は存在しなくなる。PLPの手法では、zの値を初期値
z0から徐々に増やしながらyi(z)とS(z)を求めて
いき、有限時間内にzkに到達する。但し、本問題では、
必要なのは、z=z0に対するyi(z)とS(z)だけで
ある。
参考文献〔2〕123頁には、問題2を実行可能する最
小のz(=z0)が存在するならばそれを求める方式が述
べられている。しかし、この手法は、制約の数の変数の
数の積の大きさの大規模な行列の上で軸演算を行わなけ
ればならず、本実施例の問題の場合には効率的ではな
い。
しかし、第1図に示した構成は、変数の数と制御の数
の和に比例した記憶容量しか必要とせず、かつ、グラフ
の木の初等変換に基づく効率的な方式となつている。以
下に示す命題1〜3によつて、参考文献〔2〕123頁の
一般的な方式を、本実施例の構成に変換することができ
る。このことが、第1図に示した構成の正当性を示すこ
とになる。
命題1〜3を述べる前に、若干の記号の定義を行な
う。
制約(10)〜(12)の左辺を行列表現し、その係数行
列をAと書く。Aを〔AT:I〕と表現する。但し、Iはm
×mの単位行列、m=|F|+|II|+1である。Iの部分
にスラツク変数が対応している。また、当該制約の右辺
を二つの定数ベクトルw1、w2を用いて、w1+w2・zと表
現する。
以下では、E0の枝をスラツク変数ujiに、E1の枝をス
ラツク変数u′jiに、E2の枝を変数yiに、枝(vb,vt
をスラツク変数ubtに対応させる。ここで、枝集合E2
Gの木を構成していることに注意する。枝集合E2の定め
るGの木をT0とする。行列AはグラフGの木T0に関する
基本閉路行列になつていることは明らかである。すなわ
ち、行列Aの各行は木T0に関する基本閉路に対応してい
る。また、行列Aの各行は補木の枝に対応しているとい
うことができる。さらに、行列ATの各列は木T0に関する
基本カツトセツトに対応している。
目的関数(16)式を以下のように書き替える。
ベクトルBから木枝に対応する部分を抜き出した部分ベ
クトルをBTとする。
上記及び参考文献〔4〕から以下の命題1〜3が帰結
される。
〔命題1〕 あるZの値に対して、問題2の基底解が得られている
とする。この基底解の非基底変数に対応する枝はグラフ
G上の木を構成する。
〔命題2〕 行列Aをある木Tにする基本閉路行列とする。行列
A′を、行列Aをある要素aqpを軸として軸演算して得
られたものとする。すると、行列A′は木: T′=T−ep+eq に関する基本閉路行列である。但し、epはp番目の列に
対応する木枝、eqはq番目の行に対応する補木の枝であ
る。
〔命題3〕 PLPを解く方式(参考文献〔2〕123頁)を実行中の行
列A、AT、ベクトルw1、w2、BTをそれぞれA′、
A′、w′、w′、B′と書く。このとき、 (1) −w′〔−w′〕のj番目の要素は、基本
閉路行列A′のj行目に対応する第一〔第二〕の基本閉
路の値である。
(2) −B′のj番目の要素は、基本閉路行列の部
分行列A′のj列行目に対応する基本カツトセツトの
値である。
命題1〜3は、問題2をPLPとして解く方式(参考文
献)〔2〕123頁)と第1図に示したようなコンパクシ
ヨン方式の構成との等価性を示すに十分である。つま
り、第1図に示した構成は、分離制約の指定された水平
線分間の距離をαji -1倍した数値の最小値を最大化する
ことができる。
以上の方法の効果を以下に述べる。従来の方式(参考
文献〔3〕)に比べて、本方式を用いると、指定された
水平線分間の距離の比を使用者に与えられた重みに応じ
て分離できることが実験により確認された。計算時間に
おいても、本構成は、問題2を、(PLPではない)線形
計画法を行列の軸演算によつて解く方式より数十倍高速
に処理できることが確認された。また、使用する記憶領
域も線形計画法を行列の軸演算によつて解く方式に比べ
てわずかである。
第2の実施例 この実施例は、指定されたレイアウト要素間の距離の
正数重みの逆数倍の数値の最大値を、レイアウトの指定
された高さ〔幅〕の上限値の範囲内で最小化するように
レイアウトを垂直〔水平〕方向にコンパクシヨンするこ
とを目的とした構成を有する。
本方式においては、コンパクシヨンは、レイアウトを
垂直方向に圧縮する垂直方向コンパクシヨンと水平方向
に圧縮する水平方向コンパクシヨンを、設計者によつて
決められた回数交互に繰り返すことによつて行われる。
この二つのコンパクシヨンは、レイアウトの向きを90゜
回転することによつて互に他で置き換えることができ
る。そこでここでは、垂直方向のコンパクシヨンについ
てのみ説明する。
本実施例中で用いる用語“木”、“補木”、“基本閉
路”、“基本カツトセツト”、“基本閉路行列”の定義
は、参考文献〔1〕を参照するものとする。また、“ス
ラツク変数”、“基底解”、“基底変数”、“非基底
解”、“非基底変数”、“単体表”、“軸演算”の定義
は、参考文献〔2〕を参照するものとする。
第3図は、本発明の第二の実施例を説明する図であつ
て、1は制御部、2は入力部、3はグラフ作成部、4は
最長径路木作成部、5は基本閉路抽出部、6は基本閉路
の値計算部、7は重み変更部、8は基本カツトセツト抽
出部、9は基本カツトセツトの値計算部、10は初等変換
部、11は座標整数化部、12は出力部である。
制御部1においては、実施例1の制御部1と全く同じ
作用を持つ。
入力部2においては、実施例1の入力部2と全く同じ
作用を持つ。
グラフ作成部3においては、実施例1のグラフ作成部
3における以下のような概念・記号の書き替えを行なつ
たものを作用させる。まず、『分離制約』を『近接制
約』と書き替える。ここで、近接制約とは、設計者によ
つて指定された線分対(hj,hi)間の距離を設計者に与
えられた重みαji -1倍した数値の最大値を、テーブルF
中の制約に矛盾しない範囲で最小化しなければならない
という制約である。入力部2において入力されたテーブ
ルIIには、当該線分対とその座標と、その重みαjiが記
入されているとする。(hj,hi)(∈II)は、yi−yj
Lという制約をFに加えても矛盾が生じないような線分
対であるとする。制約グラフGの枝『E1』を以下に定義
する『E′』で置き換える。
E′={(vi,vj)|(hj,hi)∈II} 第一の重みw1(e)(e∈E)を、枝e(=vj,vi)∈E
0)に対してはdji、枝e(=(vj,vi)∈E′)に対
しては−L・αji、枝e(=(vj,vi)∈E2+(vb,
vt))に対しては0と定義しなおす。
最長径路木作成部4においては、実施例1の最長径路
木作成部4と全く同じ作用を持つ。
基本閉路抽出部5においては、実施例1の基本閉路抽
出部5と全く同じ作用を持つ。
基本閉路の値計算部6においては、実施例1の基本閉
路の値計算部6と全く同じ作用を持つ。
重み変更部7においては、実施例1の重み変更部7と
全く同じ作用を持つ。
基本カツトセツト抽出部8においては、実施例1の基
本カツトセツト抽出部8と全く同じ作用を持つ。
基本カツトセツトの値計算部9においては、実施例1
の基本カツトセツトの値計算部9と全く同じ作用を持
つ。
初等変換部10においては、実施例1の初等変換部10と
全く同じ作用を持つ。
座標整数化部11においては、実施例1の座標整数化部
11と全く同じ作用を持つ。
出力部12においては、実施例1の出力部12と全く同じ
作用を持つ。
このような作用をするから、本方式は近接制約中の各
線分対間の距離のαji -1倍の数値の最大値を最小化する
ことができ、使用者の指定したレイアウト要素間を重み
αjiに応じて可能な限り近接させることができる。以下
に例を用いて説明する。第4図は、本構成の作用を説明
する図であつて、(a)は初期レイアウト、(b)は本
構成によるコンパクシヨン結果、(c)は最長路法(参
考文献〔3〕)による結果である。この例では、II=
{(52,51),(56,55),(54,53)},αji=1(hj,
hi)∈II)となつている。第4図(b)より明らかなよ
うに、本構成によるコンパクシヨンでは、レイアウト要
素が、重み(この場合には全てのαjiが1)に応じて、
近接している。しかし、(c)から明らかなように、従
来手法である最長路法によるコンパクシヨンでは、レイ
アウト要素は単に下方に詰められているだけであり、電
気的特性を考えると、(b)のレイアウトの方が良い。
以下に本実施例がこのような作用を持つ理由を説明す
る。
そのためには、本実施例で与えられる方式は、以下の
問題3を効率的に解く作用を持つことを示せば十分であ
る。
問題3を次に示す。
『制約』は次の通りである。
yi−yj≧dji(hi,hj)∈F) (20) yi≧0(hi∈H) (21) 『目的関数』は次の通りである。
max(αji -1・(yi−yj)) (22) (hj,hi)∈II 『制約』のもとで『目的関数』を最小化せよ。これが
問題3である。
上記の問題3は、以下の問題4で置き換えることがで
きる。すなわち、問題4を解いて得られたyiは、問題3
の『制約』を満たし、『目的関数』を最小化する。ここ
で、uji,ubt,u′jiはスラツク変数である。
問題4を次に示す。
『制約』は次の通りである。
−yi+yj+uji=−dji((hj,hi)∈ (23) −yt+yb+ubt=0 (24) −yj+yi+u′ji =αji・(L−z)((hj,hi)∈II) (25) yi≧0(hi∈H) (26) z≧0 (27) uji≧0((hj,hi)∈F),ubt ≧0((hj,hi)∈II) (28) 『目的関数』は次の通りである。
S=yt−yb (29) 『制約』を満たす最大のzを求め、このzの下で、
『目的関数』Sを最小化せよ。これが問題4である。
問題4は、実施例1における問題2に、制約(25)の
右辺の定数項が非零であることを除けば等価である。す
なわち、実施例1における命題1〜3が本実施例の場合
にも成立する。
命題1〜3は、問題4をPLPとして解くための方式
(参考文献〔2〕123頁)と第3図に示したようなコン
パクシヨン方式の構成との等価性を示すに十分である。
つまり、近接制約の指定された水平分間の距離をαji -1
倍した数値の最大値を最小化することができる。
以上の方法の効果を以下に述べる。従来の方式(参考
文献〔3〕)に比べて、本方式を用いると、指定された
水平線分間を与えられた重みに応じて近接させられるこ
とが実験により確認された。計算時においても、本構成
は、問題4を(PLPではない)線形計画法を行列の軸演
算によつて解く方式より数十倍高速に処理できることが
確認された。また、使用する記憶領域も線形計画法を行
列の軸演算によつて解く方式に比べてわずかである。
〔(実施例)の参考文献〕
〔1〕伊理,白川,梶谷,篠田,“演習グラフ理論",コ
ロナ社,1983. 〔2〕古林隆,“線形計画法入門",産業図書,1980. 〔3〕リヤオとウオン,“雑多な制約を有するVLSIシン
ボリツクレイアウトをコンパクト化するためのアルゴリ
ズム",CADに関するアイ・イー・イー・イー会報、CAD−
2巻、62〜69頁、1983年(Liao,Y.−z.and Wong,c。
K。,“An Algorithm to Compact a VLSI Symbolic La
yout with Mixed Constraints",IEEE Trans。on CAD,vo
l。CAD,vol。CAD−2,pp。62−69(1983)。) 〔4〕吉村、“グラフ理論的コンパクシヨンアルゴリズ
ム“、ISCAS85議事録、1455〜1458頁、1985年(Yoshimu
ra,T.,“A Graph Theoretical Compaction Algorithm",
in Proc.ISCAS 85,pp.1455−1458(1985).) 〔発明の効果〕 以上に説明したように、本発明による手法において
は、指定されたレイアウト要素間の距離の正数重みの逆
数倍の最小値または最大値を、レイアウトの指定された
高さ(幅)の上限値の範囲内でそれぞれ最大化または最
小化できるから、アナログ回路などの高品質なレイアウ
トの要求される回路の設計に適用可能であるという利点
がある。また、本発明による手法は、制約グラフを採用
したグラフ理論的手法であるから、少ない記憶容量で高
速に処理できるという利点がある。
【図面の簡単な説明】
第1図は本発明の第一の実施例を説明する図、第2図は
本発明の第一の実施例の効果を従来手法との比較で説明
した図、第3図は本発明の第二の実施例を説明する図、
第4図は本発明の第二の実施例の効果を従来手法との比
較で説明した図、第5図は本手法で採用する制約グラフ
について説明した図である。 1……制御部、2……入力部、3……グラフ作成部、4
……最長径路木作成部、5……基本閉路抽出部、6……
基本閉路の値計算部、7……重み変更部、8……基本カ
ツトセツト抽出部、9……基本カツトセツトの値計算
部、10……初等変換部、11……座標整数化部、12……出
力部。

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】予め設計されたLSI等の初期レイアウトか
    らデザインルールの違反がなくかつ可能な限り圧縮され
    たレイアウトを生成するレイアウトコンパクシヨン方法
    において、 初期レイアウトを構成する水平〔垂直〕線分hi〔vi
    (i=1,2,…,n)を該初期レイアウトから抽出し、該初
    期レイアウトの最上部〔最右部〕と最下部〔最左部〕に
    それぞれ仮想的な水平〔垂直〕線分ht〔vr〕、hb〔vl
    を挿入する第1の手段と、 上記水平〔垂直〕線分の2線分hi、hj〔vi、vj〕(i,j
    =1,2,・・・,n)であつてその双方に垂直に交差する直
    線を描くことのできるものについて、デザインルールよ
    り決定される制約が存在するか否か判定し、制約が存在
    すると判定された場合には、該デザインルールの値をd
    ijとし水平〔垂直〕線分hi〔vi〕のy〔x〕座標をy
    i〔xi〕としたとき、水平〔垂直〕線分hi〔vi〕のy
    〔x〕座標がhj〔vj〕のy〔x〕座標より大であるか等
    しい場合には第1の制約yi−yj≧dij〔xi−xj≧dij〕を
    生成し、水平〔垂直〕線分hi〔vi〕のy〔x〕座標がhj
    〔vj〕のy〔x〕座標より小であるか等しい場合には第
    2の制約yj−yi≧dij〔xj−xi≧dij〕を生成する第2の
    手段と、 上記水平〔垂直〕線分ht〔vr〕、hb〔v1〕に対してレイ
    アウトの高さ〔幅〕の上限に関する第3の制約yb−yt
    −Ly〔x1−xr≧−Lx〕を使用者によつて与えられた正数
    Ly〔Lx〕から生成する第3の手段と、 使用者によつて初期レイアウト中に指定された水平〔垂
    直〕線分対:(hi(2k),hi(2k-1))〔(vi(2k),
    vi(2k-1))〕(k=1,2,…,p,水平〔垂直〕線分h
    i(2k-1)〔vi(2k-1)〕のy〔x〕座標は水平〔垂直〕線
    分hi(2k)〔vi(2k)〕のy〔x〕座標より初期レイアウト
    において大であるとする)とこれら水平(垂直〕線分対
    の各々に使用者によつて与えられた正定数α(k=1,
    2,…,p)に対して、zを非負の変数としたとき第4の制
    約yi(2k-1)−yi(2k)≧α・z〔xi(2k-1)−xi(2k)≧α
    ・z〕(k=1,2,…,p)を生成する第4の手段と、 レイアウトの高さ〔幅〕S=yt−yb〔xr−x1〕を目的関
    数とし、上記第1〜第4の制約を制約条件とし、該制約
    条件を満たす任意のzにおいてSを最少化する第5の手
    段と、 上記第5の手段でSを最少化した結果得られたyi〔xi
    (i=1,2,…,n)によつて初期レイアウトのy〔x〕座
    標を置換する第6の手段と、 上記第1〜第6の手段をこの順番に実行することでなさ
    れる垂直〔水平〕方向のコンパクシヨンを一回以上繰返
    す ことを特徴とするレイアウトのコンパクシヨン。
  2. 【請求項2】請求項1において、 (イ) 第1の手段における水平〔垂直〕線分hi〔vi
    (i=1,2,…,n)を点に対応させ、第1〜第4の制約を
    枝に対応させた制約グラフを作成する手段と、 (ロ) 第4の手段における変数zをパラメータとし、
    レイアウトの高さ〔幅〕S=yt−yb〔xr−x1〕を目的関
    数とし、第1〜第4の制約を制約条件としてSを最小化
    するパラメトリツク線形計画法の任意のステツプにおい
    て、非基底変数を制約グラフの木に対応させ、定数項の
    ベクトルの各要素とパラメータzの係数ベクトルの各要
    素は上記制約グラフの基本閉路から、該目的関数の係数
    ベクトルの各要素は上記制約グラフの基本カツトセツト
    から、軸演算は該ステツプにおける木の初等変換によつ
    て計算する手段と を備えたことを特徴とするレイアウトのコンパクシヨン
    方法。
  3. 【請求項3】予め設計されたLSI等の初期レイアウトか
    らデザインルールの違反がなくかつ可能な限り圧縮され
    たレイアウトを生成するレイアウトコンパクシヨン方法
    において、 初期レイアウトを構成する水平〔垂直〕線分hi〔vi
    (i=1,2,…,n)を該初期レイアウトから抽出し、該初
    期レイアウトの最上部〔最右部〕と最下部〔最左部〕に
    それぞれ仮想的な水平〔垂直〕線分ht〔vr〕、hb〔v1
    を挿入する第1の手段と、 上記水平〔垂直〕線分の2線分hi、hj〔vi、vj〕(i,j
    =1,2,…,n)であつてその双方に垂直に交差する直線を
    描くことのできるものについて、デザインルールより決
    定される制約が存在するか否か判定し、制約が存在する
    と判定された場合には、該デザインルールの値をdij
    し水平〔垂直〕線分hi〔vi〕のy〔x〕座標をyi〔xi
    としたとき、水平〔垂直〕線分hi〔vi〕のy〔x〕座標
    がhj〔vj〕のy〔x〕座標より大であるか等しい場合に
    は第1の制約yi−yj≧dij〔xi−xj≧dij〕を生成し、水
    平〔垂直〕線分hi〔vi〕のy〔x〕座標がhj〔vj〕のy
    〔x〕座標より小であるか等しい場合には第2の制約yj
    −yi≧dij〔xj−xi≧dij〕を生成する第2の手段と、 上記水平〔垂直〕線分ht〔vr〕、hb〔v1〕に対してレイ
    アウトの高さ〔幅〕の上限に関する第3の制約yb−yt
    −Ly〔x1−xr≧−Lx〕を使用者によつて与えられた正数
    Ly〔Lx〕から生成する第3の手段と、 使用者によつて初期レイアウト中に指定された水平〔垂
    直〕線分対:(hi(2k),hi(2k-1))〔(vi(2k),
    vi(2k-1))〕(k=1,2,…,p,水平〔垂直〕線分h
    i(2k-1)〔vi(2k-1)〕のy〔x〕座標は水平〔垂直〕線
    分hi(2k)〔vi(2k)〕のy〔x〕座標より初期レイアウト
    において大であるとする)とこれら水平〔垂直〕線分対
    の各々に使用者によつて与えられた正定数α(k=1,
    2,…,p)に対して、zを非負の変数としたとき第4の制
    約yi(2k)−yi(2k-1)≧−α・(L−z)〔xi(2k)−x
    i(2k-1)≧−α・(L−z)〕(k=1,2,…,p)を生
    成する第4の手段と、 レイアウトの高さ〔幅〕S=yt−yb〔xr−x1〕を目的関
    数とし、上記第1〜第4の制約を制約条件とし、該制約
    条件を満たす任意のzにおいてSを最小化する第5の手
    段と、 上記第5の手段においてSを最小化した結果得られたyi
    〔xi〕(i=1,2,…,n)によつて初期レイアウトy
    〔x〕座標を置換する第6の手段と、 上記第1〜第6の手段をこの順番に実行することでなさ
    れる垂直〔水平〕方向のコンパクシヨンを一回以上繰返
    す ことを特徴とするレイアウトのコンパクシヨン方法。
  4. 【請求項4】請求項3において、 第1の手段における水平〔垂直〕線分hi〔vi〕(i=1,
    2,…,n)を点に対応させ、第1〜第4の制約を枝に対応
    させた制約グラフを作成する手段と、 第4の手段における変数zをパラメータとし、レイアウ
    トの高さ〔幅〕S=yt−yb〔xr−x1〕を目的関数とし、
    第1〜第4の制約を制約条件としてSを最小化するパラ
    メトリツク線形計画法の任意のステツプにおいて、非基
    底変数を制約グラフの木に対応させ、定数項のベクトル
    の各要素とパラメータzの係数ベクトルの各要素は上記
    制約グラフの基本閉路から、該目的関数の係数ベクトル
    の各要素は上記制約グラフの基本カツトセツトから、軸
    演算は該ステツプにおける木の初等変換によつて計算す
    る手段と を備えたことを特徴とするレイアウトのコンパクシヨン
    方法。
JP1140771A 1989-06-02 1989-06-02 レイアウトのコンパクシヨン方法 Expired - Fee Related JP2645592B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1140771A JP2645592B2 (ja) 1989-06-02 1989-06-02 レイアウトのコンパクシヨン方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1140771A JP2645592B2 (ja) 1989-06-02 1989-06-02 レイアウトのコンパクシヨン方法

Publications (2)

Publication Number Publication Date
JPH036043A JPH036043A (ja) 1991-01-11
JP2645592B2 true JP2645592B2 (ja) 1997-08-25

Family

ID=15276368

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1140771A Expired - Fee Related JP2645592B2 (ja) 1989-06-02 1989-06-02 レイアウトのコンパクシヨン方法

Country Status (1)

Country Link
JP (1) JP2645592B2 (ja)

Also Published As

Publication number Publication date
JPH036043A (ja) 1991-01-11

Similar Documents

Publication Publication Date Title
Alderson et al. Computer generation of symbolic network functions-A new theory and implementation
Goldberg et al. Solving minimum-cost flow problems by successive approximation
Farris et al. On the use of interpretive structural modeling for worth assessment
Hsieh et al. Genetic algorithms for reliability design problems
Sun et al. Efficient and effective placement for very large circuits
Yang et al. BDS: A BDD-based logic optimization system
Brayton Factoring logic functions
JPH07200280A (ja) 階層オブジェクト構造の回復法
US5369594A (en) Conjugate gradient method in computer-aided circuit design
Brundan et al. Heisenberg and Kac–Moody categorification
Alvarado et al. Sparsity in large-scale network computation
JPH09319784A (ja) 回路分割方法および装置
JP2645592B2 (ja) レイアウトのコンパクシヨン方法
Shaw et al. The critical‐item, upper bounds, and a branch‐and‐bound algorithm for the tree knapsack problem
Gugale Super sort sorting algorithm
JP2645591B2 (ja) レイアウトのコンパクシヨン方法
JP3215351B2 (ja) 配置方式
Wang et al. Graph-theory-based simplex algorithm for VLSI layout spacing problems with multiple variable constraints
Shatnawi et al. Mapping spl feature models to a relational database
JP2550429B2 (ja) 問題解決システム
John et al. Circuit partitioning for waveform relaxation
Chen Characterizing parallel hierarchies by reducibilities
Chen et al. Fixed-outline floorplanning using robust evolutionary search
Onozawa Layout compaction with attractive and repulsive constraints
JPH0544705B2 (ja)

Legal Events

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