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
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から各節点への最長路径路の長さを求めて、対応す
る各水平線分の垂直方向座標値としていた。
文献〔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等のレイアウト設計において、指定さ
れたレイアウト要素間の距離の正数重みの逆数倍の数値
の最小値または最大値を、レイアウトの指定された高さ
〔幅〕の上限値の範囲内でそれぞれ最大化または最小化
するように垂直〔水平〕方向にレイアウトをコンパクシ
ヨンし、上記のコンパクシヨンは、パラメトリツク線形
計画法に基づき垂直〔水平〕方向の制約グラフを用いて
行なうようにしたものである。
ンボリツクレイアウトをコンパクト化するためのアルゴ
リズム",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゜回
転することによつて互に他で置き換えることができる。
そこでここでは、垂直方向のコンパクシヨンについての
み説明する。
垂直方向に圧縮する垂直方向コンパクシヨンと水平方向
に圧縮する水平方向コンパクシヨンを設計者によつて決
められた回数交互に繰り返すことによつて行われる。こ
の二つのコンパクシヨンは、レイアウトの向きを90゜回
転することによつて互に他で置き換えることができる。
そこでここでは、垂直方向のコンパクシヨンについての
み説明する。
本実施例中で用いる用語“木”、“補木”、“基本閉
路”、“基本カツトセツト”、“基本閉路行列”の定義
は、参考文献〔1〕を参照するものとする。また、“ス
ラツク変数”、“基底解”、“基底変数”、“非基底
解”、“非基底変数”、“単体表”、“軸演算”の定義
は、参考文献〔2〕を参照にするものとする。
路”、“基本カツトセツト”、“基本閉路行列”の定義
は、参考文献〔1〕を参照するものとする。また、“ス
ラツク変数”、“基底解”、“基底変数”、“非基底
解”、“非基底変数”、“単体表”、“軸演算”の定義
は、参考文献〔2〕を参照にするものとする。
第1図は、本発明の第一の実施例を説明する図であつ
て、1は制御部、2は入力部、3はグラフ作成部、4は
最長径路木作成部、5は基本閉路抽出部、6は基本閉路
の値計算部、7は重み変更部、8は基本カセツトセツト
抽出部、9は基本カツトセツトの値計算部、10は初等変
換部、11は座標整数化部、12は出力部である。
て、1は制御部、2は入力部、3はグラフ作成部、4は
最長径路木作成部、5は基本閉路抽出部、6は基本閉路
の値計算部、7は重み変更部、8は基本カセツトセツト
抽出部、9は基本カツトセツトの値計算部、10は初等変
換部、11は座標整数化部、12は出力部である。
制御部1においては、以下のステツプ1から9を制御
する。
する。
(ステツプ1) 入力部2を起動し、初期レイアウトの
座標テーブルP、分離制約テーブルII、デザインルール
テーブルD、レイアウトの高さの上限値L、座標整数化
要求フラグIFの入力する。(ステツプ2)へ進む。
座標テーブルP、分離制約テーブルII、デザインルール
テーブルD、レイアウトの高さの上限値L、座標整数化
要求フラグIFの入力する。(ステツプ2)へ進む。
(ステツプ2) 初期レイアウトに対して、グラフ作成
部3を起動し、制約グラフG(枝集合E、点集合V)を
作成する。(ステツプ3)へ進む。
部3を起動し、制約グラフG(枝集合E、点集合V)を
作成する。(ステツプ3)へ進む。
(ステツプ3) 制約グラフGに対して最長径路木作成
部4を起動して、Gの最長径路木Tを作成する。制御変
数qを0に設定し、パラメータzを0に設定する。△z
という空のテーブルを作成する。(ステツプ4)へ進
む。
部4を起動して、Gの最長径路木Tを作成する。制御変
数qを0に設定し、パラメータzを0に設定する。△z
という空のテーブルを作成する。(ステツプ4)へ進
む。
(ステツプ4) 制御変数qに1を加える。Iという名
前とJという名前の二つの空のテーブルを作成する。各
枝e(∈E−T)と木Tに対して、フラグcc=2として
基本閉路の値計算部6を起動して、第二の基本閉路の値
C2(e,T)を求める。そして、C2(e,T)が正である枝e
(∈T−T)をテーブルIに書き込む。(ステツプ5)
へ進む。
前と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番目レコードに書き込む。
ついて、フラグcc=1として基本閉路の値計算部6を起
動し、第一の基本閉路の値C1(e,T)を求める。そし
て、直前の(ステツプ4)で求めたC2(e,T)を用い
て、以下の式(1)で定義される値cをテーブル△zの
q番目レコードに書き込む。
また、この値cを実現する枝e∈Iをrとする。(ス
テツプ6)へ進む。
テツプ6)へ進む。
(ステツプ6) 式(1)で定義された値cに対して、
重み変更部7を起動し、第一の枝の重みを書き替える。
また、パラメータzの値をcだけ増やす。(ステツプ
7)へ進む。
重み変更部7を起動し、第一の枝の重みを書き替える。
また、パラメータzの値をcだけ増やす。(ステツプ
7)へ進む。
(ステツプ7) 枝rと木Tに対して、基本閉路抽出部
5を起動し、rとTの定める基本閉路の枝の集合を求め
る。そして、それらの中で向きが基本閉路の向きと逆で
あるものをテーブルJに書き込む。テーブルJに書き込
む枝がなければ、座標整数化フラグIFが1なら座標整数
化部11を起動し(0なら起動せずに)、続いて出力部12
を起動し、制御を終了する。テーブルJに書き込む枝が
あれば、(ステツプ8)に進む。
5を起動し、rとTの定める基本閉路の枝の集合を求め
る。そして、それらの中で向きが基本閉路の向きと逆で
あるものをテーブルJに書き込む。テーブルJに書き込
む枝がなければ、座標整数化フラグIFが1なら座標整数
化部11を起動し(0なら起動せずに)、続いて出力部12
を起動し、制御を終了する。テーブルJに書き込む枝が
あれば、(ステツプ8)に進む。
(ステツプ8) テーブルJに含まれる各枝eと木Tに
ついて、基本カツトセツトの値計算部9を起動し、基本
カツトセツトの値D(e,T)を求める。以下の式(2)
で定義される値dを計算する。
ついて、基本カツトセツトの値計算部9を起動し、基本
カツトセツトの値D(e,T)を求める。以下の式(2)
で定義される値dを計算する。
また、この値dを実現する枝e∈Jをtとする。(ス
テツプ9)へ進む。
テツプ9)へ進む。
(ステツプ9) 木Tと枝rと枝tに対して、初等変換
部10を起動する。(ステツプ4)にもどる。
部10を起動する。(ステツプ4)にもどる。
入力部2においては、初期レイアウトの座標テーブル
P、分離制約テーブルII、デザインルールテーブルD、
レイアウトの高さの上限値L、座標整数化要求フラグIF
を入力する。
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以上下方
にあつてはならないことを意味している。
ーブルから、垂直方向の制約グラフを作成する。本部分
においては、水平線分テーブル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)の二つの不等号制約に置き換えるも
のとする。
djiは、次式(4)の二つの不等号制約に置き換えるも
のとする。
yi−yj≧dji、yj−yi≧dji (4) 更に、以下ではレイアウトの高さの上限に関する次式
(5)の制約を仮定する。
(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に加えても矛盾が生じないような線分対で
あるとする。このとき、制約グラフとよばれる、以下の
ように定義される点集合と枝集合を持つ有向グラフを定
義する。
は全て式(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の隣接リストの当該部分に書き込
む。
ソース線分、シンク線分に対応する点であり、ソース
点、シンク点という。また、同じ始点・終点を持つ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の隣接リストの当該部分に書き込む。
vb,vt))に対しては1、(vb,vt)以外の枝に対しては
0と定義し、Gの隣接リストの当該部分に書き込む。
最長径路木作成部4においては、参考文献〔3〕に示
されている方法によつて、第一の重みのみを考慮してグ
ラフG'の最長径路木Tを求める。このとき、正ループ
(参考文献〔3〕)が発見されたら、『制約Fに矛盾が
存在する』と出力して終了する。ここで、最長径路木T
とは、各節点からソース点へのT上のパスがG'における
その二点間の最長径路になつているような木のことであ
る。Tは、隣接リストとして記憶しておく。
されている方法によつて、第一の重みのみを考慮してグ
ラフG'の最長径路木Tを求める。このとき、正ループ
(参考文献〔3〕)が発見されたら、『制約Fに矛盾が
存在する』と出力して終了する。ここで、最長径路木T
とは、各節点からソース点へのT上のパスがG'における
その二点間の最長径路になつているような木のことであ
る。Tは、隣接リストとして記憶しておく。
基本閉路抽出部5においては、与えられた木Tと与え
られた補木枝eに対して、それらの定める基本閉路の枝
と当該枝の当該基本閉路中の向きを求める。
られた補木枝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を用いる。
れば、第一の基本閉路の値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倍を加える。
ての枝e(∈E)について、第一の重みw1(e)に第二
の重みw2(e)のc倍を加える。
基本カツトセツト抽出部8においては、与えられた木
Tと与えられた木枝eに対して、それらの定める基本カ
ツトセツトの枝と当該枝の当該基本カツトセツト中の向
きを求める。
Tと与えられた木枝eに対して、それらの定める基本カ
ツトセツトの枝と当該枝の当該基本カツトセツト中の向
きを求める。
基本カツトセツトの値計算部9においては、基本カツ
トセツトの値D(e,T)を計算する。ここで、基本カツ
トセツトの値とは、制約グラフG上の木枝e(e∈T)
に対して、eのTに対して定める基本カツトセツト中の
枝のコストを、当該枝がeと同じ向きに当該基本カツト
セツトに含まれる場合に+1倍して、当該枝がeと逆向
きに当該基本カツトセツトに含まれる場合には−1倍し
て加え合わせた値のことをいう。基本カツトセツトを求
めるには、基本カツトセツト抽出部8を用いる。
トセツトの値D(e,T)を計算する。ここで、基本カツ
トセツトの値とは、制約グラフG上の木枝e(e∈T)
に対して、eのTに対して定める基本カツトセツト中の
枝のコストを、当該枝がeと同じ向きに当該基本カツト
セツトに含まれる場合に+1倍して、当該枝がeと逆向
きに当該基本カツトセツトに含まれる場合には−1倍し
て加え合わせた値のことをいう。基本カツトセツトを求
めるには、基本カツトセツト抽出部8を用いる。
初等変換部10においては、木Tの隣接リストに枝rを
付加して、枝tを除去する。
付加して、枝tを除去する。
座標整数化部11においては、第一の重みw1(e)を超
えない最大の整数を新たにw1(e)とする。
えない最大の整数を新たにw1(e)とする。
出力部12においては、テーブル△zの出力と、初期レ
イアウトとコンパクシヨン結果のレイアウトとの置き換
えを行なう。ここで、初期レイアウトとコンパクシヨン
結果のレイアウトとの置き換えは以下のようにして行な
う。本出力部12が呼ばれたときの木をTとする。まず、
テーブルH中の各水平線分hiのy座標yiを、ソース点vb
から点viへの木T上の有向バス上の枝の第一の重みを、
当該枝が当該バスに正の向きで含まれる場合には+1倍
して、当該枝が当該バスに逆の向きで含まれる場合には
−1倍して加え合わせた値で置き換える。続いて、この
テーブルHから初期レイアウトの座標テーブルPのy座
標を書換えるとする。
イアウトとコンパクシヨン結果のレイアウトとの置き換
えを行なう。ここで、初期レイアウトとコンパクシヨン
結果のレイアウトとの置き換えは以下のようにして行な
う。本出力部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)のレイアウトの方が良い。以下に本実施例がこの
ような作用を持つ理由を説明する。
各線分対間の距離のα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を効率的に解く作用を持つことを示せば十分であ
る。
問題1を次に示す。
『制約』は次の通りである。
yi−yj≧dji(hj,hi)∈E) (7) yi≧0(hi∈H) (8) 『目的関数』は次の通りである。
min(αji -1・(yi−yj))(hj,hi)∈II (9) 上記『制約』のもとで『目的関数』を最大化せよ。こ
れが問題1である。
れが問題1である。
上記の問題1は、以下の問題2で置き換えることがで
きる。すなわち、問題2を解いて得られたyiは、問題1
の『制約』を満たし、『目的関数』を最大化する。ここ
で、uji,ubt′u′jiはスラツク変数である。
きる。すなわち、問題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である。
『目的関数』Sを最小化せよ。これが問題2である。
問題2は、単体法(参考文献〔2〕)を用いて、初め
に目的関数としてzを最大化し、続いて目的関数として
S=yt−ybを最小化することによつて解ける。
に目的関数としてzを最大化し、続いて目的関数として
S=yt−ybを最小化することによつて解ける。
しかし、ここでは、グラフ理論的方法を構築し効率化
するために問題2をzをパラメータとする“パラメトリ
ツク線形計画問題”(以下“PLP"と略す、参考文献
〔2〕123頁参照)と考える。こう考えると、問題2は
参考文献〔2〕123頁に述べられている方式で解ける。
するために問題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)だけで
ある。
(〈∞)個の非負定数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)が存在するならばそれを求める方式が述
べられている。しかし、この手法は、制約の数の変数の
数の積の大きさの大規模な行列の上で軸演算を行わなけ
ればならず、本実施例の問題の場合には効率的ではな
い。
小のz(=z0)が存在するならばそれを求める方式が述
べられている。しかし、この手法は、制約の数の変数の
数の積の大きさの大規模な行列の上で軸演算を行わなけ
ればならず、本実施例の問題の場合には効率的ではな
い。
しかし、第1図に示した構成は、変数の数と制御の数
の和に比例した記憶容量しか必要とせず、かつ、グラフ
の木の初等変換に基づく効率的な方式となつている。以
下に示す命題1〜3によつて、参考文献〔2〕123頁の
一般的な方式を、本実施例の構成に変換することができ
る。このことが、第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と表
現する。
列を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に関する
基本カツトセツトに対応している。
ラツク変数u′jiに、E2の枝を変数yiに、枝(vb,vt)
をスラツク変数ubtに対応させる。ここで、枝集合E2は
Gの木を構成していることに注意する。枝集合E2の定め
るGの木をT0とする。行列AはグラフGの木T0に関する
基本閉路行列になつていることは明らかである。すなわ
ち、行列Aの各行は木T0に関する基本閉路に対応してい
る。また、行列Aの各行は補木の枝に対応しているとい
うことができる。さらに、行列ATの各列は木T0に関する
基本カツトセツトに対応している。
目的関数(16)式を以下のように書き替える。
ベクトルBから木枝に対応する部分を抜き出した部分ベ
クトルをBTとする。
クトルをBTとする。
上記及び参考文献〔4〕から以下の命題1〜3が帰結
される。
される。
〔命題1〕 あるZの値に対して、問題2の基底解が得られている
とする。この基底解の非基底変数に対応する枝はグラフ
G上の木を構成する。
とする。この基底解の非基底変数に対応する枝はグラフ
G上の木を構成する。
〔命題2〕 行列Aをある木Tにする基本閉路行列とする。行列
A′を、行列Aをある要素aqpを軸として軸演算して得
られたものとする。すると、行列A′は木: T′=T−ep+eq に関する基本閉路行列である。但し、epはp番目の列に
対応する木枝、eqはq番目の行に対応する補木の枝であ
る。
A′を、行列Aをある要素aqpを軸として軸演算して得
られたものとする。すると、行列A′は木: T′=T−ep+eq に関する基本閉路行列である。但し、epはp番目の列に
対応する木枝、eqはq番目の行に対応する補木の枝であ
る。
〔命題3〕 PLPを解く方式(参考文献〔2〕123頁)を実行中の行
列A、AT、ベクトルw1、w2、BTをそれぞれA′、
A′T、w′1、w′2、B′Tと書く。このとき、 (1) −w′1〔−w′2〕のj番目の要素は、基本
閉路行列A′のj行目に対応する第一〔第二〕の基本閉
路の値である。
列A、AT、ベクトルw1、w2、BTをそれぞれA′、
A′T、w′1、w′2、B′Tと書く。このとき、 (1) −w′1〔−w′2〕のj番目の要素は、基本
閉路行列A′のj行目に対応する第一〔第二〕の基本閉
路の値である。
(2) −B′Tのj番目の要素は、基本閉路行列の部
分行列A′Tのj列行目に対応する基本カツトセツトの
値である。
分行列A′Tのj列行目に対応する基本カツトセツトの
値である。
命題1〜3は、問題2をPLPとして解く方式(参考文
献)〔2〕123頁)と第1図に示したようなコンパクシ
ヨン方式の構成との等価性を示すに十分である。つま
り、第1図に示した構成は、分離制約の指定された水平
線分間の距離をαji -1倍した数値の最小値を最大化する
ことができる。
献)〔2〕123頁)と第1図に示したようなコンパクシ
ヨン方式の構成との等価性を示すに十分である。つま
り、第1図に示した構成は、分離制約の指定された水平
線分間の距離をαji -1倍した数値の最小値を最大化する
ことができる。
以上の方法の効果を以下に述べる。従来の方式(参考
文献〔3〕)に比べて、本方式を用いると、指定された
水平線分間の距離の比を使用者に与えられた重みに応じ
て分離できることが実験により確認された。計算時間に
おいても、本構成は、問題2を、(PLPではない)線形
計画法を行列の軸演算によつて解く方式より数十倍高速
に処理できることが確認された。また、使用する記憶領
域も線形計画法を行列の軸演算によつて解く方式に比べ
てわずかである。
文献〔3〕)に比べて、本方式を用いると、指定された
水平線分間の距離の比を使用者に与えられた重みに応じ
て分離できることが実験により確認された。計算時間に
おいても、本構成は、問題2を、(PLPではない)線形
計画法を行列の軸演算によつて解く方式より数十倍高速
に処理できることが確認された。また、使用する記憶領
域も線形計画法を行列の軸演算によつて解く方式に比べ
てわずかである。
第2の実施例 この実施例は、指定されたレイアウト要素間の距離の
正数重みの逆数倍の数値の最大値を、レイアウトの指定
された高さ〔幅〕の上限値の範囲内で最小化するように
レイアウトを垂直〔水平〕方向にコンパクシヨンするこ
とを目的とした構成を有する。
正数重みの逆数倍の数値の最大値を、レイアウトの指定
された高さ〔幅〕の上限値の範囲内で最小化するように
レイアウトを垂直〔水平〕方向にコンパクシヨンするこ
とを目的とした構成を有する。
本方式においては、コンパクシヨンは、レイアウトを
垂直方向に圧縮する垂直方向コンパクシヨンと水平方向
に圧縮する水平方向コンパクシヨンを、設計者によつて
決められた回数交互に繰り返すことによつて行われる。
この二つのコンパクシヨンは、レイアウトの向きを90゜
回転することによつて互に他で置き換えることができ
る。そこでここでは、垂直方向のコンパクシヨンについ
てのみ説明する。
垂直方向に圧縮する垂直方向コンパクシヨンと水平方向
に圧縮する水平方向コンパクシヨンを、設計者によつて
決められた回数交互に繰り返すことによつて行われる。
この二つのコンパクシヨンは、レイアウトの向きを90゜
回転することによつて互に他で置き換えることができ
る。そこでここでは、垂直方向のコンパクシヨンについ
てのみ説明する。
本実施例中で用いる用語“木”、“補木”、“基本閉
路”、“基本カツトセツト”、“基本閉路行列”の定義
は、参考文献〔1〕を参照するものとする。また、“ス
ラツク変数”、“基底解”、“基底変数”、“非基底
解”、“非基底変数”、“単体表”、“軸演算”の定義
は、参考文献〔2〕を参照するものとする。
路”、“基本カツトセツト”、“基本閉路行列”の定義
は、参考文献〔1〕を参照するものとする。また、“ス
ラツク変数”、“基底解”、“基底変数”、“非基底
解”、“非基底変数”、“単体表”、“軸演算”の定義
は、参考文献〔2〕を参照するものとする。
第3図は、本発明の第二の実施例を説明する図であつ
て、1は制御部、2は入力部、3はグラフ作成部、4は
最長径路木作成部、5は基本閉路抽出部、6は基本閉路
の値計算部、7は重み変更部、8は基本カツトセツト抽
出部、9は基本カツトセツトの値計算部、10は初等変換
部、11は座標整数化部、12は出力部である。
て、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′1』で置き換える。
3における以下のような概念・記号の書き替えを行なつ
たものを作用させる。まず、『分離制約』を『近接制
約』と書き替える。ここで、近接制約とは、設計者によ
つて指定された線分対(hj,hi)間の距離を設計者に与
えられた重みαji -1倍した数値の最大値を、テーブルF
中の制約に矛盾しない範囲で最小化しなければならない
という制約である。入力部2において入力されたテーブ
ルIIには、当該線分対とその座標と、その重みαjiが記
入されているとする。(hj,hi)(∈II)は、yi−yj≦
Lという制約をFに加えても矛盾が生じないような線分
対であるとする。制約グラフGの枝『E1』を以下に定義
する『E′1』で置き換える。
E′1={(vi,vj)|(hj,hi)∈II} 第一の重みw1(e)(e∈E)を、枝e(=vj,vi)∈E
0)に対してはdji、枝e(=(vj,vi)∈E′1)に対
しては−L・αji、枝e(=(vj,vi)∈E2+(vb,
vt))に対しては0と定義しなおす。
0)に対してはdji、枝e(=(vj,vi)∈E′1)に対
しては−L・αji、枝e(=(vj,vi)∈E2+(vb,
vt))に対しては0と定義しなおす。
最長径路木作成部4においては、実施例1の最長径路
木作成部4と全く同じ作用を持つ。
木作成部4と全く同じ作用を持つ。
基本閉路抽出部5においては、実施例1の基本閉路抽
出部5と全く同じ作用を持つ。
出部5と全く同じ作用を持つ。
基本閉路の値計算部6においては、実施例1の基本閉
路の値計算部6と全く同じ作用を持つ。
路の値計算部6と全く同じ作用を持つ。
重み変更部7においては、実施例1の重み変更部7と
全く同じ作用を持つ。
全く同じ作用を持つ。
基本カツトセツト抽出部8においては、実施例1の基
本カツトセツト抽出部8と全く同じ作用を持つ。
本カツトセツト抽出部8と全く同じ作用を持つ。
基本カツトセツトの値計算部9においては、実施例1
の基本カツトセツトの値計算部9と全く同じ作用を持
つ。
の基本カツトセツトの値計算部9と全く同じ作用を持
つ。
初等変換部10においては、実施例1の初等変換部10と
全く同じ作用を持つ。
全く同じ作用を持つ。
座標整数化部11においては、実施例1の座標整数化部
11と全く同じ作用を持つ。
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)のレイアウトの方が良い。
以下に本実施例がこのような作用を持つ理由を説明す
る。
線分対間の距離のα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を効率的に解く作用を持つことを示せば十分であ
る。
問題3を次に示す。
『制約』は次の通りである。
yi−yj≧dji(hi,hj)∈F) (20) yi≧0(hi∈H) (21) 『目的関数』は次の通りである。
max(αji -1・(yi−yj)) (22) (hj,hi)∈II 『制約』のもとで『目的関数』を最小化せよ。これが
問題3である。
問題3である。
上記の問題3は、以下の問題4で置き換えることがで
きる。すなわち、問題4を解いて得られたyiは、問題3
の『制約』を満たし、『目的関数』を最小化する。ここ
で、uji,ubt,u′jiはスラツク変数である。
きる。すなわち、問題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である。
『目的関数』Sを最小化せよ。これが問題4である。
問題4は、実施例1における問題2に、制約(25)の
右辺の定数項が非零であることを除けば等価である。す
なわち、実施例1における命題1〜3が本実施例の場合
にも成立する。
右辺の定数項が非零であることを除けば等価である。す
なわち、実施例1における命題1〜3が本実施例の場合
にも成立する。
命題1〜3は、問題4をPLPとして解くための方式
(参考文献〔2〕123頁)と第3図に示したようなコン
パクシヨン方式の構成との等価性を示すに十分である。
つまり、近接制約の指定された水平分間の距離をαji -1
倍した数値の最大値を最小化することができる。
(参考文献〔2〕123頁)と第3図に示したようなコン
パクシヨン方式の構成との等価性を示すに十分である。
つまり、近接制約の指定された水平分間の距離をαji -1
倍した数値の最大値を最小化することができる。
以上の方法の効果を以下に述べる。従来の方式(参考
文献〔3〕)に比べて、本方式を用いると、指定された
水平線分間を与えられた重みに応じて近接させられるこ
とが実験により確認された。計算時においても、本構成
は、問題4を(PLPではない)線形計画法を行列の軸演
算によつて解く方式より数十倍高速に処理できることが
確認された。また、使用する記憶領域も線形計画法を行
列の軸演算によつて解く方式に比べてわずかである。
文献〔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).) 〔発明の効果〕 以上に説明したように、本発明による手法において
は、指定されたレイアウト要素間の距離の正数重みの逆
数倍の最小値または最大値を、レイアウトの指定された
高さ(幅)の上限値の範囲内でそれぞれ最大化または最
小化できるから、アナログ回路などの高品質なレイアウ
トの要求される回路の設計に適用可能であるという利点
がある。また、本発明による手法は、制約グラフを採用
したグラフ理論的手法であるから、少ない記憶容量で高
速に処理できるという利点がある。
ロナ社,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……出
力部。
本発明の第一の実施例の効果を従来手法との比較で説明
した図、第3図は本発明の第二の実施例を説明する図、
第4図は本発明の第二の実施例の効果を従来手法との比
較で説明した図、第5図は本手法で採用する制約グラフ
について説明した図である。 1……制御部、2……入力部、3……グラフ作成部、4
……最長径路木作成部、5……基本閉路抽出部、6……
基本閉路の値計算部、7……重み変更部、8……基本カ
ツトセツト抽出部、9……基本カツトセツトの値計算
部、10……初等変換部、11……座標整数化部、12……出
力部。
Claims (4)
- 【請求項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(k=1,
2,…,p)に対して、zを非負の変数としたとき第4の制
約yi(2k-1)−yi(2k)≧αk・z〔xi(2k-1)−xi(2k)≧α
k・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】請求項1において、 (イ) 第1の手段における水平〔垂直〕線分hi〔vi〕
(i=1,2,…,n)を点に対応させ、第1〜第4の制約を
枝に対応させた制約グラフを作成する手段と、 (ロ) 第4の手段における変数zをパラメータとし、
レイアウトの高さ〔幅〕S=yt−yb〔xr−x1〕を目的関
数とし、第1〜第4の制約を制約条件としてSを最小化
するパラメトリツク線形計画法の任意のステツプにおい
て、非基底変数を制約グラフの木に対応させ、定数項の
ベクトルの各要素とパラメータzの係数ベクトルの各要
素は上記制約グラフの基本閉路から、該目的関数の係数
ベクトルの各要素は上記制約グラフの基本カツトセツト
から、軸演算は該ステツプにおける木の初等変換によつ
て計算する手段と を備えたことを特徴とするレイアウトのコンパクシヨン
方法。 - 【請求項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(k=1,
2,…,p)に対して、zを非負の変数としたとき第4の制
約yi(2k)−yi(2k-1)≧−αk・(L−z)〔xi(2k)−x
i(2k-1)≧−αk・(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】請求項3において、 第1の手段における水平〔垂直〕線分hi〔vi〕(i=1,
2,…,n)を点に対応させ、第1〜第4の制約を枝に対応
させた制約グラフを作成する手段と、 第4の手段における変数zをパラメータとし、レイアウ
トの高さ〔幅〕S=yt−yb〔xr−x1〕を目的関数とし、
第1〜第4の制約を制約条件としてSを最小化するパラ
メトリツク線形計画法の任意のステツプにおいて、非基
底変数を制約グラフの木に対応させ、定数項のベクトル
の各要素とパラメータzの係数ベクトルの各要素は上記
制約グラフの基本閉路から、該目的関数の係数ベクトル
の各要素は上記制約グラフの基本カツトセツトから、軸
演算は該ステツプにおける木の初等変換によつて計算す
る手段と を備えたことを特徴とするレイアウトのコンパクシヨン
方法。
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) |
-
1989
- 1989-06-02 JP JP1140771A patent/JP2645592B2/ja not_active Expired - Fee Related
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 |