JP4081915B2 - Logic simulation method and apparatus - Google Patents

Logic simulation method and apparatus Download PDF

Info

Publication number
JP4081915B2
JP4081915B2 JP11077099A JP11077099A JP4081915B2 JP 4081915 B2 JP4081915 B2 JP 4081915B2 JP 11077099 A JP11077099 A JP 11077099A JP 11077099 A JP11077099 A JP 11077099A JP 4081915 B2 JP4081915 B2 JP 4081915B2
Authority
JP
Japan
Prior art keywords
logic
power consumption
heat generation
generation amount
calculated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP11077099A
Other languages
Japanese (ja)
Other versions
JP2000035985A (en
Inventor
耕治 加藤
浩 上杉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Priority to JP11077099A priority Critical patent/JP4081915B2/en
Publication of JP2000035985A publication Critical patent/JP2000035985A/en
Application granted granted Critical
Publication of JP4081915B2 publication Critical patent/JP4081915B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)
  • Tests Of Electronic Circuits (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、論理回路の動作を模擬する論理シミュレーション方法及び装置に関する。
【0002】
【従来の技術】
従来より、論理回路の動作を模擬(シミュレーション)する方法として、回路を構成するトランジスタ等の各素子の特性を規定する30〜200ものパラメータ(例えば、移動度、膜厚等)を、シミュレーションすべき対象回路の条件に応じて設定し、これらパラメータ間の相互関係等を規定する方程式を解くことにより、微少時間毎に信号レベルを逐次算出して信号波形を求める、いわゆるアナログシミュレーションや、このアナログシミュレーションのように精密な波形を再現するのではなく、各論理素子(ゲート)での遅延時間を考慮して0,1レベルで動作を再現する、いわゆる論理シミュレーションが知られている。
【0003】
このうち、前者(アナログシミュレーション)では、信号波形を精密に求めることができるが、膨大な計算量が必要なため、比較的小規模な回路でのシミュレーションに適しており、一方、後者(論理シミュレーション)では、前者と比較して、格段に少ない計算量で結果を求めることができるため、集積回路等の大規模な回路(実用上、数百万ゲート程度まで)でのシミュレーションに適している。
【0004】
なお、論理回路を構成する各ゲートでは、電流が流れると自己発熱し、この自己発熱がゲートの特性を規定する各種パラメータを変化させ、ゲートを流れる電流値や信号の遅延時間等に影響が表れることが知られているが、従来は、この自己発熱は十分に小さく、これを無視してシミュレーションを行っても特に問題となるようなことはなかった。
【0005】
【発明が解決しようとする課題】
ところが、近年、SOI(Silicon On Insulator)形半導体デバイスの登場や、論理回路の動作周波数の著しい向上のために、動作時の自己発熱による論理回路の各種特性への影響が増大する傾向にあり、この自己発熱の影響を無視できないようになりつつある。
【0006】
即ち、SOIデバイスでは、ゲートを構成するトランジスタ等の各素子は、それぞれがシリコン絶縁基板にて包囲されており熱伝導度が低いため、電流が流れると、その電流に伴う発熱を十分に放熱できずに自己発熱量が大きくなってしまい、また、論理回路では、通常、信号の反転時に電力を消費するが、動作周波数が向上すると、単位時間当たりの信号の反転回数、即ち消費電力が増大し、自己発熱量が大きくなってしまうのである。
【0007】
また、論理回路の性能を最大限に引き出して高速動作させるためには、論理回路の動作限界を知る必要があり、そのためには、各ゲート毎及び論理回路全体としての遅延時間(動作周波数)や消費電力を精度よく計算しなければならない。これに対して、例えば、特開平5−226368号公報に開示されているように、自己発熱による温度変化を算出し、素子の特性を規定するパラメータの一つである移動度を、この温度変化に応じて変化させて、各種計算を行うことにより、自己発熱の影響を反映させたアナログシミュレーションを行うものが提案されている。ところが、現状では、このような自己発熱の影響を反映させた論理シミュレーションは行われていない。
【0008】
従って、自己発熱が大きい場合に精度よくシミュレーションを行うには、アナログシミュレーションを用いざるをえないが、上述したように、実用上、あまり大規模な論理回路に適用することはできず、自己発熱の影響を反映させた論理シミュレーションへの要求が高まっている。
【0009】
そこで本発明は、上記問題点を解決するために、自己発熱の影響を反映させた精度のよい消費電力や遅延時間を求めることが可能な論理シミュレーション方法及び装置を提供することを目的とする。
【0010】
【課題を解決するための手段】
上記目的を達成するためになされた発明である請求項1に記載の論理シミュレーション方法では、第1の手順にて、ネットリスト及びテストベクターに加え、論理素子の種類毎に発熱量と遅延時間や単位動作当たりの消費電力との関係を規定するライブラリを用い、各論理素子の発熱量を指定するために設定された発熱量パラメータに基づいて、論理回路を構成する各論理素子毎の遅延時間及び消費電力を算出し、第2の手順にて、この第1の手順にて算出された各論理素子毎の遅延時間及び消費電力に基づいて、前記論理回路全体としての遅延時間及び消費電力を算出し、更に、第3の手順にて、第1の手順にて算出された各論理素子毎の消費電力に基づいて各論理素子毎の発熱量を算出し、該算出値に基づいて第1の手順にて用いる発熱量パラメータを設定することにより、予め設定された収束条件が満たされるまでの間、第1及び第2の手順を繰り返し実行させる。
【0011】
なお、単位動作とは、信号の立ち上がりや、立ち下がり等、電力消費を伴う最小単位の動作のことである。
即ち、シミュレーションの開始時には、各論理素子の発熱量がどの程度になるのか正確に知ることはできないため、発熱量パラメータとして適当に仮定して初期値を設定し、第1〜3の手順を実行する。
【0012】
その結果、各論理素子及び論理回路全体の消費電力及び遅延時間が算出され、また各論理素子の消費電力に従って、各論理素子の発熱量、ひいては発熱量パラメータが算出される。このとき、初期値として仮定した発熱量パラメータが妥当な値であれば、仮定値と算出値とでほぼ同じ大きさとなる。
【0013】
しかし、当初設定した発熱量パラメータの値が小さすぎれば、この設定に基づいて算出される消費電力は実際より大きめ,遅延時間は実際より小さめになり、逆に発熱量パラメータの値が大きすぎれば、消費電力は実際より小さめ,遅延時間は実際より大きめになる。
【0014】
従って、算出された消費電力に基づいて求めた発熱量、ひいては発熱量パラメータを、新たに第1の手順を行う際の設定値として、処理を繰り返すことにより、前回の処理にて算出された消費電力,遅延時間,発熱量(発熱量パラメータ)と、この前回の処理にて算出された発熱量パラメータに基づき今回の処理にて算出された消費電力,遅延時間,発熱量(発熱量パラメータ)との偏差が収束する方向に算出値は変化する。
【0015】
このため、これらの偏差が十分に収束するように、収束条件を設定して、収束条件を満たすまで、上記手順による処理を繰り返し実行することにより、各論理素子の自己発熱による影響を反映した消費電力や遅延時間を精度よく求めることができる。
【0016】
特に遅延時間からは、論理回路の高速動作の限界を精度よく求めることができるため、論理回路の性能を最大限に引き出すことができる。
次に、請求項2記載の論理シュミレーションでは、実際の論理回路では、論理素子を結ぶ配線に配線容量があるので、第1の手順において、その配線容量を規定する配線情報を用い、論理回路を構成する各論理素子毎の遅延時間及び消費電力を算出している。
【0017】
そのため、この請求項2記載の論理シュミレーション方法を用いると、請求項1記載の論理シュミレーション方法に比べ、より実際に即した各論理素子の消費電力や遅延時間を精度よく求めることができる。
ところで、上述した論理シュミレーション方法では、第1の手順においてテストベクターを使って各論理素子の消費電力を算出する場合、テストベクターの全期間に渡る消費電力を算出しているが、この消費電力の算出は、通常、テストベクタを用いて個々のゲートの動作を再現することによって各論理素子の遷移回数が分かるので、その遷移回数に論理素子の1回の動作あたりに要する消費電力を乗じて算出している。
【0018】
尚、ここで遷移回数とは、上述した単位動作が行われる回数である。
そこで、請求項3記載の論理シュミレーション方法では、第1の手順において、テストベクターに代えて、各論理素子間を接続する各配線毎に、該配線により伝達される論理の遷移回数を規定する状態遷移情報を用い、これとネットリスト及びライブラリを使って、各論理素子の消費電力を算出し、論理回路全体の消費電力を算出している。
【0019】
このようにすると、予め入力された状態遷移情報を用いることでテストベクタを用いて個々のゲートの動作を再現することなく各論理素子の消費電力を短時間に簡易的に算出することができる。
ここで、論理回路の設計の実際について考察してみると、通常論理回路の設計を行うには幾つかの段階があって、比較的初期のアイディア段階では、通常論理回路の動作限界を精密に知ることは求められない。しかし、アイディアとして提示された論理回路が、設計の最終段階に至って初めて動作しないことが分かるといったことが往々にして生じ、設計に要する時間の無駄が生ずる場合があるので、アイディア段階で論理回路の動作限界をある程度考慮した設計をすることが求められる。
【0020】
そのため、そのアイディア段階においても、テストベクターを用いて個々のゲートの動作を再現した後消費電力等を算出してもよいが、アイディア段階で取り上げられる論理回路の数が設計の最終段階で取り上げられるものの数に比較してかなり多く、また単に思いついた論理回路等も存在して、それらの論理回路全てについてテストベクタを用いて個々のゲートの動作を再現するシュミレーションを行うことはあまり考えられないので、請求項1,2記載の論理シュミレーション方法は、アイディア段階での論理回路の設計には不向きな場合がある。
【0021】
一方、実際の論理回路の設計においては、通常各論理素子の動作を予想しながら行うことが多い。
従って、この請求項3記載の論理シュミレーション方法を用いれば、例えば、論理回路の設計において、動作限界を知るためのパラメータである消費電力を簡易的に求めることができ、アイディア段階で動作限界を越える論理回路が選別され排除されるので、設計の最終段階に至って初めて論理回路が動作しないことが分かるといったことが少なくなり、論理回路の設計を効率よく進めることができる。ただし、この請求項3記載の論理シュミレーション方法では、正確な遷移回数を入力すれば精密に消費電力を算出できるので、アイディア段階ばかりでなく設計のどの段階でも用いることができることはもちろんである。
【0022】
また、請求項3記載の論理シュミレーション方法を用いれば、テストベクターを準備できない、例えば、簡易的に現状の論理回路全体で消費される全消費電力を求めたい用途においても、適当な遷移回数を記憶したファイルを準備しさえすれば、算出することができる。
【0023】
また、請求項4記載の倫理シュミレーション方法のように、第1の手順において、各論理素子間を接続する配線の配線容量を規定する配線情報を用い、各論理素子の発熱量を指定するために設定された発熱量パラメータに基づいて、論理回路を構成する各論理素子毎の消費電力を算出するようにしてもよい。
【0024】
このようにすれば、請求項3記載の論理シュミレーションと比較して、より実際の論理回路に即した消費電力の正確な演算を行うことができる。
次に、請求項5に記載の論理シミュレーション装置では、素子情報算出手段が、ネットリスト及びテストベクターに加え、論理素子の種類毎に発熱量と遅延時間との関係や、その発熱量と単位動作当たりの消費電力との関係を規定するライブラリを用い、各論理素子の発熱量を指定するために設定された発熱量パラメータに基づいて、論理回路を構成する各論理素子毎の遅延時間及び消費電力を算出し、全体情報算出手段が、素子情報算出手段での算出結果に基づいて、論理回路全体としての遅延時間及び消費電力を算出し、発熱量算出手段が、素子情報算出手段にて算出された各論理素子毎の消費電力に基づいて各論理素子毎の発熱量を算出し、そして、起動制御手段が、発熱量算出手段での算出結果に基づいて発熱量パラメータを設定することにより、予め設定された収束条件が満たされるまでの間、素子情報算出手段を繰り返し起動する。
【0025】
この請求項5に記載の装置は、請求項1に記載の方法を実現するものであり、即ち、素子情報算出手段が第1の手順、全体情報算出手段が第2の手順、発熱量算出手段及び起動制御手段が第3の手順を実現している。
従って、本発明の論理シミュレーション装置を用いれば、請求項1に記載の発明と全く同様の作用効果が得られる。
【0026】
次に、請求項6記載の論理シュミレーション装置では、素子情報算出手段が、ネットリスト、テストベクター及びライブラリに加え、各論理素子間を接続する配線の配線容量を規定する配線情報を用い、発熱量パラメータに基づいて、論理回路を構成する各論理素子毎の遅延時間及び消費電力を算出している。
【0027】
この請求項6に記載の装置は、請求項2に記載の方法を実現するものである。
従って、本発明の論理シミュレーション装置を用いれば、請求項2に記載の発明と全く同様の作用効果が得られる。
ところで、起動制御手段にて用いる収束条件については、例えば、請求項7に記載のように、全体情報算出手段にて算出される論理回路全体の遅延時間又は消費電力、或いは当該起動制御手段にて算出される発熱量パラメータのうち、少なくともいずれか一つを判定パラメータとし、この判定パラメータについて、前回の算出結果からの偏差が予め設定された許容範囲内にある場合に収束条件を満たしたものとすることができる。
【0028】
この場合、偏差と比較する許容範囲の大きさを適宜設定することにより、判定パラメータとして用いた算出値(遅延時間,消費電力,発熱量パラメータ)を、所望の誤差内で求めることができる。
また、本発明では、収束判定を、個々の論理素子毎ではなく、論理回路全体として行っているので処理量が少なく、従って、シミュレーション結果を比較的短時間で得ることができる。
【0029】
なお、判定パラメータとしては、遅延時間,消費電力,発熱量パラメータのうち、いずれか一つであってもよいし、いずれか二つであってもよいし、三つ全部であってもよい。また、複数の判定パラメータを設定した場合には、そのいずれもが、それぞれの許容範囲内にある場合にのみ収束条件を満たしたとしてもよいし、いずれか一つでも許容範囲内にあれば、収束条件を満たしたとしてもよい。そして、これら判定パラメータの数や許容範囲の大きさは、必要とされる精度や、装置の処理能力、許容処理時間等に応じて適宜設定すればよい。
【0030】
ところで、起動制御手段にて用いる収束条件としては、請求項7に示したもの以外に、例えば、ある再起動回数以上処理を繰り返すと、判定パラメータの偏差が許容範囲内に確実に収束することがわかっていれば、請求項8に記載のように、予め設定された再起動回数だけ素子情報算出手段を再起動した場合に収束条件を満たしたものとみなすようにしてもよい。
【0031】
この場合、上述のような判定パラメータの偏差を算出し判定する処理を省略することができるため、処理を簡略化することができる。
次に、請求項9に記載の論理シミュレーション装置では、起動制御手段は、論理回路を1又は複数の論理素子毎に分割してなるブロック毎に、発熱量算出手段にて算出された発熱量の平均値を求め、この発熱量の平均値を素子情報算出手段にて用いる発熱量パラメータとして設定する。
【0032】
つまり、すべてのブロックが、1個の論理素子からなる場合には、発熱量算出手段での算出値が、そのまま発熱量パラメータとなり、複数の論理素子からなるブロックでは、その平均発熱量が、ブロック内の論理素子で共通な発熱量パラメータとなる。
【0033】
このように、ブロック毎に発熱量パラメータを求めることにより、ブロック内に同一の論理素子があれば、単位動作当たりの消費電力の算出等を共通に行うことができるため、処理量の削減を図ることができる。
次に、請求項10記載の論理シュミレーション装置では、素子情報算出手段が、各論理素子毎の遅延時間及び消費電力を算出するため、各論理素子間を接続する各配線毎に、該配線により伝達される論理の遷移回数を規定する状態遷移情報を用いている点が請求項5の論理シュミレーション装置と異なる。
【0034】
この請求項10に記載の装置は、請求項3に記載の方法を実現するものであり、即ち、素子情報算出手段が第1の手順、全体情報算出手段が第2の手順、発熱量算出手段及び起動制御手段が第3の手順を実現している。
従って、本発明の論理シミュレーション装置を用いれば、請求項3に記載の発明と全く同様の作用効果が得られる。
【0035】
次に、請求項11記載の論理シュミレーション装置では、素子情報算出手段が、ネットリスト、状態遷移情報及びライブラリに加え、各論理素子間を接続する配線の配線容量を規定する配線情報を用い、発熱量パラメータに基づいて、論理回路を構成する各論理素子毎の消費電力を算出している。
【0036】
この請求項11に記載の装置は、請求項4に記載の方法を実現するものである。
従って、本発明の論理シミュレーション装置を用いれば、請求項4に記載の発明と全く同様の作用効果が得られる。
【0037】
次に、請求項12記載の論理シュミレーション装置では、起動制御手段が、全体情報算出手段にて算出される論理回路全体の消費電力、或いは起動制御手段にて算出される発熱量パラメータのうち、少なくともいずれか一つを判定パラメータとし、この判定パラメータについて、前回の算出結果からの偏差が予め設定された許容範囲内にある場合に収束条件を満たしたものとしている。また、請求項13記載の論理シュミレーション装置では、起動制御手段は、予め設定された再起動回数だけ素子情報算出手段を再起動した場合に収束条件を満たしたものとしている。また、請求項14記載の論理シュミレーション装置では、起動制御手段は、論理回路を1又は複数の論理素子毎に分割してなるブロック毎に、発熱量算出手段にて算出された発熱量の平均値を求め、該発熱量の平均値を発熱量パラメータとして設定している。
【0038】
これら請求項12〜14記載の論理シュミレーション装置は、テストベクターに代えて状態遷移情報を用いて論理シュミレーションを実行すること及び、遅延時間を判定パラメータとして用いることができないこと以外は、それぞれ請求項7〜9の論理シュミレーション装置(請求項12は請求項7に、請求項13は請求項8に、請求項14は請求項9にそれぞれ対応する)と同様の作用効果を奏するので、その説明を省略する。
【0039】
【発明の実施の形態】
[第1実施例]
以下に本発明の第1実施例を図面と共に説明する。
図1は、本発明が適用された論理シミュレーション装置2の全体構成を表すブロック図である。
【0040】
本実施例の論理シミュレーション装置2は、図1に示すように、フロッピーディスク,ハードディスク,磁気テープ等の記憶装置からなり、シミュレーションすべき論理回路を構成する論理素子(以下、ゲートという)の種類や各ゲート間の接続関係などを規定するネットリストNL、シミュレーションを実行する際の論理回路への入力信号(以下、テスト入力という)を規定するテストベクターVC、ゲートの種類毎に発熱量と遅延時間との関係や、発熱量と単位動作当たりの消費電力との関係を規定するライブラリLBが格納されたデータ記憶部10と、キーボード,マウス,タッチパネル等の入力装置からなり、当該装置2を動作させる各種指令を入力するための入力操作部12と、LED,LCD,CRT等のディスプレイからなり、入力操作部12を介した操作の手順や指令に対する処理結果等を表示する表示部14と、CPU16a,ROM16b,RAM16cを中心に構成された周知のマイクロコンピュータからなり、データ記憶部10に記憶されたネットリストNL,テストベクターVC,ライブラリLBに基づき、入力操作部12からの指令に従って、論理回路のシミュレーションを行い、その処理結果を表示部14に表示する等の処理を実行するシミュレーション実行部16とを備えている。
【0041】
ここで、ライブラリLBは、図2に示すように、論理積回路AND,論理和回路OR,排他的論理和回路XOR…等の各ゲートの種類(図では、2入力否定論理積回路NAND2,反転回路INV)毎に、入力(A,B)に対して出力(YB)を生成する際の論理式(領域M1)と、入力端子での入力容量(Ca,Cb),出力端子での駆動能力R,信号立ち上がり時及び立ち下がり時等の単位動作当たりの消費電力(以下、単位ゲート消費電力という)Pg,及び信号の入力レベルが変化してから出力レベルが変化するまでの遅延時間(以下、ゲート遅延時間という)Tg等、ゲートの特性を表す各種パラメータ(領域M2)が格納されている。
【0042】
そして、駆動能力R,単位ゲート消費電力Pg,ゲート遅延時間Tgは、いずれもゲートの自己発熱量(以下、ゲート発熱量という)THをパラメータとする関数fr(TH),fp(TH),ft(TH)により定義されている。
ここで図3(a)は、ゲート発熱量THと単位ゲート消費電力Pgとの関係、図3(b)は、ゲート発熱量THとゲート遅延時間Tgとの関係を表すグラフの一例である。図示されているように、単位ゲート消費電力Pgは、ゲート発熱量THが増大するほど小さくなり、一方、ゲート遅延時間Tgは、ゲート発熱量THが増大するほど大きくなる。そして、上記関数fp,ftは、予め実験等によって求められたこれらのグラフを近似するように定義されたものである。
【0043】
なお、特にゲート発熱量THと単位ゲート消費電力Pgとの関係は、自己発熱で温度が上昇すると、接合リーク電流(ドレイン・ソースからバルクに漏れる電流)が増加して消費電力も増大するため、必ずしも図3(a)に示したような右下がりのグラフになるとは限らない。
【0044】
また、ネットリストNLやテストベクターVCは、この種のシミュレーションに従来より使用されている周知のものであり、ここではその詳細についての説明を省略する。
但し、ネットリストNLでは、論理回路を構成する全てのゲートが、1又は複数のゲートからなる複数のブロックに分割されており、ライブラリLBを用いて単位ゲート消費電力Pgやゲート遅延時間Tgの算出を行う際には、各ブロック毎に、ゲート発熱量THとして共通の発熱量パラメータTHpを用いるようにされている。
【0045】
次に、シミュレーション実行部16のCPU16aが実行するシミュレーション処理を、図4に示すフローチャートに沿って説明する。
なお、本処理のプログラムは、予めROM16bに記憶されていてもよいし、図示しないフロッピーディスク等の外部記憶装置からRAM16cにロードするようにしてもよい。
【0046】
また、本処理は、入力操作部12を介して、シミュレーションを開始すべき旨の指令が入力されると起動され、まずS100では、発熱量パラメータTHpの初期値の設定を行う。これは、表示部14に、発熱量パラメータTHpの初期値の入力を促す表示を行い、入力操作部12を介して値の入力があると、その入力された値を、発熱量パラメータTHpの初期値として設定することにより行う。
【0047】
なお、発熱量パラメータTHpの初期値は、外部からの入力によることなく、固定値(例えば0)を自動的に設定するようにしてもよい。
続くS110では、設定された発熱量パラメータTHpを用い、ライブラリLBにて定義された関数fpに従って、ネットリストNLに定義された論理回路を構成する全ゲートについて、個々に単位ゲート消費電力Pgを算出し、更に、この単位ゲート消費電力PgとテストベクターVCとに基づいて、各ゲート毎に、テストベクターVCの全期間に渡る消費電力(以下、ゲート消費電力という)PWを算出する。
【0048】
続くS120では、設定された発熱量パラメータTHpを用い、ライブラリLBに定義された関数ftに従って、ネットリストNLに定義された論理回路を構成する全ゲートについて、個々にゲート遅延時間Tgを算出する。
そして、S130では、先のS110にて各ゲート毎に算出されたゲート消費電力PWを全て積算することにより論理回路全体としての消費電力(以下、全消費電力という)Phを算出し、S140では、先のS120にて各ゲート毎に算出されたゲート遅延時間Tg、及びネットリストNL、テストベクターVCに基づいて、各ゲートでの入出力タイミングを逐次計算することにより、論理回路全体としての遅延時間(以下、全遅延時間という)Th、及びテストベクターVCに対する論理回路からの出力信号を求める。
【0049】
続くS150では、先のS110にて算出されたゲート消費電力PWに基づいて、次の(1)式を用いて、消費電力PWに応じて生じる自己発熱の大きさを表すゲート発熱量THを算出する。但し、a,bは、論理回路が構成される基板等の物性によって決まる定数である。
【0050】
TH=a・PW+b (1)
なお、ゲート発熱量THの算出式は、(1)式に限定されるものではなく、一次関数以外の式で表されていてもよい。また、算出式によらずテーブルを用いてゲート発熱量THを求めてもよい。
【0051】
更にS160では、S150にて求めたゲート発熱量THに基づき、ブロック毎にその平均値を算出して、これを発熱量パラメータTHpとして設定する。
そして、S170では、本ステップが本処理の起動後にはじめて実行されたのであれば、S130,S140,S160にて算出された全消費電力Ph,全遅延時間Th,発熱量パラメータTHpを前回の算出値として記憶した後、S110に戻り、また、本処理の起動後、本ステップが既に1回以上実行されているのであれば、即ち、前回の算出値が記憶されているのであれば、全消費電力Ph,全遅延時間Dh,発熱量パラメータTHpのすべてについて、それぞれ、今回の算出値と前回の算出値との偏差を算出して、そのいずれもが、予め設定された許容範囲内にあるか否かを判断する。そして、否定判定された場合には、今回の算出値を前回の算出値として記憶した後S110に戻り、一方、肯定判定された場合には、S180に移行し、シミュレーション結果として、全消費電力Ph,全遅延時間Th、及びテストベクターVCに対する出力波形(タイミング)等を、表示部14に表示した後、本処理を終了する。
【0052】
なお、S170では、例えば、予め設定された上限回数だけ連続して否定判定された場合、即ち、上限回数だけ処理を繰り返しても、判定パラメータが収束しなかった場合には、その旨を表示部14に表示して本処理を強制的に終了するようにしてもよい。
【0053】
また、S110,S120が第1の手順及び素子情報算出手段に相当し、S130,S140が第2の手順及び全体情報算出手段に相当し、S150〜S170が第3の手順に相当し、特にS150,S160が発熱量算出手段、S170が起動制御手段に相当する。
【0054】
ここで、図5は、S110〜S170の処理を繰り返すことにより、逐次算出される全消費電力Ph(即ち発熱量TH)及び全遅延時間Th(即ち動作周波数)が変化する様子を表す説明図である。
即ち、反復回数0の位置に示すように、発熱量パラメータTHpの初期値が、実際の発熱量より小さな値(例えば0)に設定されたとすると(S100)、これに基づいて、反復回数1の位置に示すように、実際より大きめの全消費電力Phと実際より小さめの全遅延時間Thとが算出される(S110〜S140)。この全消費電力Phの算出に用いたゲート消費電力PWに基づき、(1)式を用いて、ゲート発熱量THを算出し、ひいては発熱量パラメータTHpが算出される(S150,S160)。そして、この初回の処理では、未だ前回の算出値が記憶されていないため、収束判定を行うことなく、この発熱量パラメータTHpに基づいて、2回目の処理が行われる。すると、反復回数2の位置に示すように、再度、全消費電力Ph,全遅延時間Th,及び発熱量パラメータTHpが算出され(S110〜S160)。この時の前回の算出値との偏差△P,△T,△THpにより収束判定が行われ、ここでは、偏差△P,△T,△THpがいずれも許容範囲に収まらないため、3回目以降の処理が行われる。
【0055】
その後、S110〜S170処理を繰り返すことにより、前回の算出値との偏差が、いずれも許容範囲に納まった、即ち収束条件が満たされたと判定されると(図5では、反復回数5)本処理を終了するのである。
以上、説明したように、本実施例の論理シミュレーション装置2においては、設定された発熱量パラメータTHpに基づいてゲート消費電力PG及びゲート遅延時間Tg、ひいては判定パラメータ(全消費電力Ph,全遅延時間Th,発熱量パラメータTHp)を算出し、これら各判定パラメータPh,Th,THpについて、今回の処理の算出値と前回の処理の算出値との偏差が十分に小さく(許容範囲内に)なるまでの間、新たに算出された発熱量パラメータTHpを用いて、上記処理を繰り返すようにされている。
【0056】
その結果、本実施例の論理シミュレーション装置によれば、ゲートの自己発熱(発熱量TH)の影響を反映させた全消費電力Phや全遅延時間Thを、収束判定に用いた許容範囲以下の誤差で、精度よく求めることができる。特に組み合わせ回路に限るが、全遅延時間Thからは、論理回路の上限動作周波数、即ち、論理回路の動作速度の限界を知ることができるため、動作速度の点では論理回路の性能を最大限に引き出すことができる。
【0057】
また、本実施例では、ブロック毎に発熱量パラメータTHpを求めているので、ブロック内に同一種類のゲートがあれば、単位ゲート消費電力Pgやゲート遅延時間Tgの算出を共通に行うことができ、処理量の削減を図ることができる。
なお、発熱量パラメータTHpの算出単位となるブロックは、論理回路全体を1ブロックとしてもよいし、各ゲートを1ブロックとしてもよい。各ゲートを1ブロックとした場合には、S150にて算出されるゲート発熱量THを、そのまま発熱量パラメータTHpとして使用すればよい。
【0058】
また、上記実施例では、単位ゲート消費電力Pgやゲート遅延時間Tgの算出を、ライブラリLBに定義された関数fp,ftを用いて行っているが、この関数fp,ftに代えて、これらの関係(図3(a)及び(b)参照)を表すテーブルを用いて行ってもよい。なお、関数を用いた場合、使用する全領域で均一な精度を保つことが困難である場合や、精度を向上させようとすると関数が複雑になって処理量を増大させてしまう場合があるが、テーブルを用いれば、実現すべき関係を表すグラフがどのように複雑であったとしても、全領域に渡って、同じ処理量にて、ほぼ同じ精度で算出することができる。
ところで、上記実施例では、S170での収束判定を、全消費電力Ph,全遅延時間Th,発熱量パラメータTHpの全てを判定パラメータとして用い、全ての判定パラメータについて前回の算出値と今回の算出値との偏差が許容範囲内となった場合に収束したと判定しているが、これら三つの判定パラメータのうちいずれか一つ、又はいずれか二つのみが、許容範囲内に入った場合に、収束したと判定してもよい。
【0059】
また、判定パラメータとして三つ全てを用いるのではなく、いずれか一つ、又はいずれか二つのみを用いるようにしてもよい。
そして、特に、全遅延時間Thのみを判定パラメータとする場合には、図6に示すように、全消費電力Phを算出するステップ(S270)を、処理ループの外に出すことができると共に、収束判定にて否定判定された(S240−NO)場合にのみ、次回の処理に用いる発熱量パラメータTHpを算出するステップ(S250,S260)を実行すればよいため、処理量を軽減することができる。なお、図6のフローチャートにおいて、S200〜S230,S250〜S280の処理は、S100〜S160、S180の処理を一部並べ変えただけで全く同様の処理を行っており、即ちS200〜S220がS100〜S120,S230がS140,S250〜S260がS150〜S160,S270がS130,S280がS180とそれぞれ全く同様の処理を行っている。
【0060】
また、全消費電力Phのみを判定パラメータとする場合には、図6において、全消費電力Phを算出するステップの代わりに、ゲート遅延時間Tg及び全遅延時間Thを算出するステップを、処理ループの外に出せばよい。
また更に、発熱量パラメータTHpのみを判定パラメータとする場合には、図7に示すように、全消費電力Ph及び全遅延時間Thを算出する両ステップ(S360,S370)を、処理ループの外に出すことができるため、更なる処理の軽減を図ることができる。なお、S300〜S320がS100〜S120,S330〜S340がS150〜S160,S360〜S370がS130〜S140,S380がS180とそれぞれ全く同様の処理を行っている。
【0061】
ところで、ある回数以上処理を繰り返せば、判定パラメータの偏差が許容範囲内に納まることが予めわかっていれば、判定パラメータの偏差を実際に算出することなく、繰返回数を収束条件とすることができる。
この場合、図8に示すように、ゲート遅延時間Tg,全消費電力Ph,全遅延時間Thを算出するステップ(S450〜S470)を、処理の繰り返しループの外に出すことができると共に、収束判定にて否定判定された(S420−NO)場合のみ、次回の処理に用いる発熱量パラメータTHpの算出(S430,S440)を行えばよいため、より一層、処理量を軽減することができる。なお、S400〜S410がS100〜S110,S430〜S440がS150〜S160,S450〜S470がS120〜S140,S480がS180とそれぞれ全く同様の処理を行っている。
【0062】
なお、上記実施例では、ゲート消費電力PG及びゲート遅延時間Tgの算出(S110とS120,S210とS220,S310とS320)を、別々に順次実行するようにされているが、これらの処理は同時に実行してもよい。また、同様に、全消費電力Ph及び全遅延時間Thの算出(S130とS140,S360とS370,S460とS470)も、同時に実行してもよい。
[第2実施例]
次に、本発明の第2実施例について説明する。
【0063】
実際の論理回路の各ゲート間を結ぶ配線には少なからず配線容量があり、そのため上記第1実施例で示したゲートのゲート遅延時間Tg等は、その影響を受ける。そこで、本第2実施例では、配線容量の影響を考慮した論理シュミレーションを行っている。
【0064】
ここで、図9は、本第2実施例の論理シュミレーション装置2を表すブロック図、図10は、各配線の配線容量の内容を表す説明図である。
本実施例の論理シュミレーション装置2は、第1実施例と異なるのは、配線容量を考慮して、前述した駆動能力R、ゲート遅延時間Tg及び単位ゲート消費電力Pg等を算出している点であるので、以下の説明では、第1実施例と異なる点についてのみ説明する。
【0065】
まず、論理シュミレーション装置2の全体構成では、図9に示すように、データ記憶部10に、各配線の配線容量LCを各配線に対応させて記憶した配線情報αが記憶されている点が第1実施例と異なる。この配線情報αは、入力操作部12から入力され、具体的には、例えばシュミレーションを行う論理回路が、図10(a)に示すような、2つのNOT回路g1,g2と、NAND回路g3とからなり、NOT回路g1,g2の出力側がNAND回路g3の入力側にそれぞれ接続された論理回路であるとすると、図10(b)に示すように、NOT回路g1の入力側に接続される配線n1、NOT回路g1の出力側及びNAND回路g3の入力側に接続される配線n3、NOT回路g2の入力側に接続される配線n2、NOT回路g2の出力側及びNAND回路g3の入力側に接続される配線n4、NAND回路g3の出力側に接続される配線n5のそれぞれ(領域M3)について対応付けられた配線容量LCに関するデータ(領域M4)である。
【0066】
次に、本実施例では、駆動能力R、ゲート遅延時間Tg及び単位ゲート消費電力Pgが、前述した自己発熱量THの他に、この配線容量LCをパラメータとする関数fr(TH,LC)、fp(TH、LC)、ft(TH,LC)としてライブラリLBに定義される点が第1実施例と異なる。ところで、通常、配線容量LCとゲート遅延時間Tg及び単位ゲート消費電力Pgとの関係は、論理回路の動作をシュミレーションするにあたりよく知られたものなので、本実施例ではその説明を省略する。尚、この関係については、予め実験等から分かったものを利用してもよいことはもちろんである。
【0067】
そして本実施例では、上述した関数(fp(TH,LC)等)で定義されたゲート遅延時間Tg等に基づいて、図4に示すフローチャートにおける、ゲート消費電力PWを算出する処理S110以下を実行しているのである。
以上のような構成を有する本実施例の論理シュミレーション装置2を実行すると、第1実施例の効果に加え、配線容量LCを考慮したゲート消費電力PGや、全消費電力Ph、全遅延時間Thを求めることができるので、第1実施例の論理シュミレーション装置2に比べ、実際に即したより正確なシュミレーションを行うことができる。
【0068】
なお、配線情報αは、実際の論理回路から算出したものを用いてもよいし、仮想的な配線容量を用いてもよい。
また、配線情報αは、入力操作部12により入力されるものに限られず、フロッピーディスク等の外部装置からRAM16cにロードするようにしてもよく、どのように入力してもよい。
[第3実施例]
次に、本発明の第3実施例について説明する。
【0069】
ここで、図11は、本実施例の論理シュミレーション装置の概略構成を表すブロック図、図12は、各配線毎の論理の遷移回数を説明するための説明図、図13は、本実施例の論理シュミレーション装置2が実行するシュミレーション処理を表すフローチャートである。
【0070】
以下の説明では、第1実施例と異なる点についてのみ説明する。
尚、以下の説明において遷移とは論理信号の信号レベルが0から1、あるいは1から0に変化すること、遷移回数とは、信号レベルが変化した回数を言う。
まず、本実施例のシュミレーション装置2は、図11に示すように、第1実施例においてテストベクターVCに変わって、上述した状態遷移情報βがデータ記憶部10に記憶されてい点が異なる。この状態遷移情報βは、第2実施例で例示した図10(a)に示す論理回路を用いて具体的な例について説明すると、図12に示すように、各配線n1〜n5毎に対応して(領域M5)、各配線毎の遷移回数(領域M6)を規定したものである。
【0071】
また、第1実施例では、S110のステップを実行する場合、ゲートに接続される各配線について、論理の遷移回数を算出した上で、テストベクタVCの全期間に渡る消費電力を算出していたのに対して、本実施例の論理シュミレーション装置2では、S510において、予め入力された各配線によって伝達される論理信号の遷移回数に、fp(TH)で定義された単位ゲート消費電力Pgを乗じることによって、ゲート消費電力PWを算出している点が異なる。具体的には、例えば図10(a)のゲートg2について見ると、入力側の配線n2の遷移が160回、出力側のn4の遷移が160回なので、合計320回の遷移に対しゲート消費電力PW= 320fp(TH)という計算を行っているのである。
【0072】
そのため、本実施例の論理シュミレーション装置2では、テストベクタVCを用いて個々のゲートの動作を再現することなく、ゲート消費電力PWを算出することができるので、処理速度が格段に早くなる。
尚、本実施例の論理シュミレーション装置2では、図13に示すように、図6に示したS120及びS140にあたる処理を行っていない点が第1実施例と異なる。このうち、S120にあたる処理を行っていないのは、S120で算出されるゲート遅延時間Tgが全遅延時間Dhを算出するためだけに用いられ、全消費電力Phを算出するために利用されないからである。また、S140にあたる処理を行っていないのは、そのためだけにテストベクタVCを用いて個々のゲートの動作を再現する必要が生じ、状態遷移情報βを用いることによって上昇した処理スピードが抑制されてしまうからである。
【0073】
ただし、個々のゲートのゲート遅延時間Tgは、テストベクタVCを用いて個々のゲートの動作を再現する必要がないので、必要に応じてS120に該当する処理を行って、ゲート遅延時間Tgを算出してもよい。
また尚、図13の処理において、S500はS100に、S510はS110に、S520はS120に、S530はS130に、S550はS150に、S560はS160に、S570はS170に、S580はS180にそれぞれ対応する。
【0074】
以上説明した本実施例の論理シュミレーション装置2を用いると、全遅延時間Dhの算出を行わず、しかも、テストベクタVCを用いて個々のゲートの動作を再現することなくゲート消費電力PWを算出することができるので、論理回路の動作限界を知るためのパラメータである全消費電力Phを簡易的に短時間で求めることができる。
【0075】
そのため、本実施例の論理シュミレーション装置2を用いれば、論理回路の設計において、その初期のアイディア段階において動作限界を越える論理回路が分かるため排除され、そのため設計の最終段階に至って初めて論理回路が動作しないことが分かるといったことが少なくなるので、論理回路の設計を効率よく進めることができる。
【0076】
ただし、本実施例の論理シュミレーション装置2では、正確な遷移回数を入力すれば精密に全消費電力Phを算出できるので、アイディア段階ばかりでなく設計のどの段階でも用いることができることはもちろんである。
また、本実施例の論理シュミレーション装置2を用いると、テストベクタVCを準備できない、例えば、簡易的に論理回路で消費する全消費電力Phを求めたい用途において適当な遷移回数を記憶したファイルを準備しさえすれば、全消費電力Phを算出することができる。
【0077】
尚、本実施例の論理シュミレーション装置2は、S510においてゲート消費電力Pgを算出するのに、ライブラリLB、ネットリストNL及び状態遷移情報βを用いていたが、第2実施例と同様、各ゲートを接続する各配線の配線容量を用いて論理シュミレーションを実行するようにしてもよい。
【図面の簡単な説明】
【図1】 第1実施例の論理シミュレーション装置の概略構成を表すブロック図である。
【図2】 第1実施例においてライブラリの内容を表す説明図である。
【図3】 第1実施例において単位ゲート消費電力、及びゲート遅延と自己発熱の発熱量との関係を表すグラフである。
【図4】 第1実施例においてシミュレーション処理の内容を表すフローチャートである。
【図5】 第1実施例においてシミュレーション処理を実行した場合の全消費電力,全遅延時間等の算出過程を表す説明図である。
【図6】 第1実施例においてシミュレーション処理の変形例を表すフローチャートである。
【図7】 第1実施例においてシミュレーション処理の変形例を表すフローチャートである。
【図8】 第1実施例においてシミュレーション処理の変形例を表すフローチャートである。
【図9】 第2実施例の論理シュミレーション装置の概略構成を表すブロック図である。
【図10】各配線毎の論理の遷移回数を表す説明図である。
【図11】第3実施例の論理シュミレーション装置の概略構成を表すブロック図である。
【図12】各配線の配線容量を表す説明図である。
【図13】第3実施例の論理シュミレーション装置で実行する論理シュミレーションのフローチャートである。
【符号の説明】
2…論理シミュレーション装置 10…データ記憶部
12…入力操作部 14…表示部 16…シミュレーション実行部
Dh…全遅延時間 LB…ライブラリ NL…ネットリスト
VC…テストベクター、α…配線情報、β…状態遷移情報
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a logic simulation method and apparatus for simulating the operation of a logic circuit.
[0002]
[Prior art]
Conventionally, as a method for simulating (simulating) the operation of a logic circuit, 30 to 200 parameters (for example, mobility, film thickness, etc.) that define the characteristics of each element such as a transistor constituting the circuit should be simulated. So-called analog simulation, which is set according to the conditions of the target circuit and solves equations that define the interrelationships between these parameters, etc., to obtain signal waveforms by sequentially calculating signal levels every minute time, and this analog simulation A so-called logic simulation is known in which the operation is reproduced at 0 and 1 levels in consideration of the delay time in each logic element (gate) instead of reproducing a precise waveform as described above.
[0003]
Among them, the former (analog simulation) can obtain the signal waveform precisely, but it requires a huge amount of calculation, so it is suitable for simulation with a relatively small circuit, while the latter (logic simulation). ) Can be obtained with a much smaller amount of calculation than the former, and is therefore suitable for simulation with a large-scale circuit such as an integrated circuit (up to several million gates in practice).
[0004]
In addition, in each gate constituting the logic circuit, self-heating occurs when a current flows, and this self-heating changes various parameters that define the characteristics of the gate, which affects the value of the current flowing through the gate, the signal delay time, and the like. However, conventionally, this self-heating is sufficiently small, and even if the simulation is performed while ignoring this, there is no particular problem.
[0005]
[Problems to be solved by the invention]
However, in recent years, due to the advent of SOI (Silicon On Insulator) type semiconductor devices and the significant improvement in the operating frequency of logic circuits, there is a tendency that the influence on various characteristics of logic circuits due to self-heating during operation increases. This self-heating effect cannot be ignored.
[0006]
That is, in an SOI device, each element such as a transistor constituting a gate is surrounded by a silicon insulating substrate and has low thermal conductivity. Therefore, when a current flows, heat generated by the current can be sufficiently dissipated. The logic circuit usually consumes power when the signal is inverted. However, if the operating frequency is improved, the number of signal inversions per unit time, that is, the power consumption increases. As a result, the amount of self-heating is increased.
[0007]
In addition, in order to maximize the performance of the logic circuit and operate at high speed, it is necessary to know the operation limit of the logic circuit. For that purpose, the delay time (operating frequency) of each gate and the entire logic circuit is required. Power consumption must be calculated accurately. On the other hand, as disclosed in, for example, Japanese Patent Laid-Open No. 5-226368, the temperature change due to self-heating is calculated, and the mobility, which is one of the parameters that define the characteristics of the element, is set as the temperature change. According to this, various simulations are performed, and an analog simulation that reflects the influence of self-heating is proposed. However, at present, no logic simulation reflecting the influence of such self-heating is performed.
[0008]
Therefore, in order to perform accurate simulation when self-heating is large, analog simulation must be used. However, as described above, it cannot be applied to a large-scale logic circuit in practice, and self-heating is not possible. There is a growing demand for logic simulations that reflect the effects of.
[0009]
Accordingly, an object of the present invention is to provide a logic simulation method and apparatus capable of obtaining accurate power consumption and delay time reflecting the effect of self-heating in order to solve the above-described problems.
[0010]
[Means for Solving the Problems]
In the logic simulation method according to claim 1, which is an invention made to achieve the above object, in the first procedure, in addition to a netlist and a test vector, a heating value and a delay time for each type of logic element, Using a library that defines the relationship between the power consumption per unit operation and the calorific value parameter set to specify the calorific value of each logical element, the delay time for each logical element constituting the logic circuit and Calculate power consumption, and in the second procedure, calculate the delay time and power consumption of the entire logic circuit based on the delay time and power consumption of each logic element calculated in the first procedure. Further, in the third procedure, the calorific value for each logic element is calculated based on the power consumption for each logic element calculated in the first procedure, and the first value is calculated based on the calculated value. Fever used in the procedure By setting the parameters, until a preset convergence condition is satisfied, to execute repeatedly the first and second steps.
[0011]
The unit operation is an operation of a minimum unit that involves power consumption, such as a rise or fall of a signal.
That is, at the start of simulation, it is impossible to know exactly how much the calorific value of each logic element will be, so the initial value is set appropriately assuming the calorific value parameter, and the first to third steps are executed. To do.
[0012]
As a result, the power consumption and delay time of each logic element and the entire logic circuit are calculated, and the amount of heat generated by each logic element, and hence the amount of heat generation parameter, is calculated according to the power consumption of each logic element. At this time, if the calorific value parameter assumed as the initial value is a reasonable value, the assumed value and the calculated value are approximately the same.
[0013]
However, if the initially set calorific value parameter value is too small, the power consumption calculated based on this setting will be larger than the actual value, the delay time will be smaller than the actual value, and conversely if the calorific value parameter value is too large. The power consumption is smaller than actual and the delay time is larger than actual.
[0014]
Accordingly, by repeating the process using the calorific value obtained based on the calculated power consumption, and thus the calorific value parameter, as a setting value when the first procedure is newly performed, the consumption calculated in the previous process is calculated. Power consumption, delay time, heat value (heat value parameter), and power consumption, delay time, heat value (heat value parameter) calculated in this process based on the heat value parameter calculated in the previous process The calculated value changes in the direction in which the deviation of the value converges.
[0015]
For this reason, by setting the convergence condition so that these deviations converge sufficiently, and repeatedly executing the process according to the above procedure until the convergence condition is satisfied, consumption that reflects the influence of self-heating of each logic element Power and delay time can be obtained with high accuracy.
[0016]
In particular, from the delay time, the limit of high-speed operation of the logic circuit can be obtained with high accuracy, so that the performance of the logic circuit can be maximized.
Next, in the logic simulation according to claim 2, in the actual logic circuit, the wiring connecting the logic elements has a wiring capacity. Therefore, in the first procedure, using the wiring information for defining the wiring capacity, The delay time and power consumption are calculated for each logical element that constitutes the circuit.
[0017]
For this reason, when the logic simulation method according to claim 2 is used, the power consumption and delay time of each logic element can be obtained with higher accuracy than the logic simulation method according to claim 1.
In the above-described logic simulation method, when the power consumption of each logic element is calculated using the test vector in the first procedure, the power consumption over the entire period of the test vector is calculated. The calculation is usually performed by reproducing the operation of each gate using a test vector, so that the number of transitions of each logic element can be known. Therefore, the number of transitions is multiplied by the power consumption required for each operation of the logic element. is doing.
[0018]
Here, the number of transitions is the number of times the above-described unit operation is performed.
Therefore, in the logic simulation method according to claim 3, in the first procedure, instead of the test vector, a state that defines the number of transitions of the logic transmitted by the wiring for each wiring connecting the logic elements. Using the transition information and the net list and library, the power consumption of each logic element is calculated, and the power consumption of the entire logic circuit is calculated.
[0019]
In this way, by using the state transition information input in advance, the power consumption of each logic element can be easily calculated in a short time without reproducing the operation of each gate using the test vector.
Considering the actual logic circuit design, there are several stages in designing a normal logic circuit. In the relatively early idea stage, the operation limit of a normal logic circuit is precisely defined. There is no need to know. However, it often happens that the logic circuit presented as an idea does not operate until reaching the final stage of design, and there may be a waste of time required for the design. It is required to design with some consideration of operating limits.
[0020]
Therefore, even in the idea stage, the power consumption etc. may be calculated after reproducing the operation of each gate using the test vector, but the number of logic circuits taken up in the idea stage is taken up in the final stage of the design. There are quite a lot of logic circuits compared to the number of things, and there are also logic circuits that have just come to mind, and it is unlikely that all of these logic circuits will be simulated to reproduce the behavior of individual gates using test vectors. The logic simulation methods described in claims 1 and 2 may be unsuitable for designing logic circuits at the idea stage.
[0021]
On the other hand, in designing an actual logic circuit, the operation of each logic element is usually performed in many cases.
Therefore, if the logic simulation method described in claim 3 is used, for example, in designing a logic circuit, the power consumption, which is a parameter for knowing the operation limit, can be easily obtained, and the operation limit is exceeded in the idea stage. Since the logic circuit is selected and eliminated, it is less likely that the logic circuit will not operate only after reaching the final design stage, and the logic circuit design can proceed efficiently. However, in the logic simulation method according to the third aspect, the power consumption can be accurately calculated by inputting an accurate number of transitions, so that it can be used at any stage of the design as well as the idea stage.
[0022]
In addition, if the logic simulation method according to claim 3 is used, a test vector cannot be prepared. For example, even in an application where the total power consumption consumed by the entire current logic circuit is simply obtained, an appropriate number of transitions is stored. It is possible to calculate it by just preparing the file.
[0023]
In addition, as in the ethical simulation method according to claim 4, in order to specify the amount of heat generated by each logic element using the wiring information that defines the wiring capacity of the wiring connecting each logic element in the first procedure. Based on the set calorific value parameter, the power consumption for each logic element constituting the logic circuit may be calculated.
[0024]
In this way, compared with the logic simulation according to the third aspect, it is possible to perform an accurate calculation of power consumption more in line with an actual logic circuit.
Next, in the logic simulation apparatus according to claim 5, the element information calculation means includes the relationship between the heat generation amount and the delay time for each type of logic element in addition to the net list and the test vector, and the heat generation amount and unit operation. The delay time and power consumption for each logic element that constitutes the logic circuit based on the calorific value parameter set to specify the calorific value of each logic element, using a library that defines the relationship with the per unit power consumption The overall information calculation means calculates the delay time and power consumption of the entire logic circuit based on the calculation result of the element information calculation means, and the heat generation amount calculation means is calculated by the element information calculation means. The heat generation amount for each logical element is calculated based on the power consumption for each logical element, and the activation control means sets the heat generation amount parameter based on the calculation result in the heat generation amount calculation means. It makes until preset convergence condition is satisfied, it starts repeatedly device information calculation means.
[0025]
The apparatus according to claim 5 implements the method according to claim 1, that is, the element information calculation means is the first procedure, the overall information calculation means is the second procedure, and the heat generation amount calculation means. In addition, the activation control means realizes the third procedure.
Therefore, if the logic simulation apparatus of the present invention is used, the same effect as that of the first aspect of the invention can be obtained.
[0026]
Next, in the logic simulation apparatus according to claim 6, the element information calculation means uses wiring information that defines the wiring capacity of the wiring connecting each logic element, in addition to the net list, the test vector, and the library. Based on the parameters, the delay time and power consumption for each logic element constituting the logic circuit are calculated.
[0027]
The device according to claim 6 realizes the method according to claim 2.
Therefore, if the logic simulation apparatus of the present invention is used, the same effects as those of the invention of the second aspect can be obtained.
By the way, as for the convergence condition used by the activation control means, for example, as described in claim 7, the delay time or power consumption of the entire logic circuit calculated by the overall information calculation means, or the activation control means. At least one of the calculated calorific value parameters is set as a determination parameter, and when the deviation from the previous calculation result is within a preset allowable range for the determination parameter, the convergence condition is satisfied. can do.
[0028]
In this case, by appropriately setting the size of the allowable range to be compared with the deviation, the calculated values (delay time, power consumption, heat generation amount parameter) used as the determination parameters can be obtained within a desired error.
Further, in the present invention, the convergence determination is performed not for each individual logic element but for the entire logic circuit, so that the processing amount is small, and therefore a simulation result can be obtained in a relatively short time.
[0029]
Note that the determination parameter may be any one of delay time, power consumption, and calorific value parameter, any two, or all three. In addition, when a plurality of determination parameters are set, all of them may satisfy the convergence condition only when they are within the respective allowable ranges, and if any one is within the allowable range, The convergence condition may be satisfied. The number of these determination parameters and the size of the allowable range may be appropriately set according to the required accuracy, the processing capability of the apparatus, the allowable processing time, and the like.
[0030]
By the way, as a convergence condition used in the activation control means, for example, if the process is repeated more than a certain number of times of restart, the deviation of the determination parameter can surely converge within an allowable range. If it is known, as described in claim 8, it may be considered that the convergence condition is satisfied when the element information calculation unit is restarted for a preset number of restarts.
[0031]
In this case, since the process for calculating and determining the deviation of the determination parameter as described above can be omitted, the process can be simplified.
Next, in the logic simulation apparatus according to claim 9, the activation control unit is configured to calculate the heat generation amount calculated by the heat generation amount calculation unit for each block obtained by dividing the logic circuit into one or more logical elements. An average value is obtained, and the average value of the heat generation amount is set as a heat generation amount parameter used in the element information calculation means.
[0032]
That is, when all the blocks are composed of one logical element, the calculated value by the calorific value calculation means is directly used as the calorific value parameter, and in the block composed of a plurality of logical elements, the average calorific value is It becomes a calorific value parameter common to the logic elements.
[0033]
In this way, by obtaining the heat generation amount parameter for each block, if the same logic element is present in the block, the power consumption per unit operation can be calculated in common, so that the processing amount is reduced. be able to.
Next, in the logic simulation device according to claim 10, the element information calculation means transmits the delay time and power consumption for each logic element for each wiring connecting each logic element. The present embodiment is different from the logic simulation apparatus according to claim 5 in that state transition information that defines the number of times of logic transition is used.
[0034]
The apparatus according to claim 10 realizes the method according to claim 3, that is, the element information calculation means is the first procedure, the overall information calculation means is the second procedure, and the calorific value calculation means. In addition, the activation control means realizes the third procedure.
Therefore, if the logic simulation apparatus of the present invention is used, the same effect as that of the invention of claim 3 can be obtained.
[0035]
Next, in the logic simulation device according to claim 11, the element information calculation means uses the wiring information that defines the wiring capacity of the wiring connecting each logic element in addition to the net list, the state transition information, and the library, and generates heat. Based on the quantity parameter, power consumption for each logic element constituting the logic circuit is calculated.
[0036]
The device according to claim 11 realizes the method according to claim 4.
Therefore, if the logic simulation apparatus of the present invention is used, the same effects as those of the invention of the fourth aspect can be obtained.
[0037]
Next, in the logic simulation device according to claim 12, the activation control unit includes at least one of the power consumption of the entire logic circuit calculated by the overall information calculation unit or the calorific value parameter calculated by the activation control unit. Any one is set as a determination parameter, and the convergence condition is satisfied for the determination parameter when a deviation from the previous calculation result is within a preset allowable range. In the logic simulation apparatus according to claim 13, the activation control means satisfies the convergence condition when the element information calculation means is restarted a preset number of times of restart. In the logic simulation device according to claim 14, the start-up control means includes an average value of the calorific values calculated by the calorific value calculation means for each block obtained by dividing the logic circuit into one or a plurality of logic elements. And the average value of the heat generation amount is set as the heat generation amount parameter.
[0038]
These logic simulation devices according to claims 12 to 14, respectively, except that the logic simulation is executed using the state transition information instead of the test vector and that the delay time cannot be used as the determination parameter. Since the same effects as those of the logic simulation devices of claims 9 to 9 (corresponding to claim 7 in claim 7, claim 13 in claim 8 and claim 14 in claim 9), the description thereof is omitted. To do.
[0039]
DETAILED DESCRIPTION OF THE INVENTION
[First embodiment]
A first embodiment of the present invention will be described below with reference to the drawings.
FIG. 1 is a block diagram showing the overall configuration of a logic simulation apparatus 2 to which the present invention is applied.
[0040]
As shown in FIG. 1, the logic simulation apparatus 2 according to the present embodiment includes a storage device such as a floppy disk, a hard disk, and a magnetic tape, and includes types of logic elements (hereinafter referred to as gates) constituting a logic circuit to be simulated. A netlist NL that defines the connection relationship between the gates, a test vector VC that defines an input signal (hereinafter referred to as a test input) to the logic circuit when executing the simulation, a heat generation amount and a delay time for each gate type And a data storage unit 10 storing a library LB that defines the relationship between the amount of heat generation and the power consumption per unit operation, and an input device such as a keyboard, a mouse, a touch panel, etc. It consists of an input operation unit 12 for inputting various commands and a display such as LED, LCD, CRT, etc. A display unit 14 for displaying a procedure of an operation through the input operation unit 12 and a processing result for a command and the like, and a known microcomputer mainly composed of a CPU 16a, a ROM 16b, and a RAM 16c, are stored in the data storage unit 10. A simulation execution unit 16 that executes a process such as simulating a logic circuit in accordance with a command from the input operation unit 12 based on the netlist NL, test vector VC, and library LB, and displaying the processing result on the display unit 14; It has.
[0041]
Here, as shown in FIG. 2, the library LB includes types of gates such as a logical product circuit AND, a logical sum circuit OR, an exclusive logical sum circuit XOR... For each circuit INV), a logical expression (region M1) for generating an output (YB) for an input (A, B), an input capacitance (Ca, Cb) at an input terminal, and a drive capability at an output terminal R, power consumption per unit operation at the time of signal rise and fall (hereinafter referred to as unit gate power consumption) Pg, and delay time from when the signal input level changes until the output level changes (hereinafter, Various parameters (area M2) representing the characteristics of the gate such as Tg (referred to as gate delay time) are stored.
[0042]
The driving ability R, the unit gate power consumption Pg, and the gate delay time Tg are all functions fr (TH), fp (TH), ft having the self-heating value (hereinafter referred to as gate heating value) TH of the gate as parameters. Defined by (TH).
3A is an example of a graph showing the relationship between the gate heat generation amount TH and the unit gate power consumption Pg, and FIG. 3B is an example of a graph showing the relationship between the gate heat generation amount TH and the gate delay time Tg. As illustrated, the unit gate power consumption Pg decreases as the gate heat generation amount TH increases, while the gate delay time Tg increases as the gate heat generation TH increases. The functions fp and ft are defined so as to approximate these graphs obtained in advance through experiments or the like.
[0043]
In particular, the relationship between the gate heat generation amount TH and the unit gate power consumption Pg is that when the temperature rises due to self-heating, the junction leakage current (current leaking from the drain / source to the bulk) increases and the power consumption also increases. The graph does not necessarily have a downward-sloping graph as shown in FIG.
[0044]
Further, the netlist NL and the test vector VC are well-known ones conventionally used for this kind of simulation, and detailed description thereof is omitted here.
However, in the netlist NL, all the gates constituting the logic circuit are divided into a plurality of blocks composed of one or a plurality of gates, and the unit gate power consumption Pg and the gate delay time Tg are calculated using the library LB. When performing the above, a common heat generation amount parameter THp is used as the gate heat generation amount TH for each block.
[0045]
Next, simulation processing executed by the CPU 16a of the simulation execution unit 16 will be described with reference to the flowchart shown in FIG.
The program for this processing may be stored in the ROM 16b in advance, or may be loaded into the RAM 16c from an external storage device such as a floppy disk (not shown).
[0046]
This process is started when a command to start the simulation is input via the input operation unit 12, and first, in S100, an initial value of the heat generation amount parameter THp is set. This displays on the display unit 14 prompting the input of the initial value of the heat generation amount parameter THp, and when the value is input via the input operation unit 12, the input value is changed to the initial value of the heat generation amount parameter THp. This is done by setting as a value.
[0047]
Note that the initial value of the heat generation amount parameter THp may be automatically set to a fixed value (for example, 0) without being input from the outside.
In subsequent S110, unit gate power consumption Pg is calculated individually for all the gates constituting the logic circuit defined in the netlist NL according to the function fp defined in the library LB using the set calorific value parameter THp. Further, based on the unit gate power consumption Pg and the test vector VC, the power consumption (hereinafter referred to as gate power consumption) PW over the entire period of the test vector VC is calculated for each gate.
[0048]
In subsequent S120, the set heat generation amount parameter THp is used to calculate the gate delay time Tg individually for all the gates constituting the logic circuit defined in the netlist NL according to the function ft defined in the library LB.
In S130, power consumption (hereinafter referred to as total power consumption) Ph as the entire logic circuit is calculated by integrating all the gate power consumption PW calculated for each gate in S110, and in S140, Based on the gate delay time Tg calculated for each gate in the previous S120, the netlist NL, and the test vector VC, the input / output timing at each gate is calculated sequentially, thereby delaying the logic circuit as a whole. An output signal from the logic circuit for Th and the test vector VC (hereinafter referred to as total delay time) is obtained.
[0049]
In subsequent S150, based on the gate power consumption PW calculated in the previous S110, the following equation (1) is used to calculate the gate heat generation amount TH representing the magnitude of self-heating generated according to the power consumption PW. To do. However, a and b are constants determined by the physical properties of the substrate or the like on which the logic circuit is configured.
[0050]
TH = a · PW + b (1)
Note that the formula for calculating the gate heating value TH is not limited to the formula (1), and may be expressed by a formula other than the linear function. Further, the gate heat generation amount TH may be obtained using a table regardless of the calculation formula.
[0051]
Further, in S160, an average value is calculated for each block based on the gate heat generation amount TH obtained in S150, and this is set as the heat generation amount parameter THp.
In S170, if this step is executed for the first time after the start of this process, the total power consumption Ph, the total delay time Th, and the heat generation amount parameter THp calculated in S130, S140, and S160 are calculated as the previous calculated values. If the step has already been executed once or more after the activation of this process, that is, if the previous calculated value is stored, the total power consumption For all of Ph, total delay time Dh, and calorific value parameter THp, the difference between the current calculated value and the previous calculated value is calculated, and all of them are within a preset allowable range. Determine whether. If a negative determination is made, the current calculated value is stored as the previous calculated value, and then the process returns to S110. On the other hand, if an affirmative determination is made, the process proceeds to S180, and the simulation result shows the total power consumption Ph. , The total delay time Th, the output waveform (timing) for the test vector VC, and the like are displayed on the display unit 14, and then the present process is terminated.
[0052]
In S170, for example, when a negative determination is made continuously for a preset upper limit number of times, that is, when the determination parameter does not converge even if the process is repeated for the upper limit number of times, a message to that effect is displayed. 14 may be forcibly terminated.
[0053]
S110 and S120 correspond to the first procedure and element information calculation means, S130 and S140 correspond to the second procedure and overall information calculation means, and S150 to S170 correspond to the third procedure. , S160 corresponds to the calorific value calculation means, and S170 corresponds to the activation control means.
[0054]
Here, FIG. 5 is an explanatory diagram showing how the total power consumption Ph (that is, the heat generation amount TH) and the total delay time Th (that is, the operating frequency) that are sequentially calculated change by repeating the processing of S110 to S170. is there.
That is, as shown in the position of the number of iterations 0, if the initial value of the heat generation amount parameter THp is set to a value (for example, 0) smaller than the actual amount of heat generation (S100), based on this, the number of iterations 1 is set. As shown in the position, total power consumption Ph larger than actual and total delay time Th smaller than actual are calculated (S110 to S140). Based on the gate power consumption PW used to calculate the total power consumption Ph, the gate heat generation amount TH is calculated using the equation (1), and the heat generation amount parameter THp is calculated (S150, S160). In the first process, since the previous calculated value is not yet stored, the second process is performed based on the heat generation amount parameter THp without performing the convergence determination. Then, as shown in the position of the number of repetitions 2, the total power consumption Ph, the total delay time Th, and the heat generation amount parameter THp are calculated again (S110 to S160). At this time, the convergence determination is performed based on the deviations ΔP, ΔT, and ΔTHp from the previous calculated values. Here, since the deviations ΔP, ΔT, and ΔTHp do not fall within the allowable range, the third and subsequent times. Is performed.
[0055]
Thereafter, by repeating steps S110 to S170, it is determined that the deviation from the previous calculated value is all within the allowable range, that is, the convergence condition is satisfied (in FIG. 5, the number of iterations is 5). Is finished.
As described above, in the logic simulation device 2 of the present embodiment, the gate power consumption PG and the gate delay time Tg based on the set heat generation amount parameter THp, and further the determination parameters (total power consumption Ph, total delay time). Th, the calorific value parameter THp), and for each of these determination parameters Ph, Th, THp, until the deviation between the calculated value of the current process and the calculated value of the previous process becomes sufficiently small (within an allowable range). During this time, the above process is repeated using the newly calculated calorific value parameter THp.
[0056]
As a result, according to the logic simulation device of the present embodiment, the total power consumption Ph and the total delay time Th reflecting the influence of the self-heating (heat generation amount TH) of the gate are less than the allowable range used for the convergence determination. Thus, it can be obtained with high accuracy. Although it is limited to the combinational circuit, since the upper limit operating frequency of the logic circuit, that is, the limit of the operation speed of the logic circuit can be known from the total delay time Th, the performance of the logic circuit is maximized in terms of the operation speed. It can be pulled out.
[0057]
In this embodiment, the calorific value parameter THp is obtained for each block. Therefore, if the same type of gate is present in the block, the unit gate power consumption Pg and the gate delay time Tg can be calculated in common. The amount of processing can be reduced.
In addition, as for the block which becomes a calculation unit of the calorific value parameter THp, the whole logic circuit may be one block, or each gate may be one block. When each gate has one block, the gate heat generation amount TH calculated in S150 may be used as the heat generation amount parameter THp as it is.
[0058]
In the above embodiment, the unit gate power consumption Pg and the gate delay time Tg are calculated using the functions fp and ft defined in the library LB. Instead of these functions fp and ft, You may perform using the table showing a relationship (refer FIG. 3 (a) and (b)). When using a function, it may be difficult to maintain uniform accuracy in the entire area to be used, or the function may become complicated and increase the processing amount if an attempt is made to improve accuracy. If a table is used, it can be calculated with almost the same accuracy with the same processing amount over the entire area, no matter how complicated the graph representing the relationship to be realized.
By the way, in the above embodiment, the convergence determination at S170 is performed using all of the total power consumption Ph, the total delay time Th, and the heat generation amount parameter THp as determination parameters, and the previous calculated value and the current calculated value for all the determination parameters. Is determined to have converged when the deviation is within the allowable range, but if any one or only two of these three determination parameters fall within the allowable range, You may determine with having converged.
[0059]
Further, instead of using all three as determination parameters, any one or only two may be used.
In particular, when only the total delay time Th is used as a determination parameter, as shown in FIG. 6, the step of calculating the total power consumption Ph (S270) can be taken out of the processing loop and converged. Only when the determination is negative (S240-NO), the step (S250, S260) of calculating the calorific value parameter THp used for the next process has only to be executed, so the processing amount can be reduced. In the flowchart of FIG. 6, the processes of S200 to S230 and S250 to S280 are performed in the same manner only by partially rearranging the processes of S100 to S160 and S180, that is, S200 to S220 are S100 to S100. S120 and S230 are the same as S140, S250 to S260 are S150 to S160, S270 is S130, and S280 is S180.
[0060]
When only the total power consumption Ph is used as a determination parameter, the step of calculating the gate delay time Tg and the total delay time Th in FIG. 6 instead of the step of calculating the total power consumption Ph is shown in FIG. Just go outside.
Furthermore, when only the heat generation amount parameter THp is used as a determination parameter, as shown in FIG. 7, both steps (S360, S370) for calculating the total power consumption Ph and the total delay time Th are out of the processing loop. Therefore, the processing can be further reduced. S300 to S320 perform exactly the same processing as S100 to S120, S330 to S340 perform S150 to S160, S360 to S370 perform S130 to S140, and S380 perform S180.
[0061]
By the way, if it is known in advance that if the process is repeated a certain number of times or more, the deviation of the determination parameter falls within the allowable range, the number of repetitions may be set as the convergence condition without actually calculating the deviation of the determination parameter. it can.
In this case, as shown in FIG. 8, the steps (S450 to S470) for calculating the gate delay time Tg, the total power consumption Ph, and the total delay time Th can be taken out of the process loop and the convergence determination is performed. Only when the negative determination is made in (S420-NO), the calorific value parameter THp used for the next process may be calculated (S430, S440), and therefore the processing amount can be further reduced. S400 to S410 are the same as S100 to S110, S430 to S440 are S150 to S160, S450 to S470 are S120 to S140, and S480 is S180.
[0062]
In the above embodiment, the calculation of the gate power consumption PG and the gate delay time Tg (S110 and S120, S210 and S220, S310 and S320) is executed separately and sequentially, but these processes are performed simultaneously. May be executed. Similarly, the calculation of the total power consumption Ph and the total delay time Th (S130 and S140, S360 and S370, S460 and S470) may be executed simultaneously.
[Second Embodiment]
Next, a second embodiment of the present invention will be described.
[0063]
The wiring connecting the gates of the actual logic circuit has a considerable amount of wiring capacity. Therefore, the gate delay time Tg of the gate shown in the first embodiment is affected by this. Therefore, in the second embodiment, logic simulation is performed in consideration of the influence of the wiring capacity.
[0064]
Here, FIG. 9 is a block diagram showing the logic simulation device 2 of the second embodiment, and FIG. 10 is an explanatory diagram showing the contents of the wiring capacitance of each wiring.
The logic simulation device 2 of the present embodiment is different from the first embodiment in that the driving capability R, the gate delay time Tg, the unit gate power consumption Pg, and the like described above are calculated in consideration of the wiring capacity. Therefore, in the following description, only differences from the first embodiment will be described.
[0065]
First, in the overall configuration of the logic simulation device 2, as shown in FIG. 9, the data storage unit 10 stores the wiring information α in which the wiring capacitance LC of each wiring is stored in association with each wiring. Different from one embodiment. The wiring information α is input from the input operation unit 12. Specifically, for example, a logic circuit that performs simulation has two NOT circuits g1 and g2 and a NAND circuit g3 as shown in FIG. And the output side of the NOT circuits g1 and g2 is a logic circuit connected to the input side of the NAND circuit g3, as shown in FIG. 10B, the wiring connected to the input side of the NOT circuit g1 n1, a wiring n3 connected to the output side of the NOT circuit g1 and the input side of the NAND circuit g3, a wiring n2 connected to the input side of the NOT circuit g2, a connection to the output side of the NOT circuit g2 and the input side of the NAND circuit g3 Data relating to the wiring capacitance LC associated with each of the wiring n4 and the wiring n5 connected to the output side of the NAND circuit g3 (area M3). That.
[0066]
Next, in the present embodiment, the driving capability R, the gate delay time Tg, and the unit gate power consumption Pg include the function fr (TH, LC) using the wiring capacitance LC as a parameter in addition to the self-heating amount TH described above, It differs from the first embodiment in that it is defined in the library LB as fp (TH, LC) and ft (TH, LC). Incidentally, since the relationship between the wiring capacitance LC, the gate delay time Tg, and the unit gate power consumption Pg is generally well known for simulating the operation of the logic circuit, the description thereof is omitted in this embodiment. Of course, this relationship may be obtained in advance from experiments or the like.
[0067]
In this embodiment, based on the gate delay time Tg defined by the above-described function (fp (TH, LC), etc.), the process S110 and subsequent steps for calculating the gate power consumption PW in the flowchart shown in FIG. 4 are executed. It is doing.
When the logic simulation device 2 of the present embodiment having the above configuration is executed, in addition to the effects of the first embodiment, the gate power consumption PG, the total power consumption Ph, and the total delay time Th in consideration of the wiring capacitance LC are obtained. Therefore, compared with the logic simulation device 2 of the first embodiment, more accurate simulation can be performed in accordance with the actual situation.
[0068]
As the wiring information α, information calculated from an actual logic circuit may be used, or a virtual wiring capacity may be used.
In addition, the wiring information α is not limited to that input by the input operation unit 12, but may be loaded into the RAM 16c from an external device such as a floppy disk, or may be input in any manner.
[Third embodiment]
Next, a third embodiment of the present invention will be described.
[0069]
Here, FIG. 11 is a block diagram showing a schematic configuration of the logic simulation apparatus of this embodiment, FIG. 12 is an explanatory diagram for explaining the number of logic transitions for each wiring, and FIG. It is a flowchart showing the simulation process which the logic simulation apparatus 2 performs.
[0070]
In the following description, only differences from the first embodiment will be described.
In the following description, transition means that the signal level of the logic signal changes from 0 to 1, or 1 to 0, and the number of transitions means the number of times that the signal level has changed.
First, as shown in FIG. 11, the simulation apparatus 2 of the present embodiment is different from the first embodiment in that the state transition information β described above is stored in the data storage unit 10 instead of the test vector VC. A specific example of this state transition information β will be described for each wiring n1 to n5 as shown in FIG. 12 using the logic circuit shown in FIG. 10A illustrated in the second embodiment. (Region M5) defines the number of transitions (region M6) for each wiring.
[0071]
In the first embodiment, when the step of S110 is executed, the power consumption over the entire period of the test vector VC is calculated after calculating the number of logic transitions for each wiring connected to the gate. On the other hand, in the logic simulation device 2 of the present embodiment, in S510, the number of transitions of the logic signal transmitted by each wiring inputted in advance is multiplied by the unit gate power consumption Pg defined by fp (TH). The difference is that the gate power consumption PW is calculated. Specifically, for example, in the case of the gate g2 in FIG. 10A, the transition of the input side wiring n2 is 160 times and the transition of the output side n4 is 160 times, so that the gate power consumption for a total of 320 transitions. The calculation of PW = 320 fp (TH) is performed.
[0072]
Therefore, in the logic simulation device 2 of the present embodiment, the gate power consumption PW can be calculated without reproducing the operation of each gate using the test vector VC, so that the processing speed is remarkably increased.
Note that the logic simulation device 2 of this embodiment is different from the first embodiment in that the processing corresponding to S120 and S140 shown in FIG. 6 is not performed as shown in FIG. Among these, the processing corresponding to S120 is not performed because the gate delay time Tg calculated in S120 is used only for calculating the total delay time Dh, and is not used for calculating the total power consumption Ph. . Further, the reason why the processing corresponding to S140 is not performed is that it is necessary to reproduce the operation of each gate using the test vector VC only for that purpose, and the increased processing speed is suppressed by using the state transition information β. Because.
[0073]
However, since the gate delay time Tg of each gate does not need to reproduce the operation of the individual gate using the test vector VC, the gate delay time Tg is calculated by performing the process corresponding to S120 as necessary. May be.
In the processing of FIG. 13, S500 corresponds to S100, S510 corresponds to S110, S520 corresponds to S120, S530 corresponds to S130, S550 corresponds to S150, S560 corresponds to S160, S570 corresponds to S170, and S580 corresponds to S180. To do.
[0074]
When the logic simulation device 2 of the present embodiment described above is used, the gate power consumption PW is calculated without calculating the total delay time Dh and without reproducing the operation of each gate using the test vector VC. Therefore, the total power consumption Ph, which is a parameter for knowing the operation limit of the logic circuit, can be easily obtained in a short time.
[0075]
Therefore, if the logic simulation device 2 of the present embodiment is used, the logic circuit is excluded because the logic circuit exceeding the operation limit is found in the initial idea stage in the logic circuit design, so that the logic circuit operates only after reaching the final stage of the design. Since it is less likely that the user will not know, the logic circuit design can proceed efficiently.
[0076]
However, in the logic simulation device 2 of this embodiment, the total power consumption Ph can be accurately calculated by inputting an accurate number of transitions, so that it can be used at any stage of the design as well as the idea stage.
In addition, when the logic simulation device 2 of the present embodiment is used, a test vector VC cannot be prepared. For example, a file storing the number of transitions appropriate for the purpose of obtaining the total power consumption Ph consumed by the logic circuit is prepared. All that is required is to calculate the total power consumption Ph.
[0077]
The logical simulation apparatus 2 of this embodiment uses the library LB, the netlist NL, and the state transition information β to calculate the gate power consumption Pg in S510. However, as in the second embodiment, each gate The logic simulation may be executed using the wiring capacity of each wiring connecting the two.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a schematic configuration of a logic simulation apparatus according to a first embodiment.
FIG. 2 is an explanatory diagram showing the contents of a library in the first embodiment.
FIG. 3 is a graph showing the relationship between unit gate power consumption, gate delay, and self-heat generation in the first embodiment.
FIG. 4 is a flowchart showing the contents of simulation processing in the first embodiment.
FIG. 5 is an explanatory diagram illustrating a calculation process of total power consumption, total delay time, and the like when a simulation process is executed in the first embodiment.
FIG. 6 is a flowchart showing a modification of the simulation process in the first embodiment.
FIG. 7 is a flowchart showing a modification of the simulation process in the first embodiment.
FIG. 8 is a flowchart showing a modification of the simulation process in the first embodiment.
FIG. 9 is a block diagram illustrating a schematic configuration of a logic simulation apparatus according to a second embodiment.
FIG. 10 is an explanatory diagram showing the number of logical transitions for each wiring.
FIG. 11 is a block diagram illustrating a schematic configuration of a logic simulation apparatus according to a third embodiment.
FIG. 12 is an explanatory diagram showing the wiring capacity of each wiring.
FIG. 13 is a flowchart of logic simulation executed by the logic simulation apparatus of the third embodiment.
[Explanation of symbols]
2 ... Logic simulation device 10 ... Data storage unit
12 ... Input operation unit 14 ... Display unit 16 ... Simulation execution unit
Dh ... Total delay time LB ... Library NL ... Netlist
VC: test vector, α: wiring information, β: state transition information

