(57)【特許請求の範囲】
【請求項１】
論理回路を構成する各論理素子の種類や各論理素子間の接続関係を規定するネットリストと、前記論理回路へのテスト入力を規定するテストベクターとに基づいて、前記論理回路の動作を模擬する論理シミュレーション方法において、
前記ネットリスト及びテストベクターに加え、前記論理素子の種類毎に発熱量と遅延時間との関係、及び前記発熱量と単位動作当たりの消費電力との関係を規定するライブラリを用い、各論理素子の発熱量を指定するために設定された発熱量パラメータに基づいて、前記論理回路を構成する各論理素子毎の遅延時間及び消費電力を算出する第１の手順と、
該第１の手順にて算出された各論理素子毎の遅延時間及び消費電力に基づいて、前記論理回路全体としての遅延時間及び消費電力を算出する第２の手順と、
前記第１の手順にて算出された各論理素子毎の消費電力に基づいて各論理素子毎の発熱量を算出し、該算出値に基づいて前記発熱量パラメータを設定することにより、予め設定された収束条件が満たされるまでの間、前記第１及び第２の手順を繰り返し実行させる第３の手順と、
を備えることを特徴とする論理シミュレーション方法。
【請求項２】
前記第１の手順は、前記ネットリスト、テストベクター及びライブラリに加え、前記各論理素子間を接続する配線の配線容量を規定する配線情報を用い、前記発熱量パラメータに基づいて、前記論理回路を構成する各論理素子毎の遅延時間及び消費電力を算出することを特徴とする請求項１記載の論理シュミレーション方法。
【請求項３】
論理回路の動作を模擬する論理シミュレーション方法において、論理回路を構成する各論理素子の種類や各論理素子間の接続関係を規定するネットリストと、前記各論理素子間を接続する各配線毎に、該配線により伝達される論理の遷移回数を規定する状態遷移情報と、前記論理素子の種類毎に発熱量と遅延時間との関係、及び前記発熱量と単位動作当たりの消費電力との関係を規定するライブラリとを用い、各論理素子の発熱量を指定するために設定された発熱量パラメータに基づいて、前記論理回路を構成する各論理素子毎の消費電力を算出する第１の手順と、
該第１の手順にて算出された各論理素子毎の消費電力に基づいて、前記論理回路全体としての消費電力を算出する第２の手順と、
前記第１の手順にて算出された各論理素子毎の消費電力に基づいて各論理素子毎の発熱量を算出し、該算出値に基づいて前記発熱量パラメータを設定することにより、予め設定された収束条件が満たされるまでの間、前記第１及び第２の手順を繰り返し実行させる第３の手順と、
を備えることを特徴とする論理シミュレーション方法。
【請求項４】
前記第１の手順は、前記ネットリスト及びライブラリに加え、前記各論理素子間を接続する配線の配線容量を規定する配線情報を用い、前記発熱量パラメータに基づいて、前記論理回路を構成する各論理素子毎の消費電力を算出することを特徴とする請求項３記載の論理シュミレーション方法。
【請求項５】
論理回路を構成する各論理素子の種類や各論理素子間の接続関係を規定するネットリストと、前記論理回路へのテスト入力を規定するテストベクターとに基づいて、前記論理回路の動作を模擬する論理シミュレーション装置において、
前記ネットリスト及びテストベクターに加え、前記論理素子の種類毎に発熱量と遅延時間との関係、及び前記発熱量と単位動作当たりの消費電力との関係を規定するライブラリを用い、各論理素子の発熱量を指定するために設定された発熱量パラメータに基づいて、前記論理回路を構成する各論理素子毎の遅延時間及び消費電力を算出する素子情報算出手段と、
該素子情報算出手段での算出結果に基づいて、前記論理回路全体としての遅延時間及び消費電力を算出する全体情報算出手段と、
前記素子情報算出手段にて算出された各論理素子毎の消費電力に基づいて各論理素子毎の発熱量を算出する発熱量算出手段と、
該発熱量算出手段での算出結果に基づいて前記発熱量パラメータを設定することにより、予め設定された収束条件が満たされるまでの間、前記素子情報算出手段を繰り返し起動する起動制御手段と、
を備えることを特徴とする論理シミュレーション装置。
【請求項６】
前記素子情報算出手段は、前記ネットリスト、テストベクター及びライブラリに加え、前記各論理素子間を接続する配線の配線容量を規定する配線情報を用い、前記発熱量パラメータに基づいて、前記論理回路を構成する各論理素子毎の遅延時間及び消費電力を算出することを特徴とする請求項５記載の論理シュミレーション装置。
【請求項７】
前記起動制御手段は、前記全体情報算出手段にて算出される前記論理回路全体の遅延時間又は消費電力、或いは当該起動制御手段にて算出される前記発熱量パラメータのうち、少なくともいずれか一つを判定パラメータとし、該判定パラメータについて、前回の算出結果からの偏差が予め設定された許容範囲内にある場合に前記収束条件を満たしたものとすることを特徴とする請求項５，６何れか記載の論理シミュレーション装置。
【請求項８】
前記起動制御手段は、予め設定された再起動回数だけ前記素子情報算出手段を再起動した場合に前記収束条件を満たしたものとすることを特徴とする請求項５，６何れか記載の論理シミュレーション装置。
【請求項９】
前記起動制御手段は、前記論理回路を１又は複数の論理素子毎に分割してなるブロック毎に、前記発熱量算出手段にて算出された発熱量の平均値を求め、該発熱量の平均値を前記発熱量パラメータとして設定することを特徴とする請求項５ないし請求項８のいずれかに記載の論理シミュレーション装置。
【請求項１０】
論理回路の動作を模擬する論理シミュレーションにおいて、論理回路を構成する各論理素子の種類や各論理素子間の接続関係を規定するネットリストと、前記各論理素子間を接続する各配線毎に、該配線により伝達される論理の遷移回数を規定する状態遷移情報と、前記論理素子の種類毎に発熱量と遅延時間と、及び前記発熱量と単位動作当たりの消費電力との関係を規定するライブラリとを用い、各論理素子の発熱量を指定するために設定された発熱量パラメータに基づいて、前記論理回路を構成する各論理素子毎の消費電力を算出する素子情報算出手段と、
該素子情報算出手段での算出結果に基づいて、前記論理回路全体としての消費電力を算出する全体情報算出手段と、
前記素子情報算出手段にて算出された各論理素子毎の消費電力に基づいて各論理素子毎の発熱量を算出する発熱量算出手段と、
該発熱量算出手段での算出結果に基づいて前記発熱量パラメータを設定することにより、予め設定された収束条件が満たされるまでの間、前記素子情報算出手段を繰り返し起動する起動制御手段と、
を備えることを特徴とする論理シミュレーション装置。
【請求項１１】
前記素子情報算出手段は、前記ネットリスト、状態遷移情報及びライブラリに加え、前記各論理素子間を接続する配線の配線容量を規定する配線情報を用い、前記発熱量パラメータに基づいて、前記論理回路を構成する各論理素子毎の消費電力を算出することを特徴とする請求項１０記載の論理シュミレーション装置。
【請求項１２】
前記起動制御手段は、前記全体情報算出手段にて算出される前記論理回路全体の消費電力、或いは当該起動制御手段にて算出される前記発熱量パラメータのうち、少なくともいずれか一つを判定パラメータとし、該判定パラメータについて、前回の算出結果からの偏差が予め設定された許容範囲内にある場合に前記収束条件を満たしたものとすることを特徴とする請求項１０，１１何れかに記載の論理シミュレーション装置。
【請求項１３】
前記起動制御手段は、予め設定された再起動回数だけ前記素子情報算出手段を再起動した場合に前記収束条件を満たしたものとすることを特徴とする請求項１０，１１何れか記載の論理シミュレーション装置。
【請求項１４】
前記起動制御手段は、前記論理回路を１又は複数の論理素子毎に分割してなるブロック毎に、前記発熱量算出手段にて算出された発熱量の平均値を求め、該発熱量の平均値を前記発熱量パラメータとして設定することを特徴とする請求項１０ないし請求項１３のいずれかに記載の論理シミュレーション装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、論理回路の動作を模擬する論理シミュレーション方法及び装置に関する。
【０００２】
【従来の技術】
従来より、論理回路の動作を模擬（シミュレーション）する方法として、回路を構成するトランジスタ等の各素子の特性を規定する３０〜２００ものパラメータ（例えば、移動度、膜厚等）を、シミュレーションすべき対象回路の条件に応じて設定し、これらパラメータ間の相互関係等を規定する方程式を解くことにより、微少時間毎に信号レベルを逐次算出して信号波形を求める、いわゆるアナログシミュレーションや、このアナログシミュレーションのように精密な波形を再現するのではなく、各論理素子（ゲート）での遅延時間を考慮して０，１レベルで動作を再現する、いわゆる論理シミュレーションが知られている。
【０００３】
このうち、前者（アナログシミュレーション）では、信号波形を精密に求めることができるが、膨大な計算量が必要なため、比較的小規模な回路でのシミュレーションに適しており、一方、後者（論理シミュレーション）では、前者と比較して、格段に少ない計算量で結果を求めることができるため、集積回路等の大規模な回路（実用上、数百万ゲート程度まで）でのシミュレーションに適している。
【０００４】
なお、論理回路を構成する各ゲートでは、電流が流れると自己発熱し、この自己発熱がゲートの特性を規定する各種パラメータを変化させ、ゲートを流れる電流値や信号の遅延時間等に影響が表れることが知られているが、従来は、この自己発熱は十分に小さく、これを無視してシミュレーションを行っても特に問題となるようなことはなかった。
【０００５】
【発明が解決しようとする課題】
ところが、近年、ＳＯＩ（Silicon On Insulator）形半導体デバイスの登場や、論理回路の動作周波数の著しい向上のために、動作時の自己発熱による論理回路の各種特性への影響が増大する傾向にあり、この自己発熱の影響を無視できないようになりつつある。
【０００６】
即ち、ＳＯＩデバイスでは、ゲートを構成するトランジスタ等の各素子は、それぞれがシリコン絶縁基板にて包囲されており熱伝導度が低いため、電流が流れると、その電流に伴う発熱を十分に放熱できずに自己発熱量が大きくなってしまい、また、論理回路では、通常、信号の反転時に電力を消費するが、動作周波数が向上すると、単位時間当たりの信号の反転回数、即ち消費電力が増大し、自己発熱量が大きくなってしまうのである。
【０００７】
また、論理回路の性能を最大限に引き出して高速動作させるためには、論理回路の動作限界を知る必要があり、そのためには、各ゲート毎及び論理回路全体としての遅延時間（動作周波数）や消費電力を精度よく計算しなければならない。これに対して、例えば、特開平５−２２６３６８号公報に開示されているように、自己発熱による温度変化を算出し、素子の特性を規定するパラメータの一つである移動度を、この温度変化に応じて変化させて、各種計算を行うことにより、自己発熱の影響を反映させたアナログシミュレーションを行うものが提案されている。ところが、現状では、このような自己発熱の影響を反映させた論理シミュレーションは行われていない。
【０００８】
従って、自己発熱が大きい場合に精度よくシミュレーションを行うには、アナログシミュレーションを用いざるをえないが、上述したように、実用上、あまり大規模な論理回路に適用することはできず、自己発熱の影響を反映させた論理シミュレーションへの要求が高まっている。
【０００９】
そこで本発明は、上記問題点を解決するために、自己発熱の影響を反映させた精度のよい消費電力や遅延時間を求めることが可能な論理シミュレーション方法及び装置を提供することを目的とする。
【００１０】
【課題を解決するための手段】
上記目的を達成するためになされた発明である請求項１に記載の論理シミュレーション方法では、第１の手順にて、ネットリスト及びテストベクターに加え、論理素子の種類毎に発熱量と遅延時間や単位動作当たりの消費電力との関係を規定するライブラリを用い、各論理素子の発熱量を指定するために設定された発熱量パラメータに基づいて、論理回路を構成する各論理素子毎の遅延時間及び消費電力を算出し、第２の手順にて、この第１の手順にて算出された各論理素子毎の遅延時間及び消費電力に基づいて、前記論理回路全体としての遅延時間及び消費電力を算出し、更に、第３の手順にて、第１の手順にて算出された各論理素子毎の消費電力に基づいて各論理素子毎の発熱量を算出し、該算出値に基づいて第１の手順にて用いる発熱量パラメータを設定することにより、予め設定された収束条件が満たされるまでの間、第１及び第２の手順を繰り返し実行させる。
【００１１】
なお、単位動作とは、信号の立ち上がりや、立ち下がり等、電力消費を伴う最小単位の動作のことである。
即ち、シミュレーションの開始時には、各論理素子の発熱量がどの程度になるのか正確に知ることはできないため、発熱量パラメータとして適当に仮定して初期値を設定し、第１〜３の手順を実行する。
【００１２】
その結果、各論理素子及び論理回路全体の消費電力及び遅延時間が算出され、また各論理素子の消費電力に従って、各論理素子の発熱量、ひいては発熱量パラメータが算出される。このとき、初期値として仮定した発熱量パラメータが妥当な値であれば、仮定値と算出値とでほぼ同じ大きさとなる。
【００１３】
しかし、当初設定した発熱量パラメータの値が小さすぎれば、この設定に基づいて算出される消費電力は実際より大きめ，遅延時間は実際より小さめになり、逆に発熱量パラメータの値が大きすぎれば、消費電力は実際より小さめ，遅延時間は実際より大きめになる。
【００１４】
従って、算出された消費電力に基づいて求めた発熱量、ひいては発熱量パラメータを、新たに第１の手順を行う際の設定値として、処理を繰り返すことにより、前回の処理にて算出された消費電力，遅延時間，発熱量（発熱量パラメータ）と、この前回の処理にて算出された発熱量パラメータに基づき今回の処理にて算出された消費電力，遅延時間，発熱量（発熱量パラメータ）との偏差が収束する方向に算出値は変化する。
【００１５】
このため、これらの偏差が十分に収束するように、収束条件を設定して、収束条件を満たすまで、上記手順による処理を繰り返し実行することにより、各論理素子の自己発熱による影響を反映した消費電力や遅延時間を精度よく求めることができる。
【００１６】
特に遅延時間からは、論理回路の高速動作の限界を精度よく求めることができるため、論理回路の性能を最大限に引き出すことができる。
次に、請求項２記載の論理シュミレーションでは、実際の論理回路では、論理素子を結ぶ配線に配線容量があるので、第１の手順において、その配線容量を規定する配線情報を用い、論理回路を構成する各論理素子毎の遅延時間及び消費電力を算出している。
【００１７】
そのため、この請求項２記載の論理シュミレーション方法を用いると、請求項１記載の論理シュミレーション方法に比べ、より実際に即した各論理素子の消費電力や遅延時間を精度よく求めることができる。
ところで、上述した論理シュミレーション方法では、第１の手順においてテストベクターを使って各論理素子の消費電力を算出する場合、テストベクターの全期間に渡る消費電力を算出しているが、この消費電力の算出は、通常、テストベクタを用いて個々のゲートの動作を再現することによって各論理素子の遷移回数が分かるので、その遷移回数に論理素子の１回の動作あたりに要する消費電力を乗じて算出している。
【００１８】
尚、ここで遷移回数とは、上述した単位動作が行われる回数である。
そこで、請求項３記載の論理シュミレーション方法では、第１の手順において、テストベクターに代えて、各論理素子間を接続する各配線毎に、該配線により伝達される論理の遷移回数を規定する状態遷移情報を用い、これとネットリスト及びライブラリを使って、各論理素子の消費電力を算出し、論理回路全体の消費電力を算出している。
【００１９】
このようにすると、予め入力された状態遷移情報を用いることでテストベクタを用いて個々のゲートの動作を再現することなく各論理素子の消費電力を短時間に簡易的に算出することができる。
ここで、論理回路の設計の実際について考察してみると、通常論理回路の設計を行うには幾つかの段階があって、比較的初期のアイディア段階では、通常論理回路の動作限界を精密に知ることは求められない。しかし、アイディアとして提示された論理回路が、設計の最終段階に至って初めて動作しないことが分かるといったことが往々にして生じ、設計に要する時間の無駄が生ずる場合があるので、アイディア段階で論理回路の動作限界をある程度考慮した設計をすることが求められる。
【００２０】
そのため、そのアイディア段階においても、テストベクターを用いて個々のゲートの動作を再現した後消費電力等を算出してもよいが、アイディア段階で取り上げられる論理回路の数が設計の最終段階で取り上げられるものの数に比較してかなり多く、また単に思いついた論理回路等も存在して、それらの論理回路全てについてテストベクタを用いて個々のゲートの動作を再現するシュミレーションを行うことはあまり考えられないので、請求項１，２記載の論理シュミレーション方法は、アイディア段階での論理回路の設計には不向きな場合がある。
【００２１】
一方、実際の論理回路の設計においては、通常各論理素子の動作を予想しながら行うことが多い。
従って、この請求項３記載の論理シュミレーション方法を用いれば、例えば、論理回路の設計において、動作限界を知るためのパラメータである消費電力を簡易的に求めることができ、アイディア段階で動作限界を越える論理回路が選別され排除されるので、設計の最終段階に至って初めて論理回路が動作しないことが分かるといったことが少なくなり、論理回路の設計を効率よく進めることができる。ただし、この請求項３記載の論理シュミレーション方法では、正確な遷移回数を入力すれば精密に消費電力を算出できるので、アイディア段階ばかりでなく設計のどの段階でも用いることができることはもちろんである。
【００２２】
また、請求項３記載の論理シュミレーション方法を用いれば、テストベクターを準備できない、例えば、簡易的に現状の論理回路全体で消費される全消費電力を求めたい用途においても、適当な遷移回数を記憶したファイルを準備しさえすれば、算出することができる。
【００２３】
また、請求項４記載の倫理シュミレーション方法のように、第１の手順において、各論理素子間を接続する配線の配線容量を規定する配線情報を用い、各論理素子の発熱量を指定するために設定された発熱量パラメータに基づいて、論理回路を構成する各論理素子毎の消費電力を算出するようにしてもよい。
【００２４】
このようにすれば、請求項３記載の論理シュミレーションと比較して、より実際の論理回路に即した消費電力の正確な演算を行うことができる。
次に、請求項５に記載の論理シミュレーション装置では、素子情報算出手段が、ネットリスト及びテストベクターに加え、論理素子の種類毎に発熱量と遅延時間との関係や、その発熱量と単位動作当たりの消費電力との関係を規定するライブラリを用い、各論理素子の発熱量を指定するために設定された発熱量パラメータに基づいて、論理回路を構成する各論理素子毎の遅延時間及び消費電力を算出し、全体情報算出手段が、素子情報算出手段での算出結果に基づいて、論理回路全体としての遅延時間及び消費電力を算出し、発熱量算出手段が、素子情報算出手段にて算出された各論理素子毎の消費電力に基づいて各論理素子毎の発熱量を算出し、そして、起動制御手段が、発熱量算出手段での算出結果に基づいて発熱量パラメータを設定することにより、予め設定された収束条件が満たされるまでの間、素子情報算出手段を繰り返し起動する。
【００２５】
この請求項５に記載の装置は、請求項１に記載の方法を実現するものであり、即ち、素子情報算出手段が第１の手順、全体情報算出手段が第２の手順、発熱量算出手段及び起動制御手段が第３の手順を実現している。
従って、本発明の論理シミュレーション装置を用いれば、請求項１に記載の発明と全く同様の作用効果が得られる。
【００２６】
次に、請求項６記載の論理シュミレーション装置では、素子情報算出手段が、ネットリスト、テストベクター及びライブラリに加え、各論理素子間を接続する配線の配線容量を規定する配線情報を用い、発熱量パラメータに基づいて、論理回路を構成する各論理素子毎の遅延時間及び消費電力を算出している。
【００２７】
この請求項６に記載の装置は、請求項２に記載の方法を実現するものである。
従って、本発明の論理シミュレーション装置を用いれば、請求項２に記載の発明と全く同様の作用効果が得られる。
ところで、起動制御手段にて用いる収束条件については、例えば、請求項７に記載のように、全体情報算出手段にて算出される論理回路全体の遅延時間又は消費電力、或いは当該起動制御手段にて算出される発熱量パラメータのうち、少なくともいずれか一つを判定パラメータとし、この判定パラメータについて、前回の算出結果からの偏差が予め設定された許容範囲内にある場合に収束条件を満たしたものとすることができる。
【００２８】
この場合、偏差と比較する許容範囲の大きさを適宜設定することにより、判定パラメータとして用いた算出値（遅延時間，消費電力，発熱量パラメータ）を、所望の誤差内で求めることができる。
また、本発明では、収束判定を、個々の論理素子毎ではなく、論理回路全体として行っているので処理量が少なく、従って、シミュレーション結果を比較的短時間で得ることができる。
【００２９】
なお、判定パラメータとしては、遅延時間，消費電力，発熱量パラメータのうち、いずれか一つであってもよいし、いずれか二つであってもよいし、三つ全部であってもよい。また、複数の判定パラメータを設定した場合には、そのいずれもが、それぞれの許容範囲内にある場合にのみ収束条件を満たしたとしてもよいし、いずれか一つでも許容範囲内にあれば、収束条件を満たしたとしてもよい。そして、これら判定パラメータの数や許容範囲の大きさは、必要とされる精度や、装置の処理能力、許容処理時間等に応じて適宜設定すればよい。
【００３０】
ところで、起動制御手段にて用いる収束条件としては、請求項７に示したもの以外に、例えば、ある再起動回数以上処理を繰り返すと、判定パラメータの偏差が許容範囲内に確実に収束することがわかっていれば、請求項８に記載のように、予め設定された再起動回数だけ素子情報算出手段を再起動した場合に収束条件を満たしたものとみなすようにしてもよい。
【００３１】
この場合、上述のような判定パラメータの偏差を算出し判定する処理を省略することができるため、処理を簡略化することができる。
次に、請求項９に記載の論理シミュレーション装置では、起動制御手段は、論理回路を１又は複数の論理素子毎に分割してなるブロック毎に、発熱量算出手段にて算出された発熱量の平均値を求め、この発熱量の平均値を素子情報算出手段にて用いる発熱量パラメータとして設定する。
【００３２】
つまり、すべてのブロックが、１個の論理素子からなる場合には、発熱量算出手段での算出値が、そのまま発熱量パラメータとなり、複数の論理素子からなるブロックでは、その平均発熱量が、ブロック内の論理素子で共通な発熱量パラメータとなる。
【００３３】
このように、ブロック毎に発熱量パラメータを求めることにより、ブロック内に同一の論理素子があれば、単位動作当たりの消費電力の算出等を共通に行うことができるため、処理量の削減を図ることができる。
次に、請求項１０記載の論理シュミレーション装置では、素子情報算出手段が、各論理素子毎の遅延時間及び消費電力を算出するため、各論理素子間を接続する各配線毎に、該配線により伝達される論理の遷移回数を規定する状態遷移情報を用いている点が請求項５の論理シュミレーション装置と異なる。
【００３４】
この請求項１０に記載の装置は、請求項３に記載の方法を実現するものであり、即ち、素子情報算出手段が第１の手順、全体情報算出手段が第２の手順、発熱量算出手段及び起動制御手段が第３の手順を実現している。
従って、本発明の論理シミュレーション装置を用いれば、請求項３に記載の発明と全く同様の作用効果が得られる。
【００３５】
次に、請求項１１記載の論理シュミレーション装置では、素子情報算出手段が、ネットリスト、状態遷移情報及びライブラリに加え、各論理素子間を接続する配線の配線容量を規定する配線情報を用い、発熱量パラメータに基づいて、論理回路を構成する各論理素子毎の消費電力を算出している。
【００３６】
この請求項１１に記載の装置は、請求項４に記載の方法を実現するものである。
従って、本発明の論理シミュレーション装置を用いれば、請求項４に記載の発明と全く同様の作用効果が得られる。
【００３７】
次に、請求項１２記載の論理シュミレーション装置では、起動制御手段が、全体情報算出手段にて算出される論理回路全体の消費電力、或いは起動制御手段にて算出される発熱量パラメータのうち、少なくともいずれか一つを判定パラメータとし、この判定パラメータについて、前回の算出結果からの偏差が予め設定された許容範囲内にある場合に収束条件を満たしたものとしている。また、請求項１３記載の論理シュミレーション装置では、起動制御手段は、予め設定された再起動回数だけ素子情報算出手段を再起動した場合に収束条件を満たしたものとしている。また、請求項１４記載の論理シュミレーション装置では、起動制御手段は、論理回路を１又は複数の論理素子毎に分割してなるブロック毎に、発熱量算出手段にて算出された発熱量の平均値を求め、該発熱量の平均値を発熱量パラメータとして設定している。
【００３８】
これら請求項１２〜１４記載の論理シュミレーション装置は、テストベクターに代えて状態遷移情報を用いて論理シュミレーションを実行すること及び、遅延時間を判定パラメータとして用いることができないこと以外は、それぞれ請求項７〜９の論理シュミレーション装置（請求項１２は請求項７に、請求項１３は請求項８に、請求項１４は請求項９にそれぞれ対応する）と同様の作用効果を奏するので、その説明を省略する。
【００３９】
【発明の実施の形態】
［第１実施例］
以下に本発明の第１実施例を図面と共に説明する。
図１は、本発明が適用された論理シミュレーション装置２の全体構成を表すブロック図である。
【００４０】
本実施例の論理シミュレーション装置２は、図１に示すように、フロッピーディスク，ハードディスク，磁気テープ等の記憶装置からなり、シミュレーションすべき論理回路を構成する論理素子（以下、ゲートという）の種類や各ゲート間の接続関係などを規定するネットリストＮＬ、シミュレーションを実行する際の論理回路への入力信号（以下、テスト入力という）を規定するテストベクターＶＣ、ゲートの種類毎に発熱量と遅延時間との関係や、発熱量と単位動作当たりの消費電力との関係を規定するライブラリＬＢが格納されたデータ記憶部１０と、キーボード，マウス，タッチパネル等の入力装置からなり、当該装置２を動作させる各種指令を入力するための入力操作部１２と、ＬＥＤ，ＬＣＤ，ＣＲＴ等のディスプレイからなり、入力操作部１２を介した操作の手順や指令に対する処理結果等を表示する表示部１４と、ＣＰＵ１６ａ，ＲＯＭ１６ｂ，ＲＡＭ１６ｃを中心に構成された周知のマイクロコンピュータからなり、データ記憶部１０に記憶されたネットリストＮＬ，テストベクターＶＣ，ライブラリＬＢに基づき、入力操作部１２からの指令に従って、論理回路のシミュレーションを行い、その処理結果を表示部１４に表示する等の処理を実行するシミュレーション実行部１６とを備えている。
【００４１】
ここで、ライブラリＬＢは、図２に示すように、論理積回路ＡＮＤ，論理和回路ＯＲ，排他的論理和回路ＸＯＲ…等の各ゲートの種類（図では、２入力否定論理積回路ＮＡＮＤ２，反転回路ＩＮＶ）毎に、入力（Ａ，Ｂ）に対して出力（ＹＢ）を生成する際の論理式（領域Ｍ１）と、入力端子での入力容量（Ｃａ，Ｃｂ），出力端子での駆動能力Ｒ，信号立ち上がり時及び立ち下がり時等の単位動作当たりの消費電力（以下、単位ゲート消費電力という）Ｐｇ，及び信号の入力レベルが変化してから出力レベルが変化するまでの遅延時間（以下、ゲート遅延時間という）Ｔｇ等、ゲートの特性を表す各種パラメータ（領域Ｍ２）が格納されている。
【００４２】
そして、駆動能力Ｒ，単位ゲート消費電力Ｐｇ，ゲート遅延時間Ｔｇは、いずれもゲートの自己発熱量（以下、ゲート発熱量という）ＴＨをパラメータとする関数ｆｒ(ＴＨ)，ｆｐ(ＴＨ)，ｆｔ(ＴＨ)により定義されている。
ここで図３（ａ）は、ゲート発熱量ＴＨと単位ゲート消費電力Ｐｇとの関係、図３（ｂ）は、ゲート発熱量ＴＨとゲート遅延時間Ｔｇとの関係を表すグラフの一例である。図示されているように、単位ゲート消費電力Ｐｇは、ゲート発熱量ＴＨが増大するほど小さくなり、一方、ゲート遅延時間Ｔｇは、ゲート発熱量ＴＨが増大するほど大きくなる。そして、上記関数ｆｐ，ｆｔは、予め実験等によって求められたこれらのグラフを近似するように定義されたものである。
【００４３】
なお、特にゲート発熱量ＴＨと単位ゲート消費電力Ｐｇとの関係は、自己発熱で温度が上昇すると、接合リーク電流（ドレイン・ソースからバルクに漏れる電流）が増加して消費電力も増大するため、必ずしも図３（ａ）に示したような右下がりのグラフになるとは限らない。
【００４４】
また、ネットリストＮＬやテストベクターＶＣは、この種のシミュレーションに従来より使用されている周知のものであり、ここではその詳細についての説明を省略する。
但し、ネットリストＮＬでは、論理回路を構成する全てのゲートが、１又は複数のゲートからなる複数のブロックに分割されており、ライブラリＬＢを用いて単位ゲート消費電力Ｐｇやゲート遅延時間Ｔｇの算出を行う際には、各ブロック毎に、ゲート発熱量ＴＨとして共通の発熱量パラメータＴＨｐを用いるようにされている。
【００４５】
次に、シミュレーション実行部１６のＣＰＵ１６ａが実行するシミュレーション処理を、図４に示すフローチャートに沿って説明する。
なお、本処理のプログラムは、予めＲＯＭ１６ｂに記憶されていてもよいし、図示しないフロッピーディスク等の外部記憶装置からＲＡＭ１６ｃにロードするようにしてもよい。
【００４６】
また、本処理は、入力操作部１２を介して、シミュレーションを開始すべき旨の指令が入力されると起動され、まずＳ１００では、発熱量パラメータＴＨｐの初期値の設定を行う。これは、表示部１４に、発熱量パラメータＴＨｐの初期値の入力を促す表示を行い、入力操作部１２を介して値の入力があると、その入力された値を、発熱量パラメータＴＨｐの初期値として設定することにより行う。
【００４７】
なお、発熱量パラメータＴＨｐの初期値は、外部からの入力によることなく、固定値（例えば０）を自動的に設定するようにしてもよい。
続くＳ１１０では、設定された発熱量パラメータＴＨｐを用い、ライブラリＬＢにて定義された関数ｆｐに従って、ネットリストＮＬに定義された論理回路を構成する全ゲートについて、個々に単位ゲート消費電力Ｐｇを算出し、更に、この単位ゲート消費電力ＰｇとテストベクターＶＣとに基づいて、各ゲート毎に、テストベクターＶＣの全期間に渡る消費電力（以下、ゲート消費電力という）ＰＷを算出する。
【００４８】
続くＳ１２０では、設定された発熱量パラメータＴＨｐを用い、ライブラリＬＢに定義された関数ｆｔに従って、ネットリストＮＬに定義された論理回路を構成する全ゲートについて、個々にゲート遅延時間Ｔｇを算出する。
そして、Ｓ１３０では、先のＳ１１０にて各ゲート毎に算出されたゲート消費電力ＰＷを全て積算することにより論理回路全体としての消費電力（以下、全消費電力という）Ｐｈを算出し、Ｓ１４０では、先のＳ１２０にて各ゲート毎に算出されたゲート遅延時間Ｔｇ、及びネットリストＮＬ、テストベクターＶＣに基づいて、各ゲートでの入出力タイミングを逐次計算することにより、論理回路全体としての遅延時間（以下、全遅延時間という）Ｔｈ、及びテストベクターＶＣに対する論理回路からの出力信号を求める。
【００４９】
続くＳ１５０では、先のＳ１１０にて算出されたゲート消費電力ＰＷに基づいて、次の（１）式を用いて、消費電力ＰＷに応じて生じる自己発熱の大きさを表すゲート発熱量ＴＨを算出する。但し、ａ，ｂは、論理回路が構成される基板等の物性によって決まる定数である。
【００５０】
ＴＨ＝ａ・ＰＷ＋ｂ                                      （１）
なお、ゲート発熱量ＴＨの算出式は、（１）式に限定されるものではなく、一次関数以外の式で表されていてもよい。また、算出式によらずテーブルを用いてゲート発熱量ＴＨを求めてもよい。
【００５１】
更にＳ１６０では、Ｓ１５０にて求めたゲート発熱量ＴＨに基づき、ブロック毎にその平均値を算出して、これを発熱量パラメータＴＨｐとして設定する。
そして、Ｓ１７０では、本ステップが本処理の起動後にはじめて実行されたのであれば、Ｓ１３０，Ｓ１４０，Ｓ１６０にて算出された全消費電力Ｐｈ，全遅延時間Ｔｈ，発熱量パラメータＴＨｐを前回の算出値として記憶した後、Ｓ１１０に戻り、また、本処理の起動後、本ステップが既に１回以上実行されているのであれば、即ち、前回の算出値が記憶されているのであれば、全消費電力Ｐｈ，全遅延時間Ｄｈ，発熱量パラメータＴＨｐのすべてについて、それぞれ、今回の算出値と前回の算出値との偏差を算出して、そのいずれもが、予め設定された許容範囲内にあるか否かを判断する。そして、否定判定された場合には、今回の算出値を前回の算出値として記憶した後Ｓ１１０に戻り、一方、肯定判定された場合には、Ｓ１８０に移行し、シミュレーション結果として、全消費電力Ｐｈ，全遅延時間Ｔｈ、及びテストベクターＶＣに対する出力波形（タイミング）等を、表示部１４に表示した後、本処理を終了する。
【００５２】
なお、Ｓ１７０では、例えば、予め設定された上限回数だけ連続して否定判定された場合、即ち、上限回数だけ処理を繰り返しても、判定パラメータが収束しなかった場合には、その旨を表示部１４に表示して本処理を強制的に終了するようにしてもよい。
【００５３】
また、Ｓ１１０，Ｓ１２０が第１の手順及び素子情報算出手段に相当し、Ｓ１３０，Ｓ１４０が第２の手順及び全体情報算出手段に相当し、Ｓ１５０〜Ｓ１７０が第３の手順に相当し、特にＳ１５０，Ｓ１６０が発熱量算出手段、Ｓ１７０が起動制御手段に相当する。
【００５４】
ここで、図５は、Ｓ１１０〜Ｓ１７０の処理を繰り返すことにより、逐次算出される全消費電力Ｐｈ（即ち発熱量ＴＨ）及び全遅延時間Ｔｈ（即ち動作周波数）が変化する様子を表す説明図である。
即ち、反復回数０の位置に示すように、発熱量パラメータＴＨｐの初期値が、実際の発熱量より小さな値（例えば０）に設定されたとすると（Ｓ１００）、これに基づいて、反復回数１の位置に示すように、実際より大きめの全消費電力Ｐｈと実際より小さめの全遅延時間Ｔｈとが算出される（Ｓ１１０〜Ｓ１４０）。この全消費電力Ｐｈの算出に用いたゲート消費電力ＰＷに基づき、（１）式を用いて、ゲート発熱量ＴＨを算出し、ひいては発熱量パラメータＴＨｐが算出される（Ｓ１５０，Ｓ１６０）。そして、この初回の処理では、未だ前回の算出値が記憶されていないため、収束判定を行うことなく、この発熱量パラメータＴＨｐに基づいて、２回目の処理が行われる。すると、反復回数２の位置に示すように、再度、全消費電力Ｐｈ，全遅延時間Ｔｈ，及び発熱量パラメータＴＨｐが算出され（Ｓ１１０〜Ｓ１６０）。この時の前回の算出値との偏差△Ｐ，△Ｔ，△ＴＨｐにより収束判定が行われ、ここでは、偏差△Ｐ，△Ｔ，△ＴＨｐがいずれも許容範囲に収まらないため、３回目以降の処理が行われる。
【００５５】
その後、Ｓ１１０〜Ｓ１７０処理を繰り返すことにより、前回の算出値との偏差が、いずれも許容範囲に納まった、即ち収束条件が満たされたと判定されると（図５では、反復回数５）本処理を終了するのである。
以上、説明したように、本実施例の論理シミュレーション装置２においては、設定された発熱量パラメータＴＨｐに基づいてゲート消費電力ＰＧ及びゲート遅延時間Ｔｇ、ひいては判定パラメータ（全消費電力Ｐｈ，全遅延時間Ｔｈ，発熱量パラメータＴＨｐ）を算出し、これら各判定パラメータＰｈ，Ｔｈ，ＴＨｐについて、今回の処理の算出値と前回の処理の算出値との偏差が十分に小さく（許容範囲内に）なるまでの間、新たに算出された発熱量パラメータＴＨｐを用いて、上記処理を繰り返すようにされている。
【００５６】
その結果、本実施例の論理シミュレーション装置によれば、ゲートの自己発熱（発熱量ＴＨ）の影響を反映させた全消費電力Ｐｈや全遅延時間Ｔｈを、収束判定に用いた許容範囲以下の誤差で、精度よく求めることができる。特に組み合わせ回路に限るが、全遅延時間Ｔｈからは、論理回路の上限動作周波数、即ち、論理回路の動作速度の限界を知ることができるため、動作速度の点では論理回路の性能を最大限に引き出すことができる。
【００５７】
また、本実施例では、ブロック毎に発熱量パラメータＴＨｐを求めているので、ブロック内に同一種類のゲートがあれば、単位ゲート消費電力Ｐｇやゲート遅延時間Ｔｇの算出を共通に行うことができ、処理量の削減を図ることができる。
なお、発熱量パラメータＴＨｐの算出単位となるブロックは、論理回路全体を１ブロックとしてもよいし、各ゲートを１ブロックとしてもよい。各ゲートを１ブロックとした場合には、Ｓ１５０にて算出されるゲート発熱量ＴＨを、そのまま発熱量パラメータＴＨｐとして使用すればよい。
【００５８】
また、上記実施例では、単位ゲート消費電力Ｐｇやゲート遅延時間Ｔｇの算出を、ライブラリＬＢに定義された関数ｆｐ，ｆｔを用いて行っているが、この関数ｆｐ，ｆｔに代えて、これらの関係（図３（ａ）及び（ｂ）参照）を表すテーブルを用いて行ってもよい。なお、関数を用いた場合、使用する全領域で均一な精度を保つことが困難である場合や、精度を向上させようとすると関数が複雑になって処理量を増大させてしまう場合があるが、テーブルを用いれば、実現すべき関係を表すグラフがどのように複雑であったとしても、全領域に渡って、同じ処理量にて、ほぼ同じ精度で算出することができる。
ところで、上記実施例では、Ｓ１７０での収束判定を、全消費電力Ｐｈ，全遅延時間Ｔｈ，発熱量パラメータＴＨｐの全てを判定パラメータとして用い、全ての判定パラメータについて前回の算出値と今回の算出値との偏差が許容範囲内となった場合に収束したと判定しているが、これら三つの判定パラメータのうちいずれか一つ、又はいずれか二つのみが、許容範囲内に入った場合に、収束したと判定してもよい。
【００５９】
また、判定パラメータとして三つ全てを用いるのではなく、いずれか一つ、又はいずれか二つのみを用いるようにしてもよい。
そして、特に、全遅延時間Ｔｈのみを判定パラメータとする場合には、図６に示すように、全消費電力Ｐｈを算出するステップ（Ｓ２７０）を、処理ループの外に出すことができると共に、収束判定にて否定判定された（Ｓ２４０−ＮＯ）場合にのみ、次回の処理に用いる発熱量パラメータＴＨｐを算出するステップ（Ｓ２５０，Ｓ２６０）を実行すればよいため、処理量を軽減することができる。なお、図６のフローチャートにおいて、Ｓ２００〜Ｓ２３０，Ｓ２５０〜Ｓ２８０の処理は、Ｓ１００〜Ｓ１６０、Ｓ１８０の処理を一部並べ変えただけで全く同様の処理を行っており、即ちＳ２００〜Ｓ２２０がＳ１００〜Ｓ１２０，Ｓ２３０がＳ１４０，Ｓ２５０〜Ｓ２６０がＳ１５０〜Ｓ１６０，Ｓ２７０がＳ１３０，Ｓ２８０がＳ１８０とそれぞれ全く同様の処理を行っている。
【００６０】
また、全消費電力Ｐｈのみを判定パラメータとする場合には、図６において、全消費電力Ｐｈを算出するステップの代わりに、ゲート遅延時間Ｔｇ及び全遅延時間Ｔｈを算出するステップを、処理ループの外に出せばよい。
また更に、発熱量パラメータＴＨｐのみを判定パラメータとする場合には、図７に示すように、全消費電力Ｐｈ及び全遅延時間Ｔｈを算出する両ステップ（Ｓ３６０，Ｓ３７０）を、処理ループの外に出すことができるため、更なる処理の軽減を図ることができる。なお、Ｓ３００〜Ｓ３２０がＳ１００〜Ｓ１２０，Ｓ３３０〜Ｓ３４０がＳ１５０〜Ｓ１６０，Ｓ３６０〜Ｓ３７０がＳ１３０〜Ｓ１４０，Ｓ３８０がＳ１８０とそれぞれ全く同様の処理を行っている。
【００６１】
ところで、ある回数以上処理を繰り返せば、判定パラメータの偏差が許容範囲内に納まることが予めわかっていれば、判定パラメータの偏差を実際に算出することなく、繰返回数を収束条件とすることができる。
この場合、図８に示すように、ゲート遅延時間Ｔｇ，全消費電力Ｐｈ，全遅延時間Ｔｈを算出するステップ（Ｓ４５０〜Ｓ４７０）を、処理の繰り返しループの外に出すことができると共に、収束判定にて否定判定された（Ｓ４２０−ＮＯ）場合のみ、次回の処理に用いる発熱量パラメータＴＨｐの算出（Ｓ４３０，Ｓ４４０）を行えばよいため、より一層、処理量を軽減することができる。なお、Ｓ４００〜Ｓ４１０がＳ１００〜Ｓ１１０，Ｓ４３０〜Ｓ４４０がＳ１５０〜Ｓ１６０，Ｓ４５０〜Ｓ４７０がＳ１２０〜Ｓ１４０，Ｓ４８０がＳ１８０とそれぞれ全く同様の処理を行っている。
【００６２】
なお、上記実施例では、ゲート消費電力ＰＧ及びゲート遅延時間Ｔｇの算出（Ｓ１１０とＳ１２０，Ｓ２１０とＳ２２０，Ｓ３１０とＳ３２０）を、別々に順次実行するようにされているが、これらの処理は同時に実行してもよい。また、同様に、全消費電力Ｐｈ及び全遅延時間Ｔｈの算出（Ｓ１３０とＳ１４０，Ｓ３６０とＳ３７０，Ｓ４６０とＳ４７０）も、同時に実行してもよい。
［第２実施例］
次に、本発明の第２実施例について説明する。
【００６３】
実際の論理回路の各ゲート間を結ぶ配線には少なからず配線容量があり、そのため上記第１実施例で示したゲートのゲート遅延時間Ｔｇ等は、その影響を受ける。そこで、本第２実施例では、配線容量の影響を考慮した論理シュミレーションを行っている。
【００６４】
ここで、図９は、本第２実施例の論理シュミレーション装置２を表すブロック図、図１０は、各配線の配線容量の内容を表す説明図である。
本実施例の論理シュミレーション装置２は、第１実施例と異なるのは、配線容量を考慮して、前述した駆動能力Ｒ、ゲート遅延時間Ｔｇ及び単位ゲート消費電力Ｐｇ等を算出している点であるので、以下の説明では、第１実施例と異なる点についてのみ説明する。
【００６５】
まず、論理シュミレーション装置２の全体構成では、図９に示すように、データ記憶部１０に、各配線の配線容量ＬＣを各配線に対応させて記憶した配線情報αが記憶されている点が第１実施例と異なる。この配線情報αは、入力操作部１２から入力され、具体的には、例えばシュミレーションを行う論理回路が、図１０（ａ）に示すような、２つのＮＯＴ回路ｇ１，ｇ２と、ＮＡＮＤ回路ｇ３とからなり、ＮＯＴ回路ｇ１，ｇ２の出力側がＮＡＮＤ回路ｇ３の入力側にそれぞれ接続された論理回路であるとすると、図１０（ｂ）に示すように、ＮＯＴ回路ｇ１の入力側に接続される配線ｎ１、ＮＯＴ回路ｇ１の出力側及びＮＡＮＤ回路ｇ３の入力側に接続される配線ｎ３、ＮＯＴ回路ｇ２の入力側に接続される配線ｎ２、ＮＯＴ回路ｇ２の出力側及びＮＡＮＤ回路ｇ３の入力側に接続される配線ｎ４、ＮＡＮＤ回路ｇ３の出力側に接続される配線ｎ５のそれぞれ（領域Ｍ３）について対応付けられた配線容量ＬＣに関するデータ（領域Ｍ４）である。
【００６６】
次に、本実施例では、駆動能力Ｒ、ゲート遅延時間Ｔｇ及び単位ゲート消費電力Ｐｇが、前述した自己発熱量ＴＨの他に、この配線容量ＬＣをパラメータとする関数ｆｒ（ＴＨ，ＬＣ）、ｆｐ（ＴＨ、ＬＣ）、ｆｔ（ＴＨ，ＬＣ）としてライブラリＬＢに定義される点が第１実施例と異なる。ところで、通常、配線容量ＬＣとゲート遅延時間Ｔｇ及び単位ゲート消費電力Ｐｇとの関係は、論理回路の動作をシュミレーションするにあたりよく知られたものなので、本実施例ではその説明を省略する。尚、この関係については、予め実験等から分かったものを利用してもよいことはもちろんである。
【００６７】
そして本実施例では、上述した関数（ｆｐ（ＴＨ，ＬＣ）等）で定義されたゲート遅延時間Ｔｇ等に基づいて、図４に示すフローチャートにおける、ゲート消費電力ＰＷを算出する処理Ｓ１１０以下を実行しているのである。
以上のような構成を有する本実施例の論理シュミレーション装置２を実行すると、第１実施例の効果に加え、配線容量ＬＣを考慮したゲート消費電力ＰＧや、全消費電力Ｐｈ、全遅延時間Ｔｈを求めることができるので、第１実施例の論理シュミレーション装置２に比べ、実際に即したより正確なシュミレーションを行うことができる。
【００６８】
なお、配線情報αは、実際の論理回路から算出したものを用いてもよいし、仮想的な配線容量を用いてもよい。
また、配線情報αは、入力操作部１２により入力されるものに限られず、フロッピーディスク等の外部装置からＲＡＭ１６ｃにロードするようにしてもよく、どのように入力してもよい。
［第３実施例］
次に、本発明の第３実施例について説明する。
【００６９】
ここで、図１１は、本実施例の論理シュミレーション装置の概略構成を表すブロック図、図１２は、各配線毎の論理の遷移回数を説明するための説明図、図１３は、本実施例の論理シュミレーション装置２が実行するシュミレーション処理を表すフローチャートである。
【００７０】
以下の説明では、第１実施例と異なる点についてのみ説明する。
尚、以下の説明において遷移とは論理信号の信号レベルが０から１、あるいは１から０に変化すること、遷移回数とは、信号レベルが変化した回数を言う。
まず、本実施例のシュミレーション装置２は、図１１に示すように、第１実施例においてテストベクターＶＣに変わって、上述した状態遷移情報βがデータ記憶部１０に記憶されてい点が異なる。この状態遷移情報βは、第２実施例で例示した図１０（ａ）に示す論理回路を用いて具体的な例について説明すると、図１２に示すように、各配線ｎ１〜ｎ５毎に対応して（領域Ｍ５）、各配線毎の遷移回数（領域Ｍ６）を規定したものである。
【００７１】
また、第１実施例では、Ｓ１１０のステップを実行する場合、ゲートに接続される各配線について、論理の遷移回数を算出した上で、テストベクタＶＣの全期間に渡る消費電力を算出していたのに対して、本実施例の論理シュミレーション装置２では、Ｓ５１０において、予め入力された各配線によって伝達される論理信号の遷移回数に、ｆｐ（ＴＨ）で定義された単位ゲート消費電力Ｐｇを乗じることによって、ゲート消費電力ＰＷを算出している点が異なる。具体的には、例えば図１０（ａ）のゲートｇ２について見ると、入力側の配線ｎ２の遷移が１６０回、出力側のｎ４の遷移が１６０回なので、合計３２０回の遷移に対しゲート消費電力ＰＷ= ３２０ｆｐ（ＴＨ）という計算を行っているのである。
【００７２】
そのため、本実施例の論理シュミレーション装置２では、テストベクタＶＣを用いて個々のゲートの動作を再現することなく、ゲート消費電力ＰＷを算出することができるので、処理速度が格段に早くなる。
尚、本実施例の論理シュミレーション装置２では、図１３に示すように、図６に示したＳ１２０及びＳ１４０にあたる処理を行っていない点が第１実施例と異なる。このうち、Ｓ１２０にあたる処理を行っていないのは、Ｓ１２０で算出されるゲート遅延時間Ｔｇが全遅延時間Ｄｈを算出するためだけに用いられ、全消費電力Ｐｈを算出するために利用されないからである。また、Ｓ１４０にあたる処理を行っていないのは、そのためだけにテストベクタＶＣを用いて個々のゲートの動作を再現する必要が生じ、状態遷移情報βを用いることによって上昇した処理スピードが抑制されてしまうからである。
【００７３】
ただし、個々のゲートのゲート遅延時間Ｔｇは、テストベクタＶＣを用いて個々のゲートの動作を再現する必要がないので、必要に応じてＳ１２０に該当する処理を行って、ゲート遅延時間Ｔｇを算出してもよい。
また尚、図１３の処理において、Ｓ５００はＳ１００に、Ｓ５１０はＳ１１０に、Ｓ５２０はＳ１２０に、Ｓ５３０はＳ１３０に、Ｓ５５０はＳ１５０に、Ｓ５６０はＳ１６０に、Ｓ５７０はＳ１７０に、Ｓ５８０はＳ１８０にそれぞれ対応する。
【００７４】
以上説明した本実施例の論理シュミレーション装置２を用いると、全遅延時間Ｄｈの算出を行わず、しかも、テストベクタＶＣを用いて個々のゲートの動作を再現することなくゲート消費電力ＰＷを算出することができるので、論理回路の動作限界を知るためのパラメータである全消費電力Ｐｈを簡易的に短時間で求めることができる。
【００７５】
そのため、本実施例の論理シュミレーション装置２を用いれば、論理回路の設計において、その初期のアイディア段階において動作限界を越える論理回路が分かるため排除され、そのため設計の最終段階に至って初めて論理回路が動作しないことが分かるといったことが少なくなるので、論理回路の設計を効率よく進めることができる。
【００７６】
ただし、本実施例の論理シュミレーション装置２では、正確な遷移回数を入力すれば精密に全消費電力Ｐｈを算出できるので、アイディア段階ばかりでなく設計のどの段階でも用いることができることはもちろんである。
また、本実施例の論理シュミレーション装置２を用いると、テストベクタＶＣを準備できない、例えば、簡易的に論理回路で消費する全消費電力Ｐｈを求めたい用途において適当な遷移回数を記憶したファイルを準備しさえすれば、全消費電力Ｐｈを算出することができる。
【００７７】
尚、本実施例の論理シュミレーション装置２は、Ｓ５１０においてゲート消費電力Ｐｇを算出するのに、ライブラリＬＢ、ネットリストＮＬ及び状態遷移情報βを用いていたが、第２実施例と同様、各ゲートを接続する各配線の配線容量を用いて論理シュミレーションを実行するようにしてもよい。
【図面の簡単な説明】
【図１】  第１実施例の論理シミュレーション装置の概略構成を表すブロック図である。
【図２】  第１実施例においてライブラリの内容を表す説明図である。
【図３】  第１実施例において単位ゲート消費電力、及びゲート遅延と自己発熱の発熱量との関係を表すグラフである。
【図４】  第１実施例においてシミュレーション処理の内容を表すフローチャートである。
【図５】  第１実施例においてシミュレーション処理を実行した場合の全消費電力，全遅延時間等の算出過程を表す説明図である。
【図６】  第１実施例においてシミュレーション処理の変形例を表すフローチャートである。
【図７】  第１実施例においてシミュレーション処理の変形例を表すフローチャートである。
【図８】  第１実施例においてシミュレーション処理の変形例を表すフローチャートである。
【図９】  第２実施例の論理シュミレーション装置の概略構成を表すブロック図である。
【図１０】各配線毎の論理の遷移回数を表す説明図である。
【図１１】第３実施例の論理シュミレーション装置の概略構成を表すブロック図である。
【図１２】各配線の配線容量を表す説明図である。
【図１３】第３実施例の論理シュミレーション装置で実行する論理シュミレーションのフローチャートである。
【符号の説明】
２…論理シミュレーション装置    １０…データ記憶部
１２…入力操作部    １４…表示部    １６…シミュレーション実行部
Ｄｈ…全遅延時間    ＬＢ…ライブラリ    ＮＬ…ネットリスト
ＶＣ…テストベクター、α…配線情報、β…状態遷移情報
【図１】
0004081915.tif 000002
【図２】
0004081915.tif 000003
【図３】
0004081915.tif 000004
【図４】
0004081915.tif 000005
【図５】
0004081915.tif 000006
【図６】
0004081915.tif 000007
【図７】
0004081915.tif 000008
【図８】
0004081915.tif 000009
【図９】
0004081915.tif 000010
【図１０】
0004081915.tif 000011
【図１１】
0004081915.tif 000012
【図１２】
0004081915.tif 000013
【図１３】
0004081915.tif 000014