JPH06244280A - 自動フロアプランニング装置 - Google Patents

自動フロアプランニング装置

Info

Publication number
JPH06244280A
JPH06244280A JP5030076A JP3007693A JPH06244280A JP H06244280 A JPH06244280 A JP H06244280A JP 5030076 A JP5030076 A JP 5030076A JP 3007693 A JP3007693 A JP 3007693A JP H06244280 A JPH06244280 A JP H06244280A
Authority
JP
Japan
Prior art keywords
block
floorplanning
blocks
floor planning
floor
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.)
Pending
Application number
JP5030076A
Other languages
English (en)
Inventor
Takayuki Yamauchi
貴行 山内
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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP5030076A priority Critical patent/JPH06244280A/ja
Publication of JPH06244280A publication Critical patent/JPH06244280A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

(57)【要約】 【目的】 大規模半導体集積回路のレイアウト設計にお
いて、集積回路の面積を減らし、必要とされる性能を満
たすレイアウトを行うために、ブロックの規模や配置や
形状を決定する自動フロアプランニング装置を提供す
る。 【構成】 各ブロックの回路規模を決定し、ブロックの
配置を決定すると共にフロアプランニングを行う初期フ
ロアプランニング決定部11と、各ブロックの形状を決
定して全体の面積を算出し、各ブロックの位置と各ブロ
ック間の接続情報に基づいてブロック間の配線長の予測
値を算出すると共に、予め与えられた評価関数の値を面
積及び配線長に基づいて算出し、算出された評価関数の
値によってフロアプランニングを評価するフロアプラン
ニング評価部12と、フロアプランニングを変更し、変
更したフロアプランニングを評価し、変更したフロアプ
ランニングの採用及び不採用を判定してフロアプランニ
ングの更新及び繰り返しを判定するフロアプランニング
繰り返し改善部13とを備えている。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、集積回路の最適なレイ
アウト設計を行うことができる自動フロアプランニング
装置に関する。
【0002】
【従来の技術】一般に、フロアプランニング設計とは、
大規模集積回路のレイアウト設計の概略を決定するもの
であり、具体的には集積回路の面積と性能が最適となる
ように、レイアウトの階層構造、ブロックの大きさ、配
置、形状などを決定することである。
【0003】大規模集積回路の階層的レイアウト設計に
おいて、同一の階層(即ち、1つのブロック)としてレ
イアウト設計される回路規模の決定と、各ブロックの配
置・形状の決定は、いずれもフロアプランニング設計段
階で扱われる問題であるが、それらは独立した設計項目
として取り扱われている。
【0004】まず、1つのブロックとしてレイアウトを
行う回路規模を決定することによって、全てのブロック
の数が決まる。ブロックの数が決定した後、それらのブ
ロックの配置を考えるのが一般的である。
【0005】ブロックの回路規模の決定は、実現しよう
とする集積回路の論理的な機能や、使用するレイアウト
設計済みのモジュール(既設計モジュールと呼ぶ)に応
じて、回路規模や接続要求を考慮の上、人手によって行
われることが多い。
【0006】ブロックの回路規模が決定した後に、各ブ
ロックの配置や形状が自動、または、人手によって決定
されている。
【0007】T.Lengauer and Rolf
Muller,「A Robust Framewo
rk For Hierarchical Floor
planning With Integrated
Global Wiring」(IEEE Proce
ding of International Con
ference on Computer−Aided
Design,pp.148−151,1990)で
は、まず、回路の二分割を行い、自動的にブロックの回
路規模を決定し、その後、2つのブロックの配置と形状
を決定する処理を、再帰的に繰り返すことによってフロ
アプランニングを決定する方法が提案されている。
【0008】上記の方法では、階層構造とブロックの配
置や形状が同時に決定されるが、ブロックの配置や形状
は先に行った分割結果に依存したものしか導出されな
い。
【0009】従って、フロアプラン結果の最適化には限
界がある。
【0010】ブロックの規模と総数が決定した後、配置
決定する手法としては、D.F.Wong and
C.L.Liu,「A New Algorithm
for Floorplan Design」(ACM
/IEEE Proceding of 23rd D
esign Automation Conferen
ce,pp,101−107,1986)が発表されて
いる。
【0011】
【発明が解決しようとする課題】フロアプランニング設
計における各ブロックの規模の決定問題は、レイアウト
設計の初期の段階で決定する設計項目であり、その善し
悪しは集積回路のレイアウト全体に重大な影響を及ぼ
す。
【0012】しかしながら、上述した従来の方法では、
何らかの方法によってブロックの規模を最初に固定し、
その中でブロック配置、ブロック間配線の最適化するこ
とによってフロアプランニング設計を行っており、ブロ
ックの規模の違いに対するフロアプランニング結果を比
較するための有効な評価ができないという問題があっ
た。
【0013】本発明の目的は、上記従来の方法における
問題に鑑み、ブロック規模と配置の両者を考慮したフロ
アプランニング結果の最適化を図ることができる自動フ
ロアプランニング装置を提供することにある。
【0014】
【課題を解決するための手段】本発明の目的は、各ブロ
ックの回路規模を決定し、ブロックの配置を決定すると
共にフロアプランニングを行う決定手段と、各ブロック
の形状を決定して全体の面積を算出し、各ブロックの位
置と各ブロック間の接続情報に基づいてブロック間の配
線長の予測値を算出すると共に、予め与えられた評価関
数の値を面積及び配線長に基づいて算出し、算出された
評価関数の値によってフロアプランニングを評価する評
価手段と、フロアプランニングを変更し、変更したフロ
アプランニングを評価し、変更したフロアプランニング
の採用及び不採用を判定してフロアプランニングの更新
及び繰り返しを判定する改善手段とを備えている自動フ
ロアプランニング装置によって達成される。
【0015】
【作用】本発明の自動フロアプランニング装置では、決
定手段は、各ブロックの回路規模を決定し、ブロックの
配置を決定すると共にフロアプランニングを行い、評価
手段は、各ブロックの形状を決定して全体の面積を算出
し、各ブロックの位置と各ブロック間の接続情報に基づ
いてブロック間の配線長の予測値を算出すると共に、予
め与えられた評価関数の値を面積及び配線長に基づいて
算出し、算出された評価関数の値によってフロアプラン
ニングを評価し、改善手段は、フロアプランニングを変
更し、変更したフロアプランニングを評価し、変更した
フロアプランニングの採用及び不採用を判定してフロア
プランニングの更新及び繰り返しを判定する。
【0016】
【実施例】以下、図面を参照して本発明の自動フロアプ
ランニング装置の実施例を詳細に説明する。
【0017】図1は、本発明の自動フロアプランニング
装置の構成を示すブロック図である。
【0018】図1の自動フロアプランニング装置は、決
定手段である初期フロアプランニング決定部11、評価
手段であるフロアプランニング評価部12、及び改善手
段であるフロアプランニング繰り返し改善部13によっ
て構成されている。
【0019】次に、上記各構成部分を説明する。
【0020】初期フロアプランニング決定部11は、初
期の各ブロックの回路規模の決定し、初期のブロック配
置を決定する。
【0021】フロアプランニング評価部12は、各ブロ
ックの形状を決定して全体の面積を算出し、各ブロック
の位置と各ブロック間の接続情報に基づいてブロック間
の配線長の予測値を算出すると共に、面積と配線長より
予め与えられた評価関数の値を算出することにより初期
フロアプランニングの評価を行う。
【0022】フロアプランニング繰り返し改善部13
は、現在のフロアプランニングを変更し、変更したフロ
アプランニングを評価し、変更したフロアプランニング
の採用・不採用を判定し、フロアプランニングの更新及
び繰り返しの終了判定を行う。
【0023】初期フロアプランニングは、繰り返し改善
の出発点としての初期値を決定するためのもので、その
後のフロアプランニング繰り返し改善手段によってフロ
アプランニングの最適化を行うために、初期フロアプラ
ンニング決定手段11における初期値の善し悪しは最終
結果に影響しない。
【0024】回路規模が決定された各ブロックの内、未
設計のブロックに対しては、さまざまな形状に対するレ
イアウト後のブロックの幅と高さの予測を行う(以後、
形状関数の発生処理と称する)。
【0025】フロアプランニングを変更する方法として
は、上記各手段に対してそれぞれ生起確率を与えて下記
の方法のうち乱数によっていずれかの変更方法を採用す
る。
【0026】(a)複数のブロックを選択し、それを1
つのブロックに併合した後、配置を決定する方法。
【0027】(b)1つのブロックを選択し、それを複
数のブロックに分割した後、それぞれのブロックの配置
を決定する方法。
【0028】(c)2つのブロックを選択し、そのブロ
ックの配置を交換する方法。
【0029】ブロックの併合または分割によって、新し
いブロックが作られた場合には、そのブロックに対して
形状関数の発生を行う。
【0030】図2に形状関数の一例を示す。図2に示す
ように、一般に形状関数は階段形状を有しており、縦軸
方向にブロックの高さ、横軸方向にブロックの幅がそれ
ぞれ示されている。
【0031】ブロックを併合または分割した場合には、
変更後の予想面積より平均的な配線長を算出し、配線長
が回路動作の時間的な制約条件を満足していることを確
認する。
【0032】フロアプランニングを評価する手段は、初
期フロアプランニング評価手段と同じ手段である。
【0033】変更したフロアプランニングの採用・不採
用の判定は、変更前後における評価関数値の変化量と、
現在の改善状態を表す状態値をもとに決定される。
【0034】入力として与えられた終了条件が満足され
た時点で、繰り返し改善を終了する。最終的に、全ての
改善の中でフロアプランニングの評価関数値が最も小さ
かったものをフロアプランニング結果として出力する。
【0035】次に、図3のフローチャートを参照して、
図1の自動フロアプランニング装置によるフロアプラン
ニング処理の一例を説明する。
【0036】まず、初期フロアプランニングを決定及び
評価する(ステップS1)。
【0037】即ち、回路設計データを入力して初期のブ
ロックとその配置を生成する。
【0038】ここで、初期ブロックの構成方法として
は、 (1)入力データによって指定する方法 (2)1ブロックあたりの回路規模を指定して既知の分
割手法を用いる方法 (3)1ブロックあたりの回路規模を指定して既知のク
ラスタリング手法を用いる方法。
【0039】などがある。
【0040】配置は乱数を用いてでたらめに決定する。
同時に、各ブロック間の接続の度合を示す結合度を回路
設計データより生成する。ブロックiとブロックjの間
の結合度をCijとする。各ブロックの形状関数を合成
することによって、ブロック全体の形状関数を求める。
このとき、形状関数の不明なブロックが存在する場合
は、そのブロックの回路規模より形状関数を生成する。
【0041】入力として与えられるブロック全体の縦横
の長さの比の制限より、全体の縦横の長さが決定され、
面積Aが分かる。更に、再帰的に各ブロックの形状が決
定される。各ブロックの配置と形状よりブロックの位置
が求められる。
【0042】ブロック間の配線長の予測値の計算方法の
一例は次の通りである。
【0043】ブロックiの中心の座標を(Xi,Yi)
とすると、ブロック間の配線長の予測値Wは、 で表される。
【0044】フロアプランニングの評価関数Φは、例え
ば次のように定義することができる。
【0045】Φ=A+λ・W (λは、入力として
与える定数) このようにして求められた評価関数の値をΦinitと
すると共に、 Φmin=Φcur=Φinit とする。
【0046】繰り返し改善における現在の状態をSで表
す。初期状態として、Sinitを入力として与える。
【0047】次に、フロアプランニングを変更する(ス
テップS2)。
【0048】フロアプランニングの変更方法としては、
図4〜図6のようなブロック配置を交換する方法や、図
7〜図9のようなブロックを併合または分割した後に配
置する方法がある。
【0049】具体的なフロアプランニングの変更は、こ
れらの方法の内の1つを確率的に選択し実行することに
よって行われる。
【0050】続いて、変更したフロアプランニングを評
価する(ステップS3)。
【0051】評価関数及びその値の計算方法は、上記ス
テップS1と同じである。ここで求められた評価関数の
値をΦrevとする。
【0052】採用または不採用のいずれかを決定する
(ステップS4)。
【0053】回路動作の時間的な制約条件による判定で
は、あるブロック中に、配線長の制約があるネットが存
在する場合、そのブロックの周囲長が配線長に対して一
定の割合(入力によって与えられる)を越える場合、変
更を不採用とする。
【0054】評価関数による判定では、フロアプランニ
ング変更前後における評価関数の差は、 Δ(Δ=Φrev−Φcur) となる。
【0055】予め与えられている判定関数D(Δ,S)
によって、変更の採用または不採用を決定する。Δ<0
の場合は必ず採用される。Δ>=0の場合は判定関数の
定義次第である。
【0056】上記ステップS4で採用された場合には後
述するステップS5へ進み、他方上記ステップS4で不
採用の場合には、後述するステップS6へ進む。
【0057】次に、フロアプランニングを更新する(ス
テップS5)。
【0058】上記ステップS2で変更したフロアプラン
ニングを、現在のフロアプランニングとする。ここで、 Φcur=Φrev とする。
【0059】評価関数の値がこれまでの最小値より小さ
い場合、即ち、Φcur<Φminのときには、 Φmin=Φcur とし、フロアプランニングを最良の解として記憶する。
【0060】続いて、繰り返しの終了条件を判定する
(ステップS6)。
【0061】所定の繰り返し終了条件を満たすときに
は、後述するステップS7へ進み、満たさないときに
は、上述したステップS2へ戻る。
【0062】フロアプランニングの状態を示す関数が定
義されているときは、現在の状態値Sを更新する。
【0063】繰り返し条件の例としては、 1.指定した繰り返し回数終了した 2.現在のフロアプランニング状態を示すSの値が充分
小さくなった 3.評価関数の改善される度合が、指定した値より小さ
くなった などである。
【0064】そして、フロアプランニング結果を出力す
る(ステップS7)。
【0065】ここでは、評価関数の値が最も小さかった
フロアプランニング結果を、最良の解として出力する。
【0066】従って、上述したように、本発明の自動フ
ロアプランニング装置は、ブロック規模の変更操作をフ
ロアプランニング改善処理の中に取り込むことにより、
ブロックの規模と配置を同じ設計段階で評価することが
できるように構成されており、レイアウト面積が小さ
く、ブロック間の総配線長が短く、回路動作の時間的な
制約を満足するレイアウト結果を得るためのフロアプラ
ンニング結果を作成することができる。また、繰り返し
フロアプランニングの改良を行うとき、一時的に評価結
果の悪くなる結果も採用することによって、初期値とし
て決定したブロックの規模や、配置に依存しないフロア
プランニング結果を得ることができる。
【0067】
【発明の効果】本発明の自動フロアプランニング装置
は、各ブロックの回路規模を決定し、ブロックの配置を
決定すると共にフロアプランニングを行う決定手段と、
各ブロックの形状を決定して全体の面積を算出し、各ブ
ロックの位置と各ブロック間の接続情報に基づいてブロ
ック間の配線長の予測値を算出すると共に、予め与えら
れた評価関数の値を面積及び配線長に基づいて算出し、
算出された評価関数の値によってフロアプランニングを
評価する評価手段と、フロアプランニングを変更し、変
更したフロアプランニングを評価し、変更したフロアプ
ランニングの採用及び不採用を判定してフロアプランニ
ングの更新及び繰り返しを判定する改善手段とを備えて
いるので、フロアプランニング結果の最適化を行うこと
ができ、その結果、集積回路のレイアウト面積の削減に
よるコストの低減や、配線長の短縮による性能の改善を
達成することができる。
【図面の簡単な説明】
【図1】本発明の自動フロアプランニング装置の一実施
例の構成を示すブロック図である。
【図2】図1の自動フロアプランニング装置で用いられ
る形状関数の説明図である。
【図3】図1の自動フロアプランニング装置の動作を説
明するためのフローチャートである。
【図4】図1の自動フロアプランニング装置によるブロ
ック配置の交換の一例の説明図である。
【図5】図1の自動フロアプランニング装置によるブロ
ック配置の交換の一例の説明図である。
【図6】図1の自動フロアプランニング装置によるブロ
ック配置の交換の一例の説明図である。
【図7】図1の自動フロアプランニング装置によるブロ
ックの併合または分割を行った後、配置を行う一例の説
明図である。
【図8】図1の自動フロアプランニング装置によるブロ
ックの併合または分割を行った後、配置を行う一例の説
明図である。
【図9】図1の自動フロアプランニング装置によるブロ
ックの併合または分割を行った後、配置を行う一例の説
明図である。
【符号の説明】
11 初期フロアプランニング決定部 12 フロアプランニング評価部 13 フロアプランニング繰り返し改善部

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 各ブロックの回路規模を決定し、当該ブ
    ロックの配置を決定すると共にフロアプランニングを行
    う決定手段と、該各ブロックの形状を決定して全体の面
    積を算出し、該各ブロックの位置と該各ブロック間の接
    続情報に基づいて該ブロック間の配線長の予測値を算出
    すると共に、予め与えられた評価関数の値を面積及び配
    線長に基づいて算出し、当該算出された評価関数の値に
    よって該フロアプランニングを評価する評価手段と、該
    フロアプランニングを変更し、当該変更したフロアプラ
    ンニングを評価し、該変更したフロアプランニングの採
    用及び不採用を判定して該フロアプランニングの更新及
    び繰り返しを判定する改善手段とを備えていることを特
    徴とする自動フロアプランニング装置。