Claims (14)

論理回路を構成する各論理素子の種類や各論理素子間の接続関係を規定するネットリストと、前記論理回路へのテスト入力を規定するテストベクターとに基づいて、前記論理回路の動作を模擬する論理シミュレーション方法において、
前記ネットリスト及びテストベクターに加え、前記論理素子の種類毎に発熱量と遅延時間との関係、及び前記発熱量と単位動作当たりの消費電力との関係を規定するライブラリを用い、各論理素子の発熱量を指定するために設定された発熱量パラメータに基づいて、前記論理回路を構成する各論理素子毎の遅延時間及び消費電力を算出する第1の手順と、
該第1の手順にて算出された各論理素子毎の遅延時間及び消費電力に基づいて、前記論理回路全体としての遅延時間及び消費電力を算出する第2の手順と、
前記第1の手順にて算出された各論理素子毎の消費電力に基づいて各論理素子毎の発熱量を算出し、該算出値に基づいて前記発熱量パラメータを設定することにより、予め設定された収束条件が満たされるまでの間、前記第1及び第2の手順を繰り返し実行させる第3の手順と、
を備えることを特徴とする論理シミュレーション方法。
The operation of the logic circuit is simulated based on a netlist that defines the type of each logic element constituting the logic circuit and the connection relationship between the logic elements, and a test vector that defines a test input to the logic circuit. In the logic simulation method,
In addition to the netlist and test vector, a library that defines the relationship between the heat generation amount and the delay time for each type of the logic element and the relationship between the heat generation amount and the power consumption per unit operation is used. A first procedure for calculating a delay time and power consumption for each logic element constituting the logic circuit based on a calorific value parameter set for designating a calorific value;
A second procedure for calculating the delay time and power consumption of the entire logic circuit based on the delay time and power consumption of each logic element calculated in the first procedure;
The heat generation amount for each logical element is calculated based on the power consumption for each logical element calculated in the first procedure, and the heat generation amount parameter is set based on the calculated value. Until the convergence condition is satisfied, a third procedure for repeatedly executing the first and second procedures;
A logic simulation method comprising:
前記第1の手順は、前記ネットリスト、テストベクター及びライブラリに加え、前記各論理素子間を接続する配線の配線容量を規定する配線情報を用い、前記発熱量パラメータに基づいて、前記論理回路を構成する各論理素子毎の遅延時間及び消費電力を算出することを特徴とする請求項1記載の論理シュミレーション方法。In the first procedure, in addition to the net list, the test vector, and the library, wiring information that defines a wiring capacity of a wiring that connects the logic elements is used, and the logic circuit is configured based on the heat generation parameter. 2. The logic simulation method according to claim 1, wherein the delay time and the power consumption for each of the logic elements to be configured are calculated. 論理回路の動作を模擬する論理シミュレーション方法において、論理回路を構成する各論理素子の種類や各論理素子間の接続関係を規定するネットリストと、前記各論理素子間を接続する各配線毎に、該配線により伝達される論理の遷移回数を規定する状態遷移情報と、前記論理素子の種類毎に発熱量と遅延時間との関係、及び前記発熱量と単位動作当たりの消費電力との関係を規定するライブラリとを用い、各論理素子の発熱量を指定するために設定された発熱量パラメータに基づいて、前記論理回路を構成する各論理素子毎の消費電力を算出する第1の手順と、
該第1の手順にて算出された各論理素子毎の消費電力に基づいて、前記論理回路全体としての消費電力を算出する第2の手順と、
前記第1の手順にて算出された各論理素子毎の消費電力に基づいて各論理素子毎の発熱量を算出し、該算出値に基づいて前記発熱量パラメータを設定することにより、予め設定された収束条件が満たされるまでの間、前記第1及び第2の手順を繰り返し実行させる第3の手順と、
を備えることを特徴とする論理シミュレーション方法。
In a logic simulation method for simulating the operation of a logic circuit, a netlist that defines the type of each logic element constituting the logic circuit and the connection relationship between each logic element, and each wiring that connects between each logic element, State transition information that defines the number of logic transitions transmitted by the wiring, the relationship between the heat generation amount and the delay time for each type of the logic element, and the relationship between the heat generation amount and the power consumption per unit operation A first procedure for calculating power consumption for each logical element constituting the logic circuit based on a calorific value parameter set for designating the calorific value of each logic element,
A second procedure for calculating the power consumption of the entire logic circuit based on the power consumption of each logic element calculated in the first procedure;
The heat generation amount for each logical element is calculated based on the power consumption for each logical element calculated in the first procedure, and the heat generation amount parameter is set based on the calculated value. Until the convergence condition is satisfied, a third procedure for repeatedly executing the first and second procedures;
A logic simulation method comprising:
前記第1の手順は、前記ネットリスト及びライブラリに加え、前記各論理素子間を接続する配線の配線容量を規定する配線情報を用い、前記発熱量パラメータに基づいて、前記論理回路を構成する各論理素子毎の消費電力を算出することを特徴とする請求項3記載の論理シュミレーション方法。In the first procedure, in addition to the net list and the library, wiring information that defines wiring capacity of wirings connecting the logic elements is used, and each logic circuit is configured based on the heat generation parameter. 4. The logic simulation method according to claim 3, wherein the power consumption for each logic element is calculated. 論理回路を構成する各論理素子の種類や各論理素子間の接続関係を規定するネットリストと、前記論理回路へのテスト入力を規定するテストベクターとに基づいて、前記論理回路の動作を模擬する論理シミュレーション装置において、
前記ネットリスト及びテストベクターに加え、前記論理素子の種類毎に発熱量と遅延時間との関係、及び前記発熱量と単位動作当たりの消費電力との関係を規定するライブラリを用い、各論理素子の発熱量を指定するために設定された発熱量パラメータに基づいて、前記論理回路を構成する各論理素子毎の遅延時間及び消費電力を算出する素子情報算出手段と、
該素子情報算出手段での算出結果に基づいて、前記論理回路全体としての遅延時間及び消費電力を算出する全体情報算出手段と、
前記素子情報算出手段にて算出された各論理素子毎の消費電力に基づいて各論理素子毎の発熱量を算出する発熱量算出手段と、
該発熱量算出手段での算出結果に基づいて前記発熱量パラメータを設定することにより、予め設定された収束条件が満たされるまでの間、前記素子情報算出手段を繰り返し起動する起動制御手段と、
を備えることを特徴とする論理シミュレーション装置。
The operation of the logic circuit is simulated based on a netlist that defines the type of each logic element constituting the logic circuit and the connection relationship between the logic elements, and a test vector that defines a test input to the logic circuit. In logic simulation equipment,
In addition to the netlist and test vector, a library that defines the relationship between the heat generation amount and the delay time for each type of the logic element and the relationship between the heat generation amount and the power consumption per unit operation is used. Element information calculation means for calculating a delay time and power consumption for each logical element constituting the logic circuit based on a heat generation amount parameter set for designating a heat generation amount;
Overall information calculation means for calculating the delay time and power consumption of the entire logic circuit based on the calculation result of the element information calculation means;
A calorific value calculating means for calculating a calorific value for each logical element based on the power consumption for each logical element calculated by the element information calculating means;
By setting the heat generation amount parameter based on the calculation result of the heat generation amount calculation means, a start control means for repeatedly starting the element information calculation means until a preset convergence condition is satisfied,
A logic simulation apparatus comprising:
前記素子情報算出手段は、前記ネットリスト、テストベクター及びライブラリに加え、前記各論理素子間を接続する配線の配線容量を規定する配線情報を用い、前記発熱量パラメータに基づいて、前記論理回路を構成する各論理素子毎の遅延時間及び消費電力を算出することを特徴とする請求項5記載の論理シュミレーション装置。In addition to the netlist, test vector, and library, the element information calculation means uses wiring information that defines the wiring capacity of the wiring that connects the logic elements, and based on the calorific value parameter, the element circuit calculates the logic circuit. 6. The logic simulation apparatus according to claim 5, wherein a delay time and power consumption for each of the logic elements constituting the same are calculated. 前記起動制御手段は、前記全体情報算出手段にて算出される前記論理回路全体の遅延時間又は消費電力、或いは当該起動制御手段にて算出される前記発熱量パラメータのうち、少なくともいずれか一つを判定パラメータとし、該判定パラメータについて、前回の算出結果からの偏差が予め設定された許容範囲内にある場合に前記収束条件を満たしたものとすることを特徴とする請求項5,6何れか記載の論理シミュレーション装置。The activation control means has at least one of the delay time or power consumption of the entire logic circuit calculated by the overall information calculation means, or the calorific value parameter calculated by the activation control means. The convergence parameter is satisfied when the deviation from a previous calculation result is within a preset allowable range for the determination parameter, wherein the convergence condition is satisfied. Logic simulation device. 前記起動制御手段は、予め設定された再起動回数だけ前記素子情報算出手段を再起動した場合に前記収束条件を満たしたものとすることを特徴とする請求項5,6何れか記載の論理シミュレーション装置。7. The logic simulation according to claim 5, wherein the activation control unit satisfies the convergence condition when the element information calculation unit is restarted by a preset number of restarts. apparatus. 前記起動制御手段は、前記論理回路を1又は複数の論理素子毎に分割してなるブロック毎に、前記発熱量算出手段にて算出された発熱量の平均値を求め、該発熱量の平均値を前記発熱量パラメータとして設定することを特徴とする請求項5ないし請求項8のいずれかに記載の論理シミュレーション装置。The activation control unit obtains an average value of the heat generation amount calculated by the heat generation amount calculation unit for each block obtained by dividing the logic circuit into one or a plurality of logic elements, and calculates the average value of the heat generation amount 9 is set as the calorific value parameter, and the logic simulation apparatus according to claim 5. 論理回路の動作を模擬する論理シミュレーションにおいて、論理回路を構成する各論理素子の種類や各論理素子間の接続関係を規定するネットリストと、前記各論理素子間を接続する各配線毎に、該配線により伝達される論理の遷移回数を規定する状態遷移情報と、前記論理素子の種類毎に発熱量と遅延時間と、及び前記発熱量と単位動作当たりの消費電力との関係を規定するライブラリとを用い、各論理素子の発熱量を指定するために設定された発熱量パラメータに基づいて、前記論理回路を構成する各論理素子毎の消費電力を算出する素子情報算出手段と、
該素子情報算出手段での算出結果に基づいて、前記論理回路全体としての消費電力を算出する全体情報算出手段と、
前記素子情報算出手段にて算出された各論理素子毎の消費電力に基づいて各論理素子毎の発熱量を算出する発熱量算出手段と、
該発熱量算出手段での算出結果に基づいて前記発熱量パラメータを設定することにより、予め設定された収束条件が満たされるまでの間、前記素子情報算出手段を繰り返し起動する起動制御手段と、
を備えることを特徴とする論理シミュレーション装置。
In a logic simulation that simulates the operation of a logic circuit, a netlist that defines the type of each logic element constituting the logic circuit and the connection relationship between the logic elements, and each wiring that connects the logic elements, State transition information that defines the number of logic transitions transmitted by wiring, a heat generation amount and a delay time for each type of the logic element, and a library that defines a relationship between the heat generation amount and power consumption per unit operation And element information calculation means for calculating power consumption for each logical element constituting the logic circuit based on a calorific value parameter set for designating the calorific value of each logical element,
Based on the calculation result of the element information calculation means, overall information calculation means for calculating the power consumption of the entire logic circuit;
A calorific value calculating means for calculating a calorific value for each logical element based on the power consumption for each logical element calculated by the element information calculating means;
By setting the heat generation amount parameter based on the calculation result of the heat generation amount calculation means, a start control means for repeatedly starting the element information calculation means until a preset convergence condition is satisfied,
A logic simulation apparatus comprising:
前記素子情報算出手段は、前記ネットリスト、状態遷移情報及びライブラリに加え、前記各論理素子間を接続する配線の配線容量を規定する配線情報を用い、前記発熱量パラメータに基づいて、前記論理回路を構成する各論理素子毎の消費電力を算出することを特徴とする請求項10記載の論理シュミレーション装置。The element information calculation means uses wiring information that defines wiring capacity of wirings connecting the logic elements in addition to the net list, state transition information, and library, and based on the calorific value parameter, the logic circuit The logic simulation apparatus according to claim 10, wherein the power consumption for each logic element constituting the circuit is calculated. 前記起動制御手段は、前記全体情報算出手段にて算出される前記論理回路全体の消費電力、或いは当該起動制御手段にて算出される前記発熱量パラメータのうち、少なくともいずれか一つを判定パラメータとし、該判定パラメータについて、前回の算出結果からの偏差が予め設定された許容範囲内にある場合に前記収束条件を満たしたものとすることを特徴とする請求項10,11何れかに記載の論理シミュレーション装置。The activation control means uses at least one of the power consumption of the entire logic circuit calculated by the overall information calculation means or the calorific value parameter calculated by the activation control means as a determination parameter. 12. The logic according to claim 10, wherein the convergence condition is satisfied when the deviation from the previous calculation result is within a preset allowable range for the determination parameter. Simulation device. 前記起動制御手段は、予め設定された再起動回数だけ前記素子情報算出手段を再起動した場合に前記収束条件を満たしたものとすることを特徴とする請求項10,11何れか記載の論理シミュレーション装置。12. The logic simulation according to claim 10, wherein the start control means satisfies the convergence condition when the element information calculation means is restarted for a preset number of restarts. apparatus. 前記起動制御手段は、前記論理回路を1又は複数の論理素子毎に分割してなるブロック毎に、前記発熱量算出手段にて算出された発熱量の平均値を求め、該発熱量の平均値を前記発熱量パラメータとして設定することを特徴とする請求項10ないし請求項13のいずれかに記載の論理シミュレーション装置。The activation control unit obtains an average value of the heat generation amount calculated by the heat generation amount calculation unit for each block obtained by dividing the logic circuit into one or a plurality of logic elements, and calculates the average value of the heat generation amount 14. The logic simulation apparatus according to claim 10, wherein the heat generation amount parameter is set as the heat generation amount parameter.
JP11077099A 1998-05-14 1999-04-19 Logic simulation method and apparatus Expired - Fee Related JP4081915B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11077099A JP4081915B2 (en) 1998-05-14 1999-04-19 Logic simulation method and apparatus

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP13220698 1998-05-14
JP10-132206 1998-05-14
JP11077099A JP4081915B2 (en) 1998-05-14 1999-04-19 Logic simulation method and apparatus

