JP2001147954A - 半導体集積回路のフロアプラン作成方法 - Google Patents

半導体集積回路のフロアプラン作成方法

Info

Publication number
JP2001147954A
JP2001147954A JP33290999A JP33290999A JP2001147954A JP 2001147954 A JP2001147954 A JP 2001147954A JP 33290999 A JP33290999 A JP 33290999A JP 33290999 A JP33290999 A JP 33290999A JP 2001147954 A JP2001147954 A JP 2001147954A
Authority
JP
Japan
Prior art keywords
floor plan
circuit
partial
area
block
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.)
Withdrawn
Application number
JP33290999A
Other languages
English (en)
Inventor
Yoshio Masuda
佳夫 増田
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.)
NEC IC Microcomputer Systems Co Ltd
Original Assignee
NEC IC Microcomputer Systems Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC IC Microcomputer Systems Co Ltd filed Critical NEC IC Microcomputer Systems Co Ltd
Priority to JP33290999A priority Critical patent/JP2001147954A/ja
Publication of JP2001147954A publication Critical patent/JP2001147954A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

(57)【要約】 【課題】チップ上の一部の領域を対象としたフロアプラ
ンである部分フロアプランを順次作成しチップ全体のフ
ロアプランを作成することにより、後工程での回路ブロ
ックの詳細配置及び回路ブロック間の詳細配線が不具合
で、再度フロアプランをやり直すことの無い効率的かつ
精度が高いフロアプランを作成する。 【解決手段】ステップS11で回路接続情報10とレイ
アウト情報11を基に、出発点となる初期フロアプラン
を作成する。ステップS17で、チップ内部領域を回路
ブロックから構成される複数の部分フロアプラン領域に
分割し、これらの部分フロアプラン領域にソフトマクロ
ブロックが存在するか否かを判定し、ソフトマクロブロ
ックが存在する場合、ソフトマクロブロックの端子位置
を最適化して回路ブロックを配置する部分フロアプラン
を作成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は半導体集積回路のレ
イアウト設計方法に関し、特に半導体集積回路のフロア
プラン作成方法に関する。
【0002】
【従来の技術】近年、半導体集積回路の回路規模が急速
に増大してきており、半導体集積回路のフロアプランが
一層重要となってきている。すなわち、半導体集積回路
のレイアウト設計を進めるに当たって、フロアプランと
呼ばれる概略のレイアウト設計の適否が、その後のレイ
アウト設計の効率に重要な影響を与える。従って、レイ
アウト設計全体の設計効率を改善するには、詳細レイア
ウト設計で何回も修正を繰り返さなくても済むような、
精度が高いフロアプランを作成することが必要である。
【0003】最初に半導体集積回路の一般的なレイアウ
ト設計フローについて、図10を参照して説明する。
【0004】システム設計S1で設計されたシステム
を、ステップS2で論理設計する。最近の半導体集積回
路の大規模化に伴って、システムすなわちチップは階層
的に設計されることが一般的である。
【0005】図11に示すように、チップ100は、C
PU210、メモリブロック220、PLL230など
からなるレイアウト的に固定されたハードマクロブロッ
ク200と、設計者が自由にレイアウト設計することが
出来レイアウト的に変形可能なソフトマクロブロック3
00と、入出力バッファを含むI/Oブロック400か
ら構成される。
【0006】ソフトマクロブロック300は、設計者が
特別の用途に設計したユーザ論理回路310,320・
・・などから構成され、これらの回路はさらに、NAN
Dゲート、NORゲート、フリップフロップ回路、加算
器などの基本論理回路311から構成される。
【0007】図10のステップS2において、設計者は
基本論理回路311を用いてユーザ論理回路310〜を
論理設計し、このユーザ論理回路310〜とハードマク
ロブロック200とを用いて、チップ全体の論理設計を
行う。
【0008】次にステップS3において、ハードマクロ
ブロック200、ソフトマクロブロック300などのチ
ップ上での配置領域を決定した後、ステップS4で基本
論理回路311とハードマクロブロック210〜の自動
配置が行われ、ステップS5で、ユーザ論理回路310
〜内及びユーザ論理回路310〜間あるいはユーザ論理
回路310〜とハードマクロブロック210〜間の自動
配線が行われる。
【0009】次に、ステップS6において、レイアウト
設計に関する様々な検証が行われて問題が無いことが確
認された後、最後にマスクを作成するためのアートワー
クデータが作成される。
【0010】上記に説明した設計フローに従ってレイア
ウトしたチップの例を図12に示す。図12を参照する
と、チップ100の外周部にはボンディングパッド50
0とI/Oブロック400が配置され、チップ内部領域
600にCPU210、RAM221、ROM222、
PLL230、ユーザ論理回路310、320〜など多
数の回路が配置される。さらに、ユーザ論論理回路31
0,320〜は、通常セルの高さが一定の基本論理回路
311を用いてレイアウトされる。
【0011】上記に説明したフロアプランについては、
例えば特開平6−266801号公報に記載されてお
り、この公報によれば、熟練した設計者が長年の経験と
各回路ブロックの機能レベルの仕様から、各回路ブロッ
クに必要な形状や配置場所及び各回路ブロックの端子位
置を決定している。
【0012】また、特開平6−244280号公報記載
のフロアプランは自動で行われ、初期フロアプランで各
回路ブロックの回路規模と配置を決定し、次にフロアプ
ラン評価部で、各回路ブロックの形状を決定し、各回路
ブロックの位置と各回路ブロック間の接続情報に基づい
て各回路ブロック間の配線長を予測して、フロアプラン
の妥当性に関する評価を行う。その後、フロアプランを
繰り返し更新し、フロアプランの最適化処理を行う。
【0013】
【発明が解決しようとする課題】上述した特開平6−2
66801号公報記載のフロアプラン作成方法は、熟練
した設計者の経験に基づいてフロアプランが作成される
ので、フロアプランの品質と設計効率が設計者のスキル
に強く依存するという問題がある。また、回路規模が大
きくなるにつれて設計の見通しが立ちにくくなるので、
マニュアル設計の手法では、フロアプランの設計効率が
低下すると共に、品質も低下するという問題がある。
【0014】また特開平6−244280号公報記載の
フロアプラン作成方法においては、チップ全体に配置さ
れる回路ブロックを対象として、回路ブロックの配置、
併合と分割が行われ、チップ全体に対して処理されたフ
ロアプランに対してフロアプランの善し悪しを決める評
価が行われるので、目標とするフロアプランを達成する
まで、フロアプランの修正が何度も必要となり、設計期
間が長期化するという問題がある。
【0015】また、回路ブロック間の配線長は、ソフト
マクロブロックの端子位置によって大きく変化するの
で、適切な端子位置を決定することは極めて重要である
が、ソフトマクロブロックの配置、分割と併合、さらに
ソフトマクロブロックの端子位置の変更を同時に行うこ
とは、処理時間が膨大となり現実的ではない。
【0016】さらにバス配線のように、回路ブロック間
に大きな配線領域が必要な場合、フロアプラン後の自動
配置工程で、回路ブロック間をバス配線が通過できず、
再度フロアプランをやり直さなければならないという問
題がある。
【0017】このため本発明の目的は、熟練者のスキル
に依らず、ソフトマクロブロックを含む半導体集積回路
を効率よくフロアプランを行うことが可能な半導体集積
回路のフロアプラン作成方法を提供することにある。
【0018】また本発明の他の目的は、回路ブロック間
の配線領域が自動配線工程で配線を行う際に過不足無い
面積となるように、ソフトマクロブロックの端子位置を
初期設定から変更する半導体集積回路のフロアプラン作
成方法を提供することにある。
【0019】さらに本発明の目的は、バス配線のような
大きな配線領域を必要とする配線が回路ブロック間に配
置される場合においても、バス配線を考慮したフロアプ
ランを作成し、このためフロアプランの修正が少ない半
導体集積回路のフロアプラン作成方法を提供することに
ある。
【0020】また本発明の他の目的は、最終的なフロア
プランを得るために、チップ全体に対して1度に計算機
処理を実行するのではなく、チップ上の一部の領域を対
象としたフロアプランである部分フロアプランを作成す
ることにより、効率的にフロアプランを行うことが出来
る半導体集積回路のフロアプラン作成方法を提供するこ
とにある。
【0021】
【課題を解決するための手段】このため本発明の半導体
集積回路のフロアプラン作成方法は、半導体集積回路の
回路接続情報と前記半導体集積回路のレイアウトに関す
るレイアウト情報を基に、前記半導体集積回路を構成す
る回路ブロックを初期的に配置して構成した初期フロア
プランを作成する第1のステップと、前記初期フロアプ
ランにおいて、前記複数の回路ブロックのうち入出力回
路を除く前記回路ブロックが配置されるチップ内部領域
を、前記回路ブロックから構成される複数の部分フロア
プラン領域に分割する第2のステップと、前記部分フロ
アプラン領域内のフロアプランである部分フロアプラン
を作成する際の優先順位を決定する第3のステップと、
前記第3のステップで決定された優先順位に従って、前
記部分フロアプラン領域内で、前記回路接続情報を基に
前記回路ブロック間の仮想的な配線を行う第4のステッ
プと、前記第4のステップで生成されたレイアウトの評
価結果が所定の評価基準を満足するか否かを判定し、前
記評価結果が所定の評価基準を満足する場合、前記第4
のステップで得られたレイアウトを最終的な部分フロア
プランとする第5のステップと、前記第5のステップに
おいて、前記所定の評価基準を満足しないと判定された
場合、前記部分フロアプラン領域内の前記回路ブロック
を再配置した部分フロアプランを作成した後、前記第4
のステップへ戻る第6のステップと、前記第5のステッ
プの処理結果を受けて、前記チップ内部領域内の全ての
前記部分フロアプラン領域に対して、前記最終的な部分
フロアプランが作成されたか否かを判定し、全ての前記
部分フロアプラン領域に対して前記最終的な部分フロア
プランが作成されていない場合は、前記第4のステップ
へ戻る第7のステップと、を備え、前記最終的な部分フ
ロアプランから前記チップ内部領域全体の最終的なフロ
アプランを作成することを特徴とする。
【0022】
【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して説明する。
【0023】図1は、本発明の半導体集積回路のフロア
プラン作成方法を示すフローチャートである。回路接続
情報10は、外部端子とチップ内部領域を構成する回路
ブロックとの接続情報、図11の階層におけるハードマ
クロブロック200を構成するCPU210、メモリブ
ロック220、PLL230などのハードマクロブロッ
ク200相互間の接続情報、ユーザ論理回路310,3
20,330・・・等のソフトマクロブロック300相
互間の接続情報及びハードマクロブロック200とソフ
トマクロブロック300間相互の接続情報、バス配線に
関する接続情報などを含んで構成される。
【0024】またレイアウト情報11は、自動レイアウ
トを行う際の配置格子、配線格子、配置禁止領域及び配
線禁止領域に関する規則、配線層の数と各配線層の優先
配線方向(水平方向か垂直方法かを定める)、ハードマ
クロブロックの名称、外形、配置をする際の基準点、端
子名と属性及び端子位置、ソフトマクロブロックの名
称、端子名と属性など様々なレイアウトに関する情報を
含んでいる。
【0025】最初に、ステップS11で上述した回路接
続情報10とレイアウト情報11を基に、回路ブロック
を初期的に配置して構成した本発明の半導体集積回路の
フロアプランの出発点となる初期フロアプランを作成す
る。この初期フロアプランは、チップ内部領域に配置さ
れる回路ブロックの概略的な相対位置を決める目的で行
われ、設計者がマニュアルで回路ブロックを配置しても
良いし、自動で配置しても良い。あるいは、一部の回路
ブロックはマニュアルで配置し、一部の回路ブロックは
自動で配置するというようにマニュアル配置と自動配置
を使い分けすることも可能である。
【0026】いずれの場合も、回路ブロック間に配線さ
れる配線面積の大きいバス配線や、ソフトマクロブロッ
クの端子位置などは考慮しないで回路ブロックを配置す
るので、短い設計期間で初期フロアプランを作成するこ
とが出来る。
【0027】次にステップS12で、回路接続情報10
に含まれるバス配線を検索し、バス配線が回路接続情報
10に存在しない場合は、ステップS17で部分フロア
プランの処理を実行し、バス配線が存在する場合は、ス
テップS13で検索したバス配線の配線幅(バス配線
幅)を算出する。
【0028】このバス配線幅Wbusは、バス配線の本
数をNとし、配線ピッチをdとすると、Wbus=N・
dで計算する。従って、バス配線の本数によって、バス
配線幅Wbusすなわちバス配線の配線領域(バス配線
領域)は変化する。
【0029】次にステップS14で、回路接続情報10
と初期フロアプランを基に検索したバス配線の配線ルー
トを探索する。ここで、ステップS13の工程とステッ
プS14の工程とは、順序を入れ換えて処理しても同様
な処理結果が得られる。
【0030】続いてステップ15において、ステップS
14で探索したバス配線ルートに沿って、ステップS1
3で算出したバス配線幅を有するバス配線領域を生成
し、ステップS16でバス配線領域の生成によって必要
となった回路ブロックの配置を変更する。
【0031】このようにして、ステップS12からステ
ップS16までの処理フローを、全てのバス配線につい
て繰り返して実行する。
【0032】次に上記に説明したステップS12からス
テップS16までの処理を図2と図3を用いて説明す
る。図2は、チップ内部領域20に配置された回路ブロ
ックB1〜B10と、ステップS12で検索されたバス
配線21の接続関係と、ステップS14で探索されたバ
ス配線ルート22〜25とを表している。また、チップ
内部領域20の外側には、入出力バッファとボンディン
グパッドが配置されているが、本発明とは直接関係しな
いので、図2,3では省略している。
【0033】図2において、バス配線21は、回路ブロ
ックB1,B2,B6,B10とを接続する配線であ
り、回路ブロックB1と回路ブロックB2とは64ビッ
ト(64本)、回路ブロックB1,B2と回路ブロック
B10とは48ビット(48本)、回路ブロックB1,
B2と回路ブロックB6とは16ビット(16本)で接
続されているものとする。
【0034】ステップS13で回路ブロックB1の一辺
上の点P1と、回路ブロックB2の一辺上の点P2とを
接続するバス配線ルート22が求められ、バス配線ルー
ト22上の点t1と、回路ブロックB10と回路ブロッ
クB6とに分岐するバス配線の分岐点t2とを接続する
バス配線ルート23が求められ、分岐点t2と回路ブロ
ックB10の一辺上の点P10とを接続するバス配線ル
ート24が求められ、最後に分岐点t2と回路ブロック
B6の一辺上の点P6とを接続するバス配線ルート25
が求められる。
【0035】図3は、ステップS16で回路ブロックの
配置をバス配線領域の生成後に変更したフロアプランを
示し、バス配線ルート22〜25にそれぞれ対応するバ
ス配線領域32〜35が生成される。
【0036】バス配線領域32〜35にそれぞれ対応す
るバス配線幅d32〜d35は、d32=d33=64
d,d34=24d,d35=16dで計算される。回
路ブロックB2,B4,B5は、バス配線領域32,3
3を確保するために右に移動し、回路ブロックB6は、
バス配線領域33,35を確保するために、向きを90
度回転すると共に回路ブロックB10の左に移動してい
る。
【0037】ステップS12からステップS16のバス
配線に関するレイアウト処理を終了後、ステップS17
の部分フロアプランの処理を行うが、この処理手順の詳
細について、図4〜図9を参照して説明する。
【0038】図4は、部分フロアプランの作成手順を示
すフローチャートであり、ステップS161でチップ内
部領域を回路ブロックから構成される複数の部分フロア
プラン領域に分割する。部分フロアプランには、一般的
には複数の回路ブロックが含まれるが、CPUなどのよ
うに面積の大きな回路ブロックは、単体で一つの部分フ
ロアプラン領域を形成する場合もあり得る。
【0039】図5は、ステップS161の処理後のフロ
アプランを示し、チップ内部領域50は、4つの部分フ
ロアプラン領域A1〜A5に分割される。また、部分フ
ロアプラン領域A1〜A4は、それぞれ回路ブロックB
11〜B14,B15〜B20,B21〜B23,B2
4〜B27とをそれぞれ含んでいる。
【0040】チップ内部領域50を部分フロアプラン領
域A11〜A14に分割するには、設計者が、初期フロ
アプラン又はバス配線を考慮して初期フロアプランを更
新したフロアプランを基に分割する方法と、自動で分割
する方法とがある。また、分割する方法としては、各部
分フロアプラン領域に含まれる回路ブロックの面積の合
計値がほぼ一定となるように、すなわち、着目している
部分フロアプラン領域に隣接する回路ブロックを、先に
着目した部分フロアプラン領域にグループ化する。この
ような手順を繰り返して、部分フロアプラン領域の面積
が、所定の面積の範囲に入るように、チップ内部領域5
0を複数の部分フロア領域に分割する。
【0041】また、部分フロアプランの別の分割方法と
しては、部分フロアプラン領域に含まれる回路ブロック
の動作周波数が、部分フロアプラン領域にそれぞれ対応
して定められた所定の周波数範囲に入るように、分割す
る方法がある。
【0042】すなわち、高速で動作する回路ブロック
と、中速で動作する回路ブロック及び低速で動作する回
路ブロックとが存在する場合、高速で動作する回路ブロ
ックを一つ又は複数の部分フロアプラン領域に配置し、
同様に中速又は低速で動作する回路ブロックをそれぞれ
一つ又は複数の部分フロアプラン領域に配置する。この
ように、動作周波数が近い回路ブロックをグループ化し
た上で、部分フロアプラン領域を生成すると、例えば高
速動作をしている回路ブロック同士の配線長が長くなっ
て、配線容量により動作速度が低下するというような問
題が解消する。
【0043】次にステップS162で、部分フロアプラ
ン領域A1〜A4に対する部分フロアプランを作成する
際の優先順位を決定し、部分フロアプラン領域A1〜A
4の中から部分フロアプランを作成すべき部分フロアプ
ラン領域を選択する。図5の場合、部分フロアプラン領
域A1→A2→A3→A4の順に部分フロアプランを作
成する。また優先順位としては、A3→A1→A2→A
4の順でも良い。部分フロアプラン領域が隣接して配列
した配列順に従って、部分フロアプラン領域にそれぞれ
対応する優先順位が連続的に増加(又は減少)するよう
に決定する。
【0044】ここで、部分フロアプランとは、部分フロ
アプラン領域内で作成されたフロアプランを意味してい
る。
【0045】一般的には、チップ内部領域を定める境界
の2辺に接する部分フロアプラン領域、チップ内部領域
のコーナー部に位置する部分フロアプラン領域(図5の
場合は、部分フロアプラン領域A1〜A4のいずれもこ
の条件を満たす)の一つを最初に選択して部分フロアプ
ランを作成し、次に隣接する部分フロアプラン領域に対
して部分フロアプランを順次作成していく。
【0046】次に、ステップS163で選択した部分フ
ロアプラン領域の中にソフトマクロブロックが存在する
か否かを判定し、存在しなければステップS165にお
いて、ステップS12の処理結果である部分フロアプラ
ンを基に、この部分フロアプラン領域内で回路接続情報
を基に回路ブロック間の仮想的な配線である仮配線を行
う。この仮配線は、ステップS166における部分フロ
アプランの配線性に関する評価を行うために必要であ
り、評価の後は仮配線データを削除し、図1のステップ
S19で最終的なマスク作成に必要な配線データを作成
する。
【0047】図6(a)は、図5の部分フロアプラン領
域A1に対して、回路ブロックB11〜B14間の仮配
線を行った部分フロアプランを表し、部分フロアプラン
領域A1に含まれる回路ブロックB11〜B14は全て
ハードマクロブロックである。ここで、61〜66は、
回路ブロックB11〜B14間の仮配線である。
【0048】次に、ステップS166において、ステッ
プS165で作成された部分フロアプランの仮配線結
果、ブロック占有面積比率などの評価を行う。すなわ
ち、仮配線が配置される配線領域幅が、その配線領域に
配置される仮配線の配線本数から定まる配線領域幅に対
して過不足ないか否か、また冗長配線が無いかどうかを
評価する。不足している場合は、フロアプランの後に実
行する詳細レイアウト工程における配線工程で未配線が
発生して、フロアプランを再度やり直さなければならな
い恐れがあり、一方、仮配線が配置される配線領域幅
が、その配線領域に配置される仮配線の配線本数から定
まる配線領域幅に対して大きすぎる場合は、半導体集積
回路の集積度が低下するという問題が発生する。
【0049】また、ブロック占有面積比率αを、 α=ΣSBj(i)/Ai ・・・(1) で表す。ここで、Aiはi番目の部分フロアプラン領域
の面積であり、SBj(i)は、i番目の部分フロアプ
ラン領域に含まれる各回路ブロックの面積を表し、加算
はi番目の部分フロアプラン領域に含まれる全ての回路
ブロックに対して行う。このブロック占有面積比率α
が、評価基準値Kよりも小さい場合は評価結果は満足で
あり、ブロック占有面積比率αが評価基準値Kよりも大
きい場合は、評価結果は不満足とする。
【0050】図6(a)の場合、仮配線結果は満足する
が、ブロック占有面積比率αが評価基準値Kよりも大き
い。
【0051】次に、ステップS167は後に説明するよ
うにソフトマクロブロックに関する処理なのでこの処理
を飛ばして、ステップS168で回路ブロックB11〜
B14の再配置を行う。図6(b)に、再配置を行った
後の部分フロアプランを示す。
【0052】次にステップS165で、再度回路ブロッ
クB11〜B14の仮配線を行って、ステップS166
で部分フロアプランの評価を行う。この評価結果が満足
であれば、対象とした部分フロアプラン領域B11の部
分フロアプランを完了し最終的な部分フロアプランとす
る。そして、ステップS163に戻って次の部分フロア
プランを実行する。
【0053】このようにして、チップ内部領域を分割し
て作成された全ての部分フロアプラン領域に対して、ス
テップS163からステップS168までを、ステップ
S162で決定された優先順位に従って順に処理し、全
ての部分フロアプラン領域に対して処理が終了すると、
これらの最終的な部分フロアプランからチップ内部領域
全体の最終的なフロアプランが作成される。
【0054】次に、図1に示すステップS18の回路ブ
ロックの詳細配置及びステップS19における回路ブロ
ックの詳細配線を行うが、これらの処理については通常
行われる従来技術を用いるので、説明を省略する。
【0055】次にステップS163で、部分フロアプラ
ン領域にソフトマクロブロックが存在する場合について
説明する。
【0056】ステップS163で選択された部分フロア
プラン領域にソフトマクロブロックが存在すると判定さ
れた場合、ステップS164でこの部分フロアプラン領
域に含まれるソフトマクロブロックの端子(入力端子、
出力端子、入出力端子)を初期化する。すなわち、ソフ
トマクロブロックの端子位置を初期的に決定して、端子
を配置する。ソフトマクロブロックの端子位置を初期的
に決定する方法は幾つかあるが、2つの方法について説
明する。
【0057】第1の方法は、回路ブロックの辺上に均等
な長さで端子を配置する方法である。すなわち、回路ブ
ロックの辺の長さをa,bとし、この回路ブロックの端
子数をNとすると、l=2・(a+b)/Nの長さで4
つの辺を分割し、分割した分割点上に端子を配置する。
【0058】次に第2の方法について、図8に示すフロ
ーチャート及び図9に示す模式的レイアウト図を参照し
て説明する。
【0059】最初に図8のステップS81で、部分フロ
アプラン領域に含まれるソフトマクロブロックを検索
し、ステップS82において、ステップS81で検索し
選択されたソフトマクロブロックと最も接続強度が強
い、例えば接続される配線本数が最も多い回路ブロック
である対回路ブロックを選択する。
【0060】図9(a),(b)で、ソフトマクロブロ
ックをAとし、このソフトマクロブロックAに対する対
回路ブロックをBとする。ここでは、対回路ブロックB
をソフトマクロブロックとして説明する。図8のステッ
プS83で、2つのソフトマクロブロックA,Bの頂点
同士を結ぶ直線のうちで、最短の直線を生成する頂点、
すなわち最短頂点を求める。図9(a),(b)の場合
は、頂点a1,b1が最短頂点に対応する。
【0061】次にステップS84で、最短頂点に隣接し
同一回路ブロックに属する2つの頂点、すなわち図9の
回路ブロックAに属する頂点a2,a3と回路ブロック
Bに属する頂点b2,b3を選択し、最短頂点同士a
1,b1を結ぶ直線で分割された同一平面上にそれぞれ
存在する頂点a2と頂点b2、及び頂点a3と頂点b3
とをそれぞれ直線で結ぶ。
【0062】次に、ステップS85において、ステップ
S84で生成した2本の直線が回路ブロックの辺と交差
するか否かを判定し、交差しない場合はステップS86
の処理を実行し、交差する場合はステップS87の処理
を実行する。図9(a)の場合、頂点a2と頂点b2と
を結ぶ直線が点Cで一辺と交差するが、図9(b)の場
合は、頂点a2と頂点b2とを結ぶ直線及び頂点a3と
頂点b3とを結ぶ2本の直線は、共に回路ブロックのど
の辺とも交差しない。
【0063】次にステップ86において、最短頂点と同
一回路ブロックに属し、最短頂点とこれに隣接する各頂
点を結ぶ優先辺上に端子を重点的に配置する。図9
(b)において、回路ブロックAの頂点a1と頂点a2
とを結ぶ辺、頂点a1と頂点a3とを結ぶ辺、回路ブロ
ックBの頂点b1と頂点b2とを結ぶ辺、頂点b1と頂
点b3とを結ぶ辺がそれぞれ優先辺である。
【0064】優先辺上に配置する端子密度は、ソフトマ
クロブロックを構成する辺のうち優先辺と異なる辺上に
配置する端子密度よりも多くなるように、ソフトマクロ
ブロックの端子を配置する。すなわち、図9(b)の場
合、太線で示した優先辺上の端子密度は、細線で示した
辺の端子密度よりも多い。
【0065】ステップS86を処理する場合は、回路ブ
ロックの辺と交差する直線を構成する両端の頂点を除
き、同一回路ブロックに属し最短頂点とこれに隣接する
頂点を結ぶ優先辺上に端子を重点的に配置する。図9
(a)において、回路ブロックAの頂点a1と頂点a3
とを結ぶ辺、回路ブロックBの頂点b1と頂点b3とを
結ぶ辺が優先辺となり、この各優先辺上の端子密度を他
の辺の端子密度よりも多くして端子を配置する。
【0066】第2の端子位置を決定する方法において
は、接続強度が強い回路ブロックの辺の中で、対向する
辺に重点的に端子が配置されることになる。すなわち、
第1の端子の配置方法では、回路ブロックを構成する各
辺に均等な端子密度で端子が配置されるが、第2の端子
の配置方法では、対向するブロックの辺上に、対向しな
いブロックの辺上よりも大きな端子密度で端子が配置さ
れる。これにより、回路ブロック間を接続する配線長が
全体として短くなるという特徴がある。
【0067】次に図4のステップS165に戻って、ス
テップS12の処理結果である部分フロアプランを基
に、回路接続情報を基に回路ブロック間の仮想的な配線
である仮配線を行う。
【0068】図7(a)は、図5の部分フロアプラン領
域A2に対して、ステップS165の回路ブロック間の
仮配線処理を実行したレイアウト図であり、回路ブロッ
クB15,B17が共にソフトマクロブロック、他の回
路ブロックB16,B18〜B20はハードマクロブロ
ックであるとしている。また、説明を簡略化するため
に、回路ブロックB16,B18〜B20の配線は省略
して図示している。さらに、回路ブロックB15,B1
7の初期端子配置は、ステップS164で説明した第1
の方法を用いたとして図示している。
【0069】次に、ステップS166において、部分フ
ロアプランの仮配線結果、ブロック占有面積比率などの
評価を行う。図7(a)の仮配線結果は、ソフトマクロ
ブロックB15とハードマクロブロックB18との間の
配線領域幅が不足であり、かつ冗長配線が存在する。す
なわち、ソフトマクロブロックB15とソフトマクロブ
ロックブロック17間の配線は、初期端子の設定が適切
でないために迂回配線が発生している。このため、ステ
ップS166で部分フロアプランの評価は満足しない。
【0070】従って、ステップS167でソフトマクロ
ブロックB15,B17の端子位置を変更し、引き続き
ステップS168で、部分フロアプラン領域内の回路ブ
ロックの配置を変更し、ステップS165で回路ブロッ
ク間の仮配線を行う。
【0071】図7(b)に、このときの仮配線が終了し
たときの模式的レイアウト図を図示する。図7(b)に
示すように、ソフトマクロブロックB15,B17の端
子位置を変更することにより、大幅に配線性を改善する
ことが出来る。
【0072】以上説明したように、部分フロアプラン領
域内にソフトマクロブロックが存在する場合も、ステッ
プS163からステップS168までの処理を全ての部
分フロアプラン領域に対する部分フロアプランを作成す
るまで繰り返し実行し、チップ内部領域全体のフロアプ
ランを生成する。
【0073】なお、上記の説明において、評価基準値K
は部分フロアプラン領域に依らず一定値としたが、ハー
ドマクロブロックのみで構成される場合と、一部ソフト
マクロブロックを含む場合とで、値が異なるように設定
しても良い。
【0074】
【発明の効果】以上説明したように、本発明による半導
体集積回路のフロアプラン作成方法は、回路規模が大き
くなっても、チップ内部領域を部分フロアプラン領域に
分割して、各部分フロアプラン領域内で部分フロアプラ
ンを実行し、この部分フロアプランからチップ内部領域
全体のフロアプランを作成するので、フロアプランの見
通しが立ちやすく、チップ内部領域全体に対するフロア
プランを作成する計算量が減少し、フロアプラン設計期
間を短縮することが出来ると共に、フロアプランの設計
品質を向上することが出来る。すなわち、詳細レイアウ
トで未配線が生じたり、回路ブロック密度が小さくチッ
プ面積が大きくなりすぎるため、再度フロアプランをや
り直さなければならなくなるという問題を改善すること
が出来る。
【0075】また、回路ブロック間の配線領域が自動配
線工程で配線を行う際に過不足無く好適な面積となるよ
うに、ソフトマクロブロックの端子位置を初期設定から
変更することで、回路ブロック間の冗長配線や迂回配線
を低減することが出来る。すなわち、詳細レイアウトで
問題となる冗長配線や迂回配線による配線性の劣化の問
題を考慮して、フロアプランを生成するので、チップの
全体レイアウトを効率よく設計することが出来る。言い
換えると、詳細レイアウトの不具合によるフロアプラン
の再修正が少ないという特徴がある。
【0076】さらに、バス配線を考慮したフロアプラン
を作成可能なので、バス配線のような大きな配線領域を
必要とする配線が回路ブロック間に配置される場合にお
いても、詳細レイアウトにおいて回路ブロックを大幅に
配置変更することなく、精度の高いフロアプランを作成
することが出来る。
【図面の簡単な説明】
【図1】本発明の半導体集積回路のフロアプラン作成方
法の実施の形態を示すフローチャートである。
【図2】バス配線が存在する場合において、本発明の半
導体集積回路のフロアプラン作成方法を説明するための
チップ内部領域の概略的説明図である。
【図3】図2を基に、図1のステップS15,S16の
各処理を説明するためのチップ内部領域の概略的説明図
である。
【図4】本発明の半導体集積回路のフロアプラン作成方
法における部分フロアプランの作成手順を示すフローチ
ャートである。
【図5】本発明の部分フロアプランを説明するためのチ
ップ内部領域の概略的説明図である。
【図6】本発明の部分フロアプランを説明するための部
分フロアプラン領域(ハードマクロブロックのみで構成
されている場合)の概略的説明図である。
【図7】本発明の部分フロアプランを説明するための部
分フロアプラン領域(ソフトマクロブロックが混在して
いる場合)の概略的説明図である。
【図8】本発明によるソフトマクロブロックの端子位置
を決定するための一実施例を示すフローチャートであ
る。
【図9】図8のフローチャートを具体的に説明するため
の説明図である。
【図10】従来の半導体集積回路の設計方法を示すフロ
ーチャートである。
【図11】半導体集積回路の階層構造を表す説明図であ
る。
【図12】図11に示した階層構造を有する半導体集積
回路をレイアウトしたチップの概略図である。
【符号の説明】
10 回路接続情報 11 レイアウト情報 20,50 チップ内部領域 21 バス配線 22〜25 バス配線ルート 32〜35 バス配線領域 61〜66 回路ブロック間仮配線 100 チップ 200 ハードマクロブロック 210 CPU 220 メモリブロック 221 RAM 222 ROM 230 PLL 240 乗算器 300 ソフトマクロブロック 310,320,330,340 ユーザ論理回路 311 基本論理回路 400 I/Oブロック 500 ボンディングパッド A,B 回路ブロック A1〜A4,A1’,A2’ 部分フロアプラン領域 B1〜B27 回路ブロック

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 半導体集積回路の回路接続情報と前記半
    導体集積回路のレイアウトに関するレイアウト情報を基
    に、前記半導体集積回路を構成する回路ブロックを初期
    的に配置して構成した初期フロアプランを作成する第1
    のステップと、 前記初期フロアプランにおいて、前記複数の回路ブロッ
    クのうち入出力回路を除く前記回路ブロックが配置され
    るチップ内部領域を、前記回路ブロックから構成される
    複数の部分フロアプラン領域に分割する第2のステップ
    と、 前記部分フロアプラン領域内のフロアプランである部分
    フロアプランを作成する際の優先順位を決定する第3の
    ステップと、 前記第3のステップで決定された優先順位に従って、前
    記部分フロアプラン領域内で、前記回路接続情報を基に
    前記回路ブロック間の仮想的な配線を行う第4のステッ
    プと、 前記第4のステップで生成されたレイアウトの評価結果
    が所定の評価基準を満足するか否かを判定し、前記評価
    結果が所定の評価基準を満足する場合、前記第4のステ
    ップで得られたレイアウトを最終的な部分フロアプラン
    とする第5のステップと、 前記第5のステップにおいて、前記所定の評価基準を満
    足しないと判定された場合、前記部分フロアプラン領域
    内の前記回路ブロックを再配置した部分フロアプランを
    作成した後、前記第4のステップへ戻る第6のステップ
    と、 前記第5のステップの処理結果を受けて、前記チップ内
    部領域内の全ての前記部分フロアプラン領域に対して、
    前記最終的な部分フロアプランが作成されたか否かを判
    定し、全ての前記部分フロアプラン領域に対して前記最
    終的な部分フロアプランが作成されていない場合は、前
    記第4のステップへ戻る第7のステップと、を備え、前
    記最終的な部分フロアプランから前記チップ内部領域全
    体の最終的なフロアプランを作成する半導体集積回路の
    フロアプラン作成方法。
  2. 【請求項2】 前記第3のステップにおいて、前記チッ
    プ内部領域のコーナー部に位置する前記部分フロアプラ
    ン領域の前記優先順位を最優先とすることを特徴とする
    請求項1記載の半導体集積回路のフロアプラン作成方
    法。
  3. 【請求項3】 前記第3のステップにおいて、前記部分
    フロアプラン領域が隣接して配列した配列順に従って、
    前記部分フロアプラン領域にそれぞれ対応する前記優先
    順位が連続的に増加(又は減少)することを特徴とする
    請求項1記載の半導体集積回路のフロアプラン作成方
    法。
  4. 【請求項4】 前記第2のステップにおいて、前記部分
    フロアプラン領域の面積が、所定の面積の範囲に入るよ
    うに、前記チップ内部領域が前記部分フロアプラン領域
    に分割されることを特徴とする請求項1記載の半導体集
    積回路のフロアプラン作成方法。
  5. 【請求項5】 前記第2のステップにおいて、前記部分
    フロアプラン領域に含まれる前記回路ブロックの動作周
    波数が、前記部分フロアプラン領域にそれぞれ対応して
    定められた所定の周波数範囲に入るように、前記チップ
    内部領域が前記部分フロアプラン領域に分割されること
    を特徴とする請求項1記載の半導体集積回路のフロアプ
    ラン作成方法。
  6. 【請求項6】 前記第5のステップにおいて、前記部分
    フロアプラン領域に含まれる前記回路ブロック面積の総
    和を前記部分フロアプラン領域の面積で除した値である
    ブロック占有面積比率を前記評価基準とし、このブロッ
    ク占有面積比率が所定値よりも小さい場合、前記評価基
    準を満足すると判定することを特徴とする請求項1記載
    の半導体集積回路のフロアプラン作成方法。
  7. 【請求項7】 レイアウト的に固定されたハードマクロ
    ブロックとレイアウト的に変形可能なソフトマクロブロ
    ックを含む回路ブロックから構成された半導体集積回路
    の回路接続情報と前記半導体集積回路のレイアウトに関
    するレイアウト情報を基に、前記回路ブロックを初期的
    に配置して構成した初期フロアプランを作成する第1の
    ステップと、 前記初期フロアプランにおいて、前記複数の回路ブロッ
    クのうち入出力回路を除く前記回路ブロックが配置され
    るチップ内部領域を、前記回路ブロックから構成される
    複数の部分フロアプラン領域に分割する第2のステップ
    と、 前記部分フロアプラン領域内のフロアプランである部分
    フロアプランを作成する際の優先順位を決定する第3の
    ステップと、 前記部分フロアプラン領域に前記ソフトマクロブロック
    が存在するか否かを判定する第4のステップと、 前記第4のステップにおいて、前記ソフトマクロブロッ
    クが存在すると判定された場合、前記ソフトマクロブロ
    ックの端子を所定の規則に基づき、前記ソフトマクロの
    辺上に初期的に配置する第5のステップと、 前記第5のステップの処理に続いて前記第3のステップ
    で決定された優先順位に従い、前記部分フロアプラン領
    域内で、前記回路接続情報を基に前記回路ブロック間の
    仮想的な配線を行う第6のステップと、 前記第6のステップで生成されたレイアウトの評価結果
    が所定の評価基準を満足するか否かを判定し、前記評価
    結果が所定の評価基準を満足する場合、前記第6のステ
    ップで得られたレイアウトを最終的な部分フロアプラン
    とする第7のステップと、 前記第7のステップにおいて、前記所定の評価基準を満
    足しないと判定された場合、前記部分フロアプラン領域
    内の前記ソフトマクロブロックの端子位置を変更した部
    分フロアプランを作成した後、前記第6のステップへ戻
    る第8のステップと、 前記第7のステップの処理結果を受けて、前記チップ内
    部領域内の全ての前記部分フロアプラン領域に対して、
    前記最終的な部分フロアプランが作成されたか否かを判
    定し、全ての前記部分フロアプラン領域に対して前記最
    終的な部分フロアプランが作成されていない場合は、前
    記第4のステップへ戻る第9のステップと、を備え、前
    記最終的な部分フロアプランから前記チップ内部領域全
    体の最終的なフロアプランを作成する半導体集積回路の
    フロアプラン作成方法。
  8. 【請求項8】 前記第5のステップにおいて、前記ソフ
    トマクロブロックの辺上に、均等な間隔で前記ソフトマ
    クロブロックの端子が配置されることを特徴とする請求
    項7記載の半導体集積回路のフロアプラン作成方法。
  9. 【請求項9】 前記第5のステップは、前記部分フロア
    プラン領域に含まれる前記ソフトマクロブロックと、こ
    のソフトマクロブロックに対し最も多い配線本数で接続
    されている前記回路ブロックである対回路ブロックを選
    択する第10のステップと、 前記ソフトマクロブロックの各頂点と、前記対回路ブロ
    ックの各頂点とを結ぶ直線のうち最短となる最短直線の
    両端を構成する2つの最短頂点を算出する第11のステ
    ップと、 前記最短直線により分割された一平面上にあり、前記ソ
    フトマクロブロック及び前記対回路ブロックの各最短頂
    点の隣の頂点同士を結ぶ第1の直線と、前記最短直線に
    より分割された他の平面上にあり、前記ソフトマクロブ
    ロック及び前記対回路ブロックの各最短頂点の隣の頂点
    同士を結ぶ第2の直線とを生成する第12のステップ
    と、 前記第1又は第2の直線が、前記ソフトマクロブロック
    の各辺又は前記対回路ブロックの各辺と交差するか否か
    を判定する第13のステップと、 前記第13のステップにおいて、前記第1又は第2の直
    線が、前記ソフトマクロブロックの各辺又は前記対回路
    ブロックの各辺と交差する場合は、交差する直線の両端
    を構成する各頂点を除き、かつ前記ソフトマクロブロッ
    クの前記最短頂点と、前記ソフトマクロブロックの前記
    最短頂点の隣の頂点とを結んで生成した優先辺上に配置
    する端子密度は、前記ソフトマクロブロックを構成する
    辺のうち前記優先辺と異なる辺上に配置する端子密度よ
    りも多くなるように、ソフトマクロブロックの端子を配
    置する第14のステップと、 前記第13のステップにおいて、前記第1又は第2の直
    線が、前記ソフトマクロブロックの各辺又は前記対回路
    ブロックの各辺と交差しない場合は、前記ソフトマクロ
    ブロックの前記最短頂点と、前記ソフトマクロブロック
    の前記最短頂点の隣の頂点とを結んで生成した優先辺上
    に配置する端子密度は、前記ソフトマクロブロックを構
    成する辺のうち前記優先辺と異なる辺上に配置する端子
    密度よりも多くなるように、ソフトマクロブロックの端
    子を配置する第15のステップと、を含むことを特徴と
    する請求項7記載の半導体集積回路のフロアプラン作成
    方法。
  10. 【請求項10】 半導体集積回路の回路接続情報と前記
    半導体集積回路のレイアウトに関するレイアウト情報を
    基に、前記半導体集積回路を構成する回路ブロックを初
    期的に配置して構成した初期フロアプランを作成する第
    1のステップと、 前記回路接続情報からバス配線を検索する第2のステッ
    プと、 前記第2のステップで、前記バス配線が検索された場
    合、前記バス配線の幅であるバス配線幅を算出する第3
    のステップと、 前記初期フロアプランを基に、前記バス配線が通過する
    バス配線ルートを探索する第4のステップと、 前記第4のステップで探索された前記バス配線ルートと
    前記バス配線幅とから、前記バス配線が配置される配線
    領域であるバス配線領域を生成する第5のステップと、 前記第5のステップで生成された前記バス配線領域によ
    り必要となった前記回路ブロックの再配置を行う第6の
    ステップと、を備え、前記初期フロアプランに修正を行
    うことにより、前記半導体集積回路に対する最終的なフ
    ロアプランを作成する半導体集積回路のフロアプラン作
    成方法。
  11. 【請求項11】 前記バス配線幅は、バス配線の本数と
    配線ピッチの積から算出されることを特徴とする請求項
    10記載の半導体集積回路のフロアプラン作成方法。