JP5030076A 1993-02-19 1993-02-19 自動フロアプランニング装置 Pending JPH06244280A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5030076A JPH06244280A (ja) 1993-02-19 1993-02-19 自動フロアプランニング装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5030076A JPH06244280A (ja) 1993-02-19 1993-02-19 自動フロアプランニング装置

Publications (1)

Publication Number Publication Date
JPH06244280A true JPH06244280A (ja) 1994-09-02

Family

ID=12293715

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5030076A Pending JPH06244280A (ja) 1993-02-19 1993-02-19 自動フロアプランニング装置

Country Status (1)

Country Link
JP (1) JPH06244280A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7831947B2 (en) 2006-11-17 2010-11-09 Kabushiki Kaisha Toshiba Semiconductor layout design apparatus, semiconductor layout design method and computer readable medium
US7836421B2 (en) 2006-11-17 2010-11-16 Kabushiki Kaisha Toshiba Semiconductor layout design apparatus and method for evaluating a floorplan using distances between standard cells and macrocells

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7831947B2 (en) 2006-11-17 2010-11-09 Kabushiki Kaisha Toshiba Semiconductor layout design apparatus, semiconductor layout design method and computer readable medium
US7836421B2 (en) 2006-11-17 2010-11-16 Kabushiki Kaisha Toshiba Semiconductor layout design apparatus and method for evaluating a floorplan using distances between standard cells and macrocells