Publications (2)

Publication Number Publication Date
JP2000035985A JP2000035985A (en) 2000-02-02
JP4081915B2 true JP4081915B2 (en) 2008-04-30

Family

ID=26450305

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11077099A Expired - Fee Related JP4081915B2 (en) 1998-05-14 1999-04-19 Logic simulation method and apparatus

Country Status (1)

Country Link
JP (1) JP4081915B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9552455B2 (en) 2015-02-03 2017-01-24 Globalfoundries Inc. Method for an efficient modeling of the impact of device-level self-heating on electromigration limited current specifications

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108242200B (en) * 2016-12-23 2020-06-09 中芯国际集成电路制造(上海)有限公司 Self-heating effect model and test method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9552455B2 (en) 2015-02-03 2017-01-24 Globalfoundries Inc. Method for an efficient modeling of the impact of device-level self-heating on electromigration limited current specifications

Also Published As

Publication number Publication date
JP2000035985A (en) 2000-02-02

Similar Documents

Publication Publication Date Title
JP2004252831A (en) Statistical delay simulation device for lsi and its simulation method
JPH06274565A (en) Data preparation method for logic simulation, logic simulation method and logic simulator
US8332190B2 (en) Circuit simulator, circuit simulation method and program
US7810058B1 (en) Early power estimator for integrated circuits
US20120123745A1 (en) Adaptive Content-aware Aging Simulations
US9892220B2 (en) Method and apparatus for adjusting a timing derate for static timing analysis
JP2005293163A (en) Power consumption calculation method and apparatus
JP2000076321A (en) Lsi design system by preparation of model for function block and lsi designing method thereof
JP5029096B2 (en) Power supply noise model generation method and power supply noise model generation apparatus
US8255859B2 (en) Method and system for verification of multi-voltage circuit design
JP4081915B2 (en) Logic simulation method and apparatus
US7178116B2 (en) Method and device for designing semiconductor integrated circuit and logic design program
JP2940444B2 (en) Semiconductor integrated circuit simulation apparatus and simulation method
JP2996214B2 (en) Semiconductor integrated circuit reliability verification device, verification method, and storage medium storing verification program
JP2002304434A (en) Generating method, device and program for semiconductor integrated circuit power supply model for emi simulation
TW202040409A (en) Wafer characteristic prediction method and electronic device
US10176284B2 (en) Semiconductor circuit design and manufacture method
US20190128961A1 (en) System and method for testing an integrated circuit
JP2005339052A (en) Method and program for generating library
JPH10269272A (en) Circuit design method, and integrated circuit device
JPH05181930A (en) Determination of characteristic of sequential circuit
JP3935929B2 (en) Delay time calculation program and delay time calculation device
JP2001357093A (en) Method and device for simulating circuit, and storage medium
TWI783773B (en) Method for establishing variation model related to circuit characteristics for performing circuit simulation, and associated circuit simulation system
US20240027279A1 (en) Systems And Methods For Thermal Monitoring In Integrated Circuits

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050517

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080116

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080204

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110222

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120222

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130222

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140222

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees