JP2831703B2 - 自動フロアプラン演算装置 - Google Patents

自動フロアプラン演算装置

Info

Publication number
JP2831703B2
JP2831703B2 JP1159771A JP15977189A JP2831703B2 JP 2831703 B2 JP2831703 B2 JP 2831703B2 JP 1159771 A JP1159771 A JP 1159771A JP 15977189 A JP15977189 A JP 15977189A JP 2831703 B2 JP2831703 B2 JP 2831703B2
Authority
JP
Japan
Prior art keywords
area
usage rate
allocable
element usage
floor plan
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
JP1159771A
Other languages
English (en)
Other versions
JPH0325953A (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.)
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 JP1159771A priority Critical patent/JP2831703B2/ja
Priority to US07/523,525 priority patent/US5191542A/en
Publication of JPH0325953A publication Critical patent/JPH0325953A/ja
Application granted granted Critical
Publication of JP2831703B2 publication Critical patent/JP2831703B2/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/392Floor-planning or layout, e.g. partitioning or placement

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Architecture (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) この発明は、スタンダードセル、ゲートアレイ方式等
の半導体集積回路の設計自動化に使用する自動フロアプ
ラン演算装置に関する。
(従来の技術) 半導体集積回路(以下、LSIと称する)の設計段階は
通常、第9図に示すようになっている。つまり、システ
ム設計S1に次いで、電子回路を組む論理設計S2、そして
論理設計に基づくLSIチップ上のレイアウト設計S3、レ
イアウトおよび設計の検証S4、サンプルの作成S5という
手順で行われるのである。
そして、フロアプランはレイアウト設計S3において、
自動配置・配線の前に行われ、例えば半導体チップ上で
種々の回路要素をどのように配置すれば均一な密度で並
べられるかを考えることである。その他、タイミングの
厳しい信号の配線長を短かくしたり、又はチップ全体を
小さくするために施されることもある。
第10図にLSIの一例を示してあるが、フロアプランで
は一般に、このようなLSIにおいて電源線1をチップ2
内の各セル3にどのように供給するか、入出力用セル4
をチップ2の周上にどのような順番で並べるか、RAMやR
OMなどの比較的大きい領域を持つ既設計のブロック5を
チップ2のどこに配置するか、さらに特定の機能を持っ
たセルのまとまりをどこに配置するかなど、チップ2の
概略構成を決定するのである。
特にセルの一まとまりをどのような形状のどこにある
領域の中に置くかについてのフロアプランは、フロアプ
ラン以降の処理である配置・配線に多大な影響を及ぼ
し、チップ内の素子の集積度、チップ内領域の効率的な
利用や設計時間の短縮に大きく関係してくるので重要で
ある。
第11図はある論理階層構造を持つLSIのフロアプラン
の例を示したものであるが、幾つかのセルのまとまりa
1,a2,b1,c1,…とかマクロブロックを一まとめにして各
モジュールA,B,C,…に分け、これらの各モジュールA,B,
C,…をチップ2上にその領域を区別して配置させる幾つ
かの方法を示している。この第11図の論理階層構造で
は、Cモジュールのみがタイミングの要求が厳しく、レ
イアウト設計者は特にCモジュールの位置と形状に注意
してフロアプランを行いたいと考えている場合、従来か
ら用いられているビルディングブロック方式では同図
(a)に示すようになり、スライシングストラクチャー
方式では、同図(b)に示すようなフロアプランにな
る。
しかしながら、従来のビルディングブロック方式の場
合には、ブロックA,B,C,D,…の周りにはセルが全く配置
できない無効領域(ブロック間配線領域)6が存在し、
このような無効領域をあらかじめ定義しておくことはフ
ロアプラン以降の配置・配線での自由度を狭め、配置・
配線の性能を十分に活かしきることができなくなる問題
点があった。
また前記スライシングストラクチャー方式の場合に
は、ブロックA,B,C,D,…の周りに無効領域が存在するこ
とはなくなるが、ブロックごとの間で重なり合うことを
許さないために第13図(a)に示すように極端に縦長や
横長の領域7を生成する場合が生じる。そして、配置可
能領域が極端に細長い形状であると、自動配置・配線が
十分な性能を出し切れず、必要以上にブロック面積を大
きくしなければならなくなることがある問題点があっ
た。
そこで、これらの問題点を解決するために、第11図
(c)および第13図(b)に示すように重なり領域を許
す配置可能領域を定義する方式を用いることができる。
この重なり領域を許す方式では必要、不必要にかかわら
ず全てのセルのまとまりの配置位置を決めてしまう前二
者よりも、位置や形状を必要に応じて決めることが出来
るために自動配置・配線に必要以上の制限を加えないで
済み、より高密度のレイアウトが期待できる。また、レ
イアウト設計者にとっても配置可能領域の形状や位置を
必要に応じて決める方式の方が設計自由度があって、負
担が軽減される。
例えば、第11図(a)の場合には、各ブロックA,B,C,
D,…の位置を決めるのに配線領域6をも含めて考えなけ
ればならず、また同図(b)の場合でも本来は特に位置
を決める必要のないCモジュール以外のモジュールA,B,
D,…についても位置を決めなければならず、設計自由度
が狭められるが、同図(c)のように必要なモジュール
Cの位置のみを決める方式ではその他のモジュールの位
置を適宜自由に決めることができて自由度が大きいので
ある。
さらに、重なりなく形状や位置を決定する方式より
は、重なりを許す方式の方が、設計者にとって大体この
辺りに配置しておきたいという希望を表現しやすくな
り、自由度が増す。例えば、第11図(a),(b)のレ
イアウトでは、レイアウト設計者が比較的正確に各ブロ
ックの形状を見積もり、無効領域の軽減に努めなければ
ならず、自由度が狭められてしまうが、重なり領域を許
す方式の場合には各ブロックの形状をあらかじめ見積も
る必要がなく、自由度が大きいのである。
第12図は重なりを許すフロアプランの別例を示してお
り、第11図に示す論理階層構造と同一の論理階層構造に
対して、チップ2内のA,Bモジュール以外のセル、マク
ロブロックを配置する配置可能領域(これはチップ2と
同一の面積を持つ)の上に、さらにAモジュール内の一
まとまりのセル群a1,a2以外のセルを割り当てる配置可
能領域αを重ね、さらにBモジュール内のセル、マクロ
ブロックのための配置可能領域β、Aモジュール内の一
まとまりのセル群a1内のセルのための配置可能領域α
1、一まとまりのセル群a2それぞれを互いに少しずつ重
なり合うようにしたフロアプランである。このように重
なりを許すフロアプランを立てると、チップ2内に固定
された無効領域がなく、また各ブロックごとのモジュー
ルの形状に制限が少なく、比較的自由度の大きいフロア
プランが立てられるのである。
しかしながら、重なりを許す配置可能領域の設定の方
式でも重なりが無制限に許されるわけではなく、チップ
領域の有効利用を図るためにはチップ内の素子使用率
(チップ基板の面積に対するセルの面積の割合)の粗密
を無くし、配置・配線しやすい形のフロアプランを行っ
て以降の処理に結果を渡す必要がある。
なぜならば、素子使用率の密な所では当然配線の混雑
度も高くなり、ゲートアレイ方式のLSIであれば未配線
あるいは配線ショートが生じやすく、スタンダードセル
方式のLSIではチップ面積の増大を招く結果となるため
である。
一方、素子使用率の疎な所では配置・配線領域ともに
必要以上に領域の余裕が発生してしまう。つまり、素子
使用率が均一でなければ、チップ内に領域が欠乏してい
る部分と無効な部分とが同時に存在していることにな
り、有効にチップ面積を活用していないことになってし
まうのであり、それゆえに重なりを許すフロアプランに
おいては素子使用率の均一化を行うことが必要とされて
いるのである。
ところで、従来からビルディングブロック方式とスラ
イシング・ストラクチャー方式のフロアプランに対して
は、これを自動的に行う方法が種々提案されている。そ
のような方法のうち、特にビルディングブロック方式に
用いられる力学的手法(Force directed method)と呼
ばれる方法は、配線長を評価値としてこれを最小にする
ようなフロアプランを求めるために、評価値を低くする
方向に力が働いていると考え、その仮想力の方向に徐々
に配置可能領域を微小移動させていき、仮想力による位
置エネルギーが最小になる配置を求め、これを最適なフ
ロアプランとするものである。
(参考文献[1],[2],[3]を参照) この力学的手法はアルゴリズムが比較的簡単であり、
設計者のプランを初期値とすることができ、さらに自動
的に生成した配置可能領域を設計者が改善しやすい利点
がある。しかし、この手法が重なり領域を許すフロアプ
ランに応用された例はなく、また素子使用率の均一化に
利用された例も知られていない。
参考文献 [1]N.R.QUINN,Jr.and M.A.Breuer.Jun.1979. “A forced directed component placement proce
dure for prin-ted circuit boads." IEEE Trans Circuits Syst.,CAS26. [2]小野寺秀俊,栗原俊彦,田丸啓吉.1986年 「力学モデルに基づくブロック配置手法」信学技報CA
S86-194. [3]野村潔,金子峰男,小野田真穂樹.1987年 「可変形状ブロックを許容するLSIの最小面積配置手
法」信学技報CA87-236. (発明が解決しようとする課題) 以上の考察のような従来のフロアプランで利用されて
いるビルディングブロック方式やスライシング・ストラ
クチャー方式では配置可能領域の設計に自由度が少な
く、また重なり領域を許す方式では素子使用率の均一化
を図るための適切な方法で知られていなかった。
この発明はこのような考察の下になされたもので、重
なり領域を許すフロアプランを行う際に素子使用率の均
一化が自動的に行える自動フロアプラン演算装置を提供
することを目的とする。
[発明の構成] (課題を解決するための手段) この発明は、関連する作用を行う一まとまりのセル群
の複数種をチップ上の重なりを許す複数の配置可能領域
に割り付ける演算を行う自動フロアプラン演算装置にお
いて、重なり合う領域を持つ配置可能領域同士の間で互
いに重なり合っている重なり領域と互いに独立している
独立領域とについてそこに仮想配置される素子使用率を
演算する素子使用率演算手段と、この素子使用率演算手
段による各重なり領域および独立領域の素子使用率がど
の程度均一になっているかを評価する素子利用率評価手
段と、この素子利用率評価手段が素子使用率の均一化が
不十分であると評価した時に前記仮想配置手段が定義し
た仮想配置を修正する領域定義修正手段とを備えたもの
である。
また、前記領域定義修正手段は、前記素子使用率評価
手段の評価した素子使用率評価結果に基づき力学的手法
により、素子使用率が均一化する方向に各配置可能領域
を微小移動させて新たな位置関係を設定するものとする
ことができる。
また、前記領域定義修正手段は、前記素子使用率評価
手段の評価した素子使用率評価結果に基づき力学的手法
により、素子使用率が均一化する形状に各配置可能領域
の形状を微小変形させて新たな配置可能領域を設定する
ものとすることができる。
また、前記領域定義修正手段は、前記素子使用率評価
手段の評価した素子使用率評価結果に基づき力学的手法
により、子使用率が均一化する方向に各配置可能領域を
微小移動させて新たな位置関係を設定する領域定義修正
演算と、前記素子使用率評価手段の評価した素子使用率
評価結果に基づき力学的手法により、素子使用率が均一
化する形状に各配置可能領域の形状を微小変形させて新
たな配置可能領域を設定する領域定義修正演算とを交互
に繰り返すこととすることができる。
また前記領域定義手段は、前記素子使用率評価手段の
評価した素子使用率評価結果に基づき力学的手法によ
り、素子使用率が均一化する方向に各配置可能領域の形
状を微小変形させて新たな配置可能領域を設定する際
に、各配置可能領域の面積を不変として配置可能領域を
新しく設定することができる。
更に、前記領域定義手段は、前記素子使用率評価手段
の評価した素子使用率評価結果に基づき力学的手法によ
り、素子使用率が均一化する方向に各配置可能領域の形
状を微小変形させて新たな配置可能領域を設定する際
に、各配置可能領域の縦横比を一定として、面積の大き
い、あるいは、小さい配置可能領域を新しく設定するこ
ととすることができる。
(作用) この発明の自動フロアプラン演算装置では、一まとま
りのセル群の複数種が割り付けられている配置可能領域
について、素子使用率演算手段により配置可能領域同士
の間の重なり領域と独立領域とについてそこに配置され
る素子使用率を演算する。
そして、この素子使用率演算手段の演算結果につい
て、素子使用率評価手段により各重なり領域と独立領域
の素子使用率がどの程度均一になっているかを評価し、
均一化が不十分であると判断される時には、領域定義修
正手段により配置可能領域の位置又は形状を修正し、素
子使用率の均一化が図れる方向に修正する。
以下、上記の素子使用率演算手段による各領域ごとの
素子使用率演算と、素子使用率評価手段による素子使用
率の均一化評価、配置可能領域の再修正を繰り返し、最
終的に素子使用率が重なり領域と独立領域とで均一にな
るように重なり領域を許すフロアプランを自動的に求め
るのである。
(実施例) 以下、この発明の実施例を図に基づいて詳説する。
第1図はこの発明の一実施例を示しており、第11図に
示す論理階層構造を表わすデータ、チップ面積、セル面
積、マクロブロック面積、その他の回路要素の形状や大
きさを表わすデータなどの必要なデータを入力するデー
タ入力部11と、配置可能領域の初期配置や修正配置を演
算する仮想配置演算部12と、この仮想配置演算部12の設
定した配置可能領域の配置に基づき、配置可能領域同士
が重なり合った領域である重なり領域と互いに独立して
いる独立領域とにおけるセルの占める面積割合を素子使
用率として演算する素子使用率演算部13と、この素子使
用率演算部13が算出した素子使用率が各領域で均一化し
ているかどうかを評価する素子使用率評価部14と、この
素子使用率評価部14の評価から素子使用率の均一化が不
十分である時に仮想配置を均一化の改善される方向に修
正する領域定義修正部15と、前記素子使用率評価部13が
素子使用率が十分に均一化されていると評価した時にそ
の配置可能領域の配置関係データを出力するデータ出力
部16とで構成されている。
前記領域定義修正部15は、素子使用率の均一化が不十
分である時に配置可能領域の位置を微小距離だけ移動さ
せたり、あるいは配置可能領域の形状を微小寸法だけ変
形させたり、さらには微小量の移動と変形を交互に行っ
たりして仮想配置を修正演算するものである。
次に、上記の構成の自動フロアプラン演算装置の動作
について説明する。
第2図はこの発明の実施例の自動フロアプラン演算動
作のフローチャートであり、仮想配線長最小化と素子使
用率均一化との両方を同時に評価しながら自動フロアプ
ラン演算を行う場合の動作を示している。
まずステップS11において、チップの面積、論理階層
構造データ、各配置可能領域に入るセルの面積の総和な
どの必要なデータをデータ入力部11から入力する。
次いで、仮想配置演算部12において配置可能領域の初
期配置を設定する(ステップS12)。なお、ここでは設
計者から初期的なプランの入力を行っても良いが、これ
が無い時には、配置可能領域をチップ内にランダムに配
置する。そして、関連があって近くに配置すべき一まと
まりのセル群ごとに配置可能領域を割り付け、配置可能
領域同士の重なり領域や独立領域の面積などもここで求
めておく。
次に、素子使用率演算部13において各配置可能領域ご
とにセル群を割り付けてセル分布の初期化を行い、各領
域ごとの素子使用率を算出する(ステップS13)。
続いて、素子使用率評価を行うステップS14におい
て、素子使用率評価部14によりまず初期素子使用率が十
分に均一化されているかどうか評価し、均一化が不十分
であれば領域定義修正部15において第3図に示す移動ル
ーチンのフローチャートに基づき、配置可能領域の微小
移動を行い、重なり領域および独立領域の配置態様の更
新を行い、さらに素子使用率を算出し直す(ステップS1
4)。
さらにこの移動ルーチンから抜け出すと、次に第4図
に示す変形ルーチンに入り、配置可能領域の形状の微小
変形を行い、重なり領域と独立領域との配置態様の更新
を行い、素子使用率を算出し直す(ステップS15)。
そして、これらの移動と変形処理の後、素子使用率の
均一化の評価と仮想配線長の最小化の評価とを行い、素
子使用率が十分に均一化され、仮想配線長も十分に小さ
くなっていればフロアプラン演算を終了し、不十分であ
ればステップS14に帰って、再び移動と変形処理により
素子使用率の均一化と仮想配線長の最小化を図る(ステ
ップS16)。
ここで、ステップS14,S15における素子使用率の演算
処理、移動処理および変形処理はそれぞれ第3図、第4
図および第5図に示すフローチャートに基づいて実行さ
れる。
まずこれらの演算に使用される変数の定義を説明す
る。
n:配置可能領域を表わす指標。
p:重なり領域および独立領域を表わす指標。
なお、この発明の実施例では第5図に示すように重な
り領域と独立領域とを区別せずに領域として指標pを用
いている。そして、第5図(a)の場合には独立領域a,
cにはそれぞれ配置可能領域1,2からしかセルが供給され
ないが、重なり領域bには配置可能領域1,2両方からセ
ルが供給される可能性がある。同様に第5図(b)の場
合には、独立領域a,c,gにはそれぞれ配置可能領域1,2,3
からしかセルが供給されないが、重なり領域b,d,eには
それぞれ重なり合った配置可能領域1と3、2と3、1
と2それぞれの両方からセルが供給される可能性があ
り、さらに重なり領域fには配置可能領域1,2,3すべて
からセルが供給される可能性がある。
cn:配置可能領域nに割り付けられているセルの面積
の総和。
ap:重なり領域または独立領域pの面積。
an:配置可能領域nの面積。なお、この配置可能領域
nを構成している重なり領域と独立領域との面積の和は
この面積anに等しくなる。
fnp:重なり領域または独立領域pに入っている配置
可能領域nのセルの面積。つまり、セルの仮想分布であ
り、fnp≧0である。
配置可能領域nを構成している重なり領域または独立
領域について、セルの分布fnpを足し合わせたものはn
に割り付けられているセルの面積の総和に等しい。
up:重なり領域または独立領域pの素子使用率。これ
は、その重なり領域または独立領域pに供給されている
セル面積の和を、当該重なり領域または独立領域pの面
積で割ったものであり、次のようになる。
次に、素子使用率均一化の評価関数について説明す
る。
各配置可能領域の面積、各配置可能領域に割り付けら
れたセル面積の総和が予め与えられているので、素子使
用率均一化の評価関数として、 を採用し、この評価値を小さくするように各配置可能
領域の移動と変形を行う。そして、この評価値が小さい
ほど素子使用率が均一化されていて、平均の素子使用率
からの逸脱が少ないと解釈することができる。
上の式を展開し、チップ内の平均素子使用率に関する
項を削っても、評価関数としての働きは変わらないの
で、上式と等価な次のような評価関数を得ることができ
る。
したがって、以後はこの評価関数を用いて説明する。
素子使用率均一化の評価関数を変数の定義を使って表
現し直すと、 となる。
第6図は素子使用率均一化の評価値の求め方を示す例
であり、第6図(a)に示すような入力データに対し
て、セルの仮想分布の様子を求め、それから各重なり領
域および独立領域a,b,cを求めて素子使用率均一化の評
価値を得る。第6図(a)は均一化なされていない場
合、第6図(b)は均一化されている場合の例を示して
いる。
各重なり領域の素子使用率を求めるためには、その領
域のセルの仮想分布を求める必要がある。配置可能領域
に割り付けられているセルの面積の総和、その配置可能
領域の位置・形状が与えられる時にセルの仮想分布を得
る問題は、上の変数のうち、cn,an,apが与えられた時
に、 が最小になるようにfnpを求めることであると定式化
できる。このようにして求めたセルの仮想分布fnp
ら、 なる関係を用いて、各重なり領域の素子使用率を求め
る。
この問題を解くためには、第3図に示すような繰り返
し処理を行えばよい。
まず、セルを各重なり領域に初期的に分布させる(ス
テップS21)。
例えば、 fnp=ap×cn/an とする。
なお、こステップS21は、前掲の自動フロアプランの
処理のステップS13の素子使用率の初期化のみで必要と
なる。ステップS14,S15の移動、変形による素子使用率
を算出し直すところではこの処理ステップは必要ではな
く、次のステップ22から処理を始めることができる。
次のステップS22では、重なり領域および独立領域の
中でいちばん素子使用率の高いものを探し出す。そして
これをp1とする。
次にこのp1にいちばん多くセルを供給している配置可
能領域n1を探し出し、続いてこの配置可能領域n1を構成
している重なり領域および独立領域の中でいちばん素子
使用率の低いものを探し出し、p2とする(ステップS23,
S24)。
次に、次の条件式を調べ、成立する時には重なり領域
および独立領域の中でp1の次に素子使用 (p1の素子使用率u1) ≦(p2の素子使用率u2) 率の高いものをp1にし、つまりp1を更新した後ステップ
S23に戻り、ステップS23〜S25の処理を繰り返し、P1
り素子使用率の低い重なり領域および独立領域が見つか
らなければ一連の処理を終了する(ステップS25〜S2
7)。
次のステップ28では、次の式 (p1の素子使用率u1) >(p2の素子使用率u2) が成立しているので、 ただし、 Sp1p2:重なり領域p1,p2内の全セルの面積総和 として、p1とp2の素子使用率の平均を求め、n1のセル
の移動のみで出来得る最大の素子使用率の均一化を行
い、以下のようにセルの分布を変更する。
なおここで、 S▲▼p1:p1に入っている、n1以外の配置可能領
域から供給されているセルの面積総和 S▲▼p2:p2に入っている、n1以外の配置可能領
域から供給されているセルの面積総和 である。
この演算の後、ステップS22に返ることになる。
上のようにして求められたセルの分布から素子使用率
が得られる。そしてこのようにして得られたセルの分布
および素子使用率には次のような性質がある。
ある配置可能領域nとそれを構成しているすべての重
なり領域または独立領域pについて、 fnp>0ならば、 ある実数α>0があって、up=α=一定fnp=0なら
ば、 上のαについて、up≧α となる。
これはそれぞれ、同一配置可能領域内のセルは等しい
素子使用率の中にある、および素子使用率が自分よりも
高い領域にはセルを供給しないことを表わしている。
次に、素子使用率均一化のために配置可能領域の移動
あるいは変形をして、配置可能領域の定義を修正する処
理について説明する。
移動は力学的手法を用いて、また変形もそれに準じて
行うことができる。第4図は力学的手法を用いて移動を
行う時の処理を示している。なお、この第4図におい
て、「移動」とあるところを「変形」とすることによ
り、そのまま変形処理を示すフローチャートとなる。
力学的手法による移動処理では、まず移動すべき配置
可能領域とその移動方向を決定するが、この処理におい
て力学的手法を使用する(ステップS31)。
力学的手法では、各配置可能領域を微小に動かした時
の素子使用率均一化の評価値の変化率の正負を逆転した
ものを素子使用率均一化の力と呼ぶ。そしてこの力の方
向に配置可能領域を動かせば必ず評価値を今よりも小さ
くすることができる。
仮想配線長最小化の力も同様に定義することができ
る。
そこで、この2つの力を足し合わせたものがいちばん
大きい配置可能領域を移動対象として選ぶことにより仮
想配線長最小化と素子使用率均一化を同時に図ることが
できることになる。
続いて、ステップS32において、配置可能領域をどれ
だけ移動するかを次の参考文献[4]に示されているよ
うな一般的な直線探索法により求める。
参考文献 [4]今野浩,山下浩.1978年 「非線形計画法」日科
技連出版社. そして、次のステップ33で配置可能領域を実際に移動
し、新しい配置可能領域の位置座標などのデータの更新
を行う。
次に素子使用率均一化のために各配置可能領域に働く
力の定義方法について説明し、さらに力学的手法により
素子使用率均一化が行えることを示す。
まず、一般に配置可能領域のある辺がその配置可能領
域の外側にずれたときにどのくらい素子使用率均一化が
行われるかを調べてみる。
いま、第7図(a)のように配置可能領域nの左辺に
接する領域iの素子使用率が領域n内のセルの受けてい
る素子使用率より大きいかあるいは等しい場合を考え
る。
この時、前に述べた性質より素子使用率が高い領域に
はセルが供給できないので、領域n内のセルの使用でき
る面積に変化はない。つまり、領域nの左辺が動いたこ
とによって素子使用率均一化の評価値に変化は生じな
い。
また、第7図(b)のように配置可能領域nの左辺に
接する領域iの素子使用率が領域nの素子使用率よりも
小さい場合を考える。
このとき、領域n内のセルの使用できる面積an、隣接
領域iの面積a1とはそれぞれ次のように変化する。
an→an+Δx・y ai→ai−Δx・y したがって、領域nの素子使用率un、領域iの素子使
用率u1とはそれぞれ次のように変化する。
そこで、素子使用率均一化の評価値の変化は、次のよ
うになる。
これは、より一般的には第8図に示すように配置可能
領域nに隣接する領域が上から下へ並んでいて、その素
子使用率がu1,u2,……,um、接している辺の長さがy1,
y2,……,ymであったとすると、左辺がΔxだけ左にず
れたことによる評価値の変化は、 となる。
そこで、各辺それぞれが外側にΔdL,ΔdR,ΔdB,ΔdT
だけ動いたとすると、評価値の変化は各辺ごとの変化を
足し合わせたものとなる。つまり、次式のようになるの
である。
ここで、素子使用率の変化する方向に移動するために
力学的手法を使う例を説明する。
x方向にΔx、y方向にΔy移動するということは、
上の式においてそれぞれ、 ΔdR=−ΔdL=Δx ΔdT=−ΔdB=Δy とすることと同じである。
そして、このΔxとΔyとは独立に扱えるので、 となり、同様にして、 となる。つまり、上下、左右それぞれ各辺にかかる力
の差をとった方向に配置可能領域を移動すればよいこと
が分かる。
こうして各配置可能領域にかかる力が分かったので、
この力の大きい順にこの力の方向に徐々に移動させるこ
とにより、素子使用率均一化を行うことができる。
この方法の利点は、フロアプランの際に評価の対象と
なる仮想配線長最小化による力の方向との兼ね合いを取
ることができる点にある。すなわち、仮想配線長最小化
と素子使用率均一化との両方の評価を改善する方向に配
置可能領域を移動することができるのである。
次に、第2図のステップS15における配置可能領域の
微小変形により素子使用率を均一化する処理について説
明する。
配置可能領域の重心を中心にして上下、左右対称に変
形したとすると、この変形に対しても移動と同じような
考え方をすることができ、微小変形によるx方向、y方
向の微小変位Δx、Δyは、 ΔdR=ΔdL=Δx/2 ΔdT=ΔdB=Δy/2 となる。また外側にΔx,Δy変形したとすると、面積
は一定なので、 (X+Δx)・(Y+Δy)−X・Y= Δx・Y+Δy・X+Δx・Δy=0 ここでいま、Δx・Δy≒0とすると、上記式から、 Δx・Y=−Δy・X が成り立つ。
そこで、この関係を上下、左右各辺を外側にずらした
時のΔHの式に代入すると、 そこで、あるクラスターを変形させようとする力は、
Δzを Δz=Δx/X=−Δy/Y とおき、zに対するHの変化率により定義する。
つまり、x方向に広がってy方向に縮もうとする変形
の力は、左右辺の受ける力の平均から、上下辺の受ける
力の平均を引いたものとなっている。
この方法の利点は、移動と同じように変形の力を定義
しているので、変形を後処理としてではなく移動と同時
に素子使用率均一化のための戦略の1つとして使えるこ
とであり、この結果、仮想配線長最小化と素子使用率均
一化の両方を満たす解が求め易くなる。
なお、この配置可能領域の微小変形による素子使用率
均一化の演算は必要に応じて移動による素子使用率均一
化の演算と交互に繰り返し行うことができるが、移動の
みにより、または変形のみにより素子使用率均一化の演
算を行うこともできるものである。
[発明の効果] 以上のようにこの発明によれば、与えられた配置可能
領域の位置および形状とその中のセル面積総和から個々
の重なり領域および独立領域に割り当てられるセルの仮
想的な分布を得てそれを基に各重なり領域および独立領
域の素子使用率を算出し、この仮想分布における素子使
用率の均一化の度合いを評価し、さらに不十分である時
には配置可能領域の定義を修正するようにしているの
で、重なり領域を許すフロアプランにおいて素子使用率
が均一化なフロアプランが自動設計できる。
【図面の簡単な説明】
第1図はこの発明の一実施例の回路ブロック図、第2図
は上記の実施例の動作を説明するフローチャート、第3
図は上記の実施例の各重なり領域および独立領域の素子
使用率を求める処理のフローチャート、第4図は上記の
実施例の力学的手法による移動処理のフローチャート、
第5図は上記の実施例における重なり領域および独立領
域の定義を説明する説明図、第6図は上記の実施例にお
けるセルの仮想分布、素子使用率、素子使用率均一化の
評価値の計算例を示す説明図、第7図は上記の実施例に
おける配置可能領域の移動処理を説明する説明図、第8
図は上記の実施例における配置可能領域の素子使用率均
一化の評価処理を説明する説明図、第9図は一般的なLS
Iの設計段階を示す説明図、第10図はLSIの一例を示すレ
イアウト図、第11図は一般的なフロアプランの各種手法
を示す説明図、第12図は重なりを許すフロアプランの手
法を示す説明図、第13図はフローチャートにおける重な
りを許さない例と重なりを許す例を示す説明図、第14図
はフロアプランにおける素子使用率の説明図である。 11……データ入力部、12……仮想配置演算部 13……素子使用率演算部 14……素子使用率評価部 15……領域定義修正部、16……データ出力部

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】関連する作用を行う一まとまりのセル群の
    複数種をチップ上の重なりを許す複数の配置可能領域に
    割り付ける演算を行う自動フロアプラン演算装置におい
    て、 重なり合う領域を持つ配置可能領域同士の間で互いに重
    なり合っている重なり領域と互いに独立している独立領
    域とについてそこに仮想配置される素子使用率を演算す
    る素子使用率演算手段と、 この素子使用率演算手段による各重なり領域および独立
    領域の素子使用率がどの程度均一になっているかを評価
    する素子利用率評価手段と、 この素子利用率評価手段が素子使用率の均一化が不十分
    であると評価した時に前記仮想配置手段が定義した仮想
    配置を修正する領域定義修正手段とを備えて成る自動フ
    ロアプラン演算装置。
  2. 【請求項2】前記領域定義修正手段が、前記素子使用率
    評価手段の評価した素子使用率評価結果に基づき力学的
    手法により、素子使用率が均一化する方向に各配置可能
    領域を微小移動させて新たな位置関係を設定するもので
    あることを特徴とする請求項1の自動フロアプラン演算
    装置。
  3. 【請求項3】前記領域定義修正手段が、前記素子使用率
    評価手段の評価した素子使用率評価結果に基づき力学的
    手法により、素子使用率が均一化する形状に各配置可能
    領域の形状を微小変形させて新たな配置可能領域を設定
    するものであることを特徴とする請求項1の自動フロア
    プラン演算装置。
  4. 【請求項4】前記領域定義修正手段が、前記素子使用率
    評価手段の評価した素子使用率評価結果に基づき力学的
    手法により、子使用率が均一化する方向に各配置可能領
    域を微小移動させて新たな位置関係を設定する領域定義
    修正演算と、前記素子使用率評価手段の評価した素子使
    用率評価結果に基づき力学的手法により、素子使用率が
    均一化する形状に各配置可能領域の形状を微小変形させ
    て新たな配置可能領域を設定する領域定義修正演算とを
    交互に繰り返すことを特徴とする請求項1の自動フロア
    プラン演算装置。
  5. 【請求項5】前記領域定義手段が、前記素子使用率評価
    手段の評価した素子使用率評価結果に基づき力学的手法
    により、素子使用率が均一化する方向に各配置可能領域
    の形状を微小変形させて新たな配置可能領域を設定する
    際に、各配置可能領域の面積を不変として配置可能領域
    を新しく設定することを特徴とする請求項3記載の自動
    フロアプラン演算装置。
  6. 【請求項6】前記領域定義手段が、前記素子使用率評価
    手段の評価した素子使用率評価結果に基づき力学的手法
    により、素子使用率が均一化する方向に各配置可能領域
    の形状を微小変形させて新たな配置可能領域を設定する
    際に、各配置可能領域の縦横比を一定として、面積の大
    きい、あるいは、小さい配置可能領域を新しく設定する
    ことを特徴とする請求項3の自動フロアプラン演算装
    置。
