JP2006190062A - 半導体集積回路のフロアプラン方法および計算機システム - Google Patents
半導体集積回路のフロアプラン方法および計算機システム Download PDFInfo
- Publication number
- JP2006190062A JP2006190062A JP2005001169A JP2005001169A JP2006190062A JP 2006190062 A JP2006190062 A JP 2006190062A JP 2005001169 A JP2005001169 A JP 2005001169A JP 2005001169 A JP2005001169 A JP 2005001169A JP 2006190062 A JP2006190062 A JP 2006190062A
- Authority
- JP
- Japan
- Prior art keywords
- block
- inter
- net
- wiring length
- logical
- 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
Links
Images
Landscapes
- Semiconductor Integrated Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
【課題】 近年の大規模、高性能LSI設計において、ディレイおよびレイアウトを考慮したフロアプランを短期間で設計する。
【解決手段】 ブロック間ネットのディレイ予算値を算出して、その予算値とブロック間ネットルールのディレイ特性から、各ブロック間ネットのディレイ予算値を守れる最大配線長を求め、各ブロック間ネットルールのディレイ特性と最大配線長を反映した評価関数を設定し、この評価関数を用いて自動でフロアプランを行う。
【選択図】 図1
【解決手段】 ブロック間ネットのディレイ予算値を算出して、その予算値とブロック間ネットルールのディレイ特性から、各ブロック間ネットのディレイ予算値を守れる最大配線長を求め、各ブロック間ネットルールのディレイ特性と最大配線長を反映した評価関数を設定し、この評価関数を用いて自動でフロアプランを行う。
【選択図】 図1
Description
本発明は、半導体集積回路のレイアウト方法に係り、特に多数の論理ブロックを有する半導体集積回路のフロアプラン方法に関する。
近年の大規模、高性能LSI設計において論理ブロック(以下、ブロックとする)の配置位置を決めるフロアプランは重要である。その理由として特開2003−242190号公報(特許文献1)で述べられているように設計の上流工程よりディレイ設計を行うことにより、ディレイの早期収束、設計期間の短縮を実現できる。さらには、ブロック間ネットの配線性等のレイアウトを考慮してフロアプランを行うことにより実装設計の早期収束も実現できる。
フロアプランは、机上またはグラフィック・ユーザ・インターフェース(以下、GUIとする)を用いて人手で設計されてきた。例えば、特開2002−7498号公報(特許文献2)に記載された技術が知られる。しかし、LSIの大規模化に伴いブロック数が増大して、短期間で人手による最適なフロアプラン設計は難しくなってきた。そこで、自動化したフロアプラン技術が開発され用いられるようになった。例えば、特開平6−244280号公報(特許文献3)に記載された技術が知られる。
また、論理、フロアプラン等の設計情報を上流工程で評価して、その結果を設計にフィードバックすることにより、早期に問題点を洗い出し後戻りの少ない設計を実現する手法がある。例えば、特開2003−281215号公報(特許文献4)に記載された技術が知られる。
特許文献3に記載された技術は、ブロック間ネットの総配線長を短くすることによりブロック間ディレイを改善しようとしている。この技術は初期のフロアプラン作成には適している。しかし、ディレイに余裕のあるパスの配線長を多少犠牲にしてでも、ディレイの厳しいパスを積極的に改善するといった取り組みはないため、目標ディレイを満足していない(以下、ディレイ不良)パスが残り、人手によるフロアプラン修正、または後工程(例えば、配置配線)でのディレイ対策が必要となり、設計期間の遅延につながる。
また、ネットのディレイ値はネットに挿入するリピータ種と使用する配線種(配線層、配線幅)の組み合わせにより、同じ配線長でも値が異なる。上層、幅広の配線を選択するとディレイ値は良くなる傾向にあるが、これを多用すると配線性を損なう。このようにフロアプランを考える際はブロックの配置とブロック間ネットに適用する物理的な配線種(ブロック間ネットルール)を同時に考える必要がある。
本発明は、上記従来技術の問題点を解決して、ディレイおよびレイアウトを考慮したフロアプランを短期間で設計するフロアプラン技術を提供することにある。
本発明は、半導体集積回路の設計の際に、ブロック間ネットのディレイ予算値を算出し、その予算値とブロック間ネットルールのディレイ特性から、各ブロック間ネットのディレイ予算値を守れる最大配線長を求め、各ブロック間ネットルールのディレイ特性と最大配線長を反映した評価関数を設定し、この評価関数を用いて自動でフロアプランを行うことにより達成される。
本発明によれば、ディレイおよびレイアウトを考慮したフロアプランを短期間で設計することが可能となる。
以下、本発明の実施形態について図面を用いて詳細に説明する。
図1は、実施形態の計算機の構成を示す図である。計算機は、計算機本体10を有し、この計算機本体10には、記憶装置、入力装置22および表示装置23が接続される。計算機本体10は、CPUとメモリを有する。メモリは、データ入力処理部11、ブロック間パス抽出部12、ブロック間ネットディレイ予算値算出部13、ブロック間ネット評価関数設定部14、論理ブロック配置部15、GUI表示部16およびデータ出力処理部17の各プログラムを格納する。これらのプログラムは、CPUによって実行される。記憶装置は、論理ファイル18、ライブラリ19、フロアプラン情報20およびレイアウト指示情報21を格納する。
半導体チップは、複数のブロックから構成される。各ブロックにはブロック名称が付与されている。ここでブロックは、あるまとまった機能を実現するための論理回路又は記憶回路の集まりである。各ブロックは、複数のセルから構成されており、セルはアンド回路、オア回路、加算器、フリップフロップなど論理回路又は記憶回路の基本単位である。本発明のフロアプランは、半導体チップ上に各ブロックを配置することをいう。
論理ファイル18は、各ブロックに属する各セルについて、セルの名称、セルの種別、そのセルが有する各ピンの名称、各ピンに接続されるネットの名称を格納する。ここでネットは、複数のセルのピンを接続する情報である。
ライブラリ19は、各セル種別ごとのセルサイズ、端子位置、ディレイ値情報等を格納する。またライブラリ19は、マシンサイクルの設計値を格納する。
フロアプラン情報20は、チップ上での各ブロックの配置位置、領域の情報を格納する。レイアウト指示情報21は、後述するように、各ブロック間ネットに適用されるルールを指示する情報を格納する。
図2は、計算機が実行する実施例1のフロアプラン作成の処理手順を示すフローチャートである。データ入力処理部11は、論理ファイル18およびライブラリ19から情報を入力する(ステップ101)。またフロアプラン情報20からすでに配置の定まっているブロックについての位置情報を入力する。
次にブロック間パス抽出部12は、読み込んだ論理ファイル18から、フロアプランの対象となるブロック間パスを抽出する(ステップ102)。
始点と終点のセルが決まっている論理の一連の流れをパスと呼ぶ。図3にパスの例を示す。図3に示すように、始終点のフリップフロップ201,205と、論理202,204が属するブロックが2つ以上ある場合、このようなパスをブロック間パスとする。ここで、異なったブロック間をつなぐネットをブロック間ネット203と呼ぶ。処理ステップ102で、ブロック間パス抽出部12は、ブロック間ネットに着目し、入力した論理ファイル18の論理情報をトレースしてブロック間パスを抽出する。
次にブロック間ネットディレイ予算値算出部13は、ステップ102で抽出したブロック間パスを構成する各ブロック間ネットについて、目標マシンサイクルとブロック内のディレイより、ブロック間ディレイの予算値を算出する(ステップ103)。
図4(a)は、論理202,204をセル301のレベルで記述した詳細なブロック間パスの一例である。ブロック間パスのディレイDはブロック内ディレイとブロック間ディレイから構成される。図4(a)に示すブロック間パスの場合、ディレイDは、ブロックA,B内それぞれのブロック内ディレイDa,Db、ブロックAとBの間のブロック間ディレイDabから構成される。つまりディレイDは式1で与えられる。
ブロック間パスディレイ(D)=ブロック内ディレイ+ブロック間ディレイ
=(Da+Db)+Dab (式1)
式1のブロック間パスディレイ(D)が目標マシンサイクル(MC)を満足するようなフロアプランを作成するために、ブロック間ディレイの予算値(Dab)を式2にて求める。
=(Da+Db)+Dab (式1)
式1のブロック間パスディレイ(D)が目標マシンサイクル(MC)を満足するようなフロアプランを作成するために、ブロック間ディレイの予算値(Dab)を式2にて求める。
ブロック間ディレイ予算値 =目標マシンサイクル−ブロック内ディレイ
=MC−(Da+Db) (式2)
式2において、ブロック内ディレイDa,Dbの計算はいくつかの方法がある。例えば、論理202,204を構成する各セルのセル種が決定されていれば、ライブラリ19に設定されているディレイ情報を用いて正確にブロック内ディレイ値を計算することができる。また論理段数とセル単位のディレイ値を用いてブロック内ディレイ値を算出する方法もある。例えば、論理段数がN、セル単位ディレイ値(論理1段あたりのディレイ予算値)がMの場合、そのブロック内ディレイ値はN×Mによって容易に得られる。
=MC−(Da+Db) (式2)
式2において、ブロック内ディレイDa,Dbの計算はいくつかの方法がある。例えば、論理202,204を構成する各セルのセル種が決定されていれば、ライブラリ19に設定されているディレイ情報を用いて正確にブロック内ディレイ値を計算することができる。また論理段数とセル単位のディレイ値を用いてブロック内ディレイ値を算出する方法もある。例えば、論理段数がN、セル単位ディレイ値(論理1段あたりのディレイ予算値)がMの場合、そのブロック内ディレイ値はN×Mによって容易に得られる。
ここで図4(b)に示すように、ブロック間パス内に異なったブロック間をつなぐ複数のブロック間ネットが存在する場合は、ブロック間ディレイ予算値をブロック間ネットの数で等分割する(図4(b)の場合、2等分割する)か、或はそれぞれのブロック間のネット数N,Mに応じて配分する(図4(b)の場合、N対Mに分配する)などして割り振る。また、あるネットに対してすでにディレイ予算値が設定されている場合は、複数のディレイ予算値の中でよりディレイが厳しい値を当該ネットのディレイ予算値として設定する。
次にブロック間ネット評価関数設定部14は、ステップ103で求めたブロック間ディレイ予算値とブロック間ネットルールを用いて、各ブロック間ネットの評価関数を設定する(ステップ104)。
初めに、図5を用いてブロック間ネットルールについて説明する。ブロック間ネットに対して使用するリピータの種類、配線層、配線幅の組み合わせにより、ディレイの特性が異なる。図5(a)は、3つの異なったブロック間ネットルールについて、配線長とディレイ値の関係を示すディレイ特性のグラフである。図で横軸が配線長、縦軸がディレイ値を示している。例えば、図5(b)に示すように、ルール1が適用されるブロック間ネット408は、上層、通常幅の配線を用いてリピータ挿入のない場合である。ルール2が適用されるブロック間ネット409は、上層、3倍幅の配線を用いて一定の間隔で通常リピータを挿入した場合である。ルール3が適用されるブロック間ネット410は、上層、3倍幅の配線を用いて一定の間隔で高倍力リピータを挿入した場合である。ルール3は、ルール1と比べて配線長が長い場合にディレイは小さいが、3倍幅の配線および高倍力リピータを使用するためレイアウトへのインパクトが大きい。従ってチップ全体のバランスおよびディレイを考慮してブロック間ネットルールを使い分ける必要がある。
次にステップ103で求めたブロック間ディレイ予算値とブロック間ネットルールを用いて、各ブロック間ネットに評価関数を設定する手法を説明する。
図4(a)のブロック間パスにおいて、ステップ103により求めたブロック間ネットのディレイ予算値をDabとする。図5において、このディレイ予算値Dabを達成するにはそれぞれのブロック間ネットルールを用いた場合、ブロック間ネットの配線長をルール1ではL1、ルール2ではL2、ルール3ではL3以下にする必要がある。配線長に応じて使用するブロック間ネットルールを使い分けるようにブロック間ネットの評価関数を設定する。
図6は、ブロック間ネットの評価関数の一例を説明する図である。ブロック間ネットの配線長(L)がL1以下の場合はルール1のブロック間ネットルールを用い、配線長がL1より大きくL2以下の場合はルール2、L2より大きい場合はルール3のブロック間ネットルールをそれぞれ用いることとする。配線長を評価する関数はそれぞれのブロック間ネットルールのディレイ特性を反映したものとする。つまり、配線長LがL1以下の場合はルール1のディレイ特性グラフを評価関数に用いる(式3)。また、ブロック間ネットの配線長(L)がL1より大きくL2以下の場合はルール2の特性グラフを評価関数に用いる。ここで、L=L1の場合、ルール1およびルール2のどちらのルールを使用してもディレイ予算を満足する。しかし、ルール2は幅広の配線およびリピータを使用するためレイアウトへのインパクトがある。そこで、ディレイ予算を満足してかつレイアウトへのインパクトが小さいルール1を採用するように、図6のB点とC点のディレイ差に応じたペナルティを持たせてディレイが小さすぎるルール2の使用を抑えることとし、L1 < L ≦ L2間の評価関数F(L)を式4とした。同様に、L2 < L ≦ L3の評価関数F(L)を式5とした。最速のルール3を用いた場合のブロック間ネットの配線長L3はディレイ予算値Dabを達成するために最低限達成すべき当該ブロック間ネットの配線長制限値である。そこで、ブロック間ネット長がL3を超えることがないような評価関数を設定する必要がある。この例では式6のように設定した。
F(L)=a1×L+b1(L≦L1) (式3)
F(L)=a2×L+b2(L1<L≦L2) (式4)
F(L)=a3×L+b3(L2<L≦L3) (式5)
F(L)=∞ (L>L3) (式6)
このように、各ブロック間ネットに対してブロック間ネットのディレイ予算値と配線長に応じた評価関数を設定する(図7)。この評価関数は、配線長(L)に関する1価関数となる。ここで、式3から式5までの定数a1、a2、a3は、各々ルール1、ルール2、ルール3のディレイ特性が示す直線の傾きを示す。
F(L)=a2×L+b2(L1<L≦L2) (式4)
F(L)=a3×L+b3(L2<L≦L3) (式5)
F(L)=∞ (L>L3) (式6)
このように、各ブロック間ネットに対してブロック間ネットのディレイ予算値と配線長に応じた評価関数を設定する(図7)。この評価関数は、配線長(L)に関する1価関数となる。ここで、式3から式5までの定数a1、a2、a3は、各々ルール1、ルール2、ルール3のディレイ特性が示す直線の傾きを示す。
ブロック間ネットには、そのブロック間ディレイ予算値に応じた配線長制限値(L3)が設定される。本実施例の評価関数は、ブロック間配線長(L)に応じてルールが一義に決まり、評価値F(L)が算出される。
図7において、横軸方向のブロック間配線長(L)がL3以下、または、縦軸方向の評価ディレイ値がF(L3)以下であればブロック間ディレイ予算値を満足することが保証される。さらに、ブロック間配線長がL3より小さくなるにつれて、レイアウトへのインパクトが小さくなるので評価関数F(L)も小さくなる。つまり、この評価関数の評価値F(L)を小さくすることがディレイおよびレイアウトを考慮したよいブロック配置ということになる。
ステップ103で求めたブロック間ディレイ値は、ブロック間ネットごとに異なるため、ステップ104で設定される評価関数は、ブロック間ネットごとに設定される。
次にブロック間ネット評価関数設定部14は、ステップ102、103、104の処理を全てのブロック間ネットについて実行したか否かを判断する(ステップ105)。まだ実行していないブロック間ネットがあれば、処理はステップ102に戻り、全ブロック間パスについて実行済みであればステップ106に進む。
次に論理ブロック配置部15は、ステップ104で設定した各ブロック間ネットの評価関数を用いて、ブロックの配置(フロアプラン)を自動で行う(ステップ106)。
論理ブロック配置部15は、できるだけ各ブロック間ネットの評価関数F(L)を小さくするように、ブロックの移動を試行して各ブロックを配置する。言い換えれば、論理ブロック配置部15は、目標ディレイ値を満足しないブロック間ネットの数が最小となるように、かつレイアウトへのインパクトが小さくなるように各ブロックの配置を最適化する。例えば、ある2つのブロックを選択し、それらの配置位置を入れ替えて各ブロック間ネットの配線長の合計が短くなる配置を選択するペア交換法を用いることができる。本発明の場合には、配線長の合計によってブロックの配置を評価する代わりに、評価関数F(L)を用いて評価する。すなわち論理ブロック配置部15は、2つのブロックの配置を入れ替える前と後で、これらブロックの配置に関係するすべてのブロック間ネットの評価値F(L)の合計(ΣF(L))を計算し、この合計値の小さい方の配置を採用する。各ブロック間ネットの評価値F(L)は、図7に示すように、配線長Lによって決定される。
このようにしてブロックの配置を決定する。全てのブロックの配置が決まれば、各ブロック間ネットの配線長も決まるので、自動的に当該ブロック間ネットに適用する最適なブロック間ネットルールも決定される。
GUI表示部16は、ステップ106で決定したブロックの配置情報に基づいてブロックのレイアウト図を作成し、表示装置23上に表示する。
次にデータ出力処理部17は、フロアプラン情報20にブロックの配置情報を出力し、レイアウト指示情報21に各ブロック間ネットに適用するブロック間ネットルールを出力する(ステップ107)。
このレイアウト指示情報を下位工程の自動配置配線に渡して、この情報をもとにレイアウトすることにより、後工程でのレイアウト設計の繰り返し処理をなくすことができる。
以上のように、各ブロック間ネットにディレイ予算値に応じた評価関数を設定し、これを用いてフロアプランを行うことにより、短期間でのディレイおよびレイアウトを考慮したフロアプランを実現することが可能となる。
図8を用いてフロアプランの修正を行う実施例2について説明する。図8(a)は、ブロックの配置図の例である。ここでは、ブロック701を円で、ブロック間ネット702を線で表現している。各円の大きさはブロック内の論理規模の大きさを表している。GUI表示部16は、ブロック間ネットを実施例1で算出されたブロック間ネットルールの種類に応じて色分けして表示する。ブロック間ネットの表示方法は、全てのネットを同時に表示する方法、あるブロック間ネットルールを適用するネットのみを表示する方法、任意のブロックにつながるブロック間ネットのみを表示する方法が選択できる。この機能を用いることにより、ユーザは、どの箇所にどのブロック間ネットルールが使用されているかを容易に知ることができ、リピータの集中や配線の混雑が判断できる。
また、実施例1で求めたブロック間ネットの配線長制限値を越えたブロック間ネットのみを表示することにより、ユーザは、どのブロック間ネットが配線長制限値に違反しているのかを瞬時に見つけることができる。
図8(b)は、2つのブロック(703、704)、これらをつなぐブロック間ネット705、およびブロック間ネット705の配線長制限値がとり得る範囲をひし形706で示した例である。なおひし形の代わりに円又は矩形によってその範囲を表示してもよい。ただし配線方向は水平方向と垂直方向の2方向のみを考慮している。同図の例において、ブロック間ネット705は配線長制限値706を超えている。この場合、ひし形の配線長制限値706をガイドラインにしてブロック間ネット705がひし形の配線長制限値706内に収まるようにブロック703、またはブロック704を移動することにより、容易にディレイを満足するフロアプランの修正が可能となる。
図8(c)は複数のブロックと結線関係を持つブロックの配線長制限違反を対策する例を説明する図である。ブロックAは、ブロックB、ブロックC、ブロックDとつながっている。ブロックAと他のブロック間ネットの配線長制限値を、各々711、712、713で示す。この場合、ブロックAD間のみが配線長制限値713を満足している。全ての配線長制限値を満足するフロアプランを実現するためには、3つの配線長制限値であるひし形の交差領域714内にブロックAを配置すればよい。このように、ブロック間ネットの配線長制限値をひし形で表示し、かつすべての配線長制限値を満足する領域を表示することにより、フロアプランの修正を容易に行うことができる。
図9を用いて配線長制限値違反を対策するフロアプラン修正方法の例を説明する。図9(a)に示すブロックの配置例では、ブロックAC間のブロック間ネット805が配線長制限値807を超えている。そこで、ブロックAを移動することにより、配線長制限を満足する場合を考える。図9(b)に示すようにブロックAをブロックCの方向に移動させると、ブロックAB間のブロック間ネット804が伸びる。ユーザが入力装置22を介してブロックAをクリックして、ブロックCの方向にドラッグすると、GUI表示部16は、ブロックAを移動させながら表示させる。そこで、GUI表示部16は、ブロックAの移動の途中でブロック間ネット804の配線長が当該ネットの配線長制限値806を超えた場合は当該ネットを瞬時にハイライト表示する。または、図9(c)に示すように、ブロックAB間のブロック間ネット804が当該ネットの配線長制限値806に達した場合、GUI表示部16は、ブロックBもブロックAといっしょに配線長制限値806を満足しながら移動させる。ブロックAがブロックAC間の配線長制限値807に達した位置が、それぞれの配線長制限値を満足する配置位置となる。
上記の機能により、フロアプラン修正の繰り返し作業を削減することができる。
図10を用いてフロアプランの解析を行う実施例3について説明する。図10(a)はブロックの配置図の例である。ここでは、ブロック901を円で表現している。各円の大きさはブロック内の論理規模の大きさを表している。論理ブロック配置部15は、実施例1のフロアプラン手法により得られたブロックの配置位置より各ブロック間ネット902の配線長を計算する。その計算結果をもとに、論理ブロック配置部15は、図10(b)に示すようにX軸をブロック間ネットの配線長、Y軸をブロック間ネット数とした配線長分布を作成し、GUI表示部16を介して表示する。
論理ブロック配置部15は、メモリ中に各ブロックの名称、そのブロックと他のブロックとの間のブロック間ネットの名称、そのブロック間ネットの実配線長および配線長制限値の情報を保存する。論理ブロック配置部15は、この情報に基づいて図10(a)に示す配線長分布のグラフを作成し、GUI表示部16がこのグラフを表示装置23に表示する。また論理ブロック配置部15は、上記の情報を参照し、各配線長(の範囲)についてのブロック間ネット数を計数して図10(b)に示すグラフを作成し、GUI表示部16がこのグラフを表示装置23に表示する。また論理ブロック配置部15は、各配線長(の範囲)とブロック間ネット名称との対応関係を示す情報を作成してメモリに保存する。ユーザが入力装置22を介して図10(b)のグラフのいずれかの配線長又はその度数を選択すると、論理ブロック配置部15は、上記の情報を参照し、対応する少なくとも1つのブロック間ネット名称を特定し、GUI表示部16を介して特定されたブロック間ネット902をハイライト表示する。
図10(c)は、X軸をブロック間ネットの配線長制限値、Y軸を実際のブロック間ネットの配線長としたブロック間ネットの配線長相関図である。同図の45度のライン904上は制限値と実績値が一致している点である。つまり、このライン904の上側にある点905は制限値を越えているネットである、このライン904の下側にある点906は制限値を満足している、または余裕のあるブロック間ネットである。
論理ブロック配置部15は、上記の各ブロック間ネットに対応する配線長と配線長制限値の情報を参照して図10(c)に示すグラフを作成し、GUI表示部16がこのグラフを表示装置23に表示する。図10(c)の各点は少なくとも1つのブロック間ネットに関する配線長と配線長制限値との関係を示している。ユーザが入力装置22を介して図10(c)のグラフのいずれかの点を選択すると、論理ブロック配置部15は、上記の情報を参照し、選択されたブロック間ネットを特定し、図10(a)の対応するブロック間ネット902をハイライト表示する。また上記の配線長とブロック間ネット名称との対応関係を示す情報を参照して図10(b)の対応する配線長の度数をハイライト表示する。
この機能を用いることにより、配線長の長いブロック間ネットを瞬時に見つけることができ、当該ブロック間ネットと接続するブロックの配置を人手により修正して、その後自動でブロックの配置処理を実行することにより、フロアプランの解析および修正を容易にすることが可能となる。
ブロック間ネットの配線長からブロック間ネットのディレイ値を算出して、上記と同様に図10(b)のX軸をディレイ値としたグラフを表示すること、および図10(c)のX軸をディレイ予算値、Y軸をディレイ値としたグラフを表示することによりディレイ値とブロックの配置結果に着目した手法が可能である。
12…ブロック間パス抽出部、13…ブロック間ネットディレイ予算値算出部、14…ブロック間ネット評価関数設定部、15…論理ブロック配置部、18…論理ファイル、19…ライブラリ、20…フロアプラン情報、21…レイアウト指示情報
Claims (10)
- 複数の論理ブロックに分割して設計された半導体集積回路の論理情報が格納される論理ファイルの記憶装置と、プログラムが格納されるメモリと、CPUとを有する計算機において、前記プログラムを前記CPUによって実行することによって前記半導体集積回路上に前記論理ブロックを配置するフロアプラン方法であって、
前記論理ファイルを参照し、前記論理ブロックに属する始点のセルから終点のセルまで論理の一連の流れを構成するパスのうち論理ブロックから他の論理ブロックに渡るブロック間パスを抽出するステップと、
前記ブロック間パスの各々についてそのパスの目標ディレイ値のうち、ブロック間ネットの最大のディレイ予算値を算出するステップと、
ブロック間ネットに使用するリピータの種類、配線層、配線幅の組合せをブロック間ネットルールとする場合に、前記ディレイ予算値に対応するブロック間の最大配線長制限値が定まり、かつブロック間配線長に応じて複数のブロック間ネットルールのうちの1つのルールが一義に定まり、ブロック間配線長に対応した評価ディレイ値が一義に定まる評価関数を用いて、前記論理ブロックの移動を試行することにより前記論理ブロックの配置を自動で最適化するステップと、
設定した前記論理ブロックの配置の情報と、ブロック間配線長によって定まった各ブロック間ネットに適用する前記ブロック間ネットルールの情報とをファイルに出力するステップとを有することを特徴とする半導体集積回路のフロアプラン方法。 - 請求項1に記載の半導体集積回路のフロアプラン方法において、論理ブロックの配置をグラフィック表示する際に、ブロック間ネットルールに応じて色を変えてブロック間ネットを表示すること、或いは配線長制限値を守れないブロック間ネットおよび関連する論理ブロックをハイライト表示すること、或いはブロック間ネットの配線長制限値の範囲を円、ひし形、矩形のいずれかで表示すること、或いは任意の論理ブロックが選択されたときに当該ブロックに接続している全てのブロック間ネットの配線長制限値の範囲を円、ひし形、矩形のいずれかで表示することを特徴とした半導体集積回路のフロアプラン方法。
- 請求項1に記載の半導体集積回路のフロアプラン方法において、論理ブロックの配置をグラフィック上で移動する際に、ブロック間ネットの配線長が制限値を越えたとき当該ネットをリアルタイムにハイライト表示すること、或いは論理ブロックを移動する際にブロック間ネットの配線長が制限値に達した場合、当該ネットにつながる他の論理ブロックがいっしょに移動して、常にブロック間ネットの配線長が制限値以内であることを維持することを特徴とした半導体集積回路のフロアプラン方法。
- 請求項1に記載の半導体集積回路のフロアプラン方法において、論理ブロックの配置位置からブロック間ネットの配線長を算出して、全てのブロック間ネット、或いはブロック間ネットルールごとの配線長分布をグラフィック表示し、配線長分布内の任意のデータが選択されたとき関連するフロアプランの配置図内のブロック間ネットをハイライト表示する、或いはブロック間ネットの配線長の制限値と実績値を同時に表示することを特徴とした半導体集積回路のフロアプラン方法。
- 請求項1に記載の半導体集積回路のフロアプラン方法において、論理ブロックの配置位置からブロック間ネットの配線長を算出して、算出されたブロック間ネットの配線長とディレイ特性から当該ブロック間ネットのディレイ値を算出して、全てのブロック間ネット、或いはブロック間ネットルールごとのブロック間ディレイ分布をグラフィック表示し、ブロック間ディレイ分布内の任意のデータが選択されたとき関連するフロアプランの配置図内のブロック間ネットをハイライト表示する、或いはブロック間ディレイの予算値と実績値を同時に表示することを特徴とした半導体集積回路のフロアプラン方法。
- 複数の論理ブロックに分割して設計された半導体集積回路の論理情報が格納される論理ファイルの記憶装置と、プログラムが格納されるメモリと、CPUとを有する計算機システムであって、前記プログラムを前記CPUによって実行することによって前記半導体集積回路上に前記論理ブロックを配置する計算機システムにおいて、前記プログラムとして、
前記論理ファイルを参照し、前記論理ブロックに属する始点のセルから終点のセルまで論理の一連の流れを構成するパスのうち論理ブロックから他の論理ブロックに渡るブロック間パスを抽出するブロック間パス抽出部と、
前記ブロック間パスの各々についてそのパスの目標ディレイ値のうち、ブロック間ネットの最大のディレイ予算値を算出するブロック間ネットディレイ予算値算出部と、
ブロック間ネットに使用するリピータの種類、配線層、配線幅の組合せをブロック間ネットルールとする場合に、前記ディレイ予算値に対応するブロック間の最大配線長制限値が定まり、かつブロック間配線長に応じて複数のブロック間ネットルールのうちの1つのルールが一義に定まり、ブロック間配線長に対応した評価ディレイ値が一義に定まる評価関数を設定するブロック間ネット評価関数設定部と、
前記評価関数を用いて、前記論理ブロックの移動を試行することにより前記論理ブロックの配置を自動で最適化する論理ブロック配置部と、
設定した前記論理ブロックの配置の情報と、ブロック間配線長によって定まった各ブロック間ネットに適用する前記ブロック間ネットルールの情報とをファイルに出力するデータ出力処理部とを有することを特徴とする計算機システム。 - 請求項6に記載の計算機システムにおいて、論理ブロックの配置をグラフィック表示する際に、ブロック間ネットルールに応じて色を変えてブロック間ネットを表示する手段、或いは配線長制限値を守れないブロック間ネットおよび関連する論理ブロックをハイライト表示する手段、或いはブロック間ネットの配線長制限値の範囲を円、ひし形、矩形のいずれかで表示する手段、或いは任意の論理ブロックが選択されたときに当該ブロックに接続している全てのブロック間ネットの配線長制限値の範囲を円、ひし形、矩形のいずれかで表示する手段を有することを特徴とした計算機システム。
- 請求項6に記載の計算機システムにおいて、論理ブロックの配置をグラフィック上で移動する際に、ブロック間ネットの配線長が制限値を越えたとき当該ネットをリアルタイムにハイライト表示する手段、或いは論理ブロックを移動する際にブロック間ネットの配線長が制限値に達した場合、当該ネットにつながる他の論理ブロックがいっしょに移動して、常にブロック間ネットの配線長が制限値以内であることを維持する手段を有することを特徴とした計算機システム。
- 請求項6に記載の計算機システムにおいて、論理ブロックの配置位置からブロック間ネットの配線長を算出して、全てのブロック間ネット、或いはブロック間ネットルールごとの配線長分布をグラフィック表示し、配線長分布内の任意のデータが選択されたとき関連するフロアプランの配置図内のブロック間ネットをハイライト表示する手段、或いはブロック間ネットの配線長の制限値と実績値を同時に表示する手段を有することを特徴とした計算機システム。
- 請求項6に記載の計算機システムにおいて、論理ブロックの配置位置からブロック間ネットの配線長を算出して、算出されたブロック間ネットの配線長とディレイ特性から当該ブロック間ネットのディレイ値を算出して、全てのブロック間ネット、或いはブロック間ネットルールごとのブロック間ディレイ分布をグラフィック表示し、ブロック間ディレイ分布内の任意のデータが選択されたとき関連するフロアプランの配置図内のブロック間ネットをハイライト表示する手段、或いはブロック間ディレイの予算値と実績値を同時に表示する手段を有することを特徴とした計算機システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005001169A JP2006190062A (ja) | 2005-01-06 | 2005-01-06 | 半導体集積回路のフロアプラン方法および計算機システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005001169A JP2006190062A (ja) | 2005-01-06 | 2005-01-06 | 半導体集積回路のフロアプラン方法および計算機システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006190062A true JP2006190062A (ja) | 2006-07-20 |
Family
ID=36797208
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005001169A Withdrawn JP2006190062A (ja) | 2005-01-06 | 2005-01-06 | 半導体集積回路のフロアプラン方法および計算機システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006190062A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010067502A1 (ja) * | 2008-12-11 | 2010-06-17 | パナソニック株式会社 | 電子システム設計手法 |
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 |
JP2013196133A (ja) * | 2012-03-16 | 2013-09-30 | Ricoh Co Ltd | 半導体設計装置および半導体設計方法 |
-
2005
- 2005-01-06 JP JP2005001169A patent/JP2006190062A/ja not_active Withdrawn
Cited By (4)
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 |
WO2010067502A1 (ja) * | 2008-12-11 | 2010-06-17 | パナソニック株式会社 | 電子システム設計手法 |
JP2013196133A (ja) * | 2012-03-16 | 2013-09-30 | Ricoh Co Ltd | 半導体設計装置および半導体設計方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9262577B2 (en) | Layout method and system for multi-patterning integrated circuits | |
Wei et al. | GLARE: Global and local wiring aware routability evaluation | |
US9396301B1 (en) | Method, system, and computer program product for interconnecting circuit components with track patterns for electronic circuit designs | |
US6543041B1 (en) | Method and apparatus for reducing signal integrity and reliability problems in ICS through netlist changes during placement | |
JP5609364B2 (ja) | 集積回路設計装置、集積回路設計方法、及び集積回路設計プログラム | |
US8065652B1 (en) | Method and system for determining hard and preferred rules in global routing of electronic designs | |
CN112214960B (zh) | 一种兼顾集成电路时序的冗余金属填充方法及系统 | |
US9536036B1 (en) | In-hierarchy circuit analysis and modification | |
He et al. | Ripple: A robust and effective routability-driven placer | |
JP2006190062A (ja) | 半導体集積回路のフロアプラン方法および計算機システム | |
US8108819B2 (en) | Object placement in integrated circuit design | |
Chang et al. | MANA: A shortest path maze algorithm under separation and minimum length nanometer rules | |
US7114139B2 (en) | Device and method for floorplanning semiconductor integrated circuit | |
US8185858B2 (en) | Apparatus, method, and program for predicting layout wiring congestion | |
US6971082B2 (en) | Method and apparatus for revising wiring of a circuit to prevent electro-migration | |
JP2011186625A (ja) | 半導体集積回路のレイアウト装置及びレイアウト方法 | |
US8984468B1 (en) | Method to adaptively calculate resistor mesh in IC designs | |
JP2007257011A (ja) | レイアウト設計装置、方法、及び、プログラム | |
He et al. | SRP: Simultaneous routing and placement for congestion refinement | |
US7685553B2 (en) | System and method for global circuit routing incorporating estimation of critical area estimate metrics | |
US10210301B2 (en) | System and method for implementing and validating star routing for power connections at chip level | |
Smey et al. | Crosstalk reduction in area routing | |
JP2008310527A (ja) | 半導体集積回路のレイアウト設計装置及びレイアウト設計方法 | |
Kumar et al. | Automated, inter-macro channel space adjustment and optimization for faster design closure | |
US7107556B1 (en) | Method and system for implementing an analytical wirelength formulation for unavailability of routing directions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070827 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20070827 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20090605 |