(57)【要約】【課題】ばらつきに対する考慮が過剰にならないようにする半導体集積回路の設計方法及び設計装置を提供することを目的とする。【解決手段】上記課題は、半導体集積回路の設計装置による設計方法であって、前記設計装置が、前記半導体集積回路の寄生抵抗の情報に基づき、前記半導体集積回路の有する複数の配線層間において直列に接続されたビア数を認識する認識手順と、前記ビア数毎にビアの抵抗値を補正する補正値を対応付けたテーブルを参照する参照手順と、前記参照手順において参照された前記テーブルの補正値に基づき前記ビアの抵抗値を補正する補正手順と、実行する設計方法により達成される。【選択図】図１６
2010055276.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路の設計装置による設計方法であって、
前記設計装置が、
前記半導体集積回路の寄生抵抗の情報に基づき、前記半導体集積回路の有する複数の配線層間において直列に接続されたビア数を認識する認識手順と、
前記ビア数毎にビアの抵抗値を補正する補正値を対応付けたテーブルを参照する参照手順と、
前記参照手順において参照された前記テーブルの補正値に基づき前記ビアの抵抗値を補正する補正手順と、実行する設計方法。
【請求項２】
一の出力端子に対して複数の入力端子が接続される場合に、
前記認識手順は、前記出力端子から前記複数の入力端子までの各経路に含まれるビア数を認識し、
前記補正手順は、認識されたビア数が最も少ない経路から前記補正テーブルに基づく前記ビアの抵抗値の補正を行う請求項１記載の設計方法。
【請求項３】
補正後のビアの抵抗値を示す情報を出力する出力手順と、
前記補正後のビアの抵抗値を示す情報に基づき前記半導体集積回路のタイミング検証を行う検証手順と、を実行する請求項１又は２に記載の設計方法。
【請求項４】
前記補正手順は、前記検証手順の有する一手順として実行される請求項３記載の設計方法。
【請求項５】
半導体集積回路の設計装置であって、
前記半導体集積回路の寄生抵抗の情報に基づき、前記半導体集積回路の有する複数の配線層間において直列に接続されたビア数を認識する認識手段と、
前記ビア数毎にビアの抵抗値を補正する補正値を対応付けたテーブルを参照する参照手段と、
前記参照手段により参照された前記テーブルの補正値に基づき前記ビアの抵抗値を補正する補正手段と、を有する設計装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の設計を行う半導体集積回路の設計方法及び設計装置に関する。
【背景技術】
【０００２】
半導体集積回路は、ＣＡＤ（Computer Aided Design）システム等により論理設計が行われた後に、論理素子の接続情報を示すネットリストに基づいてレイアウト設計が行われる。レイアウト設計によりレイアウトが決定されると、そのレイアウトが設計基準を示すデザインルールを満たしているか、また、そのレイアウトを有するデバイスが正常に動作するか等について、様々な検証が行われる。
【０００３】
通常このような検証を行う場合、半導体集積回路の製造工程で発生する寄生抵抗や寄生容量によるばらつきを考慮して行われる。寄生抵抗には、複数の配線層同士を接続するビアの有する抵抗も含まれる。
【０００４】
近年では、半導体集積回路の微細化に伴いばらつきが大きくなったため、統計等を用いた手法によりばらつきの緩和が考慮されていた。この手法の一例として、ビア一個当たりの抵抗値をデザインルールを満たす範囲内で最小の値とする条件と、ビア一個当たりの抵抗値をデザインルールを満たす範囲内で最大の値とをする条件とを適用してタイミング検証を行う方法がある。
【特許文献１】特開平５−８２６４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来の技術では、ビア一個毎に各ビアがとり得るばらつきの最大幅が考慮をされた条件でタイミング検証が行われるため、ばらつきに対する考慮が過剰になる。
【０００６】
よって本発明の目的は、ばらつきに対する考慮が過剰にならないようにする半導体集積回路の設計方法及び設計装置を提供することである。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、半導体集積回路の設計装置による設計方法であって、前記設計装置が、前記半導体集積回路の寄生抵抗の情報に基づき、前記半導体集積回路の有する複数の配線層間において直列に接続されたビア数を認識する認識手順と、前記ビア数毎にビアの抵抗値を補正する補正値を対応付けたテーブルを参照する参照手順と、前記参照手順において参照された前記テーブルの補正値に基づき前記ビアの抵抗値を補正する補正手順と、実行する構成とする。
【０００８】
上記手順を機能としてコンピュータに実行させるためのプログラム、そのプログラムを記憶したコンピュータ読み取り可能な記憶媒体とすることもできる。
【発明の効果】
【０００９】
ばらつきに対する考慮が過剰にならないようにすることができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の一実施形態を図面に基づいて説明する。
【００１１】
本実施形態では、ビアの抵抗のばらつきは、直列に接続されたビアの個数と関連性があることに着目した。図１は、接続されたビアの個数とビアの抵抗のばらつきとの関係を示す図である。本実施形態の設計装置では、図１に示す関係をタイミング検証に適用することで、ばらつきに対する考慮（マージン）が過剰になることを防止する。
【００１２】
図２は、本実施形態に係る設計装置の機能構成例を示す図である。図２において、設計装置１００は、補正制御部１１０、配線済デザイン読込部１２０、ＲＣファイル抽出部１３０、補正テーブル読込部１４０、補正処理部１５０、ＲＣファイル出力部１６０、タイミング検証部１７０、データ記憶部３１０を有する。
【００１３】
始めに、データ記憶部３１０について説明する。データ記憶部３１０には、配線済デザイン３２０、ばらつき補正テーブル３３０が記憶されている。配線済デザイン３２０は、半導体集積回路の有する電子回路を接続する配線を示す配線情報である。また配線済デザイン３２０は、半導体集積回路の有する電子回路の配置情報を含むレイアウトデータ、電子回路同士の接続を示すネットリスト等を含む。
【００１４】
ばらつき補正テーブル３３０は、接続されたビアの個数と、ビアの抵抗のばらつきとの関係（図１参照）に基づき予め作成されたテーブルである。ばらつき補正テーブル３３０の詳細は後述する。
【００１５】
次に本実施形態の設計装置１００の有する各部について説明する。
【００１６】
検証制御部１１０は、設計装置１００によるビアの抵抗値の補正の実行を制御する。配線済デザイン読込部１２０は、データ記憶部３１０に記憶された配線済デザイン３２０を読み込む。ＲＣファイル抽出部１３０は、配線済デザイン３２０からＲＣデータを抽出する。ＲＣデータとは、配線済デザイン３２０の配線に関わる寄生抵抗及び寄生容量を示すデータである。
【００１７】
補正テーブル読込部１４０は、ばらつき補正テーブル３３０を読み込む。補正処理部１５０は、補正テーブル読込部１４０により読み込まれたばらつき補正テーブル３３０に基づき、配線済デザイン３２０に含まれるビアの個数に対応した補正値を用いてビアの抵抗値を補正する。補正の詳細は後述する。
【００１８】
ＲＣファイル出力部１６０は、ＲＣファイル抽出部１３０により抽出されたＲＣデータをＳＰＥＦ形式のＲＣファイル３４１として出力し、データ記憶部３１０に記憶させる。またＲＣファイル出力部１６０は、補正処理部１５０による補正を反映させた補正済みのＲＣファイルをＳＰＥＦ形式の補正済ＲＣファイル３５０として出力し、データ記憶部３１０に記憶させる。タイミング検証部１７０は、補正済ＲＣファイル３５０を用いてタイミング検証を行う。
【００１９】
図３は、設計装置のハードウェア構成を示す図である。図３において、設計装置１００は、中央処理装置（以下、ＣＰＵ）２１０と、メモリ２２０と、記憶装置２３０と、表示装置２４０と、入力装置２５０と、ドライブ装置２６０と、がバスＢを介して接続されて構成される。
【００２０】
ＣＰＵ２１０は、メモリ２２０を利用してプログラムを実行し、半導体集積回路の設計処理を実行する。メモリ２２０には、各種処理を提供するために必要なプログラムとデータが格納される。メモリ２２０は、通常、キャッシュメモリ、システムメモリ及びディスプレイメモリを含む。
【００２１】
表示装置２４０は、レイアウト表示、パラメータ入力画面等の表示に用いられる。表示装置２４０は、例えばＣＲＴ（Cathode Ray Tube）ディスプレイ、ＬＣＤ（Liquid Crystal Display）、ＰＤＰ（Plasma Display Panel）等により実現される。入力装置２５０は、ユーザからの要求や指示、パラメータの入力等に用いられる。入力装置２５０は、例えばキーボードやマウス等により実現される。
【００２２】
記憶装置２３０は、磁気ディスク装置、光ディスク装置、光磁気ディスク装置を含む。
【００２３】
ＣＰＵ２１０は、入力装置２５０等による指示に応答してプログラム、データをメモリ２２０へ転送し、ＣＰＵ２１０はそれを実行する。ＣＰＵ２１０が実行するプログラムデータは、記憶媒体２７０にて提供される。ドライブ装置２６０は、記憶媒体２７０を駆動してその記憶内容にアクセスする。ＣＰＵ２１０は、ドライブ装置２６０を介して記憶媒体２７０からプログラムデータを読み出し、それを記憶装置２３０へインストールする。
【００２４】
記憶媒体２７０として、磁気テープ、メモリカード、フレキシブルディスク、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等）、光磁気ディスク（ＭＯ、ＭＤ等）等、任意のコンピュータ読み取り可能な記憶媒体を使用することができる。また記憶媒体２７０として、半導体メモリや外部接続されるハードディスク装置等が用いられても良い。この記憶媒体２７０に、上述するプログラムデータを格納しておき、必要に応じてメモリ２２０にロードして使用することもできる。
【００２５】
尚、記憶媒体２７０は、通信媒体を介してアップロード又はダウンロードされたプログラムデータを記憶した媒体、ディスク装置、通信媒体を介して設計装置１００が接続されるサーバ装置等の記憶装置を含む。更に記憶媒体２７０は、コンピュータにより直接実行可能なプログラムを記憶した記憶媒体だけでなく、一度他の記憶媒体（ハードディスク等）にインストールされることによって実行可能となるようなプログラムを記憶した記憶媒体や、暗号化されたり、圧縮されたりしたプログラムを記憶した記憶媒体も含む。
【００２６】
次に、記憶装置２３０に記憶されるプログラム及びデータについて説明する。本実施形態の記憶装置２３０は、プログラムが記憶されるプログラム記憶部３００と、データが記憶されるデータ記憶部３１０とが設けられている。
【００２７】
図４は、記憶装置内のプログラム記憶部を説明する図である。プログラム記憶部３００には、補正制御部１１０として機能する補正制御プログラム３１０、配線済デザイン読込部１２０として機能する配線済デザイン読込プログラム３２０、ＲＣファイル抽出部１３０として機能するＲＣファイル抽出プログラム３３０、補正テーブル読込部１４０として機能する補正テーブル読込プログラム３４０、補正処理部１５０として機能する補正処理プログラム３５０、ＲＣファイル出力部１６０として機能するＲＣファイル出力プログラム３６０、タイミング検証部１７０として機能するタイミング検証プログラム３７０が記憶されている。
【００２８】
図５は、記憶装置内のデータ記憶部を説明する図である。記憶装置内のデータ記憶部３１０には、配線済デザイン３２０、ばらつき補正テーブル３３０が記憶されている。本実施形態のばらつき補正テーブル３３０は、ベスト側ばらつき補正テーブル３３１と、ワースト側ばらつき補正テーブル３３２とを含む。
【００２９】
ベスト側ばらつき補正テーブル３３１とは、半導体集積回路のタイミング検証を行う際の許容遅延時間において、最も遅延時間が短くなる条件のビアの抵抗値を補正する場合に用いられるテーブルである。ワースト側ばらつき補正テーブル３３２は、半導体集積回路のタイミング検証を行う際の許容遅延時間において、最も遅延時間が長くなる条件のビアの抵抗値を補正する場合に用いられるテーブルである。
【００３０】
データ記憶部３１０には、作業領域３４０が設けられている。作業領域３４０には、プログラム記憶部３００に記憶された各種プログラムを実行した際の演算結果等が一時的に記憶される。作業領域３４０には、例えばＲＣファイル出力部１６０により出力されたＲＣファイル３４１、プログラム記憶部３００に記憶された補正処理プログラム３５０が実行される際に使用される構造体３４２、ＲＣファイル出力部１６０により出力される補正済ＲＣファイル３５０が記憶される。構造体３４２のメンバは、インデックス３４３、ビア名３４４、補正前抵抗値３４５、補正後抵抗値３４６である。構造体３４２の詳細は後述する。
【００３１】
以下に図６、図７を参照してデータ記憶部３１０に記憶されたばらつき補正テーブル３３０の詳細を説明する。
【００３２】
図６は、ばらつき補正テーブルの第一の例を説明するための図である。図６に示す例では、直列に接続されたビア数と、ビアの抵抗値を補正する補正値とが対応づけられている。
【００３３】
本実施形態において、直列に接続されたビアとは、一の出力端子に対して一の入力端子が接続された接続経路に含まれるビアである。
【００３４】
図６の例では、ビアが一個の場合の補正値が１．００、ビアが二個の場合の補正値が０．８０、ビアが三個の場合の補正値が０．７５、というように、ビアの個数と、個数に対応した補正値とが示されている。
【００３５】
図７は、ばらつき補正テーブルの第二の例を説明するための図である。図７に示す例では、直列に接続されたビアの個数と、ビアにより接続される配線層に応じた補正値が示されている。
【００３６】
図７（Ａ）に示すばらつき補正テーブル３３０Ｂは、半導体集積回路の有する複数の配線層のうち、二層目と三層目におけるビアの個数とばらつきとの関係から作成されたテーブルである。ばらつき補正テーブル３３０Ｂでは、直列に接続されたビアの個数と、ビアの抵抗を補正する補正値とが対応付けられている。ばらつき補正テーブル３３０Ｂでは、ビアが一個であった場合の補正値は１．００、ビアが二個であった場合の補正値は、０．８０、ビアが三個であった場合の補正値は、０．７５というように、ビアの個数と補正値とが格納されている。
【００３７】
図７（Ｂ）に示すばらつき補正テーブル３３０Ｃは、半導体集積回路の有する複数の配線層のうち、三層目と四層目におけるビアの個数とばらつきとの関係から作成されたテーブルである。ばらつき補正テーブル３３０Ｃでは、直列に接続されたビアの個数と、ビアの抵抗を補正する補正値とが対応付けられている。ばらつき補正テーブル３３０Ｃでは、ビアが一個であった場合の補正値は１．００、ビアが二個であった場合の補正値は、０．７５、ビアが三個であった場合の補正値は、０．７０というように、ビアの個数と補正値とが格納されている。
【００３８】
本実施形態のばらつき補正テーブル３３０に含まれるベスト側ばらつき補正テーブル３３１、ワースト側ばらつき補正テーブル３３２には、図６、図７で示すようなテーブルがそれぞれ含まれる。
【００３９】
図８は、補正制御部の制御により実行される処理フローについて説明するための図である。
【００４０】
図８において、補正制御部１１０は、配線済デザイン読込部１２０により、データ記憶部３１０から配線済デザイン３２０を読み込む（ステップＳ８０１）。補正制御部１１０は、ＲＣファイル抽出部１３０により、配線済デザイン３２０からＲＣデータを抽出する（ステップＳ８０２）。ＲＣファイル出力部１６０は、抽出されたＲＣデータをＲＣファイル３４１として出力し、データ記憶部３１０の作業領域３４０へ一時的に記憶させる（ステップＳ８０３）。ＲＣファイル３４１の詳細は後述する。
【００４１】
補正制御部１１０は、補正テーブル読込部１４０と、補正処理部１５０とにより、ベスト側ばらつき補正テーブル３３１を用いてＲＣファイル３４１の補正処理を行う（ステップＳ８０４）。補正処理の詳細は後述する。
【００４２】
補正制御部１１０は、補正処理が完了すると、ＲＣファイル出力部１６０により補正済のＲＣファイルである補正済ＲＣファイル３５０Ａを出力する（ステップＳ８０５）。補正済ＲＣファイル３５０Ａは、作業領域３４０に一時的に記憶される。補正制御部１１０は、タイミング検証部１７０により、補正済ＲＣファイル３５０Ａを用いてタイミング検証を実行し（ステップＳ８０６）、処理を終了する。
【００４３】
また補正制御部１１０は、補正テーブル読込部１４０と、補正処理部１５０とにより、ワースト側ばらつき補正テーブル３３２を用いてＲＣファイル３４１の補正処理を行う（ステップＳ８０７）。補正制御部１１０は、補正処理が完了すると、ＲＣファイル出力部１６０により補正済のＲＣファイルである補正済ＲＣファイル３５０Ｂを出力する（ステップＳ８０８）。補正済ＲＣファイル３５０Ｂは、作業領域３４０に一時的に記憶される。補正制御部１１０は、タイミング検証部１７０により、補正済ＲＣファイル３５０Ｂを用いたタイミング検証を実行し（ステップＳ８０９）、処理を終了する。
【００４４】
以下に、ＲＣファイル３４１について説明する。図９は、ＲＣファイルの一例を説明するための図である。
【００４５】
ＲＣファイル３４１は、ＳＰＥＦ形式で出力される。図９の例は、出力端子５０と入力端子５１とを接続する接続経路を示している。ＲＣファイル抽出部１３０は、ＲＣデータを抽出する際に、出力端子５０と入力端子５１との間の寄生抵抗となる配線及びビアを寄生抵抗素子として、各寄生抵抗素子を特定するインデックス３４３を付与する。またＲＣファイル抽出部１３０は、配線済デザイン３２０に基づきビアを識別し、ビアと識別された寄生抵抗素子には、ビア識別情報としてビア名３４４をコメントＣとして付与する。コメントが付与されていない寄生抵抗素子は、配線の寄生抵抗を示す。
【００４６】
図９に示すＲＣファイル３４１では、コメントＣの数により、配線層のうち二層目と三層目を接続するビア（ビア名Ｖ＝Ｖ２３）と、三層目と四層目を接続するビア（ビア名Ｖ＝Ｖ３４）とがそれぞれ二つずつ、合計四つのビアが直列に接続されていることがわかる。各ビアの補正前抵抗値３４５は１０Ωである。
【００４７】
以下に、図１０、図１１を参照して補正処理部１５０により補正された補正済ＲＣファイル３５０を説明する。
【００４８】
図１０は、補正済ＲＣファイルの第一の例を説明するための図である。図１０に示す補正済ＲＣファイル３５０は、図６に示すばらつき補正テーブル３３０Ａを用いてＲＣファイル３４１を補正した例である。この例ではビアは四つ存在するため、補正処理部１５０は、ばらつき補正テーブル３３０Ａにおいてビアの個数が四つの場合の補正値を取得する。そして取得した補正値とビアの補正前抵抗値３４５である１０Ωとを乗算した値を補正後抵抗値３４６とする。図１０の例では、ビアの補正後抵抗値は７Ωとなる。
【００４９】
図１１は、補正済ＲＣファイルの第二の例を説明するための図である。図１１に示す補正済ＲＣファイル３５０は、図７に示すばらつき補正テーブル３３０Ｂ、３３０Ｃを用いて補正を行った例である。
【００５０】
図１１の例では、補正処理部１５０は、二層目と三層目を接続するビアのばらつき補正テーブル３３０Ｂからビアの個数四つに対応する補正値０．７０を取得する。また補正処理部１５０は、三層目と四層目を接続するビアのばらつき補正テーブル３３０Ｃからビアの個数四つに対応する補正値０．６５を取得する。
【００５１】
補正処理部１５０は、取得した２つの補正値を二乗平均した値（補正係数）と、ビアの補正前抵抗値３４５である１０Ωとを乗算した値をビアの補正後抵抗値３４６とする。
【００５２】
図１１の例では、補正前抵抗値３４５に乗算される補正係数は、
補正係数＝ｓｑｒｔ（（０．７０×０．７０×２＋０．６５×０．６５×２）／４）＝０．６７５４６
となる。よって補正後抵抗値は６．７５４６Ωとなる。図１１の例では、小数点第４位を四捨五入して、補正後抵抗値を６．７５５Ωとした。
【００５３】
以上に説明したように、本実施形態によれば、実際の接続構造に基づきばらつきが考慮される。このため現実的なばらつきに基づくタイミング検証を行うことができ、ばらつきに対する考慮が過剰にならないようにすることができる。
【００５４】
本実施形態の補正制御部１１０の制御により実行される処理フローは、以下のように実行されても良い。図１２は、補正制御部の制御により実行される処理フローの第一の変形例を説明するための図である。
【００５５】
図１２に示す処理フローでは、ＲＣファイル抽出部１３０により抽出されたＲＣデータを用いて補正処理を行い、ＲＣファイル３４１を出力しない。図１２のステップＳ１２０１とステップＳ１２０２の処理は、図８のステップＳ８０１とステップＳ８０２の処理と同様であるから説明を省略する。
【００５６】
補正制御部１１０は、補正テーブル読込部１４０によりベスト側ばらつき補正テーブル３３１を読みだし、補正処理部１５０によりベスト側ばらつき補正テーブル３３１と、抽出されたＲＣデータとに基づきビアの抵抗値の補正処理を行う（ステップＳ１２０３）。ステップＳ１２０４もステップＳ１２０５の処理は、図８のステップＳ８０５、ステップＳ８０６の処理と同様であるから説明を省略する。
【００５７】
また補正制御部１１０は、補正テーブル読込部１４０によりワースト側ばらつき補正テーブル３３１を読みだし、補正処理部１５０により、ワースト側ばらつき補正テーブル３３１と、抽出されたＲＣデータとに基づきビアの抵抗値の補正処理を行う（ステップＳ１２０６）。ステップＳ１２０７、ステップＳ１２０８の処理は、図８のステップＳ８０８、ステップＳ８０９の処理と同様であるから説明を省略する。
【００５８】
図１３は、補正制御部の制御により実行される処理フローの第二の変形例を説明するための図である。
【００５９】
図１３の例では、補正処理をタイミング検証の処理中に行う。図１３のステップＳ１３０１からステップＳ１３０３までの処理は、図８のステップＳ８０１からステップＳ８０３までの処理と同様であるから説明を省略する。
【００６０】
補正制御部１１０は、ステップＳ１３０３で出力されたＲＣファイル３４１を用いて、タイミング検証部１７０によるベスト側のタイミング検証を開始する（ステップＳ１３０４）。タイミング検証が開始されると、補正テーブル読込部１４０はベスト側ばらつき補正テーブル３３１を読み込み、補正処理部１５０はベスト側ばらつき補正テーブル３３１とＲＣファイル３４１とに基づく補正処理を行う（ステップＳ１３０５）。タイミング検証部１７０は、補正後のＲＣデータに基づきタイミング検証を行い、処理を終了する（ステップＳ１３０６）。
【００６１】
また補正制御部１１０は、ステップＳ１３０３で出力されたＲＣファイル３４１を用いて、タイミング検証部１７０によるワースト側のタイミング検証を開始する（ステップＳ１３０７）。タイミング検証が開始されると、補正テーブル読込部１４０はワースト側ばらつき補正テーブル３３２を読み込み、補正処理部１５０はワースト側ばらつき補正テーブル３３２とＲＣファイル３４１とに基づく補正処理を行う（ステップＳ１３０８）。タイミング検証部１７０は、補正後のＲＣデータに基づきタイミング検証を行い、処理を終了する（ステップＳ１３０９）。
【００６２】
図１２と図１３に示す例でも、実際の接続構造に基づきばらつきが考慮される。このため現実的なばらつきに基づくタイミング検証を行うことができ、ばらつきに対する考慮が過剰にならないようにすることができる。
【００６３】
以上の説明では、複数のビアが直列に接続された例、すなわち出力端子から入力端子までの接続経路に分岐がない例について説明した。以下では、出力端子から入力端子までの接続経路に分岐がある例について説明する。接続経路に分岐がある場合とは、一の出力端子に対して複数の入力端子が接続された場合である。
【００６４】
図１４は、接続経路に分岐がある場合のＲＣファイルを示す図である。図１４に示すＲＣファイル３４１Ａでは、各寄生抵抗素子にはインデックス３４３が付与され、各寄生抵抗素子毎の補正前抵抗値３４５が対応付けられる。また寄生抵抗素子においてビアと判別された素子には、ビア識別情報としてビア名３４４がコメントＣとして付与されている。
【００６５】
ＲＣファイル３４１Ａによれば、出力端子Ａと入力端子とは、ビアＶ１、Ｖ２、Ｖ３、Ｖ１２を含む接続経路Ｈ１により接続されている。出力端子Ａと入力端子Ｅとは、ビアＶ３で接続経路Ｈ１から分岐した接続経路Ｈ２により接続されており、接続経路Ｈ２にはビアＶ４〜Ｖ１１が含まれる。出力端子Ａと入力端子Ｃとは、ビアＶ７で接続経路Ｈ２から分岐した接続経路Ｈ３により接続されており、接続経路Ｈ３にはビアＶ１３、ビアＶ１４が含まれる。ＲＣファイル３４１Ａに含まれるビアは、このようにして接続経路毎に識別される。
【００６６】
図１５は、接続経路の分岐を説明する図である。図１５では、ＲＣファイル３４１Ａと対応した接続経路を示している。出力端子Ａは、入力端子Ｂ〜Ｅと接続されている。出力端子Ａは、ビアＶ１〜ビアＶ３と、ビアＶ３から分岐したビアＶ１２とが含まれる接続経路Ｈ１により入力端子Ｂと接続されている。出力端子Ａは、ビアＶ３から分岐したビアＶ４〜ビアＶ１１を含む接続経路Ｈ２により入力端子Ｅと接続されている。
【００６７】
出力端子Ａは、ビアＶ７から分岐したビアＶ１３、ビアＶ１４を含む接続経路Ｈ３により入力端子Ｃと接続されている。出力端子Ａは、ビアＶ１３から分岐したビアＶ１５〜ビアＶ１８を含む接続経路Ｈ４により入力端子Ｄと接続されている。尚接続経路Ｈ４については図１４での図示は省略した。
【００６８】
以下に本実施形態の補正処理の詳細を説明する。図１６は、補正処理部による補正処理フローを説明するための図である。図１６では、図１４で説明したＲＣファイル３４１Ａの補正処理について説明する。
【００６９】
ＲＣファイル３４１Ａが出力されると、補正制御部１１０は補正処理部１５０により、作業領域３４０に記憶された構造体３４２の初期化を行う（ステップＳ１６０１）。補正処理部１５０は、構造体３４２の初期化として、ＲＣファイル３４１ＡからコメントＣが付与されたインデックス３４３を取得し、取得したインデックス３４３毎のビア名３４４、補正前抵抗値３４５を入力し、補正後抵抗値３４６には初期値の０を入力する。
【００７０】
補正処理部１５０は、ＲＣファイル３４１Ａに基づき出力端子Ａから入力端子Ｂ〜Ｅまでに経由するビアのリスト（ビアリスト）を作成する（ステップＳ１６０２）。図１７は、ビアリストの例を示す図である。図１７に示すビアリストＬでは、互いに接続される出力端子と入力端子とにより示される接続経路と、接続経路を経由するビア数と、接続経路を経由するビア一覧とが対応付けられている。例えば出力端子Ａから入力端子Ｂまでの接続経路の場合、経由するビア数は四つ、経由するビア一覧は、ビアＶ１、Ｖ２、Ｖ３、Ｖ１２となる。以下同様である。
【００７１】
図１６に戻って、補正処理部１５０は、ビアリストＬをビア数が少ないものから順にソートする（ステップＳ１６０３）。図１７に示すビアリストＬでは、ビア数が最も少ないのは出力端子Ａと入力端子Ｂとを接続する接続経路であり、その次にビア数が少ないのは出力端子Ａと入力端子Ｃとを接続する接続経路となる。
【００７２】
補正処理部１５０は、補正テーブル読込部１４０により、ばらつき補正テーブル３３０を読み込む（ステップＳ１６０４）。補正テーブル読込部１４０は、ベスト側の補正を行う場合にはベスト側ばらつき補正テーブル３３１を読み込み、ワースト側の補正を行う場合にはワースト側ばらつき補正テーブル３３２を読み込む。
【００７３】
補正処理部１５０は、ビアリストＬに挙げられた全ての接続経路について、後述するステップＳ１６０６の処理が完了したか否かを判定する（ステップＳ１６０５）。
【００７４】
補正処理部１５０は、構造体３４２を用いてビア名毎に対応する補正後抵抗値３４６を設定する（ステップＳ１６０６）。補正処理部１５０は、ビアリストＬの接続経路と対応したビア一覧のビア名３４４から構造体３４２を参照し、補正後抵抗値３４６が初期値の０になっていた場合、ばらつき補正テーブル３３０から該当する補正値を取得して抵抗値の補正を行い、その結果を補正後抵抗値３４６へ設定する。
【００７５】
例えば出力端子Ａから入力端子Ｂの接続経路に対してステップＳ１６０６の処理が実行されると、ビアＶ１〜Ｖ３、Ｖ１２の補正後抵抗値３４６が算出されて設定される。補正後抵抗値３４６の算出は、上述した通りである。
【００７６】
次に出力端子Ａから入力端子Ｃの接続経路に対してステップＳ１６０６の処理を行う。この場合ビアＶ１〜Ｖ３は前回の処理で補正後抵抗値３４６が設定されており、ビアＶ１〜Ｖ３以外のビアの補正後抵抗値３４６は初期値の０となっている。よって補正処理部１５０は、初期値が０であるビアＶ４〜Ｖ７、Ｖ１３、Ｖ１４の補正後抵抗値３４６を算出して設定する。以下同様である。
【００７７】
ステップＳ１６０５において、リストＬに挙げられた全ての接続経路に対してステップＳ１６０６の処理が完了すると、補正処理部１５０は、ＲＣファイル３４１Ａの補正前抵抗値３４５を構造体３４２に設定されている補正後抵抗値３４６に置き換える（ステップＳ１６０７）。例えばビアＶ３については、インデックス６の部分の補正前抵抗値１０Ωを構造体３４２に設定された補正後抵抗値３４６の値に置き換える。
【００７８】
補正処理部１５０による補正処理は、以上で終了する。補正処理が終了すると、ＲＣファイル出力部１６０は抵抗値置き換え後のＲＣファイル３４１Ａを補正済ＲＣファイル３５０として出力し、作業領域３４０に記憶させる（ステップＳ１６０８）。補正済ＲＣファイル３５０が出力されると、タイミング検証部１７０は、作業領域３４０から補正済ＲＣファイル３５０を読み出してタイミング検証を行い（ステップＳ１６０９）、処理を終了する。
【００７９】
ビアが直列に接続された接続経路の場合には、ステップＳ１６０２で作成されるビアリストＬに挙げられる接続経路が一つとなる。よってステップＳ１６０６の処理を一度実行することにより、補正前抵抗値３４５を補正後抵抗値３４６に書き換えることができる。
【００８０】
本発明の実施形態は、以下に記載する付記のような構成が考えられる。
（付記１）
半導体集積回路の設計装置による設計方法であって、
前記設計装置が、
前記半導体集積回路の寄生抵抗の情報に基づき、前記半導体集積回路の有する複数の配線層間において直列に接続されたビア数を認識する認識手順と、
前記ビア数毎にビアの抵抗値を補正する補正値を対応付けたテーブルを参照する参照手順と、
前記参照手順により参照された前記テーブルの補正値に基づき前記ビアの抵抗値を補正する補正手順と、実行する設計方法。
（付記２）
一の出力端子に対して複数の入力端子が接続される場合に、
前記認識手順は、前記出力端子から前記複数の入力端子までの各経路に含まれるビア数を認識し、
前記補正手順は、認識されたビア数が最も少ない経路から前記補正テーブルに基づく前記ビアの抵抗値の補正を行う付記１記載の設計方法。
（付記３）
前記認識手順は、
認識したビアにビア識別情報を付与する付記１又は２記載の設計方法。
（付記４）
前記補正手順は、
前記各経路毎に、前記経路と、前記経路毎のビア数と、前記経路毎のビア識別情報とが対応付けられたリストを生成する付記３記載の設計方法。
（付記５）
補正後のビアの抵抗値を示す情報を出力する出力手順と、
前記補正後のビアの抵抗値を示す情報に基づき前記半導体集積回路のタイミング検証を行う検証手順と、を実行する付記１乃至４の何れか一項に記載の設計方法。
（付記６）
前記補正手順は、前記検証手順の有する一手順として実行される付記５記載の設計方法。
（付記７）
半導体集積回路の設計装置であって、
前記半導体集積回路の寄生抵抗の情報に基づき、前記半導体集積回路の有する複数の配線層間において直列に接続されたビア数を認識する認識手段と、
前記ビア数毎にビアの抵抗値を補正する補正値を対応付けたテーブルを参照する参照手段と、
前記参照手段により参照された前記テーブルの補正値に基づき前記ビアの抵抗値を補正する補正手段と、を有する設計装置。
【００８１】
本発明の実施形態は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【図面の簡単な説明】
【００８２】
【図１】接続されたビアの個数とビアの抵抗のばらつきとの関係を示す図である。
【図２】本実施形態に係る設計装置の機能構成例を示す図である。
【図３】設計装置のハードウェア構成を示す図である。
【図４】記憶装置内のプログラム記憶部を説明する図である。
【図５】記憶装置内のデータ記憶部を説明する図である。
【図６】ばらつき補正テーブルの第一の例を説明するための図である。
【図７】ばらつき補正テーブルの第二の例を説明するための図である。
【図８】補正制御部の制御により実行される処理フローについて説明するための図である。
【図９】ＲＣファイルの一例を説明するための図である。
【図１０】補正済ＲＣファイルの第一の例を説明するための図である。
【図１１】補正済ＲＣファイルの第二の例を説明するための図である。
【図１２】補正制御部の制御により実行される処理フローの第一の変形例を説明するための図である。
【図１３】補正制御部の制御により実行される処理フローの第二の変形例を説明するための図である。
【図１４】接続経路に分岐がある場合のＲＣファイルを示す図である。
【図１５】接続経路の分岐を説明する図である。
【図１６】補正処理部による補正処理フローを説明するための図である。
【図１７】ビアのリストの例を示す図である。
【符号の説明】
【００８３】
１００  設計装置
１１０  補正制御部
１２０  配線済デザイン読込部
１３０  ＲＣファイル抽出部
１４０  補正テーブル読込部
１５０  補正処理部
１６０  ＲＣファイル出力部
１７０  タイミング検証部
２３０  記憶装置
３００  プログラム記憶部
３１０  データ記憶部
３２０  配線済デザイン
３３０  ばらつき補正テーブル
３４０  作業領域
３４１  ＲＣファイル
３４２  構造体
３５０  補正済ファイル
【図１】
2010055276.tif 000003
【図２】
2010055276.tif 000004
【図３】
2010055276.tif 000005
【図４】
2010055276.tif 000006
【図５】
2010055276.tif 000007
【図６】
2010055276.tif 000008
【図７】
2010055276.tif 000009
【図８】
2010055276.tif 000010
【図９】
2010055276.tif 000011
【図１０】
2010055276.tif 000012
【図１１】
2010055276.tif 000013
【図１２】
2010055276.tif 000014
【図１３】
2010055276.tif 000015
【図１４】
2010055276.tif 000016
【図１５】
2010055276.tif 000017
【図１６】
2010055276.tif 000018
【図１７】
2010055276.tif 000019