JP1159771A 1989-06-23 1989-06-23 自動フロアプラン演算装置 Expired - Fee Related JP2831703B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP1159771A JP2831703B2 (ja) 1989-06-23 1989-06-23 自動フロアプラン演算装置
US07/523,525 US5191542A (en) 1989-06-23 1990-05-15 Automatic floorplan operation apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1159771A JP2831703B2 (ja) 1989-06-23 1989-06-23 自動フロアプラン演算装置

Publications (2)

Publication Number Publication Date
JPH0325953A JPH0325953A (ja) 1991-02-04
JP2831703B2 true JP2831703B2 (ja) 1998-12-02

Family

ID=15700905

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1159771A Expired - Fee Related JP2831703B2 (ja) 1989-06-23 1989-06-23 自動フロアプラン演算装置

Country Status (2)

Country Link
US (1) US5191542A (ja)
JP (1) JP2831703B2 (ja)

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5485396A (en) * 1991-06-28 1996-01-16 Vlsi Technology, Inc. Symbolic routing guidance for wire networks in VLSI circuits
JP3172211B2 (ja) * 1991-09-05 2001-06-04 富士通株式会社 回路合成システム
JPH05120373A (ja) * 1991-10-30 1993-05-18 Mitsubishi Electric Corp 設計検証装置
JP3220250B2 (ja) * 1992-01-09 2001-10-22 株式会社東芝 セル自動配置方法
JPH05216962A (ja) * 1992-02-06 1993-08-27 Nec Corp 領域見積り方式
US5398195A (en) * 1992-02-21 1995-03-14 International Business Machines Corporation Method and system for providing a non-rectangular floor plan
JP2800527B2 (ja) * 1992-02-26 1998-09-21 日本電気株式会社 フロアプラン装置
US5311443A (en) * 1992-08-13 1994-05-10 Motorola Inc. Rule based floorplanner
US5353401A (en) * 1992-11-06 1994-10-04 Ricoh Company, Ltd. Automatic interface layout generator for database systems
JP2898493B2 (ja) * 1992-11-26 1999-06-02 三菱電機株式会社 ミリ波またはマイクロ波icのレイアウト設計方法及びレイアウト設計装置
US5576969A (en) * 1993-03-09 1996-11-19 Nec Corporation IC comprising functional blocks for which a mask pattern is patterned according to connection and placement data
US5544088A (en) * 1993-06-23 1996-08-06 International Business Machines Corporation Method of I/O pin assignment in a hierarchial packaging system
US5513119A (en) * 1993-08-10 1996-04-30 Mitsubishi Semiconductor America, Inc. Hierarchical floorplanner for gate array design layout
US5625568A (en) * 1993-12-22 1997-04-29 Vlsi Technology, Inc. Method and apparatus for compacting integrated circuits with standard cell architectures
US5682322A (en) * 1994-04-19 1997-10-28 Lsi Logic Corporation Optimization processing for integrated circuit physical design automation system using chaotic fitness improvement method
US5535134A (en) * 1994-06-03 1996-07-09 International Business Machines Corporation Object placement aid
US5568636A (en) * 1994-09-13 1996-10-22 Lsi Logic Corporation Method and system for improving a placement of cells using energetic placement with alternating contraction and expansion operations
US5619419A (en) * 1994-09-13 1997-04-08 Lsi Logic Corporation Method of cell placement for an itegrated circuit chip comprising integrated placement and cell overlap removal
US5818722A (en) * 1995-11-03 1998-10-06 Yoji Kajitani Method of placing and extracting modules
US5712793A (en) * 1995-11-20 1998-01-27 Lsi Logic Corporation Physical design automation system and process for designing integrated circuit chips using fuzzy cell clusterization
US5892688A (en) * 1996-06-28 1999-04-06 Lsi Logic Corporation Advanced modular cell placement system with iterative one dimensional preplacement optimization
WO1998000800A2 (en) * 1996-06-28 1998-01-08 Lsi Logic Corporation Modular cell placement system with overlap remover with minimal noise
US5808899A (en) * 1996-06-28 1998-09-15 Lsi Logic Corporation Advanced modular cell placement system with cell placement crystallization
WO1998000799A2 (en) * 1996-06-28 1998-01-08 Lsi Logic Corporation Modular cell placement system with dispersion-driven levelizing system
US5835381A (en) * 1996-06-28 1998-11-10 Lsi Logic Corporation Advanced modular cell placement system with minimizing maximal cut driven affinity system
US6026223A (en) * 1996-06-28 2000-02-15 Scepanovic; Ranko Advanced modular cell placement system with overlap remover with minimal noise
US5812740A (en) * 1996-06-28 1998-09-22 Lsi Logic Corporation Advanced modular cell placement system with neighborhood system driven optimization
US5963455A (en) * 1996-06-28 1999-10-05 Lsi Logic Corporation Advanced modular cell placement system with functional sieve optimization technique
US5831863A (en) * 1996-06-28 1998-11-03 Lsi Logic Corporation Advanced modular cell placement system with wire length driven affinity system
US5870311A (en) * 1996-06-28 1999-02-09 Lsi Logic Corporation Advanced modular cell placement system with fast procedure for finding a levelizing cut point
US5872718A (en) * 1996-06-28 1999-02-16 Lsi Logic Corporation Advanced modular cell placement system
US6030110A (en) * 1996-06-28 2000-02-29 Lsi Logic Corporation Advanced modular cell placement system with median control and increase in resolution
US5867398A (en) * 1996-06-28 1999-02-02 Lsi Logic Corporation Advanced modular cell placement system with density driven capacity penalty system
US5870312A (en) * 1996-06-28 1999-02-09 Lsi Logic Corporation Advanced modular cell placement system with dispersion-driven levelizing system
US6067409A (en) * 1996-06-28 2000-05-23 Lsi Logic Corporation Advanced modular cell placement system
US5844811A (en) * 1996-06-28 1998-12-01 Lsi Logic Corporation Advanced modular cell placement system with universal affinity driven discrete placement optimization
US5914888A (en) * 1996-06-28 1999-06-22 Lsi Logic Corporation Advanced modular cell placement system with coarse overflow remover
US6085032A (en) * 1996-06-28 2000-07-04 Lsi Logic Corporation Advanced modular cell placement system with sinusoidal optimization
US6910200B1 (en) * 1997-01-27 2005-06-21 Unisys Corporation Method and apparatus for associating selected circuit instances and for performing a group operation thereon
US6230304B1 (en) * 1997-12-24 2001-05-08 Magma Design Automation, Inc. Method of designing a constraint-driven integrated circuit layout
US6487706B1 (en) * 2000-08-30 2002-11-26 International Business Machines Corporation Contract methodology for concurrent hierarchical design
JP4083965B2 (ja) * 2000-09-27 2008-04-30 株式会社東芝 半導体集積回路の設計パターンのデータ処理方法、及びデータ処理プログラムを記録したコンピュータ読み取り可能な記録媒体
WO2006137119A1 (ja) * 2005-06-20 2006-12-28 Fujitsu Limited フロアプラン装置,フロアプランプログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体
US7934188B2 (en) * 2008-04-24 2011-04-26 International Business Machines Corporation Legalization of VLSI circuit placement with blockages using hierarchical row slicing
JP5531723B2 (ja) * 2010-03-30 2014-06-25 富士通セミコンダクター株式会社 半導体装置の設計方法及びプログラム
US8909501B2 (en) * 2010-11-03 2014-12-09 Eplan Partners, Ltd. Method and apparatus for optimization of floor covering and system for user configuration and real time pricing information
IL210169A0 (en) 2010-12-22 2011-03-31 Yehuda Binder System and method for routing-based internet security
US9232176B2 (en) 2013-03-04 2016-01-05 Janus Technologies, Inc. Method and apparatus for securing computer video and audio subsystems
US11210432B2 (en) 2013-08-20 2021-12-28 Janus Technologies, Inc. Method and apparatus for selectively snooping and capturing data for secure computer interfaces
US9215250B2 (en) 2013-08-20 2015-12-15 Janus Technologies, Inc. System and method for remotely managing security and configuration of compute devices
US9231921B2 (en) 2013-08-20 2016-01-05 Janus Technologies, Inc. System and architecture for secure computer devices
US9384150B2 (en) 2013-08-20 2016-07-05 Janus Technologies, Inc. Method and apparatus for performing transparent mass storage backups and snapshots
US9684805B2 (en) 2013-08-20 2017-06-20 Janus Technologies, Inc. Method and apparatus for securing computer interfaces
US9424443B2 (en) 2013-08-20 2016-08-23 Janus Technologies, Inc. Method and apparatus for securing computer mass storage data
US9076003B2 (en) 2013-08-20 2015-07-07 Janus Technologies, Inc. Method and apparatus for transparently encrypting and decrypting computer interface data

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
UST940008I4 (en) * 1974-05-17 1975-11-04 Automated logic mapping system
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)
US4577276A (en) * 1983-09-12 1986-03-18 At&T Bell Laboratories Placement of components on circuit substrates
US4754408A (en) * 1985-11-21 1988-06-28 International Business Machines Corporation Progressive insertion placement of elements on an integrated circuit
JPS63137A (ja) * 1986-02-17 1988-01-05 Mitsubishi Electric Corp 配線領域決定処理装置
US4918614A (en) * 1987-06-02 1990-04-17 Lsi Logic Corporation Hierarchical floorplanner
US4815003A (en) * 1987-06-19 1989-03-21 General Electric Company Structured design method for high density standard cell and macrocell layout of VLSI chips

