(57)【特許請求の範囲】
【請求項１】
コンピュータ装置により、ハードマクロセルおよび標準セルを含む集積回路の配線解析を行う方法であって、
（ａ）前記集積回路のネットリストから前記ハードマクロセルを削除し、削除後の前記ネットリストでの、前記標準セルの配置される領域がその外周において前記ハードマクロセルと接続していた部分を外部接続ピンに置き換える工程と、
（ｂ）前記工程（ａ）後の前記ネットリストに対して、前記集積回路における前記ハードマクロセルの配置される領域を除き前記標準セルの配置される領域の配線解析を行う工程とを備える集積回路の配線解析方法。
【請求項２】
前記工程（ｂ）は、前記標準セルの配置される領域の配線の総配線長を求める工程を有する、請求項１に記載した集積回路の配線解析方法。
【請求項３】
前記工程（ｂ）は、前記標準セルの配置される領域の配線困難指数を算出する工程を有する、請求項１に記載した集積回路の配線解析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路の配線解析方法に係る発明である。
【背景技術】
【０００２】
集積回路の配線解析方法において、集積回路を構成するセル及びセル間の接続情報であるネットリストから、集積回路のレイアウト領域に配線を配置した場合の配線の困難さを示す指数である配線困難指数を算出する方法である。従来、ネットリストから配線困難指数を算出する方法として、ネット数や端子間接続数、あるいはネット数や端子間接続数とセル数との比を求める方法が用いられていた。
【０００３】
なお、一般的な配線解析方法等について記載した公知文献を特許文献１に示す。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−１１６９１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来、ネットリストから求めた配線困難指数は、ネット数や端子間接続数、あるいはネット数や端子間接続数とセル数との比であった。しかし、ネット数や端子間接続数が多いネットリストであっても、実際に配線を行った場合、予測された配線長より短く配線されることもあり配線の困難さは低いこともあった。そのため、従来の配線困難指数は、予測の精度が低いという問題があった。また、ハードマクロセルを含む集積回路について配線解析を行うと、精度良く計算することができない場合があった。
【０００６】
そこで、本発明は、ハードマクロセルを含む集積回路を精度良く配線解析することが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本実施の形態に係る集積回路の配線解析方法は、コンピュータ装置により、ハードマクロセルおよび標準セルを含む集積回路の配線解析を行う方法であって、（ａ）前記集積回路のネットリストから前記ハードマクロセルを削除し、削除後の前記ネットリストでの、前記標準セルの配置される領域がその外周において前記ハードマクロセルと接続していた部分を外部接続ピンに置き換える工程と、（ｂ）前記工程（ａ）後の前記ネットリストに対して、前記集積回路における前記ハードマクロセルの配置される領域を除き前記標準セルの配置される領域の配線解析を行う工程とを備える。
【発明の効果】
【０００８】
本発明に記載の集積回路の配線解析方法は、ネットリストからハードマクロセルを削除し、当該ネットリストでの、ハードマクロセルと接続していた部分を外部接続ピンとして置き換え、その後、当該ネットリストに対して配線解析を行う。これにより、配線位置の変更が容易なハードマクロセルと、それ以外の部分とをそれぞれ個別に配線解析を行うため、集積回路の配線解析を精度良く計算することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態１に係る集積回路の配線解析方法を示すフロー図である。
【図２】本発明の実施の形態２に係る集積回路の配線解析方法を示すフロー図である。
【図３】本発明の実施の形態２に係る集積回路の配線解析結果を示す図である。
【図４】本発明の実施の形態３に係る集積回路の配線解析方法を示すフロー図である。
【図５】本発明の実施の形態４に係る集積回路の配線解析方法を示すフロー図である。
【図６】本発明の実施の形態５に係る集積回路の配線解析方法を示すフロー図である。
【図７】本発明の実施の形態６に係る集積回路の論理合成方法を示すフロー図である。
【図８】本発明の実施の形態７に係る集積回路の回路分割方法を示すフロー図である。
【図９】本発明の実施の形態７に係る集積回路のレイアウト面積を求める方法を示すフロー図である。
【図１０】本発明の実施の形態７に係る集積回路の回路図である。
【図１１】本発明の実施の形態８に係る集積回路の配線解析方法を示すフロー図である。
【図１２】本発明の実施の形態８に係る集積回路を配置配線した結果を示す図である。
【図１３】本発明の実施の形態８に係る集積回路を配置配線した結果を示す図である。
【図１４】本発明の実施の形態９に係る集積回路の配線解析方法を示すフロー図である。
【発明を実施するための形態】
【００１０】
（実施の形態１）
本実施の形態に係る集積回路の配線解析方法では、集積回路を構成するセル及びセル間の接続情報であるネットリストから、集積回路のレイアウト領域に配線を配置した場合の配線の困難さを示す指数である配線困難指数を算出する方法である。図１に、本実施の形態に係る集積回路の配線解析方法のフロー図を示す。
【００１１】
まず、図１では、ステップ１として、レイアウト領域の面積（以下、レイアウト面積ともいう）を求める。レイアウト面積を求める方法は、集積回路を構成する複数のセルについて面積を合計して求めたセル面積Ｃを、所定の定数Ｕで割って正方形のレイアウト領域の面積であるレイアウト面積Ｓを求める。つまり、Ｓ＝Ｃ／Ｕの式によりレイアウト面積Ｓを求めることができる。なお、上記ではレイアウト領域の面積の一例として正方形としたが、本発明はこれに限られない（以下、同じ）。
【００１２】
ここで、所定の定数Ｕは、集積回路の集積度を示す定数であり、配線困難指数を算出する方法においては、集積回路に依らず同一の値を用いる。また、所定の定数Ｕは、単位面積のレイアウト領域に配置できるセルの面積の割合を表す数値である。なお、セル面積Ｃに代えてセル数やネット数からレイアウト面積を求めることができる。
【００１３】
上述した方法でレイアウト面積Ｓを求めた後に、図１のフロー図ではステップ２において、総配線長Ｌを求める。ステップ２では、レイアウト領域の半周囲長Ｈに所定の係数αを掛けて総配線長Ｌを求めている。ここで、レイアウト領域の半周囲長Ｈとは、正方形のレイアウト領域のうち２辺分の長さをいう。なお、上記では所定の周囲長を半周囲長Ｈとしたが、本発明はこれに限られず全周囲長を所定の周囲長としても良い。
【００１４】
また、所定の係数αは、ある所定の半周囲長Ｈ０を有するレイアウト領域に、セルを概略配置した場合に、測定して得られる総配線長Ｌ０を所定の半周囲長Ｈ０で割ることにより求められる。つまり、所定の係数αは、総配線長Ｌとレイアウト領域の半周囲長Ｈとの比例定数であり、ある任意のレイアウト領域にセルを概略配置した場合に得られる総配線長Ｌ０と半周囲長Ｈ０を用いてαを算出する。ここで、概略配置して配線長を求めるとは、ネットリストに記載されたセルをレイアウト領域に配置し、セルの配置位置に基づいて配線長を推定することである。また、配線長の推定方法としては、各配線を配置して配線長を測定する方法や、配線を配置せず、セルの配置位置座標から推定配線長を求める方法（例えば、配線が接続する全てのセルの配置座標を含む最小の矩形をつくり、その矩形の半周囲長を求める方法）などが含まれる。
【００１５】
なお、上記以外に所定の係数αを求める方法として、例えば、所定の係数αが回路の単位面積あたりの配線必要量の関数となることを利用して求める方法がある。具体的には、回路の配線量を示す値である回路の端子間接続数ＰＰとセル総面積ＣＳとにより、所定の係数αは実験式として、α＝β・ＰＰγ／ＣＳ1/sqrt(γ)＋δ・sqrt（ＣＳ）と表すことができる。ここで、sqrt（ｘ）は、ｘの平方根を表す。その結果、この式に基づいて所定の係数αを求めることができる。なお、β，γ，δは実験的に決定される係数である。
【００１６】
次に、図１のフロー図に示すステップ３では、ステップ２で求めた総配線長Ｌをステップ１で求めたレイアウト面積Ｓで割ることにより配線困難指数を算出している。つまり、本実施の形態では、配線困難指数＝Ｌ／Ｓとなる。本実施の形態で求めた配線困難指数は、正方形のレイアウト領域に集積度がＵとなるようにセル及び配線を配置した場合に、単位面積あたりに配置される配線長を示す指数となる。すなわち、単位面積あたりに必要な配線長を表す指標であり、この指標によって集積回路の配線困難性又は接続の複雑度を表すことができる。
【００１７】
また、本実施の形態で求めた配線困難指数は、セルを概略配置した結果に基づいて求められた総配線長Ｌを用いているので、従来のように、単にネット数や端子間接続数を配線困難指数に用いる場合に比べて、配線後の結果をより反映することができ精度を高くすることができる。
【００１８】
以上のように、本実施の形態に係る集積回路の解析方法は、セルを概略配置した結果に基づいて求められた総配線長Ｌをレイアウト面積Ｓで割ることにより算出された配線困難指数であるので、単にネット数や端子間接続数を配線困難指数とする場合に比べより精度良く配線の混雑さを見積もることができる。また、配線困難指数を精度良く見積もることができれば、配線困難指数が高い値を示す場合にネットリストを修正したり、レイアウト領域の面積を広げるなどの対策を容易に判断することができ、配線の混雑や配線ショートを発生させることがない集積回路の配置配線設計が可能となる。
【００１９】
（実施の形態２）
本実施の形態では、集積回路が複数の階層モジュールで構成され、ネットリストが階層的に記載された集積回路の配線解析を行う方法である。図２に、本実施の形態に係る集積回路の配線解析方法のフロー図を示す。
【００２０】
まず、図２では、ステップ４として、各階層の階層モジュールの全体回路に対して実施の形態１で用いた方法に基づいて、配線困難指数を算出する。ここで、階層モジュールの全体回路とは、指数の算出対象となる階層モジュールより下層に位置する階層モジュールの回路を含めた全体の回路のことである。
【００２１】
具体的に説明すると、ある階層モジュールＭの下層に階層モジュールＭ１があり、さらに階層モジュールＭ１の下層に階層モジュールＭ２がある場合、階層モジュールＭの全体回路は、階層モジュールＭ１及び階層モジュールＭ２の回路を含むことになる。また、階層モジュールＭ１の全体回路は、階層モジュールＭ２の回路を含むことになる。
【００２２】
ステップ４では、全ての階層モジュールの全体回路に対して配線困難指数を算出する。なお、本実施の形態では、配線困難指数の算出方法を実施の形態１に限定されず、従来の算出方法も含まれる。上記の具体例では、階層モジュールＭの全体回路の配線困難指数β，階層モジュールＭ１の全体回路の配線困難指数β１，階層モジュールＭ２の全体回路の配線困難指数β２のそれぞれを算出することになる。
【００２３】
次に、各階層に対して、階層モジュールの全体回路の配線困難指数から、指数の算出対象となる当該階層モジュールより下層に位置する階層モジュールの全体回路の配線困難指数に所定の重み係数を掛けた値を差し引いた値を算出する。算出された値が、各階層の階層モジュールにおける上層回路の配線困難指数となる（ステップ５）。
【００２４】
具体的に説明すると、ある階層モジュールＭの全体回路の配線困難指数をβとし、当該階層モジュールのモジュール面積をＭＳとする。なお、モジュール面積は、当該階層モジュールに属するセル面積の総和とする。また、当該階層モジュールより下層に位置する階層モジュールとしてＭ１とＭ２が存在し、それぞれの配線困難指数をβ１，β２、モジュール面積をＭＳ１，ＭＳ２とする。このとき、当該階層モジュールにおける上層回路の配線困難指数βＴは、βＴ＝β×ＭＳ−β１×ＭＳ１−β２×ＭＳ２として算出される。なお、上記の具体例では、所定の重み係数をＭＳ，ＭＳ１，ＭＳ２としているが、本発明はこれに限られず他の重み係数を用いても良い。
【００２５】
図３に、本実施の形態に係る集積回路の配線解析方法の算出結果リストを示す。図３では、１行毎に１つの階層モジュールの算出結果が記載されており、各行の左からモジュール面積、配線困難指数、階層構造を示す関係及びモジュール名の順で記載されている。
【００２６】
ここで、配線困難指数とモジュール面積の積であるβ×ＭＳ，β１×ＭＳ１，β２×ＭＳ２のそれぞれは、階層モジュールＭ，Ｍ１，Ｍ２のそれぞれがＭＳ，ＭＳ１，ＭＳ２の面積となるように配置された場合の配線長を示すことになる。そのため、階層モジュールＭをある集積度となるように正方形のレイアウト領域に配置して、階層モジュールＭ及び下層の階層モジュールＭ１，Ｍ２のそれぞれがＭＳ及びＭＳ１，ＭＳ２の面積となる場合、上層回路の配線困難指数βＴは、階層モジュールＭの全体回路から下層の回路部分を除いた上層回路における単位面積あたりの配線長を示すことになる。つまり、本実施の形態で算出した上層回路の配線困難指数βＴは、階層モジュールの上層回路に属する配線の困難さを示す指数として妥当性を有すると考えられる。なお、階層モジュールＭ１，Ｍ２は、ある領域にまとまって配置されるものとする。
【００２７】
以上のように、本実施の形態に係る集積回路の解析方法は、階層モジュールの上層回路の配線困難指数を算出しているので、全ての階層を含めた回路に対して配線困難指数を求める場合に比べてより詳細で精度の良い配線の混雑さを見積もることができる。また、各階層の階層モジュールの全体回路及び上層回路の配線困難指数を精度良く見積もることができるので、配線困難指数が高い値を示す階層モジュールに対してネットリストを修正したり、配線が混雑しないようなフロアプランの作成やセルの再配置を行うことで、配線の混雑や配線ショートを発生させることがない集積回路の配置配線設計を可能となる。
【００２８】
（実施の形態３）
実施の形態１では、総配線長Ｌをレイアウト領域の半周囲長Ｈに所定の係数αを掛けて求めていた。そして、所定の係数αは、ある所定の半周囲長Ｈ０を有するレイアウト領域にセルを概略配置した場合に、測定される総配線長Ｌ０を所定の半周囲長Ｈ０で割ることにより求められていた。
【００２９】
本実施の形態では、ある所定の半周囲長Ｈ０を有するレイアウト領域にセルを概略配置した場合に、総配線長Ｌ０を求めずに各ネットに対する配線長Ｌ０ｎを求める。そして、この各ネットに対する配線長Ｌ０ｎを所定の半周囲長Ｈ０で割ることにより、各ネットに対する所定の係数αｎを求めている。この各ネットに対する所定の係数αｎに、解析対象となるレイアウト領域の半周囲長Ｈを掛けることで、各ネットに対する配線長Ｌｎを求めることができる。
【００３０】
各ネットに対する配線長Ｌｎを積算することで、解析対象となる集積回路の総配線長Ｌを求めることができる。この総配線長Ｌを実施の形態１に用いて配線困難指数を算出することができる。
【００３１】
さらに、本実施の形態では、配線困難指数を算出する以外に、各ネットに対する配線長Ｌｎに基づいて集積回路の消費電力を求める方法を配線解析方法に追加することができる。図４に、本実施の形態に係る集積回路の消費電力を求め方法のフロー図を示す。
【００３２】
図４に示すフロー図では、まず、ステップ６において、ある所定の半周囲長Ｈ０を有するレイアウト領域に、セルを概略配置した場合の各ネットに対する配線長Ｌ０ｎを求める。これにより、各ネットに対する所定の係数αｎを求めることができる。
【００３３】
次に、レイアウト領域の半周囲長がＨである集積回路に配線を配置した場合の各ネット配線長ＬｎをＬｎ＝αｎ×Ｈで求める（ステップ７）。求められた各ネット配線長Ｌｎに基づいて配線抵抗と配線容量を求める（ステップ８）。例えば、配線抵抗を求める方法としては、配線の単位長さあたりの配線抵抗値Ｒｓに各ネット配線長Ｌｎを掛けることで求められることができる。同様に、配線容量を求める方法としては、配線の単位長さあたりの配線容量値Ｃｓに各ネット配線長Ｌｎを掛けることで求められることができる。なお、配線の単位長さあたりの配線抵抗値Ｒｓ及び配線の単位長さあたりの配線容量値Ｃｓは、予めテーブルに記憶されている。
【００３４】
次に、求められた配線抵抗と配線容量に基づいて消費電力を計算する（ステップ９）。例えば、消費電力は、各セルの消費電力Ｐｃと各ネット配線の消費電力Ｐｗとの積算で求めることができる。ここで、セルの消費電力Ｐｃは出力端子に繋がる配線の容量Ｃｗから求めることができる。つまり、Ｐｃ＝Ｆ（Ｃｗ）となる。ここで、関数Ｆは、出力端子に繋がる配線の容量Ｃｗと消費電力Ｐｃとの関係を表す関数で、その関係は予めテーブルに記憶されている。ネット配線の消費電力Ｐｗは、Ｐｗ＝１／２×ｆ×Ｃ×Ｖ2で求めることができる。ここで、Ｃは配線容量、Ｖは電源電圧、ｆは配線のトグル率（１秒間に信号が変化する回数）である。
【００３５】
従来は、消費電力を算出する場合、実際に配線を配置してから計算されていた。そのため、消費電力が求められるまでに時間がかかり、消費電力の問題を発見するまでに時間を要すために設計工期自体が長くなる問題があった。また、配線を配置することなくWire Load Modelを用いて総配線長から消費電力を算出する方法もあるが、この方法では、ネットリストの固有の特徴を考慮することができないために、精度が悪くなる問題があった。しかし、本実施の形態では、実際に配線を行う前の概略配線から消費電力を求めることができるため、設計工期を短縮することができる。また、本実施の形態では、総配線長から消費電力を算出するのではなく、各ネットの配線に基づいて消費電力を算出するためネット固有の特徴を考慮することができ、精度良く算出することができる。
【００３６】
以上のように、本実施の形態では各ネット配線長Ｌｎを求めてから総配線長Ｌを求めるので、総配線長から求められた消費電力に比べ消費電力を精度良く算出できる。なお、本実施の形態では、各ネットに対する所定の係数αｎを求めるために概略配置を行うが、この概略配置は、適当なサイズのレイアウト領域に対して実施すれば良く、従来のように測定対象となるサイズのレイアウト領域に対して実施す必要がない。そのため、レイアウト領域のサイズが確定していない設計初期段階から、本実施の形態の方法を用いることができ、正確な消費電力を見積もることができる。
【００３７】
（実施の形態４）
本実施の形態でも、実施の形態３同様、各ネット配線長Ｌｎに基づいて遅延時間を求める方法を配線解析方法に追加することができる。図５に、本実施の形態に係る集積回路の遅延時間を求め方法のフロー図を示す。
【００３８】
図５では、図４と同じステップについては同一の符号を付している。ステップ６〜ステップ８までは、実施の形態３と同じであるため詳細な説明は省略する。本実施の形態では、ステップ８で求められた配線抵抗と配線容量に基づいて集積回路の遅延時間を求める（ステップ１０）。例えば、セルの遅延時間Ｔｃ及び配線の遅延時間Ｔｗは、以下のようにして求めることができる。セルの遅延時間Ｔｃは、セル固有の遅延時間Ｋ１とセル出力の駆動能力Ｋ２に配線容量Ｃを掛けた値との和で求められる。つまり、Ｔｃ＝Ｋ１＋Ｋ２×Ｃとなる。なお、セル固有の遅延時間Ｋ１及びセル出力の駆動能力Ｋ２は、予めテーブルに記憶しておく。配線の遅延時間Ｔｗは、配線容量Ｃに配線抵抗値Ｒで求められる。つまり、Ｔｗ＝Ｒ×Ｃとなる。
【００３９】
以上のように、本実施の形態では各ネット配線長Ｌｎに基づいた遅延時間を算出できるので、ネットリストを反映することができ、総配線長から求められた遅延時間に比べ測定精度を向上させることができる。なお、本実施の形態でも、概略配置は、適当なサイズのレイアウト領域に対して実施すれば良く、従来のように測定対象となるサイズのレイアウト領域に対して実施す必要がない。そのため、レイアウト領域のサイズが確定していない設計初期段階から、本実施の形態の方法を用いることができ、正確な遅延時間を見積もることができる。
【００４０】
（実施の形態５）
本実施の形態でも、実施の形態３同様、各ネット配線長Ｌｎに基づいてCustom Wire Load Modelに用いられるネットのファンアウト数及び配線容量の対応を示すテーブル（以下、単にＣＷＬＭともいう）を作成する方法を配線解析方法に追加することができる。図６に、本実施の形態に係る集積回路のＣＷＬＭを作成する方法のフロー図を示す。
【００４１】
図６では、図４と同じステップについては同一の符号を付している。ステップ６〜ステップ８までは、実施の形態３と同じであるため詳細な説明は省略する。本実施の形態では、ステップ８で求められた配線抵抗と配線容量に基づいて集積回路のＣＷＬＭを作成する（ステップ１１）。
【００４２】
ステップ１１では、従来より知られているいくつかの計算方法を用いることができる。例えば、ファンアウト数Ｎのネットにおける配線容量を、集積回路中のファンアウト数Ｎに対する全てのネットにおける配線容量を平均した値として求め、テーブルを作成する方法がある。
【００４３】
以上のように、本実施の形態では各ネット配線長Ｌｎに基づいたＣＷＬＭを作成できるので、ネットリストを反映することができ、総配線長から作成されたＣＷＬＭに比べ測定精度を向上させることができる。なお、本実施の形態でも、概略配置は、適当なサイズのレイアウト領域に対して実施すれば良く、従来のように測定対象となるサイズのレイアウト領域に対して実施す必要がない。そのため、レイアウト領域のサイズが確定していない設計初期段階から、本実施の形態の方法を用いることができ、正確なＣＷＬＭを作成することができる。
【００４４】
（実施の形態６）
本実施の形態では、実施の形態２で説明した階層モジュールの全体回路の配線困難指数と、階層モジュールにおける上層回路の配線困難指数とを利用して、集積回路のネットリストを生成する論理合成方法である。図７に、本実施の形態に係る集積回路の論理合成方法のフロー図を示す。
【００４５】
図７に示すフロー図では、まず、ステップ１２において、通常行われている論理合成方法によってネットリストを生成する。通常行われている論理合成方法とは、タイミング制約違反と回路のセル面積のみを考慮して論理合成である。なお、本実施の形態では、例えばRegister Transfer Level（ＲＴＬ）の回路記述からネットリストを論理合成する。ここで、ＲＴＬの回路記述とは、レジスタ及びレジスタ間を組み合わせ回路により結び付けてデータ転送経路を明確にした回路記述である。
【００４６】
ステップ１２により得られたネットリストに対して、実施の形態２で説明した方法を用いて、階層モジュールの全体回路の配線困難指数と階層モジュールにおける上層回路の配線困難指数とを算出する（ステップ１３）。
【００４７】
ステップ１３で求めた配線困難指数が所定の値より大きい階層モジュールの場合、階層モジュールの回路構成を再構成し、再度論理合成を行ってネットリストを生成する（ステップ１４）。ここで、所定の値とは、例えば集積回路の製造条件から制限される配線困難指数の上限値が考えられる。
【００４８】
ステップ１４において、階層モジュールの回路構成を再構成する方法としては、いろいろ考えることができる。例えば、回路中の特定の機能（例えば、加算や乗算）を実現する回路構成を予め複数用意しておき、配線困難指数が所定の値より大きい階層モジュールの回路に対して予め用意した回路と置き換える方法がある。この方法においては、予め用意した回路構成のそれぞれについて、実施の形態１で説明した配線困難指数を求めておくことで、再構成後のネットリストの配線困難指数が小さくなる回路構成を即座に選択することができる。
【００４９】
従来の論理合成方法では、タイミング制約違反と回路のセル面積のみを考慮して論理合成を行っていた。そのため、従来の論理合成方法により生成されたネットリストは、配線の混雑した回路を含むネットリストとなる場合があり、配置配線時に配線がショートするなどの問題が発生していた。そこで、本実施の形態の論理合成方法のように、従来の論理合成方法を行った後に、配線困難指数を算出し所定の値より大きければ回路構成を変更する工程を追加することで上記の問題を解決している。
【００５０】
以上のように、本実施の形態では、配線困難指数を算出し所定の値より大きければ回路構成を変更する工程を追加しているので、配線混雑を防止することができる論理合成方法とすることができる。また、本実施の形態では、配線困難指数が所定の値より大きい階層モジュールに対して回路構成の再構成を行うので、局所的に発生する配線混雑をネットリストを生成する段階で防止することができる。特にレイアウト領域の面積と配線層が限定されるような設計の場合は、配線が混雑した部分には配線ができなくなる可能性が高いため、ネットリスト生成段階で、一定の基準以下の配線困難指数となる回路構成が可能となる本実施の形態に係る方法は有効である。
【００５１】
（実施の形態７）
本実施の形態では、実施の形態１の方法により求めたレイアウト面積に基づいてネットリストを修正し、複数の部分回路に分割する方法である。図８に、本実施の形態に係る集積回路の回路分割方法のフロー図を示す。
【００５２】
図８に示すフロー図では、まず、ステップ１５において、以下に示す方法を用いて階層モジュール毎にレイアウト面積を求める。
【００５３】
階層モジュールのレイアウト面積Ｓを求める方法として、図９のフロー図に示す方法がある。図９のフロー図では、まず、階層モジュールに配置されるセルが格子を占有する数を示すセル格子使用数と、階層モジュールに配置される配線の単位長あたりの格子数Ｌｇと、単位面積あたりの格子数Ｓｇと、レイアウト領域の占有する格子数に対してセル及び配線が占有する格子数の割合を示す格子使用率ＧＵとをテーブルに記憶する（ステップ１５ａ）。
【００５４】
具体的に説明するために、図１０に集積回路の回路図を示す。図１０では、セルＣ１のセル格子使用数は２０、セルＣ２のセル格子使用数は２５である。そして、図１０では、配線の単位長（１．０μｍ）あたりの格子数Ｌｇ＝１．０、単位面積（１．０μｍ×１．０μｍ）あたりの格子数Ｓｇ＝１．０である。さらに、図１０では、格子使用率ＧＵを０．４５８とする。
【００５５】
図９のフロー図では、次に、ネットリストにおけるセルの一覧とテーブルに基づくセル格子使用数とから、セルが使用する格子数の合計ＧＰを求める（ステップ１５ｂ）。図１０の例では、セルの一覧としてセルＣ１及びセルＣ２が存在し、それぞれのセル格子使用数は、ステップ１５ａに示したテーブルから２０及び２５となる。そのため、ＧＰは、２０＋２５＝４５と求めることができる。
【００５６】
図９のフロー図では、次に、ネットリストにおける配線の接続情報とテーブルに基づく格子数Ｌｇとから、配線が使用する格子数の合計ＧＲを求める（ステップ１５ｃ）。図１０の例では、配線の接続情報として、配線Ｗ１の長さが１１μｍ，配線Ｗ２の長さが１０μｍである。そのため、ＧＲは、配線Ｗ１及び配線Ｗ２の長さに配線の単位長あたりの格子数Ｌｇ＝１．０を掛けることで求まる。つまり、ＧＲ＝（１１＋１０）×１．０＝２１と求めることができる。
【００５７】
図９のフロー図では、次に、単位面積あたりの格子数Ｓｇ及び格子使用率ＧＵ 並びに格子数の合計ＧＰ，ＧＲから、レイアウト面積Ｓを（ＧＰ＋ＧＲ）／ＧＵ ／Ｓｇとして求める（ステップ１５ｄ）。図１０の例では、レイアウト面積Ｓは、Ｓ＝（４５＋２１）／０．４５８／１．０＝約１４４（μｍ2）となる。
【００５８】
さらに、本実施の形態では、各階層モジュールにおいて、当該階層モジュールの下層に位置する複数の階層モジュールのレイアウト面積Ｓを合計した面積が当該階層モジュールのレイアウト面積Ｓとなるように、下層に位置する複数の階層モジュールのレイアウト面積Ｓを一律の割合で変更し調整する（ステップ１５ｅ）。
【００５９】
例えば、ある階層モジュールのレイアウト面積が１００μｍ2で、当該階層モジュールの下層に位置する複数の階層モジュールのレイアウト面積が４５μｍ2，７５μｍ2である場合、下層に位置する複数の階層モジュールのレイアウト面積の単純合計は１２０μｍ2となる。単純合計のレイアウト面積と、ある階層モジュールのレイアウト面積とが異なるので、下層に位置する複数の階層モジュールのレイアウト面積を一律の割合で削減する。上記の場合、下層に位置する複数の階層モジュールのレイアウト面積は、４５×１００／１２０＝３７．５μｍ2，７５×１００／１２０＝６２．５μｍ2と変更する。
【００６０】
次に、ステップ１５において変更されたレイアウト面積の集積回路（ネットリスト）を、複数の部分回路に分割する処理を行う（ステップ１６）。部分回路に分割する処理方法としては、例えばｍｉｎ−ｃｕｔ法がある。ここで、ｍｉｎ−ｃｕｔ法とは、分割後の部分回路間を接続するネットがなるべく少なくなるように、且つ、各部分回路のサイズが指定した許容範囲内になるように分割する方法である。なお、本実施の形態では、従来のようにセル面積に基づくのではなく、ステップ１５において求められ変更されたレイアウト面積に基づいてｍｉｎ−ｃｕｔ法が用いられる。
【００６１】
従来ではセル面積に基づいてｍｉｎ−ｃｕｔ法を用いていた。この方法では、分割されてできた各部分回路のセル面積は指定された許容範囲内になることが保証されるが、その部分回路の配線の占める面積も考慮したレイアウト面積は前記セル面積と必ずしも一致しないので許容範囲内にならない場合があり、再度分割処理を行ったりレイアウトの修正等の処理を行う必要があった。そこで、本実施の形態では、レイアウト面積に基づいてｍｉｎ−ｃｕｔ法を用いている。これにより、配線等を考慮したレイアウト面積に基づいて分割するので、上記の問題が解消される。
【００６２】
以上のように、本実施の形態では、下層に位置する複数の階層モジュールのレイアウト面積を変更した後に、レイアウト面積に基づいて複数の部分回路に分割する処理を行うので、従来のセル面積に基づく分割処理に比べて、再度分割処理等を行う必要が軽減される。
【００６３】
（実施の形態８）
集積回路は、通常複数の機能ブロックによって構成されている。これらの機能ブロックのうち、ＲＡＭ等の汎用性の高い機能ブロックは、様々なアプリケーションに用いることができるように機能ブロック単位でライブラリ化される。このようにライブラリ化された機能ブロックを以下ではハードマクロセルという。本実施の形態では、このハードマクロセルと標準セル（実施の形態１等で説明したセル）の両方を含むネットリストに対する配線解析方法を示す。
【００６４】
以下の説明では、ハードマクロセルと標準セルの両方を含むネットリストから総配線長Ｌを計算する方法について説明する。なお、総配線長Ｌを求めることができれば、実施の形態１乃至実施の形態５で説明した配線解析方法を適用することができる。
【００６５】
図１１に示すフロー図では、まず、ステップ１７において、ネットリストからハードマクロセルを削除し、標準セルのみのネットリストにする。なお、標準セルのみのネットリストとハードマクロセルとの接合部分については、外部接続ピンに置き換える処理を行う。図１２に、ハードマクロセルと標準セルの両方を含む集積回路を配置配線した結果を示す。図１２では、ハードマクロセル５１，標準セル５２及びこれらを繋ぐ配線５３で構成されている。図１２では、標準セル５２が設けられている領域を標準セル配置領域５４としている。そして、標準セル配置領域５４内の配線５３を標準セル内配線５３ａとし、それ以外の配線５３をハードマクロ間配線５３ｂとしている。
【００６６】
ステップ１７では、図１２に示す集積回路のネットリストからハードマクロセル５１を削除し、標準セルのみにする。図１３に、標準セルのみの回路を長方形領域に配置配線した結果を示す。図１３では、図１２でハードマクロに接続していた配線５３が、あらたに設けられた外部接続ピン５５に接続するように修正されている。
【００６７】
上記のように、ハードマクロセルと標準セルの両方を含むネットリストから総配線長Ｌを計算する場合、ハードマクロセルを削除し、標準セルのみの領域について総配線長Ｌを測定するのは、一般的にハードマクロ間では配線混雑が発生しない場合が多く、発生してもハードマクロセルの配置位置を変更することで容易に解消できるためである。
【００６８】
次に、ステップ１８では、ステップ１７において求めた標準セル配置領域５４に対して、実施の形態１で説明した方法を用いて、標準セル配置領域５４内の総配線長Ｌを求める。本実施の形態に係る方法で総配線長Ｌを求めると、標準セル配置領域５４内の配線５３は外部接続ピン５５までの配線５３ａのみの総配線長となる。そのため、求める総配線長からハードマクロ間配線５３ｂを排除することができる。なお、本実施の形態では、ステップ１７において求めた標準セル配置領域５４に対して、実施の形態１で説明した配線解析方法を用いたが、本発明はこれに限られず、他の配線解析方法を適用しても良い。
【００６９】
以上のように本実施の形態では、ネットリストからハードマクロセルを削除し、ハードマクロセルと接続していた部分を外部接続ピンとするので、実施の形態１乃至実施の形態５で説明した方法（配線困難指数、消費電力、遅延時間、ＣＷＬＭ）を含む配線解析が適用でき、ハードマクロセルと標準セルの両方を含むネットリスト対しても、同様の配線解析をより簡単に行うことができる。
【００７０】
なお、集積回路全体として消費電力、遅延時間、ＣＷＬＭを求める場合は、ハードマクロセル領域について別途求めて、上記結果と一緒にする必要がある。従来では、ハードマクロセルと標準セルの両方を含む集積回路であっても回路全体に対して同じ方法を用いて消費電力、遅延時間、ＣＷＬＭを求めていた。しかし、ハードマクロセル領域については、標準セル配置領域５４とは異なり、消費電力、遅延時間、ＣＷＬＭの値がハードマクロセルの配置結果に大きく依存する。そのため、ハードマクロセル領域と標準セル配置領域５４とは異なる方法で別々に計算する方が精度良く計算することができる。そこで、本実施の形態では、標準セル配置領域５４に実施の形態１乃至実施の形態５を適用する部分について説明している。
【００７１】
また、ステップ１７において求めた標準セル配置領域５４に対して、実施の形態１の図９で示した方法を用いて、標準セル配置領域５４のレイアウト面積を求めることができる。なお、ハードマクロセル領域のレイアウト面積は、配線混雑よりも電源配線等の他の要因により決まるため、標準セル配置領域５４とは異なる方法で別途求める方が精度良く求めることができる。
【００７２】
ハードマクロセルと標準セルの両方を含む集積回路は、上記方法で求めた標準セル配置領域５４のレイアウト面積と、別の方法で求めたハードマクロセル領域のレイアウト面積とを合計した面積を当該集積回路のレイアウト面積とする。そして、実施の形態７で説明した回路分割方法を、このレイアウト面積に対して適用することで、ハードマクロセルと標準セルの両方を含む集積回路にも適用できる。
【００７３】
（実施の形態９）
上記の実施の形態では、問題なく生成されたネットリストに対して行われる配線解析方法等を示したものである。しかし、生成されるネットリストが常に問題がないとは限られず、一部の階層モジュールについてネットリストが不完全であったり、欠落していたりするような不備のあるネットリストが生成される場合がある。そこで、本実施の形態では、不備のあるネットリストに対して行う配線解析方法について説明する。
【００７４】
図１４に、本実施の形態に係る集積回路の配線解析方法のフロー図を示す。図１４に示すフロー図では、まず、ステップ１９において、不備の部分を有する階層モジュールを所定のセルモデルに置換する。ここで、所定のセルモデルは、与えられたセル面積を有する正方形の形状で、且つ当該領域の全ての配線層において配線を通過禁止としたセルモデルである。
【００７５】
次に、ステップ２０では、不備の部分を有する階層モジュールを所定のセルモデルに置換した後のネットセルに対して、実施の形態１で説明した配線解析方法を適用して、配線困難指数を算出する。
【００７６】
以上のように、本実施の形態では、不備の部分を有する階層モジュールを所定のセルモデルに置換するので、不備のあるネットリストに対しても、実施の形態１で説明した配線解析方法を適用することができる。
【００７７】
また、不備の部分を有する階層モジュールを所定のセルモデルに置換したネットリストに対して、実施の形態２乃至実施の形態７の方法を適用することができる。
【符号の説明】
【００７８】
５１  ハードマクロセル、５２  標準セル、５３  配線、５４  標準セル配置領域、５５  外部接続ピン。
【図１】
0004762326.tif 000002
【図２】
0004762326.tif 000003
【図３】
0004762326.tif 000004
【図４】
0004762326.tif 000005
【図５】
0004762326.tif 000006
【図６】
0004762326.tif 000007
【図７】
0004762326.tif 000008
【図８】
0004762326.tif 000009
【図９】
0004762326.tif 000010
【図１０】
0004762326.tif 000011
【図１１】
0004762326.tif 000012
【図１２】
0004762326.tif 000013
【図１３】
0004762326.tif 000014
【図１４】
0004762326.tif 000015