(57)【要約】      （修正有）【課題】出力負荷を適切に近似して行うためのシミュレーション方法、及び、関連するプログラム、シミュレーション装置を提供する。【解決手段】論理回路を複数の部分回路に分割するモデル生成機能１１１と、分割された複数の部分回路のうち、着目回路と後段に接続される負荷回路とを、前記部分回路が少なくとも１回は着目回路となるように選択する選択機能１１２と、前記着目回路の出力端子を介して駆動されるトランジスタを特定し、該トランジスタのゲート電位に応じて該トランジスタの出力電位を変動させる仮想制御電圧源を、該トランジスタのドレインに接続して前記負荷回路を簡略化する簡略化機能１１３と、前記着目回路と、前記簡略化された負荷回路とを組み合わせて、前記着目回路の遅延特性を評価するシミュレーションを、前記選択される着目回路毎に行うシミュレーション機能１１４とを有するシミュレーション装置を提供する。【選択図】図３
2006146595.tif 000002
【特許請求の範囲】
【請求項１】
論理回路の遅延特性を評価するためのシミュレーションを処理するシミュレーション装置であって、
予め、シミュレーションプログラムが格納される記憶部と、
前記記憶部から前記シミュレーションプログラムを読み出して実行する制御部とを有し、
前記制御部は、
前記論理回路を複数の部分回路に分割するモデル生成機能と、
分割された複数の部分回路のうち、着目回路と前記着目回路の後段に接続される負荷回路とを、前記部分回路が少なくとも１回は着目回路となるように選択する選択機能と、
前記負荷回路をトランジスタレベルで表現するとき、前記着目回路の出力端子を介して駆動されるトランジスタを特定し、該トランジスタのゲート電位に応じて該トランジスタの出力電位を変動させる仮想制御電圧源を、該トランジスタのドレインに接続し、前記仮想制御電圧源が接続された前記トランジスタを用いて前記負荷回路を簡略化する簡略化機能と、
前記着目回路と、前記簡略化された負荷回路とを組み合わせて、前記着目回路に対する入力パターンに基づき、前記着目回路の遅延特性を評価するシミュレーションを、前記選択される着目回路毎に行うシミュレーション機能と、
前記論理回路の入力端子と出力端子を接続する経路毎に、該経路に含まれる前記部分回路の遅延特性に基づき、該経路全体の遅延特性を求めるライブラリ生成機能とを前記シミュレーションプログラムを実行して実現することを特徴とするシミュレーション装置。
【請求項２】
請求項１において、
前記仮想制御電圧源は、前記ゲート電位に対応する信号レベルがHIGHならばLOWに対応する電位を、LOWならばHIGHに対応する電位を与えることを特徴とするシミュレーション装置。
【請求項３】
論理回路の遅延特性を評価するためのシミュレーション装置であって、
前記論理回路を複数の部分回路に分割するモデル生成部と、
分割された複数の部分回路のうち、着目回路と前記着目回路の後段に接続される負荷回路とを、前記部分回路が少なくとも１回は着目回路となるように選択する選択部と、
前記負荷回路をトランジスタレベルで表現するとき、前記着目回路の出力端子を介して駆動されるトランジスタを特定し、該トランジスタのゲート電位に応じて該トランジスタの出力電位を変動させる仮想制御電圧源を、該トランジスタのドレインに接続し、前記仮想制御電圧源が接続された前記トランジスタを用いて前記負荷回路を簡略化部と、
前記着目回路と、前記簡略部により簡略化した負荷回路とを組み合わせて、前記着目回路に対する入力パターンに基づき、前記着目回路の遅延特性を評価するシミュレーションを、前記選択部が選択する着目回路毎に行うシミュレーション部と、
前記論理回路の入力端子と出力端子を接続する経路毎に、該経路に含まれる前記部分回路の遅延特性に基づき、該経路全体の遅延特性を求めるライブラリ生成部とを有することを特徴とするシミュレーション装置。
【請求項４】
論理回路の遅延特性を評価するためのシミュレーション方法であって、
前記論理回路を複数の部分回路に分割し、
分割された複数の部分回路のうち、着目回路と前記着目回路の後段に接続される負荷回路とを、前記部分回路が少なくとも１回は着目回路となるように選択し、
前記負荷回路をトランジスタレベルで表現するとき、前記着目回路の出力端子を介して駆動されるトランジスタを特定し、
該トランジスタのゲート電位に応じて該トランジスタの出力電位を変動させる仮想制御電圧源を、該トランジスタのドレインに接続し、
前記仮想制御電圧源が接続された前記トランジスタを用いて前記負荷回路を簡略化し、
前記着目回路と、前記簡略部により簡略化した負荷回路とを組み合わせて、前記着目回路に対する入力パターンに基づき、前記着目回路の遅延特性を評価するシミュレーションを、前記選択部が選択する着目回路毎に行い、
前記論理回路の入力端子と出力端子を接続する経路毎に、該経路に含まれる前記部分回路の遅延特性に基づき、該経路全体の遅延特性を求めることを特徴とするシミュレーション方法。
【請求項５】
論理回路の遅延特性を評価するためのシミュレーションを処理するコンピュータに、
前記論理回路を複数の部分回路に分割するモデル生成機能と、
分割された複数の部分回路のうち、着目回路と前記着目回路の後段に接続される負荷回路とを、前記部分回路が少なくとも１回は着目回路となるように選択する選択機能と、
前記負荷回路をトランジスタレベルで表現するとき、前記着目回路の出力端子を介して駆動されるトランジスタを特定し、該トランジスタのゲート電位に応じて該トランジスタの出力電位を変動させる仮想制御電圧源を、該トランジスタのドレインに接続し、前記仮想制御電圧源が接続された前記トランジスタを用いて前記負荷回路を簡略化する簡略化機能と、
前記着目回路と、前記簡略化された負荷回路とを組み合わせて、前記着目回路に対する入力パターンに基づき、前記着目回路の遅延特性を評価するシミュレーションを、前記選択される着目回路毎に行うシミュレーション機能と、
前記論理回路の入力端子と出力端子を接続する経路毎に、該経路に含まれる前記部分回路の遅延特性に基づき、該経路全体の遅延特性を求めるライブラリ生成機能とを実現させるためのシミュレーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、LSI(Large Scale Integration)における回路の遅延特性評価のための回路シミュレーション方法に関し、特に、回路を簡略化してシミュレーションを行う方法、及び、関連するプログラム、装置に関する。
【背景技術】
【０００２】
集積回路における遅延特性を評価する方法として、集積回路から部分回路を切り出し、切り出された部分回路（着目ブロックと呼ぶ）毎に、遅延特性評価を行うことが知られている。集積回路から部分回路を切り出すには、例えば、トランジスタのドレインを起点として、電源またはゲートまで接続されているトランジスタ及び抵抗をソース接続デバイス群(Source Connected device Cluster、以下SCC)とするとき、ゲート入力を境目として分割するSCC境界法によって集積回路を分割する。
【０００３】
この場合、着目ブロックの出力側端子に接続される回路（以下、出力負荷回路）を着目ブロックと同様に切り出し、両者を合わせてシミュレーションに使用することにより、実際の集積回路と同じ出力負荷を考慮した遅延特性評価を行うことが可能になる。しかし、着目ブロックの他に出力負荷回路を用いるとシミュレーションに使用する回路規模が大きくなりがちであり、また、着目ブロックのためだけでなく出力負荷回路のための、シミュレーション用情報（各種設定パラメータや、入力データのパターン）が必要となる。
【０００４】
すると、すべての入力データのパターンに対する遅延値から最大遅延となる遅延を特定しようとする場合など、シミュレーションの回数、１回のシミュレーションにかかる時間が増大してしまう。そこで、出力負荷回路を簡略化（モデル化）することで、シミュレーションの回路規模を縮小したり、シミュレーション用情報を削減したりすることが行われている。
【０００５】
例えば、着目ブロックの出力がゲート入力となっているトランジスタとその寄生容量だけを切り出し、切り出されたトランジスタのソースとドレインとを短絡するモデリングや、切り出されたトランジスタのソースとドレイン間に固定電位を与えたりするモデリングが適用される。
【０００６】
なお、関連する従来技術として、特許文献１には大規模な集積回路に対するタイミング検証方法が記載される。
【特許文献１】特開平１１−２９６５７２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、従来技術における簡略化においては、トランジスタのオンオフの状態を切替えるスイッチングの過程で、ドレインとソース間の容量が大きくなり、電圧がほとんど変化しなくなるミラー効果と同様の現象が生じてしまうため、出力負荷が実際より過少に見積もられてしまうという課題を有していた。
【０００８】
そこで、本発明の目的は、LSIにおける遅延特性評価のための回路シミュレーションにおいて、出力負荷を（過少評価することなく）適切に近似して行うためのシミュレーション方法、及び、関連するプログラム、シミュレーション装置を提供することにある。
【課題を解決するための手段】
【０００９】
上記目的は、本発明の第一の側面として、論理回路の遅延特性を評価するためのシミュレーションを処理するシミュレーション装置であって、予め、シミュレーションプログラムが格納される記憶部と、前記記憶部から前記シミュレーションプログラムを読み出して実行する制御部とを有し、前記制御部は、前記論理回路を複数の部分回路に分割するモデル生成機能と、分割された複数の部分回路のうち、着目回路と前記着目回路の後段に接続される負荷回路とを、前記部分回路が少なくとも１回は着目回路となるように選択する選択機能と、前記負荷回路をトランジスタレベルで表現するとき、前記着目回路の出力端子を介して駆動されるトランジスタを特定し、該トランジスタのゲート電位に応じて該トランジスタの出力電位を変動させる仮想制御電圧源を、該トランジスタのドレインに接続し、前記仮想制御電圧源が接続された前記トランジスタを用いて前記負荷回路を簡略化する簡略化機能と、前記着目回路と、前記簡略化された負荷回路とを組み合わせて、前記着目回路に対する入力パターンに基づき、前記着目回路の遅延特性を評価するシミュレーションを、前記選択される着目回路毎に行うシミュレーション機能と、前記論理回路の入力端子と出力端子を接続する経路毎に、該経路に含まれる前記部分回路の遅延特性に基づき、該経路全体の遅延特性を求めるライブラリ生成機能とを前記シミュレーションプログラムを実行して実現することを特徴とするシミュレーション装置を提供することにより達成される。
【００１０】
また、上記目的は、第二の側面として、論理回路の遅延特性を評価するためのシミュレーション装置であって、前記論理回路を複数の部分回路に分割するモデル生成部と、分割された複数の部分回路のうち、着目回路と前記着目回路の後段に接続される負荷回路とを、前記部分回路が少なくとも１回は着目回路となるように選択する選択部と、前記負荷回路をトランジスタレベルで表現するとき、前記着目回路の出力端子を介して駆動されるトランジスタを特定し、該トランジスタのゲート電位に応じて該トランジスタの出力電位を変動させる仮想制御電圧源を、該トランジスタのドレインに接続し、前記仮想制御電圧源が接続された前記トランジスタを用いて前記負荷回路を簡略化部と、前記着目回路と、前記簡略部により簡略化した負荷回路とを組み合わせて、前記着目回路に対する入力パターンに基づき、前記着目回路の遅延特性を評価するシミュレーションを、前記選択部が選択する着目回路毎に行うシミュレーション部と、前記論理回路の入力端子と出力端子を接続する経路毎に、該経路に含まれる前記部分回路の遅延特性に基づき、該経路全体の遅延特性を求めるライブラリ生成部とを有することを特徴とするシミュレーション装置を提供することにより達成される。
【００１１】
また、上記目的は、第三の側面として、論理回路の遅延特性を評価するためのシミュレーション方法であって、前記論理回路を複数の部分回路に分割し、分割された複数の部分回路のうち、着目回路と前記着目回路の後段に接続される負荷回路とを、前記部分回路が少なくとも１回は着目回路となるように選択し、前記負荷回路をトランジスタレベルで表現するとき、前記着目回路の出力端子を介して駆動されるトランジスタを特定し、該トランジスタのゲート電位に応じて該トランジスタの出力電位を変動させる仮想制御電圧源を、該トランジスタのドレインに接続し、前記仮想制御電圧源が接続された前記トランジスタを用いて前記負荷回路を簡略化し、前記着目回路と、前記簡略部により簡略化した負荷回路とを組み合わせて、前記着目回路に対する入力パターンに基づき、前記着目回路の遅延特性を評価するシミュレーションを、前記選択部が選択する着目回路毎に行い、前記論理回路の入力端子と出力端子を接続する経路毎に、該経路に含まれる前記部分回路の遅延特性に基づき、該経路全体の遅延特性を求めることを特徴とするシミュレーション方法を提供することにより達成される。
【００１２】
また、上記目的は、第四の側面として、論理回路の遅延特性を評価するためのシミュレーションを処理するコンピュータに、前記論理回路を複数の部分回路に分割するモデル生成機能と、分割された複数の部分回路のうち、着目回路と前記着目回路の後段に接続される負荷回路とを、前記部分回路が少なくとも１回は着目回路となるように選択する選択機能と、前記負荷回路をトランジスタレベルで表現するとき、前記着目回路の出力端子を介して駆動されるトランジスタを特定し、該トランジスタのゲート電位に応じて該トランジスタの出力電位を変動させる仮想制御電圧源を、該トランジスタのドレインに接続し、前記仮想制御電圧源が接続された前記トランジスタを用いて前記負荷回路を簡略化する簡略化機能と、前記着目回路と、前記簡略化された負荷回路とを組み合わせて、前記着目回路に対する入力パターンに基づき、前記着目回路の遅延特性を評価するシミュレーションを、前記選択される着目回路毎に行うシミュレーション機能と、前記論理回路の入力端子と出力端子を接続する経路毎に、該経路に含まれる前記部分回路の遅延特性に基づき、該経路全体の遅延特性を求めるライブラリ生成機能とを実現させるためのシミュレーションプログラムを提供することにより達成される。
【００１３】
上記発明の第一から第四の側面においてより好ましい実施例によれば、前記仮想制御電圧源は、前記ゲート電位に対応する信号レベルがHIGHならばLOWに対応する電位を、LOWならばHIGHに対応する電位を与える。
【発明の効果】
【００１４】
本発明によれば、規模の大きな負荷回路を、仮想制御電圧源を用いて簡略化することによって、その負荷回路の負荷が過少に見積られることを防ぐことができる。こうして、実際の負荷回路に最大負荷となるパターンを与えた場合と同じか、それより大きな負荷でのシミュレーションが可能であり、従来技術より実際の回路に即したシミュレーションを行うことできる。
【００１５】
簡略化においては、負荷回路の入力端子から接続を辿るとき最初に発見されるトランジスタ以外が削除されるトランジスタ数が削減されており、シミュレーション処理を高速化することもできる。この簡略化された負荷回路は、不安定な回路ではないため、シミュレータの実装の影響によって動作が不安定になる可能性が小さい。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施の形態について図面に従って説明する。しかしながら、本発明の技術的範囲はかかる実施の形態に限定されるものではなく、特許請求の範囲に記載された発明とその均等物にまで及ぶものである。
【００１７】
図１は、本発明の実施形態において評価される遅延特性を説明する図である。本実施形態においては、遅延特性として、遅延時間と、入力スルー、出力スルーが評価される。図１Ａは、一例として３入力のNORゲートを示している。図１Ｂは、その真理値表である。
【００１８】
図１Ｃは、３入力の端子Ｉ0、Ｉ1、Ｉ2のうち、端子Ｉ1、Ｉ2には固定電位を与えておき、端子Ｉ0に与える電位を変動させるときの出力変化を示すものである。この電位変動は、（Ｉ0、Ｉ1、Ｉ2）＝（０、０、０）から（Ｉ0、Ｉ1、Ｉ2）＝（１、０、０）への変化に対応し、図１Ｂを参照すれば、出力端子Ｏｕｔにおいて、電位変化に対応するH(High)からL(Low)への信号レベルの変化が起こることがわかる。
【００１９】
遅延時間は、入力端子Ｉ0に与える電位の変動時刻から、出力端子Ｏｕｔにおける電位の変動時刻までの時間である。より詳細には、例えば、信号レベルがLからH、又は、HからLに遷移する際の５０％レベル点で遅延時間を計る。図１Ｃにおいて、Ｌ＝０ｖ、Ｈ＝５ｖであれば、入力端子Ｉ0においてLからHになるとき２．５ｖになる時刻から、出力端子ＯｕｔにおいてHからLになるとき２．５ｖになる時刻までの時間が遅延時間とされる。
【００２０】
入力スルー又は出力スルーとは、信号レベルがLからH、又は、HからLに遷移する際に、例えば、２０％レベル点から８０％レベル点（またはその逆に）変化するのに要する時間である。図１Ｃにおいて、Ｌ＝０ｖ、Ｈ＝５ｖであれば、１ｖから４ｖへ（またはその逆）変化するのに要する時間をいう。図１Ｃのようなタイミングチャートにするとき、入力スルー、出力スルーの大小は、変化の傾きに表れ、傾きが大きければ、それだけ短い時間で変化するため、スルーは小さい。
【００２１】
ここでは、Ｉ0に与える電位を変動させたが、実際のシミュレーションにおいては、変動する電位を与える入力端子を変え、そのとき他の入力端子に与える固定電位を変え、入力スルーを変え、さまざまな入力パターンの組合せが試され、遅延時間、出力スルーの結果が蓄積される。
【００２２】
図２は、本発明の実施形態におけるシミュレーション装置１の構成ブロック図である。シミュレーション装置１は、デスクトップ型PC、ノートブック型PC、PDA(Personal Digital Assistance)、サーバ等の情報処理装置であって、バス３４を介して互いに接続される制御部１１、RAM(Random Access Memory)１２、記憶部１３、周辺機器接続用インタフェース(周辺機器I/F)１５、情報が入力される入力部１６、情報を出力し、利用者に情報を与えるための出力部１７を含む。
【００２３】
制御部１１は、図示省略されたCPU(Central Processing Unit)を含み、RAM１２に格納されるプログラムを実行し、シミュレーション装置１に含まれる各部を制御する。RAM１２は、シミュレーション装置１の処理における演算結果やプログラムが一時的に格納される記憶手段である。記憶部１３は、ハードディスク、光ディスク、磁気ディスク、フラッシュメモリ等の不揮発性記憶手段であり、各種データやRAM１２へ読み出される前のOS(Operating System)等のプログラムが格納される。
【００２４】
周辺機器I/F１５は、シミュレーション装置１に周辺機器を接続するためのインタフェースであり、パラレルポート、USB(Universal Serial Bus)ポートや、PCIカードスロット等である。周辺機器としては、プリンタ、TVチューナ、SCSI(Small Computer System Interface)機器、オーディオ機器、ドライブ装置、メモリカードリーダライタ、ネットワークインタフェースカード、無線LANカード、モデムカード、キーボードやマウス、ディスプレイ装置など多岐に渡る。周辺機器とシミュレーション装置１との接続形態は、有線であっても無線であっても構わない。
【００２５】
出力部１７は、情報を出力し、利用者に情報を与えるための出力手段であり、CRT(Cathode Ray Tube)、液晶ディスプレイ等ユーザに情報を提示する表示手段の他、音声によって指示や情報を読み上げて利用者に伝えるスピーカなどである。入力部１６は、キーボード、マウス等ユーザの要求が入力される入力手段である。また、シミュレーション装置１は、CD(Compact Disc)、DVD(Digital Versatile Disk)、MO(Magneto-Optical)ディスク等の記憶媒体を読み出すためのドライブ装置を持つ場合がある。ドライブ装置を使用すれば、記憶媒体に格納された情報が読み出され、シミュレーション装置１に入力される。つまり、ドライブ装置も、入力部１６として機能する。
【００２６】
図３は、本実施形態におけるシミュレーション装置１の制御部１１を説明する機能ブロック図である。制御部１１は、モデル生成部１１１、選択部１１２、簡略化部１１３、シミュレーション部１１４、ライブラリ生成部１１５を含んでいる。制御部１１の各機能部は、制御部１１に備えられる図示省略されたCPUで実行されるプログラムとして実現されるが、ハードウェアにより実現することも可能である。
【００２７】
本実施形態においては、遅延特性を評価する対象である全体回路を複数の部分回路に分割し、部分回路の遅延特性を基に、全体回路の遅延特性を評価するものである。その特徴は、部分回路の遅延特性を評価するにあたり、評価される部分回路（これを着目回路と呼ぶ）の後段の負荷回路の回路規模が大きい場合、負荷回路に含まれるトランジスタのゲート電位に応じて、そのトランジスタの出力電位を変動させることのできる仮想制御電圧源を付加することで、負荷が過少に見積られることを防ぐ点にある。なお予め、記憶部１３には、遅延特性を評価する対象である全体回路のネットリストが、ゲートレベル又はトランジスタレベルで記述され格納されているものとする。
【００２８】
モデル生成部１１１は、全体回路のネットリストを基に、全体回路を複数の部分回路に分割する。例えば、トランジスタレベルで記述された全体回路において、Pチャネル型MOSトランジスタ(以下PMOSと略)とNチャネル型MOSトランジスタ(以下NMOSと略)のドレイン接続を起点として、電源(Vdd)、接地(Vss)又は、他のトランジスタのゲート端子に辿りつく接続を探索し、探索結果の接続形態に含まれる、電源、接地、トランジスタ、抵抗等をソース接続デバイス群(source connected device cluster、略してSCC)としてまとめる。こうすると、トランジスタレベルで記述された全体回路中の、トランジスタ、抵抗、線形インダクタ等を漏れなく、そして重複無く、複数のグループに分割でき、結果として、全体回路を複数の部分回路に分割することができる。なお、このSCCを用いた分割を行うに際して、全体回路がゲートレベルで記述されている場合は、モデル生成部１１１が、前処理として全体回路をトランジスタレベルの記述に変換すればよい。
【００２９】
選択部１１２は、複数の部分回路のうち遅延特性評価を行う対象の部分回路を着目回路として、その着目回路の後段に接続される部分回路を負荷回路として選択する。選択部１１２は、複数の部分回路が１回は着目回路になるように選択を行い、各着目回路に対応する負荷回路を関連付けて記憶部１３に格納する。すると、着目回路と負荷回路の組が複数生成される。
【００３０】
選択部１１２は、生成された組をどの順番でシミュレーションするのが最適か決定するためトポロジーソートを行って組に順位を付け、その順位をトポロジーソート結果として記憶部１３に格納しておく。トポロジーソートのアルゴリズムは、例えば、全体回路の入力端子に近い方を高い順位にする、などとすればよい。
【００３１】
簡略化部１１３は、トポロジーソート結果順にシミュレーションを行うとき、着目回路に対応付けられた負荷回路の回路規模が大きい場合に、負荷回路を上述した仮想制御電圧源を用いて簡略化する。簡略化の様子については、後述する。
【００３２】
シミュレーション部１１４は、トポロジーソート結果順にシミュレーションを行うとき、着目回路に対する入力パターンを生成し、着目回路の遅延特性を評価する。シミュレーションの結果は、記憶部１３にシミュレーション結果として格納する。
【００３３】
ライブラリ生成部１１５は、シミュレーション結果として求められた部分回路の遅延特性を基に、全体回路の遅延特性を評価する。こうして、全体回路における入力端子と出力端子を結ぶ経路毎の遅延特性が評価され、結果、全体回路の遅延特性が明らかとなる。
【００３４】
図４は、本実施形態におけるシミュレーション装置１の動作を説明するフローチャートである。
まず、モデル生成部１１１が全体回路をSCCに分割する（Ｓ１）。SCCへの分割については、図３のモデル生成部１１１において説明した通りである。
【００３５】
そして、モデル生成部１１１は、SCCに基づき、部分回路を生成する（Ｓ２）。もちろん、最も単純な部分回路の生成法は、SCCに分割されたグループを、そのまま（１対１に対応させて）部分回路として用いることである。ステップＳ２が意味するところは、その他に、SCCに分割されたグループをいくつかまとめたものを部分回路として用いても良いことである。
【００３６】
ステップＳ２が完了すると、選択部１１２が、部分回路のトポロジーソートを行う（Ｓ３）。上述したように、選択部１１２は、複数の部分回路から、まず着目回路を選択し、そして、その着目回路の後段に接続される部分回路から負荷回路を選択する。選択部１１２は、複数の部分回路が１回は着目回路となるよう、この作業を繰り返す。そして、着目回路と負荷回路の複数の組合せを、全体回路における入力端子に近い側に位置する着目回路が、シミュレーションの順位が高くなるよう順位付けし、組合せと共にトポロジーソート結果として記憶部１３に格納する。
【００３７】
続いて、各着目回路についてのシミュレーションが行われる。まず、未処理の着目回路があるかが判断される（Ｓ４）。部分回路の評価特性は、トポロジーソート結果に含まれる着目回路に対して行われるため、未処理の着目回路があれば、まだ、シミュレーションが完了していないことを意味する。
【００３８】
未処理の着目回路がある場合（Ｓ４Ｙｅｓ）、シミュレーション部１１４は、着目回路のネットリストを取得する（Ｓ５）。そして、ステップＳ５で取得した着目回路の前段に、すでに遅延特性評価が完了した部分回路が存在する場合、その部分回路の遅延特性を取得する（Ｓ６）。部分回路が多段に接続される場合、後段になるほど、出力スルーが所定の範囲に絞られることがある。ステップＳ６を行うのは、シミュレーションの完了した部分回路の出力が着目回路の入力となるため、前段の遅延特性を活用すると、次のステップで生成する入力パターンの数を減らすことができ、シミュレーションの高速化につながるためである。
【００３９】
ステップＳ６が済むと、シミュレーション部１１４は、入力パターンを生成する（Ｓ７）。入力パターンは、図１Ｃに示すように、着目回路の入力端子に対する入力情報（L、H、LからHへ変位、HからLへ変位、変位のタイミング）や、入力スルーの組合せのことである。
【００４０】
次に、ステップＳ５で取得された着目回路に対応する負荷回路が取得される（Ｓ８）。ステップＳ８においては、簡略化部１１３が負荷回路のネットリストを取得する。そして、簡略化部１１３は、取得した負荷回路に含まれるトランジスタ数に基づき、負荷回路規模が大きいかを判定する（Ｓ９）。トランジスタ数が所定の閾値よりも大きい場合、負荷回路規模が大きいと判定され（Ｓ９Ｙｅｓ）、簡略化部１１３は、負荷回路の簡略化を行う（Ｓ１１）。ステップＳ１０の処理は、次図５を用いて説明する。
【００４１】
一方、トランジスタ数が所定の閾値よりも小さい場合、負荷回路規模が小さいと判定され（Ｓ９Ｎｏ）、簡略化部１１３は、負荷回路の簡略化をせず、負荷回路の駆動パターンを決定する（Ｓ１０）。負荷回路の駆動パターンの決定とは、負荷回路の入力端子に対する入力情報を与えるとき、負荷回路に含まれるトランジスタのうち導通状態が遷移する数が最大となるときの入力情報を特定し、その入力情報が与えられると仮定するときのトランジスタの状態を、シミュレーションに用いる負荷回路として決定することである。更に、導通状態が遷移するトランジスタ数が最小となるときの入力情報を特定し、その入力情報が与えられるとするときのトランジスタの状態を負荷回路として決定してもよい。前者は、最大負荷をシミュレーションすることとなり、後者は、最小負荷をシミュレーションすることになる。ここでは、最大負荷のシミュレーションを行うだけで十分である。
【００４２】
負荷回路は、着目回路からの出力が入力される他に、入力端子を持つ場合があるから、着目回路に対する入力パターンを考慮すると、それぞれの入力パターンに対応する負荷回路を用意する必要があり、着目回路と負荷回路の１つの組に対し、複数回のシミュレーションが必要になってしまう。そこで、ステップＳ１０により負荷回路の駆動パターンを決定することでコノ問題が回避される。なお、後述するように、ステップＳ１１の簡略化が行われる場合も、この問題は回避されており、着目回路と負荷回路の１つの組に対し、複数回のシミュレーションが必要になることはない。こうして、シミュレーション処理を高速化することができる。
【００４３】
ステップＳ１０又はＳ１１により、簡略化部１１３による処理が済むと、シミュレーション部１１４が、ステップＳ５で取得された着目回路と、ステップＳ１０で駆動パターンが決定されるか、あるいは、ステップＳ１１で簡略化された負荷回路とを用い、ステップＳ７で生成された入力パターンを着目回路に与えるときの、遅延特性（すなわち、遅延時間や出力スルー）を測定する（Ｓ１２）。測定された遅延特性は、着目回路に対するシミュレーション結果として収集され、記憶部１３に格納される（Ｓ１３）。
【００４４】
このとき、シミュレーション部１１４は、上記ステップＳ６で使用するための伝播波形（ステップＳ５で取得された着目回路の後段側に位置する他の部分回路が着目回路として使用される場合に備えた、入力パターン生成用のデータ）を生成する（Ｓ１４）。こうして、トポロジーソート結果に含まれる着目回路と負荷回路の１つの組合せに対するシミュレーションが完了し、その着目回路の遅延特性が求まる。ステップＳ１４が済むと、再び、ステップＳ４に戻り、残りの組合せに対するシミュレーションが行われる。
【００４５】
そしてトポロジーソート結果に含まれる着目回路と負荷回路の全ての組合せに対するシミュレーションが完了すれば、未処理の着目回路がないと判断され（Ｓ４Ｎｏ）、続いて、ライブラリ生成部１１５が、部分回路の遅延特性を基に、全体回路の遅延特性を求める静的遅延解析を行い（Ｓ１５）、ライブラリとして記憶部１３に格納し、シミュレーションを終了する（Ｓ１６）。
【００４６】
ステップＳ１５における静的遅延解析では、まず、全体回路の入力端子と出力端子を接続する経路毎に、その経路に含まれる部分回路を特定し、その部分回路の遅延時間を足して、その経路の遅延時間が求められる。出力スルーに関しても、その経路に含まれる最後段の部分回路における出力スルーが、全体回路の出力スルーとして求められることになる。
【００４７】
図５は、負荷回路を簡略化する際の簡略化部１１３の動作を説明するフローチャートである。これは図４のステップＳ１１を詳細に説明するものである。まず、着目回路に対する入力端子と、ゲート端子とが接続されるトランジスタを抽出する（Ｓ１１１）。抽出されたトランジスタがインバータを構成するものではない場合（Ｓ１１２Ｎｏ）、その抽出されたトランジスタのドレインにゲート電位に応じてトランジスタの出力電位を変動させる仮想制御電圧源(Virtual Control Voltage Source、以下VCVS)を追加する（Ｓ１１４）。本実施形態におけるVCVSは、ゲート電位に対応する信号レベルがHighならばLowに対応する電位を、LowならばHighに対応する電位を与えるものである。ステップＳ１１４におけるVCVSの接続法については、次図６にて詳述する。
【００４８】
抽出されたトランジスタがインバータを構成する場合（Ｓ１１２Ｙｅｓ）には、そのまま負荷回路とし、特に何も処理しない（Ｓ１１３）。インバータを構成するトランジスタにおいては、本発明の前提となる課題が生じないため、仮想制御電圧源の接続は必要ない。
【００４９】
ステップＳ１１３又はＳ１１４が済むと、着目回路に未処理の入力端子があるかを判定する（Ｓ１１５）。未処理の入力端子があれば（Ｓ１１５Ｙｅｓ）、ステップＳ１１１に戻り処理が続行される。着目回路のすべての入力端子に対する処理が完了すれば（Ｓ１１５Ｎｏ）、負荷回路の整形が行われる（Ｓ１１６）。ステップＳ１１６における回路の整形とは、ステップＳ１１１で（負荷回路の入力端子毎に）抽出されるトランジスタ以外の要素を削除することである。
【００５０】
図６は、仮想制御電圧源(VCVS)を接続する方法を説明する図であり、図６ＡはPMOSの場合、図６ＢはNMOSの場合をそれぞれ示す。図６Ａの左図はVCVS接続前の状態を示し、図６Ａの真ん中の図は、VCVS接続後の状態を示す。図６Ａに示されるように、VCVSはPMOSにおける電源Vddの反対となるドレインに接続される。
【００５１】
図６Ａの右図（括弧内の図）は、VCVS接続状態のPMOSを模式化した図である。この図において、PMOSは、ゲート電位がH(High)で接続され、ゲート電位がL(Low)で開放されるスイッチとして記載される。この図において明らかなように、ゲート電位の信号レベルがHとなりスイッチが開放されるとき、トランジスタの出力電位Voutには、信号レベルLowに対応する電位が与えられる。こうして、スイッチング時にトランジスタの出力電位Voutが変化しないという現象を避けることができ、負荷回路の負荷が過少に見積られることもない。
【００５２】
図６Ｂの右図（括弧内の図）は、VCVS接続状態のNMOSを模式化した図である。この図において、NMOSは、ゲート電位がL(Low)で接続され、ゲート電位がH(High)で開放されるスイッチとして記載される。この図において明らかなように、ゲート電位の信号レベルがLとなりスイッチが開放されるとき、トランジスタの出力電位Voutには、信号レベルHighに対応する電位が与えられる。こうして、スイッチング時にトランジスタの出力電位Voutが変化しないという現象を避けることができ、負荷回路の負荷が過少に見積られることもない。
【００５３】
続いて、全体回路の例を用いて、以上の処理を具体的に説明する。適宜図４を（場合によっては図５も）参照されたい。
【００５４】
図７は、全体回路の例を示す図である。図７は、全体回路を複数の部分回路（部分回路SCC1からSCC5まで）に分割した状態を表す。もとの全体回路から図７に示す部分回路が形成される様子は、次の通りである。
【００５５】
まず、全体回路をSCCに分割する（図４Ｓ１参照）。例えば、部分回路SCC1において、Pチャネル型MOSトランジスタP1とNチャネル型MOSトランジスタN1のドレイン接続となる箇所を探す。すると、接続点D1が見つかる。この接続点D1を起点として、電源Vdd、接地Vss、他のトランジスタのゲートに接続されるまで接続を辿ると、トランジスタP1を経由して上方で電源に接続され、トランジスタN1とトランジスタN2を経由して下方で接地に接続され、トランジスタP2を経由して右上方で電源に接続され、右方でトランジスタP3のゲートに接続されている。こうして、接続点D1から辿ることのできる範囲に含まれる要素がグループ化され、グループSCC1ができる。
【００５６】
他の箇所においても、同様にグループ化を行えば、グループSCC2からグループSCC5も同様に形成される。そして、このグループをそのまま部分回路に置き換えたものが図７である（図４Ｓ２参照）。
【００５７】
図４ステップＳ２で説明したように、SCCによるグループと部分回路を１対１に対応させなくてもよい。例えば、グループSCC3＋グループSCC4を組み合わせて１つの部分回路としてもよい。
【００５８】
図８Ａは、生成された部分回路とその接続関係を示す図である。部分回路SCC1の入力端子は、端子Q1、Q2の２つであり、出力端子は、端子Q6である。この端子Q6は、部分回路SCC4の入力端子の１つでもある。他の部分回路も同様に入力端子、出力端子を持ち、前段の部分回路の出力端子が、後段の部分回路の入力端子となっている。
【００５９】
図８Ｂは、生成された部分回路に含まれる部分経路を示す図である。部分回路SCC1には、端子Q1と端子Q6とを接続する部分経路R11と、端子Q2と端子Q6とを接続する部分経路R12とが含まれる。他の部分回路においても、入力端子と出力端子を接続する部分経路が形成される。
【００６０】
図８Ｃは、全体回路における入力端子と出力端子を接続する経路の関係を示す図である。全体回路における入力端子は、端子Q1〜Q5と端子Q9であり、出力端子は、端子Q11である。従って、全体回路における入力端子と出力端子を接続する経路としては、図８Ｃに示す経路PATH1〜PATH6までの６つが挙げられる。
【００６１】
シミュレーションの目的は、部分回路の遅延特性を基に、図８Ｃに示される経路の遅延特性を評価することにある。
【００６２】
図９は、図４のステップＳ３において行われるトポロジーソートの結果を示すデータ構成例である。図９のトポロジーソート結果は、「順番」「組合せ」というデータ項目を持つ。
【００６３】
「組合せ」は、着目回路として選択された部分回路と、その着目回路に対応付けられる負荷回路として選択された部分回路を特定する識別子である。プラス（＋）記号の前が着目回路、後が負荷回路を示す。「順番」は、何番目にその組合せをシミュレーションするかを示す順位である。
【００６４】
図４において説明したように選択部１１２は、全体回路の入力端子に近い側の着目回路から順にシミュレーションが行われるよう順位付けするから、例えば、図７に示される全体回路の場合、部分回路SCC1、SCC2、SCC3、SCC4、SCC5の順に着目回路とすればよい。その時の負荷回路としては、選択部１１２が、単純に後段に接続される部分回路を１つ選択すればよく、その結果、図９に示すようなトポロジーソート結果が得られる。
【００６５】
そして、図４のステップＳ４〜Ｓ１４において、各部分回路の遅延特性が評価される。図９に示すように、ここでは、最初に部分回路SCC1を着目回路、部分回路SCC4を負荷回路とする場合に、部分回路SCC1に図４ステップＳ７で生成される入力パターンを与えるときの遅延特性が評価される。
【００６６】
ここで、部分回路SCC4は、ドレイン出力を共有するパストランジスタの中に、別のトランジスタとソース入力を共有するパストランジスタを含んでおり、結果として回路規模が大きくなっている。一般的には、より数珠繋ぎ(daisy chain)の度合いが進む場合もある。そこで、本実施形態においては、この部分回路SCC4を負荷回路として用いる場合、図４のステップＳ９において回路規模が大きいと判定される結果（Ｓ９Ｙｅｓ）、VCVSを用いた簡略化が行われる（図４Ｓ１１、図５Ｓ１１４）。
【００６７】
図１０は、部分回路SCC4を負荷回路として用いる場合のVCVSを用いた簡略化の例を示す図である。部分回路SCC4に対する入力は、図８Ａに示すように、端子Q6〜Q9まで４つ存在するが、トランジスタのゲート端子に接続されるのは、Pチャネル型MOSトランジスタP3に接続される端子Q6からの接続だけである（図５Ｓ１１１）。
【００６８】
そして、このPチャネル型MOSトランジスタP3は単独で存在しており、インバータを構成していないため（図５Ｓ１１２Ｎｏ）、そのドレインにVCVSが接続される（図５Ｓ１１４）。こうして、VCVSが接続されたPチャネル型MOSトランジスタP3以外の要素は、ステップＳ１１６において整形（削除）され、部分回路SCC1を着目回路、部分回路SCC4を負荷回路とする場合（図９における最初のデータエントリの場合）、図１０に示す簡略化された負荷回路が使用されることになる。
【００６９】
図１１は、図４ステップＳ１４の伝播波形の生成処理を、具体例を用いて説明する図である。図１１Ａは、部分回路SCC1を着目回路、部分回路SCC4を負荷回路とする場合の入力スルーと出力スルーの関係の一例を示す図である。ここでは、着目回路の入力端子Q1、Q2に与える入力スルーとして、５つの入力スルーF1〜F5を用いて入力パターンが生成される。そして、シミュレーションの結果、出力端子Q6における出力スルーは、出力スルーF2、F3の２つに絞られるとする。出力スルーF2、F3は、入力スルーF2、F3と同じ波形（傾き）であるとする。
【００７０】
そこで、図４のステップＳ１４においては、シミュレーション部１１４が、着目回路にさまざまな入力スルー（上記入力スルーF1〜F5）を与えたシミュレーションの結果生じる出力スルー（上記出力スルーF2、F3）を傾き（言い換えると、信号レベルがLからH、又は、HからLに遷移する際に、例えば、２０％レベル点から８０％レベル点（またはその逆に）変化するのに要する時間）あるいは波形として記憶しておく。または、取りうる出力スルーの範囲（最小値から最大値までの範囲）を記憶してもよい。
【００７１】
図１１Ｂは、部分回路SCC4を着目回路、部分回路SCC5を負荷回路とする場合の入力スルーと出力スルーの関係の一例を示す図である。図９を参照すれば、着目回路SCC4をシミュレーションする前に、既に部分回路SCC1、SCC2、SCC3の遅延特性が求まっていることになる。従って、図１１Ｂに示されるように、着目回路SCC4に対する入力パターンは、既にシミュレーションが完了している部分回路の出力スルーに絞ることができ、シミュレーション部１１４は、入力パターンの生成に要する時間を削減することができる。こうして、図４ステップＳ５で取得された着目回路の後段側に位置する他の部分回路が着目回路として使用される場合に、シミュレーション済みの部分回路の出力スルーが取り出され（図４Ｓ６）、その「他の部分回路」における入力パターン生成の処理負担が軽減される（図４Ｓ７）。
【００７２】
以降、図９に示されるトポロジーソートの結果に基づき、順番に着目回路の遅延特性が評価される。なお、全体回路において出力端子に最も近い部分回路SCC5は、後段に接続する部分回路がないことから、この場合だけは、動作特徴の分かっている外部負荷を用意してシミュレーションを行う。すべての着目回路に対して、ステップＳ４〜Ｓ１４の処理が完了すれば、ライブラリ生成部１１５が、部分回路の遅延特性を基に全体回路の遅延特性を求める。
【００７３】
図１２は、ライブラリ生成部１１５が生成するライブラリのデータ構成例である。図１２のライブラリは、「経路」「入出力パターン」「最大最小」「遅延時間」「出力スルー」というデータ項目を持つ。
【００７４】
「経路」は、全体回路における入力端子と出力端子を接続する経路であり、図８Ｃに示される経路PATH1〜PATH6に対応する。「入出力パターン」は、入力と出力の対応である。例えば、「Up→Up」は、入力をLからHに変位させるとき、出力もLからHに変位するパターンを示す。「Up→Down」は、入力をLからHに変位させるとき、出力はHからLに変位するパターンを示す。残りのパターンについても同様である。
【００７５】
「最大最小」は、最大遅延時間と最小遅延時間を識別するフラグ情報である。「遅延時間」は、全体経路の遅延時間を示すものであり、具体的には、全体経路に含まれる各部分回路における遅延時間を足したものである。この時、各部分回路における最大遅延時間を全て足せば最大遅延時間が求まり、各部分回路における最小遅延時間をすべて足せば最小遅延時間が求まる。
【００７６】
「出力スルー」は、全体経路の出力スルーを示すものであり、具体的には、全体経路に含まれる部分回路の最後段（最も出力端子に近いもの）における出力スルーとして求められる。こうして、部分回路の遅延特性を基に、図８Ｃに示される経路の遅延特性を評価するという目的が達成されることになる。
【００７７】
以上に説明したように、本実施形態によれば、規模の大きな負荷回路を仮想制御電圧源を用いて簡略化することによって、その負荷回路の負荷が過少に見積られることを防ぐことができる。こうして、実際の負荷回路に最大負荷となるパターンを与えた場合と同じか、それより大きな負荷でのシミュレーションが可能であり、従来より実際の回路に即したシミュレーションを行うことできる。
【００７８】
簡略化においては、負荷回路の入力端子から接続を辿るとき最初に発見されるトランジスタ以外が削除されるトランジスタ数が削減されており、シミュレーション処理を高速化することもできる。この簡略化された負荷回路は、不安定な回路ではないため、シミュレータの実装の影響によって動作が不安定になる可能性が小さい。
【００７９】
以上まとめると付記のようになる。
【００８０】
（付記１）
論理回路の遅延特性を評価するためのシミュレーションを処理するシミュレーション装置であって、
予め、シミュレーションプログラムが格納される記憶部と、
前記記憶部から前記シミュレーションプログラムを読み出して実行する制御部とを有し、
前記制御部は、
前記論理回路を複数の部分回路に分割するモデル生成機能と、
分割された複数の部分回路のうち、着目回路と前記着目回路の後段に接続される負荷回路とを、前記部分回路が少なくとも１回は着目回路となるように選択する選択機能と、
前記負荷回路をトランジスタレベルで表現するとき、前記着目回路の出力端子を介して駆動されるトランジスタを特定し、該トランジスタのゲート電位に応じて該トランジスタの出力電位を変動させる仮想制御電圧源を、該トランジスタのドレインに接続し、前記仮想制御電圧源が接続された前記トランジスタを用いて前記負荷回路を簡略化する簡略化機能と、
前記着目回路と、前記簡略化された負荷回路とを組み合わせて、前記着目回路に対する入力パターンに基づき、前記着目回路の遅延特性を評価するシミュレーションを、前記選択される着目回路毎に行うシミュレーション機能と、
前記論理回路の入力端子と出力端子を接続する経路毎に、該経路に含まれる前記部分回路の遅延特性に基づき、該経路全体の遅延特性を求めるライブラリ生成機能とを前記シミュレーションプログラムを実行して実現することを特徴とするシミュレーション装置。
【００８１】
（付記２）
付記１において、
前記仮想制御電圧源は、前記ゲート電位に対応する信号レベルがHIGHならばLOWに対応する電位を、LOWならばHIGHに対応する電位を与えることを特徴とするシミュレーション装置。
【００８２】
（付記３）
付記１において、
前記制御部は、前記着目回路の出力端子を介して駆動されるトランジスタがインバータの一部である場合、簡略化を行わないことを特徴とするシミュレーション装置。
【００８３】
（付記４）
付記１において、
前記制御部は、更に、前記負荷回路の入力端子を介して駆動されるトランジスタであって、前記着目回路の出力端子を介して駆動されるトランジスタ以外のものを特定し、該特定されたトランジスタに対し前記簡略化を施すことを特徴とするシミュレーション装置。
【００８４】
（付記５）
付記１において、
前記制御部は、前記負荷回路に含まれる要素のうち、前記着目回路の出力端子を介して駆動されるトランジスタを除いた要素を削除して、負荷回路を整形することを特徴とするシミュレーション装置。
【００８５】
（付記６）
論理回路の遅延特性を評価するためのシミュレーション装置であって、
前記論理回路を複数の部分回路に分割するモデル生成部と、
分割された複数の部分回路のうち、着目回路と前記着目回路の後段に接続される負荷回路とを、前記部分回路が少なくとも１回は着目回路となるように選択する選択部と、
前記負荷回路をトランジスタレベルで表現するとき、前記着目回路の出力端子を介して駆動されるトランジスタを特定し、該トランジスタのゲート電位に応じて該トランジスタの出力電位を変動させる仮想制御電圧源を、該トランジスタのドレインに接続し、前記仮想制御電圧源が接続された前記トランジスタを用いて前記負荷回路を簡略化部と、
前記着目回路と、前記簡略部により簡略化した負荷回路とを組み合わせて、前記着目回路に対する入力パターンに基づき、前記着目回路の遅延特性を評価するシミュレーションを、前記選択部が選択する着目回路毎に行うシミュレーション部と、
前記論理回路の入力端子と出力端子を接続する経路毎に、該経路に含まれる前記部分回路の遅延特性に基づき、該経路全体の遅延特性を求めるライブラリ生成部とを有することを特徴とするシミュレーション装置。
【００８６】
（付記７）
論理回路の遅延特性を評価するためのシミュレーション方法であって、
前記論理回路を複数の部分回路に分割し、
分割された複数の部分回路のうち、着目回路と前記着目回路の後段に接続される負荷回路とを、前記部分回路が少なくとも１回は着目回路となるように選択し、
前記負荷回路をトランジスタレベルで表現するとき、前記着目回路の出力端子を介して駆動されるトランジスタを特定し、
該トランジスタのゲート電位に応じて該トランジスタの出力電位を変動させる仮想制御電圧源を、該トランジスタのドレインに接続し、
前記仮想制御電圧源が接続された前記トランジスタを用いて前記負荷回路を簡略化し、
前記着目回路と、前記簡略部により簡略化した負荷回路とを組み合わせて、前記着目回路に対する入力パターンに基づき、前記着目回路の遅延特性を評価するシミュレーションを、前記選択部が選択する着目回路毎に行い、
前記論理回路の入力端子と出力端子を接続する経路毎に、該経路に含まれる前記部分回路の遅延特性に基づき、該経路全体の遅延特性を求めることを特徴とするシミュレーション方法。
【００８７】
（付記８）
付記７において、
前記仮想制御電圧源は、前記ゲート電位に対応する信号レベルがHIGHならばLOWに対応する電位を、LOWならばHIGHに対応する電位を与えることを特徴とするシミュレーション方法。
【００８８】
（付記９）
付記７において、
前記着目回路の出力端子を介して駆動されるトランジスタがインバータの一部である場合、簡略化が行われないことを特徴とするシミュレーション方法。
【００８９】
（付記１０）
付記７において、
更に、前記負荷回路の入力端子を介して駆動されるトランジスタであって、前記着目回路の出力端子を介して駆動されるトランジスタ以外のものを特定し、
該特定されたトランジスタに対し前記簡略化を施すことを特徴とするシミュレーション方法。
【００９０】
（付記１１）
付記７において、
更に、前記負荷回路に含まれる要素のうち、前記着目回路の出力端子を介して駆動されるトランジスタを除いた要素を削除して、負荷回路を整形することを特徴とするシミュレーション方法。
【００９１】
（付記１２）
論理回路の遅延特性を評価するためのシミュレーションを処理するコンピュータに、
前記論理回路を複数の部分回路に分割するモデル生成機能と、
分割された複数の部分回路のうち、着目回路と前記着目回路の後段に接続される負荷回路とを、前記部分回路が少なくとも１回は着目回路となるように選択する選択機能と、
前記負荷回路をトランジスタレベルで表現するとき、前記着目回路の出力端子を介して駆動されるトランジスタを特定し、該トランジスタのゲート電位に応じて該トランジスタの出力電位を変動させる仮想制御電圧源を、該トランジスタのドレインに接続し、前記仮想制御電圧源が接続された前記トランジスタを用いて前記負荷回路を簡略化する簡略化機能と、
前記着目回路と、前記簡略化された負荷回路とを組み合わせて、前記着目回路に対する入力パターンに基づき、前記着目回路の遅延特性を評価するシミュレーションを、前記選択される着目回路毎に行うシミュレーション機能と、
前記論理回路の入力端子と出力端子を接続する経路毎に、該経路に含まれる前記部分回路の遅延特性に基づき、該経路全体の遅延特性を求めるライブラリ生成機能とを実現させるためのシミュレーションプログラム。
【００９２】
（付記１３）
付記１２において、
前記仮想制御電圧源は、前記ゲート電位に対応する信号レベルがHIGHならばLOWに対応する電位を、LOWならばHIGHに対応する電位を与えることを特徴とするシミュレーションプログラム。
【００９３】
（付記１４）
付記１２において、
前記簡略化機能では、前記着目回路の出力端子を介して駆動されるトランジスタがインバータの一部である場合、簡略化が行われないことを特徴とするシミュレーションプログラム。
【００９４】
（付記１５）
付記１２において、
前記簡略化機能では、更に、前記負荷回路の入力端子を介して駆動されるトランジスタであって、前記着目回路の出力端子を介して駆動されるトランジスタ以外のものが特定され、該特定されたトランジスタに対し前記簡略化が施されることを特徴とするシミュレーションプログラム。
【００９５】
（付記１６）
付記１２において、
前記簡略化機能では、前記負荷回路に含まれる要素のうち、前記着目回路の出力端子を介して駆動されるトランジスタを除いた要素が削除され、負荷回路が整形されることを特徴とするシミュレーションプログラム。
【図面の簡単な説明】
【００９６】
【図１】本発明の実施形態において評価される遅延特性を説明する図であり、Ａは、一例として３入力のNORゲートを示し、Ｂは、その真理値表を示し、Ｃは、３入力の端子のうち、ある端子に与える電位を変動させるときの出力変化を示すものである。
【図２】本発明の実施形態におけるシミュレーション装置の構成ブロック図である。
【図３】本実施形態におけるシミュレーション装置の制御部を説明する機能ブロック図である。
【図４】本実施形態におけるシミュレーション装置の動作を説明するフローチャートである。
【図５】負荷回路を簡略化する際の簡略化部の動作を説明するフローチャートである。
【図６】仮想制御電圧源(VCVS)を接続する方法を説明する図であり、ＡはPMOSの場合、ＢはNMOSの場合をそれぞれ示す。
【図７】全体回路の例を示す図である。
【図８】Ａは、生成された部分回路とその接続関係を示す図であり、Ｂは、生成された部分回路に含まれる部分経路を示す図であり、Ｃは、全体回路における入力端子と出力端子を接続する経路の関係を示す図である。
【図９】トポロジーソートの結果を示すデータ構成例である。
【図１０】VCVSを用いた簡略化の例を示す図である。
【図１１】伝播波形の生成処理を、具体例を用いて説明する図であり、Ａは、部分回路SCC1を着目回路、部分回路SCC4を負荷回路とする場合の入力スルーと出力スルーの関係の一例を示す図であり、Ｂは、部分回路SCC4を着目回路、部分回路SCC5を負荷回路とする場合の入力スルーと出力スルーの関係の一例を示す図である。
【図１２】ライブラリのデータ構成例である。
【符号の説明】
【００９７】
１  シミュレーション装置、１１  制御部、１２  RAM、１３  記憶部、１４  バス、１５  周辺機器インタフェース、１６  入力部、１７  出力部、１１１  モデル生成部、１１２  選択部、１１３  簡略化部、１１４  シミュレーション部、１１５  ライブラリ生成部
【図１】
2006146595.tif 000003
【図２】
2006146595.tif 000004
【図３】
2006146595.tif 000005
【図４】
2006146595.tif 000006
【図５】
2006146595.tif 000007
【図６】
2006146595.tif 000008
【図７】
2006146595.tif 000009
【図８】
2006146595.tif 000010
【図９】
2006146595.tif 000011
【図１０】
2006146595.tif 000012
【図１１】
2006146595.tif 000013
【図１２】
2006146595.tif 000014