Also Published As

Publication number Publication date
JPH0325953A (ja) 1991-02-04
US5191542A (en) 1993-03-02

Similar Documents

Publication Publication Date Title
JP2831703B2 (ja) 自動フロアプラン演算装置
Kleinhans et al. GORDIAN: VLSI placement by quadratic programming and slicing optimization
Sechen VLSI placement and global routing using simulated annealing
US6480991B1 (en) Timing-driven global placement based on geometry-aware timing budgets
JP3891599B2 (ja) 集積回路レイアウト内への標準セルの自動挿入装置
CN101206686B (zh) 设计时钟域中锁存器的布图的方法和系统
US6408427B1 (en) Wire width planning and performance optimization for VLSI interconnects
CN111428435B (zh) 一种集成电路版图功耗优化方法及装置
CN112183015B (zh) 一种面向深度神经网络的芯片布图规划方法
Heller et al. Wirability-designing wiring space for chips and chip packages
CN103605820A (zh) 基于l1范数模型的vlsi标准单元全局布局方法
CN115329710B (zh) 基于遗传算法的热管约束组件布局优化方法
US7058913B1 (en) Analytical placement method and apparatus
CN113128152A (zh) 基于时序的多裸片fpga的网表分割方法
US4783749A (en) Basic cell realized in the CMOS technique and a method for the automatic generation of such a basic cell
Sechen et al. Thunderbird: A complete standard cell layout package
TW202409879A (zh) 具有人類專家質量的基於學習的宏安置
US7260802B2 (en) Method and apparatus for partitioning an integrated circuit chip
US8959470B2 (en) Integrated circuit with areas having uniform voltage drop and method therefor
Hanchate et al. A linear time algorithm for wire sizing with simultaneous optimization of interconnect delay and crosstalk noise
CN108733869B (zh) 一种大规模三维集成电路分区方法和装置
Meister et al. Novel pin assignment algorithms for components with very high pin counts
JP3034907B2 (ja) 自動フロアプラン装置及び方法
Sun et al. A parallel standard cell placement algorithm
JP2938601B2 (ja) 配置方式

Legal Events

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