JP33290999A 1999-11-24 1999-11-24 半導体集積回路のフロアプラン作成方法 Withdrawn JP2001147954A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33290999A JP2001147954A (ja) 1999-11-24 1999-11-24 半導体集積回路のフロアプラン作成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33290999A JP2001147954A (ja) 1999-11-24 1999-11-24 半導体集積回路のフロアプラン作成方法

Publications (1)

Publication Number Publication Date
JP2001147954A true JP2001147954A (ja) 2001-05-29

Family

ID=18260168

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33290999A Withdrawn JP2001147954A (ja) 1999-11-24 1999-11-24 半導体集積回路のフロアプラン作成方法

Country Status (1)

Country Link
JP (1) JP2001147954A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004501439A (ja) * 2000-05-17 2004-01-15 シリコン パースペクティブ コーポレイション 集積回路をパーティション化して、配置及び配線をするシステム
JP2008217365A (ja) * 2007-03-02 2008-09-18 Nec Corp 集積回路のレイアウト設計支援装置、方法、プログラム、及びデータ構造

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004501439A (ja) * 2000-05-17 2004-01-15 シリコン パースペクティブ コーポレイション 集積回路をパーティション化して、配置及び配線をするシステム
JP4679029B2 (ja) * 2000-05-17 2011-04-27 ケイデンス デザイン システムズ インコーポレイテッド 集積回路をパーティション化して、配置及び配線をするシステム
JP2008217365A (ja) * 2007-03-02 2008-09-18 Nec Corp 集積回路のレイアウト設計支援装置、方法、プログラム、及びデータ構造