Similar Documents

Publication Publication Date Title
US6026228A (en) Integrated circuit design method, database apparatus for designing integrated circuit and integrated circuit design support apparatus
Sun et al. Efficient and effective placement for very large circuits
US7055120B2 (en) Method and apparatus for placing circuit modules
KR100249251B1 (ko) 논리회로 최적화 장치 및 그 방법
US20050132318A1 (en) Layout quality analyzer
US20030005398A1 (en) Timing-driven global placement based on geometry-aware timing budgets
US5550714A (en) Schematic generator and schematic generating method
US6122443A (en) Wire length minimization apparatus and method
US8219959B2 (en) Generating integrated circuit floorplan layouts
CN111597768B (zh) 用于构建版图图案集的方法、设备和计算机可读存储介质
US20080307374A1 (en) Method, system, and computer program product for mapping a logical design onto an integrated circuit with slack apportionment
US20040216069A1 (en) Method of designing low-power semiconductor integrated circuit
JPH06274568A (ja) 階層図形データの展開方法
US6487697B1 (en) Distribution dependent clustering in buffer insertion of high fanout nets
US7984415B1 (en) Merging of equivalent logic blocks in a circuit design
US7131085B2 (en) Distributed BDD reordering
US20060041852A1 (en) Targeted optimization of buffer-tree logic
JP2005149273A (ja) 半導体集積回路のフロアプラン装置及びフロアプラン方法
JPH06244280A (ja) 自動フロアプランニング装置
US7966597B2 (en) Method and system for routing of integrated circuit design
US8966428B2 (en) Fixed-outline floorplanning approach for mixed-size modules
CN111611761B (zh) 生成电路版图图案的方法、设备和计算机可读存储介质
JP3486014B2 (ja) ソフトウェア/ハードウェア協調設計システム及びその設計方法
JPH0997275A (ja) 回路遅延最適化方法及びその装置
JP2000150659A (ja) 半導体集積回路装置のレイアウト設計方法