(57)【特許請求の範囲】
【請求項１】
論理セルの第１の電流源モデルを用いて前記論理セルのシミュレーションを行って、前記第１の電流源モデルの入力側静電容量、出力側静電容量及び電流源の電流値を同定し、
前記第１の電流源モデルの入力側静電容量と電流源との間に抵抗素子が追加されて構成される前記論理セルの第２の電流源モデルに、さらに入力側に第１のランプ電圧源を接続し、出力側に第２のランプ電圧源を接続してなる回路モデルに対して、前記シミュレーションによって同定された電流値を電流源の電流の初期値に設定し、前記各ランプ電圧源の電圧を所定の変化量で変化させながらシミュレーションを行うことにより前記抵抗素子の値を同定し、
前記回路モデルに対して、前記同定した抵抗素子の値を適用して、前記入力側静電容量及び出力側静電容量の値を取得し、
前記電流源の電流値を更新しながら、前記抵抗素子、入力側静電容量及び出力側静電容量の値が収束するまで、前記回路モデルによる前記抵抗素子の値の同定処理及び前記入力側静電容量及び出力側静電容量の値の取得処理を繰り返し、
前記収束した抵抗素子、入力側静電容量及び出力側静電容量の値を用いて前記論理セルの遅延を求める見積を行う、
処理をコンピュータに行わせる半導体集積回路の遅延見積プログラム。
【請求項２】
論理セルの第１の電流源モデルを用いて前記論理セルのシミュレーションを行って、前記第１の電流源モデルの入力側静電容量、出力側静電容量及び電流源の電流値を同定し、
前記第１の電流源モデルの入力側静電容量と電流源との間に抵抗素子が追加されて構成される前記論理セルの第２の電流源モデルに、さらに入力側に第１のランプ電圧源を接続し、出力側に第２のランプ電圧源を接続してなる回路モデルに対して、前記シミュレーションによって同定された電流値を電流源の電流の初期値に設定し、前記各ランプ電圧源の電圧を所定の変化量で変化させながらシミュレーションを行うことにより前記抵抗素子の値を同定し、
前記回路モデルに対して、前記同定した抵抗素子の値を適用して、前記入力側静電容量及び出力側静電容量の値を取得し、
前記電流源の電流値を更新しながら、前記抵抗素子、入力側静電容量及び出力側静電容量の値が収束するまで、前記回路モデルによる前記抵抗素子の値の同定処理及び前記入力側静電容量及び出力側静電容量の値の取得処理を繰り返し、
前記収束した抵抗素子、入力側静電容量及び出力側静電容量の値を用いて前記論理セルの遅延を求める見積を行う、
処理をコンピュータが行う半導体集積回路の遅延見積方法。
【請求項３】
論理セルの第１の電流源モデルを用いて前記論理セルのシミュレーションを行って、前記第１の電流源モデルの入力側静電容量、出力側静電容量及び電流源の電流値を同定するシミュレーション部と、
前記第１の電流源モデルの入力側静電容量と電流源との間に抵抗素子が追加されて構成される前記論理セルの第２の電流源モデルに、さらに入力側に第１のランプ電圧源を接続し、出力側に第２のランプ電圧源を接続してなる回路モデルに対して、前記シミュレーションによって同定された電流値を電流源の電流の初期値に設定し、前記各ランプ電圧源の電圧を所定の変化量で変化させながらシミュレーションを行うことにより前記抵抗素子の値を同定し、前記回路モデルに対して、前記同定した抵抗素子の値を適用して、前記入力側静電容量及び出力側静電容量の値を取得し、前記電流源の電流値を更新しながら、前記抵抗素子、入力側静電容量及び出力側静電容量の値が収束するまで、前記回路モデルによる前記抵抗素子の値の同定処理及び前記入力側静電容量及び出力側静電容量の値の取得処理を繰り返すパラメータ同定部と、
前記収束した抵抗素子、入力側静電容量及び出力側静電容量の値を用いて前記論理セルの遅延を求める見積を行う遅延見積部と
を有する半導体集積回路の遅延見積装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の設計技術に関する。
【背景技術】
【０００２】
従来より、シミュレーションを用いて半導体集積回路を設計することが行われている。半導体集積回路の設計に係るシミュレーションでは、遅延見積もりの精度を改善するために、種々の提案がなされている。
【０００３】
例えば、ルックアップ・テーブルを用いて、ＤＣ（Direct Current）成分と複数の寄生キャパシタンスとを含む、少なくとも１つの電流源モデルを解析的に合成し、電流源モデルを用いて論理ステージをシミュレートしてドライバをモデル化する技術が知られている。
【０００４】
また、シミュレーションによる電極間容量が測定データと同等であると判定されたデバイスモデルに対して、その電流源モデルを測定データに基づいて作成した電流源モデルで入れ替えて特性のシミュレーションを行う技術等が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表2009-520254号公報
【特許文献２】特開2007-328688
【特許文献３】国際公開第2010/058507号
【特許文献４】特許003636643号
【非特許文献】
【０００６】
【非特許文献１】I.Keller他、"A robust cell-level crosstalk delay change analysis"、 ICCAD 2004
【非特許文献２】P.Li他、"A waveform independent gate model for accurate timing analysis"、ICCD 2005
【非特許文献３】A.Goel、S.Vrudhula、"Current source based standard cell model for accurate signal integrity and timing analysis"、DATE 2008
【発明の概要】
【発明が解決しようとする課題】
【０００７】
半導体集積回路の遅延は、主に、配線遅延及びセル遅延によると考えられる。従来の半導体集積回路では、セル間の配線遅延が回路精度に影響する主要な要因であったため、セル内の遅延（セル遅延）を無視することができた。
【０００８】
しかしながら、近年の半導体集積回路は大規模化してセル間が緻密に配置されて配線長が短くなっている。そのため、配線遅延による回路精度への影響は小さくなっている。その一方で、従来無視してきたセル遅延が回路精度を左右すると考えるようになり、セル遅延を無視することができなくなっている。また、セル遅延は、セル毎に異なっている。
【０００９】
ＳＰＩＣＥ（Simulation Program with Integrated Circuit Emphasis）によるシミュレーションは、任意の入力波形に対する見積もりの精度が高いが、処理負荷が非常に重いため、大量のセルが含まれる場合、見積もり時間が非常に長時間に及び、大規模なデジタル回路の遅延見積もりには適していない。
【００１０】
また、上述した従来技術による電流源モデルでは、セル毎に異なる遅延が考慮されないため、大規模化した半導体集積回路の遅延を精度良く見積もることが困難である。
【００１１】
したがって、１つの側面では、本発明は、半導体集積回路の遅延をセル遅延を含めて見積ることができることを目的とする。
【課題を解決するための手段】
【００１２】
一態様によれば、論理セルの第１の電流源モデルを用いて前記論理セルのシミュレーションを行って、前記第１の電流源モデルの入力側静電容量、出力側静電容量及び電流源の電流値を同定し、前記第１の電流源モデルの入力側静電容量と電流源との間に抵抗素子が追加されて構成される前記論理セルの第２の電流源モデルに、さらに入力側に第１のランプ電圧源を接続し、出力側に第２のランプ電圧源を接続してなる回路モデルに対して、前記シミュレーションによって同定された電流値を電流源の電流の初期値に設定し、前記各ランプ電圧源の電圧を所定の変化量で変化させながらシミュレーションを行うことにより前記抵抗素子の値を同定し、前記回路モデルに対して、前記同定した抵抗素子の値を適用して、前記入力側静電容量及び出力側静電容量の値を取得し、前記電流源の電流値を更新しながら、前記抵抗素子、入力側静電容量及び出力側静電容量の値が収束するまで、前記回路モデルによる前記抵抗素子の値の同定処理及び前記入力側静電容量及び出力側静電容量の値の取得処理を繰り返し、前記収束した抵抗素子、入力側静電容量及び出力側静電容量の値を用いて前記論理セルの遅延を求める見積を行う、処理をコンピュータに行わせる半導体集積回路の遅延見積プログラムが提供される。
【００１３】
また、他の一態様によれば、論理セルの第１の電流源モデルを用いて前記論理セルのシミュレーションを行って、前記第１の電流源モデルの入力側静電容量、出力側静電容量及び電流源の電流値を同定し、前記第１の電流源モデルの入力側静電容量と電流源との間に抵抗素子が追加されて構成される前記論理セルの第２の電流源モデルに、さらに入力側に第１のランプ電圧源を接続し、出力側に第２のランプ電圧源を接続してなる回路モデルに対して、前記シミュレーションによって同定された電流値を電流源の電流の初期値に設定し、前記各ランプ電圧源の電圧を所定の変化量で変化させながらシミュレーションを行うことにより前記抵抗素子の値を同定し、前記回路モデルに対して、前記同定した抵抗素子の値を適用して、前記入力側静電容量及び出力側静電容量の値を取得し、前記電流源の電流値を更新しながら、前記抵抗素子、入力側静電容量及び出力側静電容量の値が収束するまで、前記回路モデルによる前記抵抗素子の値の同定処理及び前記入力側静電容量及び出力側静電容量の値の取得処理を繰り返し、前記収束した抵抗素子、入力側静電容量及び出力側静電容量の値を用いて前記論理セルの遅延を求める見積を行う、処理をコンピュータが行う半導体集積回路の遅延見積方法が提供される。
【００１４】
上記課題を解決するための手段として、上記方法を行う装置、コンピュータに上記処理を実行させるためのプログラム、及び、そのプログラムを記憶した記憶媒体とすることもできる。
【発明の効果】
【００１５】
半導体集積回路の遅延をセル遅延を含めて見積ることができる。
【図面の簡単な説明】
【００１６】
【図１】電流源トポロジーの例を示す図である。
【図２】図１の電流源トポロジーの素子同定方法の概要を説明するための図である。
【図３】本実施例に係る電流源トポロジーの例を示す図である。
【図４】本実施例に係る電流源トポロジーの例を示す図である。
【図５】図４に示す電流源トポロジーの素子同定方法の概要を説明するための図である。
【図６】回路設計装置のハードウェア構成を示す図である。
【図７】回路設計装置の機能構成例を示す図である。
【図８】本実施例における回路設計装置によって行われる遅延見積に関する全体処理を説明するための図である。
【図９】パラメータ同定処理を説明するためのフローチャート図である。
【図１０】ネットリスト５３の記述例を示す図である。
【図１１】本実施例の効果を説明するための図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施の形態を図面に基づいて説明する。先ず、既知の電流源トポロジーについて説明する。図１は、電流源トポロジーの例を示す図である。図１に例示する電流源トポロジーＴ１では、容量Ｃｍ、電流Ｉｄｃ、及び容量Ｃｏを素子として含む。容量ＣｍはＶｉｎ側の容量を示し、電流Ｉｄｃは直流電流を示し、及び容量ＣｏはＶｏｕｔ側の容量を示す。
【００１８】
【数１】
0006561472.tif 000002
（Ｍ１）
１次の回路でモデリングされる（非特許文献１、２、及び３を参照のこと）。これを以下第１の電流源モデルと言う。
【００１９】
非特許文献３によれば、図１に示す電流源トポロジーＴ１の容量Ｃｍ、電流Ｉｄｃ、及び容量Ｃｏの各素子の値を同定する方法が示されている。即ち、第１の電流源モデルを用いて各値を取得する。図１の電流源トポロジーＴ１の素子を同定する方法について図２で説明する。
【００２０】
図２は、図１の電流源トポロジーの素子同定方法の概要を説明するための図である。図２（Ａ）は、電流Ｉｄｃの値（電流値）を同定するＩｄｃ取得回路モデル３ａを例示している。Ｉｄｃ取得回路モデル３ａでは、セル２ｃの入力側及び出力側に電流源となるＤＣ（Direct Current）２ｄが接続される。２つのＤＣ２ｄは、時間に依存せず、一定の電流量を示す。
【００２１】
セルの入力側の電圧Ｖｉｎ及び出力側の電圧Ｖｏｕｔで表される空間を状態空間４という。この状態空間４において、異なる電圧Ｖｉｎ及び電圧Ｖｏｕｔの組み合せ（格子点）毎に、電流Ｉｄｃの値を得る。電圧Ｖｉｎ及び電圧Ｖｏｕｔの組み合せを、以下、空間という。
【００２２】
図２（Ｂ）は、容量Ｃｍの値（容量値）を得るためのＣｍ取得回路モデル３ｂを例示している。Ｃｍ取得回路モデル３ｂでは、セル２ｃの入力側に一定の電流量のＤＣ２ｄが接続され、出力側には与えられた時間内で電圧最小値から電圧最大値まで上昇するランプ電圧源２ｅが接続される。
【００２３】
このＣｍ取得回路モデル３ｂにより、電圧Ｖｉｎを固定で、電圧Ｖｏｕｔが上昇することにより状態遷移させて、空間毎の容量Ｃｍの値を同定する。状態空間４において、容量Ｃｍの値を同定した空間に対して、丸印が示されている。
【００２４】
図２（Ｃ）は、容量Ｃｍ及びＣｏの合算値（容量値）を得るためのＣｍ＋Ｃｏ取得回路モデル３ｃを例示している。Ｃｍ＋Ｃｏ取得回路モデル３ｃでは、セル２ｃの入力側に与えられた時間内で電圧最小値から電圧最大値まで上昇するランプ電圧源２ｅが接続され、出力側には一定の電流量のＤＣ２ｄが接続される。
【００２５】
このＣｍ＋Ｃｏ取得回路モデル３ｃにより、電圧Ｖｏｕｔを固定で、電圧Ｖｉｎが上昇することにより状態遷移させて、容量Ｃｍ及びＣｏの合算値（容量値）を同定する。状態空間４において、容量Ｃｍの値を同定した空間に対して、丸印が示されている。
【００２６】
Ｃｍ取得回路モデル３ｂにより得られた容量Ｃｍの値を、容量Ｃｍ及びＣｏの合算値（容量値）から減算することで、空間毎の容量Ｃｏの値（容量値）を同定できる。よって、第１の電流源モデルの容量Ｃｍ、電流Ｉｄｃ、及び容量Ｃｏの値が特定される。
【００２７】
発明者は、セル２ｃの遅延見積の誤差をＳＰＩＣＥ（Simulation Program with Integrated Circuit Emphasis）を用いて検証した。ＳＰＩＣＥを用いたセル２ｃの遅延見積結果（実験結果）と、第１の電流源モデルを用いて行ったセル２ｃの遅延見積結果との間を誤差とし、以下の結果を得た。
（実験１）
セル２ｃが２並列インバーターの場合、遅延見積誤差は１．３％であった。
（実験２）
セル２ｃが２６並列インバーターの場合、遅延見積誤差は８．６％であった。
【００２８】
このような実験１及び２より、セル２ｃが複雑な構成になると、遅延見積誤差が大きくなると考えられる。発明者は、試行錯誤の結果、第１の電流源モデルに抵抗を付加することで遅延見積誤差を小さくできることを発見した。発明者によって提案される改善された第２の電流源モデルは、
【００２９】
【数２】
0006561472.tif 000003
のように２次モデルで表される。この第２の電流源モデルは、図３に示すような電流源トポロジーＴ１０に相当する。
【００３０】
図３は、本実施例に係る電流源トポロジーの例を示す図である。図３に示す発明者が見出した電流源トポロジーＴ１０は、図１の電流源トポロジーＴ１において、容量Ｃｍと電流Ｉｄｃとの間に抵抗Ｒｍが直列に追加された構成である。抵抗Ｒｍを追加することで、図１１で後述されるように、誤差を小さくすることが可能となる。
【００３１】
次に、電流源トポロジーＴ１０の抵抗Ｒｍを同定する方法について図４で説明する。図４は、本実施例に係る電流源トポロジーの例を示す図である。図４において、本実施例に係る電流源トポロジーＴ１０は、セル２ｃの入出力両側に特徴があるランプ電圧源２１及び２２を夫々印加することで、抵抗Ｒｍの値を同定する。即ち、第２の電流源モデルの抵抗Ｒｍの値を得ることができる。
【００３２】
図５は、図４に示す電流源トポロジーの素子同定方法の概要を説明するための図である。図５では、容量Ｃｍ、電流Ｉｄｃ、及び容量Ｃｏの同定は、図２に示した通りであるので、抵抗Ｒｍについてのみ説明する。
【００３３】
ランプ電圧源２１及び２２の特徴は、例えば、以下の通りである。
（特徴１）
図５の左側のグラフ７ａで、ランプ電圧源２１の特徴が表される。グラフ７ａは、縦軸に電圧を示し、横軸に時間を示した、電圧Ｖｉｎ及び電圧Ｖｏｕｔの時間経過により変化させる例を直線で表したグラフである。
【００３４】
グラフ７ａでは、電圧Ｖｉｎの変化を固定して、電圧Ｖｏｕｔの変化は異なる傾きの４つの直線で例示している。単位時間当たりの電圧の変化量を表す傾きを固定した電圧Ｖｉｎに対して、傾きの異なる電圧Ｖｏｕｔの直線毎に、シミュレーションが行われる。
【００３５】
従って、セル２ｃの入力側のランプ電圧源２１の電圧変化を示す直線の傾きを固定して、出力側のランプ電圧源２２の電圧変化を示す直線の傾きを変化させ、電圧Ｖｉｎと電圧Ｖｏｕｔとによる状態空間４の略全体をカバーしながら抵抗Ｒｍの値を同定する。
（特徴２）
図５の右側のグラフ７ｂで、ランプ電圧源２２の特徴が表される。グラフ７ｂは、縦軸に電圧を示し、横軸に時間を示した、電圧Ｖｉｎ及び電圧Ｖｏｕｔの時間経過により変化させる例を直線で表したグラフである。
【００３６】
グラフ７ｂでは、電圧Ｖｉｎの変化を固定して、電圧Ｖｏｕｔの変化は異なる傾きの４つの直線で例示している。単位時間当たりの電圧の変化量を表す傾きを固定した電圧Ｖｉｎに対して、傾きの異なる電圧Ｖｏｕｔの直線毎に、シミュレーションが行われる。
【００３７】
従って、セル２ｃの出力側のランプ電圧源２２の電圧変化を示す直線の傾きを固定して、入力側のランプ電圧源２１の電圧変化を示す直線の傾きを変化させ、電圧Ｖｉｎと電圧Ｖｏｕｔとによる状態空間４の略全体をカバーしながら抵抗Ｒｍの値を同定する。
【００３８】
上記（特徴１）及び（特徴２）により、精度良く抵抗Ｒｍを同定できる。即ち、第２の電流源モデルの抵抗Ｒｍの値を得る。
【００３９】
次に、上述したような素子値を同定する処理を行う回路設計装置１００について説明する。本実施例に係る回路設計装置１００は、例えば、図６に示すようなハードウェア構成を有する。
【００４０】
図６は、回路設計装置のハードウェア構成を示す図である。図６において、回路設計装置１００は、コンピュータによって制御される情報処理装置であって、ＣＰＵ（Central Processing Unit）１１と、主記憶装置１２と、補助記憶装置１３と、入力装置１４と、表示装置１５と、通信Ｉ／Ｆ（インターフェース）１７と、ドライブ装置１８とを有し、バスＢに接続される。
【００４１】
ＣＰＵ１１は、主記憶装置１２に格納されたプログラムに従って回路設計装置１００を制御する。主記憶装置１２には、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等が用いられ、ＣＰＵ１１にて実行されるプログラム、ＣＰＵ１１での処理に必要なデータ、ＣＰＵ１１での処理にて得られたデータ等を記憶又は一時保存する。
【００４２】
補助記憶装置１３には、ＨＤＤ（Hard Disk Drive）等が用いられ、各種処理を実行するためのプログラム等のデータを格納する。補助記憶装置１３に格納されているプログラムの一部が主記憶装置１２にロードされ、ＣＰＵ１１に実行されることによって、各種処理が実現される。主記憶装置１２及び補助記憶装置１３が、記憶部１３０に相当する。
【００４３】
入力装置１４は、マウス、キーボード等を有し、ユーザが回路設計装置１００による処理に必要な各種情報を入力するために用いられる。表示装置１５は、ＣＰＵ１１の制御のもとに必要な各種情報を表示する。入力装置１４と表示装置１５とは、一体化したタッチパネル等によるユーザインタフェースであってもよい。通信Ｉ／Ｆ１７は、有線又は無線などのネットワークを通じて通信を行う。通信Ｉ／Ｆ１７による通信は無線又は有線に限定されるものではない。 
回路設計装置１００によって行われる処理を実現するプログラムは、例えば、ＣＤ−ＲＯＭ（Compact Disc Read-Only Memory）等の記憶媒体１９によって回路設計装置１００に提供される。
【００４４】
ドライブ装置１８は、ドライブ装置１８にセットされた記憶媒体１９（例えば、ＣＤ−ＲＯＭ等）と回路設計装置１００とのインターフェースを行う。
【００４５】
また、記憶媒体１９に、後述される本実施の形態に係る種々の処理を実現するプログラムを格納し、この記憶媒体１９に格納されたプログラムは、ドライブ装置１８を介して回路設計装置１００にインストールされる。インストールされたプログラムは、回路設計装置１００により実行可能となる。
【００４６】
尚、プログラムを格納する記憶媒体１９はＣＤ−ＲＯＭに限定されず、コンピュータが読み取り可能な、構造（structure）を有する１つ以上の非一時的（non-transitory）な、有形（tangible）な媒体であればよい。コンピュータ読取可能な記憶媒体として、ＣＤ−ＲＯＭの他に、ＤＶＤディスク、ＵＳＢメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
【００４７】
図７は、回路設計装置の機能構成例を示す図である。図７において、回路設計装置１００は、シミュレーション部４１と、パラメータ同定部４２と、遅延見積部４３とを有する。シミュレーション部４１と、パラメータ同定部４２と、遅延見積部４３とは、対応するプログラムをＣＰＵ１１が実行することで行われる処理によって実現される。
【００４８】
また、記憶部１３０には、ＰＤＫ（Process Design Kit）５１、セルライブラリ５２、ネットリスト５３、シミュレーション結果６１、パラメータデータ６２、遅延見積結果６３等が記憶される。
【００４９】
シミュレーション部４１は、ＰＤＫ５１、セルライブラリ５２、ネットリスト５３等を読み込んで、上述したセル２ｃの入出力側に電圧源を印加した４つの回路モデル３ａ、３ｂ、及び３ｃでシミュレーションを行って、シミュレーション結果６１を得る。
【００５０】
シミュレーション結果６１は、第１の電流源モデル（図１の電流源トポロジーＴ１）を用いた結果を示す。即ち、本実施例に係る第２の電流源モデルにおいて抵抗Ｒｍがゼロのときの容量Ｃｍ、電流Ｉｄｃ、及び容量Ｃｏの各値が、シミュレーション結果６１によって示される。
【００５１】
パラメータ同定部４２は、シミュレーション結果６１の電流Ｉｄｃの値を電流Ｉの初期値として、抵抗Ｒｍ、容量Ｃｍ、及び容量Ｃｏの値が収束するまで、本実施例に係る第２の電流源モデルを用いた演算を繰り返し実行する。パラメータ同定部４２によるパラメータデータ６２が記憶部１３０に記憶される。パラメータデータ６２は、収束した抵抗Ｒｍ、容量Ｃｍ、及び容量Ｃｏの値を含む。
【００５２】
ＳＰＩＣＥ等を用いて、電流Ｉｄｃ、抵抗Ｒｍ、容量Ｃｍ、及び容量Ｃｏ等の素子の値を精度良く取得することが望ましい。各素子の値の同定後には、第２の電流源モデルを使用することで、ＳＰＩＣＥによる処理負荷分を低減させることができる。遅延見積に係るシミュレーションの時間を短縮できる。
【００５３】
遅延見積部４３は、抵抗Ｒｍ、容量Ｃｍ、及び容量Ｃｏの値を含むパラメータデータ６２を用いて、所定の微分方程式を解いて遅延を求める。遅延見積部４３による遅延見積結果６３が記憶部１３０に記憶される。
【００５４】
回路設計装置１００によって行われる遅延見積に関する全体処理について図８で説明する。図８は、本実施例における回路設計装置によって行われる遅延見積に関する全体処理を説明するための図である。
【００５５】
図８において、シミュレーション部４１は、ＰＤＫ５１、セルライブラリ５２、及びネットリスト５３を読み込んで、第１の電流源モデルを用いて、容量Ｃｍ、電流Ｉｄｃ、及び容量Ｃｏの値を同定するシミュレーション処理を行って、シミュレーション結果６１を記憶部１３０に記憶する（ステップＳ１１）。
【００５６】
次に、パラメータ同定部４２は、シミュレーション結果６１で示される電流Ｉｄｃの値を電流Ｉの初期値に設定し、本実施例に係る電流源トポロジーＴ１０（即ち、第２の電流源モデル）を用いて、抵抗Ｒｍ、容量Ｃｍ、及び容量Ｃｏの値を同定するパラメータ同定処理を行う（ステップＳ１２）。同定された抵抗Ｒｍ、容量Ｃｍ、及び容量Ｃｏの値を含むパラメータデータ６２が記憶部１３０に記憶される。
【００５７】
そして、遅延見積部４３は、パラメータデータ６２を用いて、所定の微分方程式を解いて遅延を求める遅延見積処理を行う（ステップＳ１３）。
【００５８】
次に、図８のステップＳ１２における、パラメータ同定部４２によるパラメータ同定処理について図９で説明する。図９は、パラメータ同定処理を説明するためのフローチャート図である。
【００５９】
図９において、パラメータ同定部４２は、シミュレーション部５１が第１の電流源モデルで取得した電流Ｉｄｃの値を電流Ｉの初期値に設定する（ステップＳ７０）。第２の電流源モデルにおいて抵抗Ｒｍがゼロのときに相当する。電流Ｉは、パラメータ同定処理において、セル２ｃのトータル電流値に相当する。
【００６０】
パラメータ同定部４２は、電流Ｉを用いて、Ｒｍ取得回路モデル５により抵抗Ｒｍを計算する（ステップＳ７１）。パラメータ同定部４２は、シミュレーション部４１に、Ｒｍ取得回路モデル５によって全ての空間をスキャンさせることで、抵抗Ｒｍの値を取得する。シミュレーション部４１は、Ｒｍ取得回路モデル５での動作を、ネットリスト５３内の記述に従ってシミュレーションする。ネットリスト５３内の記述例は、後述される。
【００６１】
そして、パラメータ同定部４２は、第２の電流源モデルに電流Ｉ及び抵抗Ｒｍを適用して、抵抗Ｒｍが０でない時、容量Ｃｍを計算し（ステップＳ７２）、また、抵抗Ｒｍが０でない時、容量Ｃｏを計算する（ステップＳ７３）。
【００６２】
パラメータ同定部４２は、抵抗Ｒｍ、容量Ｃｍ及び容量Ｃｏの値が収束したか否かを判断する（ステップＳ７４）。抵抗Ｒｍ、容量Ｃｍ及び容量Ｃｏの各々について、前回の値と今回の値との差が定めた値以下に収束したか否かを判断する。
【００６３】
収束していない場合（ステップＳ７４のＮｏ）、パラメータ同定部４２は、電流Ｉを更新してステップＳ７１へと戻り、上述同様の処理を繰り返す。ステップＳ７１では、更新された電流Ｉで抵抗Ｒｍが計算されることにより、ステップＳ７２及びＳ７３にて、容量Ｃｍ及び容量Ｃｏの値が更新する。
【００６４】
一方、収束した場合（ステップＳ７４のＹｅｓ）、パラメータ同定部４２は、このパラメータ同定処理を終了する。抵抗Ｒｍ、容量Ｃｍ及び容量Ｃｏの値を含むパラメータデータ６２が記憶部１３０に記憶される。
【００６５】
ステップＳ７１において、シミュレーション部４１が、抵抗Ｒｍを求めるために参照するネットリスト５３内の記述例を図１０で説明する。図１０は、ネットリスト５３の記述例を示す図である。
【００６６】
図１０に示すネットリスト５３では、図９のステップＳ７１にて、シミュレーション部４１が参照する箇所の記述例を示している。
【００６７】
電圧最小値及び電圧最大値が、
「.param vMin=-0.1
.param vMax='ve+0.1'」
の記述により指定される。
【００６８】
入力側の電圧上昇を表す直線の傾きｋ１、及び、出力側の電圧上昇を表す直線の傾きｋ２が、
「.param k1=-1.15e11
.param k2=1.15e11」
の記述によりパラメータとして指定される。
【００６９】
入力側の電圧上昇の傾きｋ１を固定した場合の電圧最小値から電圧最大値になるまでの時間ｔ１、及び、出力側の電圧上昇の傾きｋ２を固定した場合の電圧最小値から電圧最大値になるまでの時間ｔ２とが、
「.param t1='(vMin-vMax)/k1'
.param t2='(vMax-vMin)/k2'」
の記述によりパラメータとして指定される。
【００７０】
シミュレーションの時間stoptimeが、
「.param stoptime='min(t1, t2)'」
の記述により時間ｔ１と時間ｔ２のうち短い方の時間であることがパラメータとして指定される。
【００７１】
Ｖｉｎのランプ電圧源２１及びＶｏｕｔのランプ電圧源２２が、
「vvin cIn 0 dc=0 pulse(vMax 'k1*stoptime+vMax' 0 stoptime stoptime '2*stoptime' '20*stoptime')
vvout cOut 0 dc=0 pulse(vMin 'stoptime*k2+vMin' 0 stoptime stoptime '2*stoptime' '20*stoptime')」
の記述により指定される。
【００７２】
傾きｋ２を変更して繰り返す処理が、
「.alter
.param k2=1.15000e+09」
の記述により指定される。
【００７３】
更に、傾きｋ２を変更して繰り返す処理が、
「.alter
.param k2=4.71270e+10」
の記述により指定される。
【００７４】
このようなネットリスト５３を参照することで、Ｒｍ取得回路モデル５において、入力側のランプ電圧源２１の電圧変化、及び、出力側のＶｏｕｔのランプ電圧源２２の電圧変化を、図５に例示したようにシミュレートできる。また、このようなランプ電圧源２１及び２２の振る舞いが、予めプログラムされていてもよい。その場合には、ネットリスト５３内の図１０の記載部分を省略できる。
【００７５】
次に、本実施例におけるパラメータ同定部４２の適用の有無による比較について図１１で説明する。図１１は、本実施例の効果を説明するための図である。図１１に示すグラフは、ＳＰＩＣＥで得た遅延見積との誤差を示す図である。
【００７６】
実験条件は、
・実験セル
２６並列インバーターセル
・Ｐｏｓｔ−ｌａｙｏｕｔセル
Node#:2822, Cap#:2484, Res#:5071, MOSFET#:52
・実験条件
Sloptime:10ps, 20ps, 30ps
Cap Load:0, 1f, 2f, 5f, 10f, 20f
である。
【００７７】
グラフの、本実施例におけるパラメータ同定部４２の適用の無い関連技術とＳＰＩＣＥとの誤差９ａと、本実施例とＳＰＩＣＥとの誤差９ｂとから、
最大誤差：８．６％  −＞  ４．４％
平均誤差：４．９％  −＞  ０．４％
の結果を得た。
【００７８】
即ち、最大誤差に関して、関連技術では８．９％であったのが、本実施例では４．４％であることが分かった。本実施例では、最大誤差を、関連技術の１／２まで小さくすることができた。
【００７９】
また、平均誤差に関して、関連技術では４．９％であったのが、本実施例では０．４％であることが分かった。本実施例では、平均誤差を、関連技術の１／１０まで小さくすることができた。
【００８０】
このように、電流源モデルに抵抗素子を追加して、入力側と出力側にランプ電圧源を接続した回路モデルでシミュレーションすることで、セル遅延を考慮した遅延見積を精度よく行える。
【００８１】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、主々の変形や変更が可能である。
【００８２】
以上の実施形態に関し、更に以下の付記を開示する。
（付記１）
セルの電流源モデルに抵抗素子を追加して、
前記セルの入力側に第１のランプ電圧源を接続し、出力側に第２のランプ電圧源を接続した、
前記セルのシミュレーション用の回路モデル。
（付記２）
前記第１のランプ電圧源は、固定の電圧変化量で前記セルの前記入力側を印加し、
前記第２のランプ電圧源は、前記第１のランプ電圧源による電圧印加の開始毎に、異なる電圧変化量で前記セルの前記出力側を印加する
ことを特徴とする付記１記載の回路モデル。
（付記３）
前記第２のランプ電圧源は、固定の電圧変化量で前記セルの前記出力側を印加し、  前記第１のランプ電圧源は、前記第２のランプ電圧源による電圧印加の開始毎に、異なる電圧変化量で前記セルの前記入力側を印加する
ことを特徴とする付記１又は２記載の回路モデル。
（付記４）
第１の電流源モデルを用いてセルのシミュレーションを行って、該第１の電流源モデルの各素子の値を同定し、
前記セルの入力側に第１のランプ電圧源を接続し、出力側に第２のランプ電圧源を接続した回路モデルに対して、前記シミュレーションによって同定された電流の値を初期値として用いることで、抵抗の値を取得し、前記第１の電流源モデルに前記抵抗を追加した第２の電流源モデルに、取得した前記抵抗の値を適用することで、該第２の電流源モデルの容量を取得する処理を、収束条件を満たすまで繰り返して該抵抗の値を同定する
処理をコンピュータが行う半導体集積回路の遅延見積方法。
（付記５）
前記第１のランプ電圧源は、固定の電圧変化量で前記セルの前記入力側を印加し、
前記第２のランプ電圧源は、前記第１のランプ電圧源による電圧印加の開始毎に、異なる電圧変化量で前記セルの前記出力側を印加する
ことを特徴とする付記４記載の遅延見積方法。
（付記６）
前記第２のランプ電圧源は、固定の電圧変化量で前記セルの前記出力側を印加し、  前記第１のランプ電圧源は、前記第２のランプ電圧源による電圧印加の開始毎に、異なる電圧変化量で前記セルの前記入力側を印加する
ことを特徴とする付記４又は５記載の遅延見積方法。
（付記７）
第１の電流源モデルを用いてセルのシミュレーションを行って、該第１の電流源モデルの各素子の値を同定するシミュレーション部と、
前記セルの入力側に第１のランプ電圧源を接続し、出力側に第２のランプ電圧源を接続した回路モデルに対して、前記シミュレーションによって同定された電流の値を初期値として用いることで、抵抗の値を取得し、前記第１の電流源モデルに前記抵抗を追加した第２の電流源モデルに、取得した前記抵抗の値を適用することで、該第２の電流源モデルの容量を取得する処理を、収束条件を満たすまで繰り返して該抵抗の値を同定するパラメータ同定部と
を有する半導体集積回路の遅延見積装置。
（付記８）
前記第１のランプ電圧源は、固定の電圧変化量で前記セルの前記入力側を印加し、
前記第２のランプ電圧源は、前記第１のランプ電圧源による電圧印加の開始毎に、異なる電圧変化量で前記セルの前記出力側を印加する
ことを特徴とする付記７記載の遅延見積装置。
（付記９）
前記第２のランプ電圧源は、固定の電圧変化量で前記セルの前記出力側を印加し、  前記第１のランプ電圧源は、前記第２のランプ電圧源による電圧印加の開始毎に、異なる電圧変化量で前記セルの前記入力側を印加する
ことを特徴とする付記７又は８記載の遅延見積装置。
【符号の説明】
【００８３】
２ｃ        セル
３ａ        Ｉｄｃ取得回路モデル、  ３ｂ        Ｃｍ取得回路モデル
３ｃ        Ｃｍ＋Ｃｏ取得回路モデル
１１        ＣＰＵ、                １２        主記憶装置
１３        補助記憶装置、          １４        入力装置
１５        表示装置、              １７        通信Ｉ／Ｆ
１８        ドライブ装置、          １９        記憶媒体
４１        シミュレーション部、    ４２        パラメータ同定部
４３        遅延見積部
５１        ＰＤＫ、                ５２        セルライブラリ
５３        ネットリスト
６１        シミュレーション結果、  ６２      パラメータデータ
６３        遅延見積結果
１００      回路設計装置
Ｂ          バス
Ｔ１、Ｔ１０    電流源トポロジー
【図１】
0006561472.tif 000004
【図２】
0006561472.tif 000005
【図３】
0006561472.tif 000006
【図４】
0006561472.tif 000007
【図５】
0006561472.tif 000008
【図６】
0006561472.tif 000009
【図７】
0006561472.tif 000010
【図８】
0006561472.tif 000011
【図９】
0006561472.tif 000012
【図１０】
0006561472.tif 000013
【図１１】
0006561472.tif 000014