Similar Documents

Publication Publication Date Title
US6966045B2 (en) Method and computer program product for estimating wire loads
US5801959A (en) Integrated circuit layout
US6915500B1 (en) Method and arrangement for layout and manufacture of nonmanhattan semiconductor integrated circuit using simulated Euclidean wiring
US6430734B1 (en) Method for determining bus line routing for components of an integrated circuit
US7089523B2 (en) Method and apparatus for using connection graphs with potential diagonal edges to model interconnect topologies during placement
US6829757B1 (en) Method and apparatus for generating multi-layer routes
JPH10313058A (ja) 半導体集積回路設計装置、半導体集積回路設計方法、半導体集積回路設計プログラムを記録したコンピュータ読み取り可能な記録媒体、及び、半導体集積回路製造方法
US6859916B1 (en) Polygonal vias
US7310793B1 (en) Interconnect lines with non-rectilinear terminations
US7080329B1 (en) Method and apparatus for identifying optimized via locations
JP2001147954A (ja) 半導体集積回路のフロアプラン作成方法
US7069530B1 (en) Method and apparatus for routing groups of paths
US6895569B1 (en) IC layout with non-quadrilateral Steiner points
US7328422B2 (en) Design support apparatus, design support program and design support method for supporting design of semiconductor integrated circuit
JP2004104039A (ja) 集積回路の自動配置配線設計方法、その自動配置配線設計装置、その自動配置配線設計システム、制御プログラムおよび可読記録媒体
US6434734B1 (en) Method for modifying placement of components of an integrated circuit by analyzing resources of adjacent components
US6687892B1 (en) Method for determining control line routing for components of an integrated circuit
US6606737B1 (en) Method for forming a structural similarity group from a netlist of an integrated circuit
US6584605B1 (en) Method for forming a relative placement of components of an integrated circuit using a structural similarity group
US7370304B2 (en) System and method for designing and manufacturing LSI
JP3705737B2 (ja) 半導体集積回路のレイアウト方法
JP2921454B2 (ja) 集積回路の配線方法
US6882055B1 (en) Non-rectilinear polygonal vias
JP2003208454A (ja) 半導体集積回路におけるレイアウト設計の自動配置配線方法及び装置並びに自動配置配線プログラム
JPH09232436A (ja) 論理合成方法及び装置並びに半導体集積回路設計方法

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070206