JP3699901B2 - Integrated circuit power evaluation method - Google Patents

Integrated circuit power evaluation method Download PDF

Info

Publication number
JP3699901B2
JP3699901B2 JP2001068869A JP2001068869A JP3699901B2 JP 3699901 B2 JP3699901 B2 JP 3699901B2 JP 2001068869 A JP2001068869 A JP 2001068869A JP 2001068869 A JP2001068869 A JP 2001068869A JP 3699901 B2 JP3699901 B2 JP 3699901B2
Authority
JP
Japan
Prior art keywords
probability
signal
gate
input
circuit
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
JP2001068869A
Other languages
Japanese (ja)
Other versions
JP2001318960A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2001068869A priority Critical patent/JP3699901B2/en
Publication of JP2001318960A publication Critical patent/JP2001318960A/en
Application granted granted Critical
Publication of JP3699901B2 publication Critical patent/JP3699901B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Description

【0001】
【産業上の利用分野】
本発明は集積回路の電力の評価方法に関し、特に、集積回路内の論理回路の信号確率やスウィッチング確率等を用いて集積回路の電力の評価を行う方法に関する。
【0002】
【従来の技術】
集積回路、特に、CMOS集積回路内の消費電力の原因は大別して、リーク電流による消費電力、貫通電流による消費電力、充放電による消費電力が挙げられる。
【0003】
これらのうち、リーク電流による消費電力、貫通電流による消費電力の2つの原因による消費電力は充放電による消費電力に比べて無視できるほど小さい。従って、消費電力を見積もるときには、第一に充放電による効果を調べることが効果的である。ここで、充放電による消費電力とは、回路内のひと続きの配線(以下、ネットまたはノードと呼ぶ)の電位の変化(以下、スウィッチングと呼ぶ)により、そのノードの駆動する容量に対して充放電が起こったときに流れる電流によって消費される電力のことである。ノードZにおける充放電による平均の消費電力Pow(Z)はおおよそ次の式で見積もることが出来る。
【0004】
【数1】

Figure 0003699901
ここでVDDは電源電圧、CZ はノードZの駆動する容量、D(Z)はノードZにおける単位時間あたりのスウィッチングの回数の平均値(以下、遷移密度と呼ぶ)である。
【0005】
特に、回路がクロックに同期して動作している場合には式(1) は、
【数2】
Figure 0003699901
と書ける。ここでfはクロック周波数、N(Z)はノードZにおける1クロックあたりの平均充放電回数である。式(1) により、VDD,CZ が知られている場合にはD(Z)を求めることにより、消費電力を見積もることが出来る。従って遷移密度D(Z)を見積もることが消費電力予測の中心課題となる。この遷移密度を見積もる方法は、第1の方法としてシミュレーションに基づく方法と、第2の方法として確率計算に基づく方法とがある。
【0006】
第1の方法では、論理回路の入力端子(以下、プライマリー・インプットと呼ぶ)へ入力パターンデータ(以下、テストベクトルと呼ぶ)を入力し、回路内の各ノードにおけるスウィッチングの回数を計測することによって遷移密度を見積もる。この方法では流すテストベクトルの長さが長いほど精度が上がるがそのために費やす時間はそれだけ大きくなる。
【0007】
第2の方法では、実際にテストベクトルを流さずに、各プライマリー・インプットの遷移密度に関する情報のみを与え、確率計算により遷移密度の内部ノードへの伝播を見積もる。即ち、回路全体の入力(以後これをプライマリー・インプットと呼ぶ)に関する確率量、例えば信号の論理値が1になる信号確率や信号の論理値が変化する確率であるスウィッチング確率を入力としてその内部ノードへの伝播を調べ、各ノードでのスウィッチング確率Pswを計算し、
Pow=PSWPow(/switch) (3)
という式に従って消費電力Powerを求める方法である。ただし、PSWは信号の論理値が変化する確率(スウィッチング確率、または動作確率ともいう)であり、Pow(/switch)は1回の信号の変化に伴う消費電力である。この方法は原理的にはテストベクトルを必要とせず、実行時間は比較的短いが、信号の再収斂、順序回路、及び内部浮遊ノードを取り扱うのに問題がある。
【0008】
信号の再収斂とは、あるノードがいくつかの論理ゲートの入力ノードとなっており、それらの論理ゲートの出力を次々に辿っていくとある同一の論理ゲートの入力となっていることをいう。このときにはその論理ゲートの入力のうち相異なる二つの入力ノードで同一のプライマリー・インプットに依存するものが存在することになる。一般に、相異なる二つのノードA,Bの依存するプライマリー・インプットの集合が空でない共通部分をもつならば、A,B間には信号間相関がある、或いは簡単に、A,B間には相関がある、という。従って、ある論理ゲートの入力ノードの中に信号間相関のある二つのノードが存在するならば、信号の再収斂が起きていることになる。このようなことが起きている場合にあるゲートの出力ノードの厳密な遷移密度を計算するためには、同一のノードから発した信号が異なる2つ以上の経路を通ってそのゲートにたどり着いたかどうかを調べなくてはならず、もしそうなっている場合には計算複雑度が指数関数的に増大するために現実的な時間内で計算を実行することは一般に不可能となる。
【0009】
順序回路では、あるゲートの出力がめぐりめぐって同じゲートに入る場合が起こり、そのようなループ上のノードにおける遷移密度は自分自身に依存することになり、入力から出力への遷移密度の伝播という概念ではとらえきれなくなり、遷移密度計算が困難になる。
【0010】
内部浮遊ノードはハイ・インピーダンス状態などの不確定論理値をもたらし、やはり遷移密度計算を困難にする。
【0011】
このうち原理的に最も重要であるのが信号の再収斂の問題である。これを厳密に解こうとすると指数関数的な計算時間を必要とすることが知られており、現実には実行不可能である。そのために近似的な方法に頼るしかないが、そのような方法として現在までに次のようなアルゴリズムが提案されている。
【0012】
(i)COP
(ii)DWAA(Dynamic Weighted Averaging Algorithm)
(iii)CCM(Correlation Coefficient Method)
第1の方法であるCOPとは各ゲートの入力を全て独立とみなす方法である。従って信号間相関は全く無視してしまうことになり、上記の方法中、精度的には最悪であるが実行時間は最も小さい。
【0013】
第2の方法であるDWAAとは信号間相関を起こしている各ノードの論理値を0,1に固定してCOPを適用する方法であり、信号間相関の第一次の効果を考慮に入れている。この方法はS.Ercolani, M.Favalli, M.Damiani, P.Olivo, B.Ricco,“Estimate of Signal Probability in Combinational Logic Networks”,European Test Conf.,pp.132-138,1989.(以下、この論文をEFDORと呼んで参照する)で紹介され、COPよりも精度がよい。
【0014】
第3の方法であるCCMはDWAAと同じ論文EFDORで初めて紹介され、R.Marculescu, D.Marculescu, M.Pedram,“Switching Activity Analysis Considering Spatiotemporal Correlations ”International Conference on CAD-94,pp.294-299,1994.(以下、この論文をMMPと呼んで参照する)で確立された方法であり、上に述べた方法の中で最も精度が高い。この方法は、ノード間の信号間相関の度合いを相関係数という量で表し、3つ以上のノード間の相関係数を2つのノード間の相関係数の積で近似することにより、計算を行っている。CCMはCOPやDWAAよりも精度が良いが多少時間がかかるのが難点である。しかし精度が良いといってもまだ不十分であり、論文MMPでは回路分割をしてCCMとBDDを組み合わせることにより精度を向上させることを提案している。しかし、そのときの計算複雑度はかなり大きなものになり、シミュレーションを実行した方が効率が良い場合があることが予想される。これでは確率計算に基づく方法の長所が全く失われてしまう恐れがある。
【0015】
また、確率に基づく方法は精度の入力データ依存性が強く、遅延時間についても考慮されていない。しかし時間的に離れた信号は独立とみなせる(F.N.Najm,“Improved Estimation of the Switching Activity for Reliability Prediction in VLSI Circuits ”,Custom Integrated Circuits Conf., pp.429-432,1994.) ので遅延時間差が大きい信号間の相関を無視できる場合がある。しかしこの論文には信号間相関を無視できるような時間的距離が提示されていない。
【0016】
ところで、実際のLSIの動作を解析するには平均電力だけでなく瞬時電力も知る必要がある。たとえば電源電圧変動に起因するノイズの問題を解析するには瞬時電力または瞬時電流が必要となる。しかし、時間のかかるシミュレーションを用いた手法はあるものの、シミュレーションを用いない瞬時電力の計算法はまだ具体的に開発されていない。Najm等による“Probabilistic simulation for reliability analysis of CMOS VLSI circuits.”IEEE Trans.CAD 9(4),pp.439-450,April,1990、やR.Burch による“Pattern-Independent Current Estimation for Reliability Analysis of CMOS Circuits”,pp.294-299,25th DA Conf.,1988.などがあるが、確率波形という概念を用いて計算している。しかし実際のLSIの設計においては、CPUならばプログラム、信号処理用のLSIならば入力データと言うように具体的な入力パターンによる電流や瞬時電力の変化を知る必要がある。特に、電源系のノイズなどを考える場合は電源系の短時間の振る舞いが分からなければならない。従来提案されている手法はこれらの目的には不十分なものであった。
【0017】
【発明が解決しようとする課題】
以上のように、シミュレーションに基づく方法は、テストベクトルを多く入力すれば精度は向上するが大量の時間を要する。その一方、確率計算に基づく方法は比較的短時間で実行可能であるが、精度的に問題があり、この精度の入力データに依存するため、誤差を規定することが難しいという問題点があった。
【0018】
本発明は、上記問題点を解決するためになされたものであり、その目的とするところは、高精度かつ短時間で効率よく実行できる集積回路の電力評価方法を提供する事にある。
【0019】
【課題を解決するための手段】
上記目的を達成するため、第1の発明の第1の構成は、複数の論理ゲートを接続して構成される論理回路を備える集積回路の電力の評価を行う方法において、各論理ゲートの出力ノードの論理値が1になる確率(以下、信号確率と記す)、及び、各論理ゲートの出力ノードの論理値が変化する確率(以下、スウィッチング確率と記す)に代表される出力ノードに付随する確率量に対して、その確率量の厳密な値Pe と、論理ゲートの入力を全て独立として計算した値Pa との差Pe −Pa を、回路全体の入力信号に対応する当該確率量に関して級数展開し、そのうちの有限個の項を補正項として求め、前記Pa の値にその補正項を加えたものを上記確率量の近似値として集積回路の電力評価を行うことを特徴とする。
【0020】
また、第1の発明の第2の構成は、複数の論理ゲートを接続して構成される論理回路を備える集積回路の電力の評価を行う方法において、前記論理回路を複数の論理ゲートから構成される論理モジュールの集合に分割し、前記各論理モジュールに属する各ノードの論理値をその論理モジュールの入力信号の論理関数として表し、信号確率やスウィッチング確率に代表されるそのノードに付随する確率量に対して、その確率量の厳密な値Pe と、論理モジュールの入力を全て独立として計算した値Pa との差Pe −Pa を、回路全体の入力信号に対応する当該確率量に関して級数展開し、そのうちの有限個の項を補正項として求め、前記Pa の値にその補正項を加えたものを上記確率量の近似値として集積回路の電力評価を行うことを特徴とする。
【0021】
ここで、前記論理回路の任意のノードのスウィッチング確率に、そのノードの駆動容量と電源電圧の2乗とクロック周波数を乗じた値を、そのノードの充放電による消費電力として集積回路の電力評価を行うことが好ましい。
【0022】
また、前記論理回路の任意のゲートの任意の入力遷移パターンの起こる確率に、その入力遷移パターンが起こった場合の1遷移あたりの消費電力を乗じた値を、そのゲートにおける当該入力遷移による平均消費電力として集積回路の電力評価を行うことが好ましい。
【0023】
上記目的を達成するため、本願発明に係る集積回路の動作確率をコンピュータを用いて計算することにより、前記集積回路の電力を評価する方法は、前記集積回路内の各ゲートの入力となっている複数の信号間の最小遅延時間差をコンピュータが計算する手順と、この最小遅延時間差に基づいて、コンピュータが前記ゲートの入力をグループ分けする手順と、このグループ分けされた各々のグループに対し、各ゲートの入力となっている複数の信号間の相関に基づいて、前記グループに属する各々の信号に関する各ゲートの出力ノードの論理値が1になる確率である信号確率、及び、各ゲートの出力ノードの論理値が変化する確率であるスイッチング確率を含むゲートの出力ノードに関する確率の計算をコンピュータが行う手順と、このゲートの出力ノードに関する確率を用いて前記集積回路の電力を評価する手順と、を有することを特徴とする。
【0026】
また、第3の発明の第1の構成は、集積回路の消費電力を予測してその評価を行う方法において、一次入力端子に時系列的に与えられる入力パターンの集合を時間的区間で分割するステップと、各時間区間ごとの一次入力端子に与えられるパターンの統計・確率的特性を計算するステップと、各時間区間の消費電力を当該統計・確率特性より算出するステップと、各時間区間の算出された消費電力を時系列的に配列するステップと、を行うことを特徴とする。
【0027】
また、第3の発明の第2の構成は、論理回路の入力端子に統計・確率量を与え、当該確率量の伝搬を評価することにより集積回路の電力を評価する方法において、対象回路の入力端子に与えられる入力信号または入力信号特性を用いて電力評価を行う前に、当該集積回路の回路構造または回路動作の記述を入力し、電力予測に必要とする評価式またはデータ構造に変換して記憶装置に格納し、該評価式またはデータ構造を電力予測に複数回利用する事を特徴とする。
【0028】
また、第3の発明の第3の構成は、集積回路の電力評価方法において、評価の単位となる集積回路の部分回路を着目した回路系統ごとに分類し、所望の部分回路の集合に対して消費電力および電源電流を出力できる事を特徴とする。
【0029】
【作用】
第1の発明の構成によれば、各ゲートの入力を独立とみなして計算された確率量を補正することにより、高精度、かつ高速に、組み合わせ論理回路の各ノードに対する信号確率、スウィッチング確率の計算が実行できる。さらに回路分割を行い、BDDを使用することにより、精度を高めることも可能である。
【0030】
第2の発明の構成によれば、遅延時間差および入力の確率値を考慮して規定された最大許容誤差内で信号間相関を無視することにより論理回路の動作確率の計算を軽減できる。
【0031】
更に、第3の発明の構成によれば、回路シミュレータや論理シミュレータを用い長時間の計算をする事なく論理回路内部での時々刻々変化する電力を知る事ができる。さらに第3の発明により電力計算に必要な時間がシミュレータ方式と比較して大きく節約可能となる。また時間区間の精細度を調整する事によって所望の精度で電力の変化を調べる事ができる。また、各時間区間ごとに繰り返し計算するべき処理を一度にまとめて処理できるため計算効率向上が図れる。更に、設計者は任意の部分回路の消費電力を評価・比較する事が可能となる。
【0032】
【実施例】
以下に本発明に係る集積回路の電力評価方法の実施例を図面を参照しながら説明する。
【0033】
第1実施例
以下、第1の発明に関する実施例について説明する。ここでは、まず本発明を理解するために必要な諸定義について述べてから実施例について述べることにする。第1実施例では本発明を信号確率に適用した場合について述べ、第2実施例では本発明をスウィッチング確率に適用した場合について述べる。また、第3実施例では第1実施例,第2実施例の方法によるノード、およびゲートの消費電力見積方法を示し、第4実施例では第3実施例の見積方法を利用した論理回路最適化の例を示す。
【0034】
以下でいう論理回路とは、順序回路を含まない組み合わせ論理回路のことをいう。この論理回路のプライマリー・インプットの個数をnとし、それらをx1 ,…,xn と記述する。プライマリー・インプットxi (i=1,…,n)の時刻tにおける論理値をxi (t)と書く。時刻に対する依存性を無視してxi と書くこともある。従ってxi という記号はプライマリー・インプットの名前とその論理値の両方に用いられるが、その区別は重要ではない場合が多いので混乱はない。一般に論理回路の任意のノードはプライマリー・インプットx1 ,…,xn の論理関数となるがそれらについても同様である。すなわち、ノードZに対してZという記号はそのノードの名前と時刻を無視した論理値の双方の意味を持つ。以下では断り無しに論理関数といえばプライマリー・インプットx1 ,…,xn の論理関数のことをいう。
【0035】
論理回路とプライマリー・インプットに対して次の3つの事柄を仮定する。
【0036】
(1)確率の時間並進不変性
(2)プライマリー・インプットの相互独立性
(3)遅延時間0
【0037】
仮定(1)は、
【数3】
Figure 0003699901
が任意の時刻t、tij(j=1,…,ni ;i=1,…,n)、およびαij=0,1(j=1,…,ni ;i=1,…,n)に対して成り立つことを意味する。
【外3】
Figure 0003699901
の論理関数Xに対してXが論理値1を持つ確率をP(X)と記述し、これを論理関数Xに対する確率と呼ぶことにする。この仮定により特に一つの時刻にのみ依存する任意の論理関数X(t)に対してP(X(t))は時刻tに依存しないことがいえる。よってP(X(t))をP(X)と書くことにする。また、二つ以上の時刻に依存する論理関数に対する確率は時刻の差のみに依存することがいえる。
【0038】
仮定(2)は、
【数4】
Figure 0003699901
が任意の時刻tij(j=1,…,ni ;i=1,…,n)、およびαij=0,1(j=1,…,ni ;i=1,…,n)に対して成り立つことを意味する。ただし、同一のプライマリー・インプットの時間に関する独立性は仮定されていないので、例えば時刻t1 ,t2 に対してP(x1 (t1 )x1 (t2 ))とは一般に異なる。
【0039】
仮定(3)は、論理回路の内部ノードのある時刻での論理値は、同じ時刻でのプライマリー・インプットの論理値によって定まることを意味する。すなわち、回路中の任意のノードZの時刻tでの論理値はただ一つの時間にのみ依存し、Z(t)と書くことができる。従って任意のノードZに対する時刻tでの確率はP(Z)と書ける。これをノードZの信号確率と呼ぶ。
【0040】
回路中のノードのようにただ一つの時刻のみ依存する任意の論理関数X(t)を積和形式で表すと
【数5】
Figure 0003699901
【外4】
Figure 0003699901
理値をとる。式(39)と次に述べる定理は以下の文章でたびたび参照されることになる。
【0041】
定理0.1
X(t),Y(t)をただ1つの時刻のみに依存するプライマリー・インプットの任意の論理関数とすると任意のt1 ,t2 に対して
【数6】
P(X(t1 )Y(t2 ))=P(X(t2 )Y(t1 )) (7)
が成り立つ。
【0042】
(証明)X,Yを積和形式に展開して式(39)の形で表すと、この定理は任意のi(i=1,…,n)に対して
【数7】
Figure 0003699901
が成り立ち、P(xi (t))が時刻tに依存しないことを用いると、
【数8】
Figure 0003699901
が成り立つ。 (証明終)
i を任意のプライマリー・インプット、Xを任意の論理関数とすると
【数9】
Figure 0003699901
式(46)をプライマリー・インプットxi に関するXのShannon 展開という。また
【外5】
Figure 0003699901
ぶ。ここで、Xに対する上付きの添え字0,1は論理的な否定や肯定を意味するものではないことに注意されたい。例えばプライマリー・インプットxi に対し
【外6】
Figure 0003699901
うに同じ記号を使うのはまぎらわしいが、今の場合Xi という量が定義されていないので間違いを犯すことは少ない。以下の文においてもこの記号の意味の判断に迷うことは希であろう。
【0043】
次にスウィッチング確率の定義とその遷移密度との関係について述べる。
【0044】
τをその時間内で高々一回しかスウィッチングの起こらないような時間間隔と
【外7】
Figure 0003699901
チング確率PSW(Z;τ)を時間が間に論理値の変化する確率として定義する。従って
【数10】
Figure 0003699901
と書くことが出来る。
【0045】
スウィッチング確率は時間τの間に起こるスウィッチングの回数の平均値であり遷移密度と次のような関係にある。
【0046】
【数11】
Figure 0003699901
なお、以上の記述では論理回路として暗にCMOS論理回路を想定しているため、スウィッチング確率に注目しているが、ダイナミック回路やレシオ型の回路においては信号確率によって消費電力を見積もることができる。
【0047】
次に、本発明(以下、BAMと呼ぶ)による信号確率の計算方法を示す。
【0048】
(1)まず最初にZが2入力ANDゲートの出力ノードである場合について説明する。このゲートの入力ノードをA,Bとすると、明らかに
Z=AB (19)
の関係がある。式(6) をA,Bに対して適用すると
【数12】
Figure 0003699901
となる。式(20)は2入力ANDゲートの出力の信号確率を表す厳密な式であるが、それを直接計算することは既に述べたようにNP困難である。従って厳密に計算することはあきらめて、何らかの近似をする必要がある。最も簡単な近似法は論理ゲートの入力を全て独立とみなしてしまうCOPであるが、実験してみるとわかるようにCOPによる近似はあまり精度が良くない。従って、もう一段高い精度を得ることのできる近似方法が必要になる。そのために厳密な信号確率P(AB)とそのCOPによる近似P(A)P(B)との違いを調べる。A,Bを式(6) のように積和形式で表し、P(A),P(B)を計算して積をとると
【数13】
Figure 0003699901
と定めると
【数14】
P(AB)=F(χ),P(A)P(B)=F(η) (24)
となる。従ってP(AB)とP(A)P(B)の差は
【数15】
P(AB)−P(A)P(B)=F(χ)−F(η) (25)
と表すことができる。この式をTaylor展開し、その第一次までの項をとると、
【数16】
Figure 0003699901
となる。この式の右辺をもっと簡単な式で表すために、F(η)=P(A)P(B)の右辺のA,Bをxi に関してShannon 展開すると
【数17】
Figure 0003699901
となる。この式によればP(Z)の近似値を計算するためにはゲート入力A,B
【外8】
Figure 0003699901
【数18】
Figure 0003699901
となり、P(Z)を計算したのと同様にTaylor展開することで計算できる。しか
【外9】
Figure 0003699901
0次の項までとることになり、
【数19】
Figure 0003699901
式(31),(35)が2入力ANDゲートに対するBAMの基本式である。
【0049】
以下では式(31)および、式(35)の右辺をそれぞれP(A)*P(B),P(A
【外10】
Figure 0003699901
【数20】
Figure 0003699901
このように各ノードに対して、そのノードの信号確率(P(A))と、そのノードの各プライマリー・インプットに関するShannon 展開の係数(cofactor)に対す
【外11】
Figure 0003699901
してゆくのがBAMの特徴である。
【0050】
(2)BAMとCOPの異なる点は式(35)の計算を行わなければならないことと、式(31)の右辺第2項が存在することである。式(31)の右辺第1項は注目する論理ゲートにCOPを適用して計算されたものに他ならないので、式(31)の右辺第2項はそれに対する補正項とみなされる。ここではこの補正項の意味について述べる。この補正項の意味を一言で述べるとブール代数と実数体の演算規則の違いに対する補正であるといえる。それを説明するために簡単な例を挙げて説明する。
【0051】
図2のような論理回路では
A=x1 2 ,B=x2 3 (38)
となっているのでZの厳密な信号確率Pext (Z)は
【数21】
Figure 0003699901
である。一方、COPによる近似値Pcop (Z)は
【数22】
Figure 0003699901
となっている。Pext (Z)とPcop (Z)の違いは式(72)と式(73)の3行目から4行目へ移行するときのブール代数で成り立つ関係
2 2 =x2 (41)
と実数体で成り立つ関係
P(x2 )P(x2 )=P(x2 2 (42)
【外12】
Figure 0003699901
(x1 )P(x3 )であるから、BAMによるZの信号確率の近似値Pbam (Z)は
【数23】
Figure 0003699901
となり、厳密な値Pext (Z)に一致する。この補正項を書き直せば
【数24】
Figure 0003699901
であり、先に述べたx2 に関するブール代数の演算と実数の演算との差が現れる。つまり、この補正項はPcop (Z)の中に現れるP(x2 2 をPext (Z)の中のP(x2 )に引き戻す役割を演じているのである。
【0052】
ここに挙げた論理回路ではBAMによる補正が厳密な値を与えたが、一般の論理回路では必ずしもそうなってはいない。たとえばP(x1 2 P(x2 2 という項がCOPで計算された信号確率の中に現れた場合、COPを補正して厳密な信号確率を得るためにはP(x1 2 とP(x2 2 とを同時にそれぞれP(x1 ),P(x2 )に引き戻さねばならないが、BAMでは各プライマリー・インプットに対して一度ずつしかこの引き戻しを実行しない。つまり、この場合のBAMによる補正項は
【数25】
Figure 0003699901
となり、これは一般には
【数26】
P(x1 )P(x2 )−P(x1 2 P(x2 2 (46)
とは異なる。もし、この引き戻しも行いたいと思うならば式(26)でTaylor展開のより高次の項を考慮しなければならない。しかし、容易に分かるようにk次までのテーラー展開をとった場合には信号確率の計算にnk G(Gはゲート数)のオーダーの計算時間を要することになり、プライマリー・インプットの数nが大きくなるにつれ、これはたとえばk=2の場合ですら加速度的に増大する。従って現実的な計算時間としては上に述べたk=1の場合が適当なのである。
【0053】
(3)次にZがインバーターの出力ノードである場合について説明する。インバーターの入力ノードをAとすると
【数27】
Figure 0003699901
となる。
【0054】
全ての論理回路は2入力ANDゲートとインバーターで展開できるので式(31),(35),(48),(51)により、BAMによる計算を任意の論理回路に適用することができる。
【0055】
(4)ここでBAMによる誤差を評価する。
【0056】
【外13】
Figure 0003699901
べたように
【数28】
Figure 0003699901
となる。ただし、等号はP(xi )=0.5のときに成り立つ。従って、式(31)の誤差は0.252 =0.0625程度である。同様に、式(35)の誤差は0.25程度である。しかし、これは入力A,Bの信号確率P(A),P(B)および
【外14】
Figure 0003699901
が厳密な値をもつ場合である。一般にはA,Bは他の論理ゲートの出力ノードとなっているのでそれらの信号確率、cofactorに対する確率は誤差をもつ。ここで任意のノードにおける誤差が信号確率に対して0.0625、cofactorに対して0.25の程度であることを証明する。
【0057】
それを証明するには任意の論理ゲートの入力ノードがそのような誤差をもつと仮定してその出力ノードが同様の誤差をもつことを証明すればよい(帰納法)。注目する論理ゲートがインバーターである場合には、入力と出力の誤差の大きさが同じであることは明かであるから、2入力ANDゲートの場合を証明すればよい。式(31)の右辺第1項の誤差は仮定により0.0625の程度である。右辺第
【外15】
Figure 0003699901
もつA,Bのcofactorに対する確率に掛けられているので右辺第2項全体としては0.25×0.25=0.0625の程度の誤差をもつ。従ってP(Z)は0.0625の程度の誤差をもつ。一方、式(35)が0.25の程度の誤差をもつことは明かである。以上から2入力ANDゲートの出力ノードZの信号確率は0.0625の程度の誤差をもち、cofactorに対する確率は0.25の程度の誤差をもつことがいえた。従って帰納法により、すべてのノードの信号確率は0.0625の程度の誤差をもち、cofactorに対する確率は0.25の程度の誤差をもつことが証明された。
【0058】
この証明は誤差の程度に関する評価であり、実際には誤差の蓄積が起こり、論理回路によっては上で予測された誤差を大きく上回る場合があることに注意しなければならない。
【0059】
(5)以上ではZが2入力ANDゲートかインバーターの場合について述べたが、ここでは一般の論理ゲートに対するBAMの適用法を説明する。
【0060】
Zが2入力ANDゲートやインバーターとは限らない一般の論理ゲートの出力ノードであるとし、そのゲートの入力をA1 ,…,Am とする。このときZはA1 ,…,Am の論理関数であると同時にAa (a=1,…,m)を通じてプライマリー・インプットの論理関数でもある。関数記号で書くとこのことは
【数29】
Figure 0003699901
を意味する。Zをゲート入力に関する積和形式で表すと
【数30】
Figure 0003699901
が成り立つ。A1 ,…,Am の間に信号間相関がある場合があるので一般には
【数31】
Figure 0003699901
を得る。演算‘*’は結合律を満たさないので、この式はAa (a=1,…,m)の番号付けに依存することになるが、このことについては後に述べることにして、とりあえずこの番号付けによる違いは無視することにする。以上の計算を実際に行うには次のようにShannon 展開を用いればよい。Zの依存するゲート入力の一つをAa とすると、
【数32】
Figure 0003699901
【外16】
Figure 0003699901
annon 展開の係数(cofactor)である。これをZのプライマリー・インプットに関するShannon 展開の係数と混同しないようにしなければならない。そのような混乱を避けるため、ゲート入力に関するShannon 展開の係数に関しては上付きの添え字としてμ,υ,…を用い、下付きの添え字としてa,b,…を用いることにする。それに対してプライマリー・インプットに関するShannon 展開の係数に関してはこれまで通り、上付きの添え字としてα,β,…を用い、下付きの添え字としてi,j,…を用いることにする。さて、式(60)によると
【数33】
Figure 0003699901
【外17】
Figure 0003699901
・インプットに対して定義されていた記号を流用しているので混同しないように注意しなければならない。さて、式(61)の右辺をBAMによって近似すると
【数34】
Figure 0003699901
となる。この式をより詳しく書くと次の補題の式(63)でX=Zとしたものになる。
【0061】
補題0.1
Xが論理関数A1 ,…,Am の論理関数であるとき、任意のa=1,…,mに対するBAMによる近似式は
【数35】
Figure 0003699901
【外18】
Figure 0003699901
non 展開の係数(cofactor)であるとする。
【0062】
(証明)式(63)に関しては既に述べたので式(30)を証明する。
【0063】
【数36】
Figure 0003699901
により定義されているが、この式を、XをAa についてShannon 展開したのちに
【数37】
Figure 0003699901
というBAMによる近似をすればよい。
【0064】
この補題を再帰的に使用することによりノードZの信号確率P(Z)、cofact
【外19】
Figure 0003699901
補題0.2
【数38】
Figure 0003699901
【外20】
Figure 0003699901
2番目の等式を証明するには
【数39】
Figure 0003699901
が成り立つことを用いればよい。
【0065】
この補題により、式(63)は
【数40】
Figure 0003699901
と書くことが出来る。
【0066】
(6)ここでは‘*’演算の結合律の破れを評価する。そのためにはP(A)*(P(B)*P)C))−(P(A)*P(B))*P(C)を調べればよい。
【0067】
【数41】
Figure 0003699901
という結果を得る。ただし、δi (A),δi (C)はそれぞれA,Cに対するShannon 展開の誤差であり、例えばAに関しては
【数42】
Figure 0003699901
と定義されている。Cについても同様である。よってδi (A),δi (C)が小さければ結合律が近似的に成り立つことになる。
【0068】
(7)以上述べた方法(BAM)によって回路内の任意のノードの信号確率を計算するアルゴリズムBAM SIGNAL()を示す。
【0069】
まず最初に、論理回路中の全ての論理ゲートをスタックSTACK Gに積んでおく。このとき任意の論理ゲートGに対し、その入力ノードを出力とするような論理ゲートはSTACK Gの中で必ずGよりも上に積まれているものとする。
【0070】
procedure BAM SIGNAL():
begin
while STACK Gが空でない do
Gの出力をZとし、それをGの入力の論理関数として表す;
サイズ2n+1の配列Pを用意する;
BAMs (Z,P);
【外21】
Figure 0003699901
する;
end
ここでBAMs ()というアルゴリズムは次のように与えられている。
【0071】
procedure BAMs (X,P):
begin
if Xが恒偽関数 then
Pの全ての要素の値に0を代入;
return;
if Xが恒真関数 then
Pの全ての要素の値に1を代入;
return;
Xの依存するゲート入力の一つをAa とする;
【外22】
Figure 0003699901
0,1)の値をPに代入する;
comment このときBAMs ()を再帰的に呼び出す;
return;
end
上のアルゴリズムによると論理ゲートの出力と入力の間の論理関係が与えられていれば計算を実行できることが分かる。従っていくつかの論理ゲートの集合(以下、これを論理モジュール)を考え、回路を論理モジュールに分割すれば計算精度が上がることが期待される。なぜなら論理モジュールの出力と入力の間の論理関係を与えることにより、論理モジュール内の信号間相関は既に考慮されていることになるからである。このように論理回路を仮想的な論理モジュールに分割して計算する場合、上記アルゴリズムを次のように変更すればよい。
【0072】
BAM SIGNAL()の3行目を“Gの出力をZとし、ZをGの属する論理モジュールの入力の論理関数として表す;”に変更し、BAMs ()の5行目を“Xの依存する論理モジュールの入力の一つをAa とする;”に変更する。
【0073】
図1はBAMs (X,P)を表すフローの図である。
【0074】
(8)ここでは例として図2の回路にCOP,CCM,BAMを適用した場合について述べる。
【0075】
図2の回路のプライマリー・インプットx1 ,x2 ,x3 にそれぞれ0.1,0.3,0.9という信号確率の値が与えられているものとする。このとき、厳密な計算によると出力ノードZの信号確率P(Z)は0.027になる。これをCOPで計算するとP(Z)=0.0081となり、厳密な値との誤差は大きい。一方、CCMとBAMによる計算は厳密な値を与える。
【0076】
第2実施例
第2実施例では第1の発明を用いてスウィッチング確率の計算方法を述べる。
(1)まず最初にZが2入力ANDゲートの出力ノードである場合について述
【外23】
Figure 0003699901
よいが、P(Z)が計算されていれば
【数43】
Figure 0003699901
であるのでP(Z(τ)Z(0))を計算すればよいことになる。このゲートの入力ノードをA,Bとすると、
Z=AB (80)
の関係があるので計算すべき量P(Z(τ)Z(0))は
【数44】
P(Z(τ)Z(0))=P(A(τ)A(0)B(τ)B(0)) (81)
と表すことができる。式(6) を用いれば、
【数45】
Figure 0003699901
となる。信号確率の場合と同様に式(82)とCOPによる計算値
【数46】
Figure 0003699901
の差を調べてBAMによる補正項を計算する。そのために
【数47】
Figure 0003699901
と定めると
【数48】
P(A(τ)A(0)B(τ)B(0))=F(χ),
P(A(τ)A(0))P(B(τ)B(0))=F(η) (86)
となる。従ってP(A(τ)A(0)B(τ)B(0))とP(A(τ)A(0))P(B(τ)B(0))との差は
【数49】
Figure 0003699901
と表すことができる。この式をTaylor展開し、その第一次までの項をとると、
【数50】
Figure 0003699901
を得る。定理0.1を考慮にいれて、さらに変形すると
【数51】
Figure 0003699901
を得る。Zも他のゲートの入力になっている可能性があるため、上で計算したP(Z(τ)Z(0))の他にShannon 展開の係数(cofactor)に関するP((Z(τ
【外24】
Figure 0003699901
様の考察により
【数52】
Figure 0003699901
を近似する。
【0077】
式(95),(96)がスウィッチング確率に対するBAMの基本式である。
【0078】
信号確率の場合と同様、式(95)および、式(96)の右辺を記号‘*’を用いてそ
【外25】
Figure 0003699901
(2)次にZがインバーターの出力ノードである場合を考察する。その入力ノードをAとすると、
【数53】
Figure 0003699901
であることもわかる。
【0079】
(3)以上ではZが2入力ANDゲートかインバーターの場合について述べたが、ここでは一般の論理ゲートの場合を考察する。
【0080】
Zが2入力ANDゲートやインバーターとは限らない一般の論理ゲートの出力ノードであるとし、そのゲートの入力をA1 ,…,Am とする。このときZはA1 ,…,Am の論理関数であると同時にAa (a=1,…,m)を通じてプライマリー・インプットの論理関数でもある。関数記号で書くとこのことは
【数54】
Figure 0003699901
を意味する。Zをゲート入力に関する積和形式で表すと
【数55】
Figure 0003699901
の再帰的な計算方法を示す。そのためには次の補題を利用する。
【0081】
補題0.3
X,YがA1 ,…,Am の論理関数であるとき、任意のa=1,…,mに対してBAMによる近似式は
【数56】
Figure 0003699901
と定義する。
【0082】
(証明)補題0.1と同様なので省略する。 (証明終)
信号確率の場合と同様、この補題を再帰的に利用することによりP(Z(τ)
【外26】
Figure 0003699901
補題0.4
【数57】
Figure 0003699901
(証明)第1行目の第1式の証明は容易。第1行目の第2式の証明は第2行目の式と補題0.2の帰結である。第2行目の式は補題0.2の第2式の証明と同様にできる。第3行目の式は定理0.1から明かである。 (証明終)
(4)ここでBAMによるスウィッチング確率の計算アルゴリズムを示す。ノ
【外27】
Figure 0003699901
ことによって与えられる。
【0083】
procedure BAMt (X,Y,P):
begin
if XまたはYが恒偽関数 then
Pの全ての要素の値に0を加入;
return;
if Xが恒真関数 then
BAMs (Y,P);
return;
if Yが恒真関数 then
BAMs (X,P);
return;
Xの依存する論理モジュールの入力の一つをAa とする;
式(70),(71)で計算した値をPに代入する;
comment このときBAMt ()を再帰的に呼び出す;
return;
end
ここでPは計算した値を格納する配列である。また、このアルゴリズムの中の論理モジュールとしては、論理ゲート自体のことを指す場合もあるし、実施例1に述べたような仮想的論理モジュールのことを指す場合もある。
【0084】
(5)以上のアルゴリズムを用いて実験を行った。
【0085】
回路としてはISCAS85のベンチマークデータを採用し、ランダム・シミュレーション(SIM)からのスウィッチング確率の絶対誤差の2乗平均の平方根(表の中のエラーの項目)とCPUタイム(表の中のCPUタイムの項目)を測定した。実験の結果は次の通りである。
【0086】
【表1】
Figure 0003699901
この実験においてランダム・シミュレーションで流したテスト・ベクトルの数は100000であり、全てのプライマリー・インプットの信号確率とスウィッチング確率を0.5とした。ただし、C17の回路に対してはCOPとBAMの誤差は厳密な計算値からのものである。この実験では、比較のためにSIM,COP,CCMについても記載されているが、SIMとCOPについては独自にプログラムを作成して実験し、CCMについての結果はMMPから引用した。ただし、CPUタイムはマシンの性能差を考慮した換算値を用いた。この表から次のように結論される。
【0087】
まず、誤差に関していえば、BAMはCOPよりも一般に精度が良く、信頼性が高い。一方、CCMは必ずしもそうではなく、回路によっては非常に精度の良い場合もあるが精度の悪くなる場合もあり、一定していない。つまり、信頼性が低い。CPUタイムについては、COPとBAMはCCMよりも圧倒的に優れている。従って、総合的にみるとBAMの方がCOPやCCMよりも勝っていると結論できる。
【0088】
次に回路全体の消費電力の見積誤差に関して述べる。
【0089】
配線容量を無視し、ゲート入力容量が一定であるとすると、回路全体の消費電力は、各ノードのファンアウト数(そのノードが入力するゲート数)にそのノードのスウィッチング確率を乗じてノードについての和をとったものにほぼ比例する。これをnormalized power dissipation measure(NPDM)と呼ぶ。NPDMに関するCOPとBAMのランダム・シミュレーションからの誤差は次の表のようになる。
【0090】
【表2】
Figure 0003699901
この表から、BAMによる回路全体の消費電力の見積誤差は数%以内であると結論できる。
【0091】
第3実施例
次に、第1実施例,第2実施例の方法により、スウィッチング確率を求めることが出来るので式(1) ,(8) により、各ノードにおける充放電による消費電力を求めることが出来る。しかし、回路全体はノードとゲートで構成され、ゲート内部でもゲート入力が遷移する事で電力が消費されるので、それによる消費電力も考慮にいれなければならない。
【0092】
注目するゲートをGとし、その入力ノードをA1 ,…,Am とする。このときGによって消費される平均消費電力Pow(G)は次のように表すことが出来る。
【0093】
【数58】
Figure 0003699901
【外28】
Figure 0003699901
知の場合には、第2実施例の方法によりPow(G)を計算することが出来る。
【0094】
第4実施例
次に、第4実施例では第3実施例によって見積もった消費電力の見積値を利用した回路最適化方法を示す。
【0095】
論理回路図上の図3のような3入力ANDゲートをレイアウトの段階で図1のように2つの2入力ANDゲートに展開する必要が生じたと仮定する。図3の各ノードA,B,Cを図4のノードa,b,cに割り当てるのであるが、A,B,Cのどのノードを図4のノードcに割り当てるかにより、3通りの方法が存在する(a,bのノードは同等であると仮定している)。このとき、消費電力が最小となるような割当を行うことが要求されていると仮定する。
【0096】
手順としては、全ての割当方法を試して最も消費電力の小さくなるものを採用することにする。
【0097】
図4の各ノードの駆動容量が全て等しいとすると、ノード全体により消費される電力は
【数59】
SW(a;τ)+PSW(b;τ)+PSW(c;τ)+PSW(N;τ) (111) に比例する。この式の3項の和は割当に依存しないので最後の項に注目する。a,bに割り当てられるノードが独立であると仮定すると
【数60】
Figure 0003699901
という関係がある。図3におけるノードA,B,Cに対して、
SW=(A;τ)=0.5,
SW=(B;τ)=0.3,
SW=(C;τ)=0.2, (113)
P(A)=P(B)=P(C)=0.5 (114)
であり、A,B,Cが独立であると仮定すると、cにAを割り当てたとき、
SW(N;τ)=0.22, (115)
cにBを割り当てたとき、
SW(N;τ)=0.3, (116)
cにCを割り当てたとき、
SW(N;τ)=0.325, (117)
となり、cにAを割り当てたときの消費電力が最も小さいことがわかる。A,B,Cが独立でないときには、BAMによる、より精密な値を用いる必要がある。
【0098】
このようにして消費電力が最小となるような論理合成に本発明を適用できる。
通常は最適化するものは消費電力だけではなく、例えばタイミングなどの制約を受ける場合がある。このようなときには消費電力を最小にするよりもタイミング制約条件を満たすことが優先する。そのような場合には、タイミング制約条件を満たすような論理合成が行われた後に、消費電力の最適化を行う。
【0099】
第5実施例
第2の発明に関する第1の実施例について説明する。簡単のため、順序回路が含まれないような回路(組み合わせ回路)における信号確率の計算について考える。
【0100】
図6のような回路において独立なプライマリー・インプットXi の信号確率P(Xi =1)(i=1,2,3)が与えられたとき出力Zでの信号確率を計算する。ただし、P(A)は条件Aが成り立つ確率であると定義する。遅延時間を無視すると明らかに
【数61】
P(Z=1)=P(X1 =1)P(X2 =1)P(X3 =1) (118)
となる。しかし、各ゲートが大きさ1の遅延時間を持つとすればZが時刻t=0で信号値1を持つ確率は
【数62】
Figure 0003699901
となる。ここでP(A1 ;A2 ;…;An )は条件A1 ,A2 ,….An が共に成り立つ確率であると定義する。また、全ての時間は最小時間単位τの整数倍であるとして時間を整数値で表す。従って時間iとは真の時間i×τのことをいう。もしも信号X2 の時間的相関が非常に小さく時刻t=−2とt=−4における信号が独立とみなせるならば
【数63】
Figure 0003699901
が成り立つ。さらにプライマリー・インプットの信号確率が時刻に依存しないと仮定すれば結局、
【数64】
P(Z=1)=P(X1 =1)P(X2 =1)2 P(X3 =1) (121)
となり、図2においてY1 ,Y2 を独立とみなして
【数65】
Figure 0003699901
と計算した場合と同様になる。このようにディレイを考慮すると回路図においては相関のある信号も実際には相関がないものとして計算できる場合がある。このことは信号間相関のある回路において計算の手間を著しく減少させる。
【0101】
上述の例ではZに対するX2 の遅延時間差が2のときに相関を無視したが、実際にどの程度の遅延時間差があればこの様な無視が可能なのかを調べる。
【0102】
そのために以下の事柄を仮定する。
(1)全てのプライマリー・インプットは互いに独立である。
(2)信号確率は時刻に依存しない。
(3)任意のプライマリー・インプットのある時刻における信号確率は直前の時刻の信号値にのみ依存し、それ以前の信号値に依存しない。
(4)スウィッチング確率は時刻に依存しない。
【0103】
3番目の仮定はMarkov性の仮定と呼ばれ、式で表すと次のようになる。
【0104】
【数66】
Figure 0003699901
ただし、Xは任意のプライマリー・インプットとする。ここでP(A|B)は条件Bのもとで条件Aが起こる条件付き確率である。条件付き確率は
P(A|B)P(B)=P(A;B) (124)
という式を満たす。信号に対する条件付き確率P(X=x,t−1|X=y,t=0)を遷移X=y→X=xに対する遷移確率という。4番目の仮定は任意の時刻iに対して
【数67】
Figure 0003699901
であることを示す。以下ではこれらの仮定を原則として断り無しに用いる。
【0105】
さて、一般にゲートの出力の確率をその出力からプライマリー・インプットに至る全ての経路を考慮することによりプライマリー・インプットに関する確率で表した場合に各プライマリー・インプットXから
【数68】
P(X=x1 ,t=i1 ;X=x2 ,t=i2 ;…;X= n ,t=in ) (126)
という形の寄与がある。これを信号Xのn点の自己相関関数と呼ぶ。ここでx1 ,…,xn は0または1の論理値を示し、i1 ≧…≧in はある最小時間単位τの整数倍で表した時刻を示す。Markov性の仮定によりこれを厳密に計算することが可能である。
【0106】
例えばP(X=xn ,t=n;X=x0 ,t=0)の計算方法は以下のようになる。
【0107】
明らかに
【数69】
Figure 0003699901
と書ける。これを簡単に記述するために2×2行列Qを
【数70】
ij=P(X=i,t=1|X=j,t=0)(i,j=0,1) (129)
によって定める。すると式(14)は
Figure 0003699901
となる。ここで[Qn xn,x0 は行列Qn の第(xn ,x0 )成分を示す。Qは遷移行列と呼ばれている。Qn が計算できれば信号Xの自己相関関数が計算できるがQは
【数71】
Figure 0003699901
ただし
【数72】
α0 =P(X=1,t=1|X=0,t=0),
α1 =P(X=0,t=1|X=1,t=0) (132)
と書けるので
【数73】
Figure 0003699901
という関係を用いた。従って、
【数74】
Figure 0003699901
となる。式(135) の右辺が0であるときt=nでのXとt=0でのXが独立となるので、式(135) の右辺はそうみなしたときの誤差と考えることができる。例えば10%の要求誤差の場合には
【数75】
Figure 0003699901
を満たすような遅延時間差があればt=nでのXとt=0でのXとを独立とみなしてもよいことになる。特に|1−α0 −α1 |=0の場合には式(134) から任意の正のnに対してt=nでのXとt=0でのXとは厳密な意味で独立となる。また、|1−α0 −α1 |=1の場合には式(135) からP(X=0)P(X=1)が要求される誤差より小さい場合のみt=nでのXとt=0でのXとを独立と見なせることが分かる。逆に、P(X=0)P(X=1)が要求される誤差errorより小さい場合には|1−α0 −α1 |≦1なのですべてのnに対してt=nでのXとt=0でのXとを独立と見なせることができる。特にn=0の場合にも独立と見なせるが、このことはXに与えた信号確率がP(X=0)P(X=1)≦errorを満たす場合には遅延時間差を考慮しなくても信号Xに関してはもともと相関がないものとして計算してもよいということになる。例えば、図7のようにX1 ,…,Xn というプライマリー・インプットをもつ回路においてXi はY1 ,Y2 を通じて出力Zを持つゲートにおいて相関を引き起こしているがP(Xi =0)P(Xi =1)≦errorが満たされている場合には
【数76】
P(Z=1)=P(Y1 =1)P(Y2 =1) (137)
として計算しても誤差はerror以内である。この理由をもっと詳しく述べる。
【0108】
図7においてY1 ,Y2 をプライマリー・インプットの論理関数として表し、Xi についてShannon 展開すると
【数77】
Figure 0003699901
となる。一方Y1 ,Y2 を独立とみなしたときのZでの信号確率は
【数78】
Figure 0003699901
となり一般には厳密な値
【数79】
Figure 0003699901
とは一致しない。これは式(139) の2行目から3行目でXi に対してはXi i
【外29】
Figure 0003699901
率P(Xi =x)に対してはそのような関係式が一般には成り立たないことにある。ところが条件P(Xi =0)P(Xi =1)≦errorはこれらのブール代数の関係が許容誤差(error)内で確率に対しても成り立つことを保証するのである。
【0109】
相関を引き起こしている信号がただ一つの場合には上述の誤差errorはゲートの出力の誤差と一致する。しかし、ゲートの上流で複数の相関が起こっている場合には、ゲートGの出力に関して規定された最大許容誤差をEG とすると、EG があまり大きくないときは
1 1 +C2 2 +…+Cn n ≦EG (142)
を満たすように各プライマリー・インプットXi に関する最大許容誤差Ei (i=1,…,n)を規定してやるとよい。ここでCi は論理回路を基本的なゲート(例えばANDとインバーター)で展開したときにGの上流でプライマリー・インプットXi (i=1,…,n)が引き起こしている相関の個数である。この関係式は、相関が1つある度にBoole 代数の関係を用いなければならないということからの大ざっぱな見積である。
【0110】
以上のことから入力の確率のP(X=0)P(X=1)が小さいときに出力の確率の誤差が小さいことが予想されるが、このことを1ビットの加算器に対して遅延がない場合に確かめてみた。その結果を下の表にまとめてある。
【0111】
【表3】
Figure 0003699901
ここで出力の確率Aとは全てのゲートの入力を独立とみなし、信号間相関を無視して計算したサム(SUM)およびキャリー(CARRY)という名前の出力ノードでの確率であり、出力の確率Bはそれらの厳密な確率の値である。この表によれば入力A,B,Cの確率に対してP(X=0)P(X=1)(X=A,B,C)が小さい場合の方が大きい場合よりも出力の確率の誤差が確かに小さくなっている。
【0112】
以上の議論は2点の自己相関関数をもとにした議論であった。一般のn点の自己相関関数に対しては
【数80】
Figure 0003699901
が成り立ち、2点の自己相関関数の場合と同様の議論が適用できる。
【0113】
以上の結果に基づいて信号間相関および遅延時間差を考慮に入れて確率伝播を計算するアルゴリズムを作成すると次のようになる。
1°ゲート全体をプライマリー・アウトプットからの深さ優先探索順に並べる。この順序に従って各ゲートGに対し、以下の操作を行う。
2°ゲートGに定められた最大許容誤差に対して各プライマリー・インプットに要求される最大許容誤差を設定し、相関を無視できる最小遅延時間差を計算する。
3°Gの入力を論理回路図上で相関のあるものどうしグループ分けする。
4°同じグループに属する各ノードYi (i=1,…,k)に対し、各プライマリー・インプットX1 ,X2 ,…,Xn からYi へ到達するまでの時間を遅延時間を考慮して経路毎に求める。
【0114】
例えばグループ{Y1 ,Y2 ,Y3 }に対して次のようになったとする。
【0115】
【表4】
Figure 0003699901
ただし、この表の項目の数字は各経路に対するそれぞれのプライマリー・インプットからの遅延時間である。
【0116】
5°全てのプライマリー・インプットに対し、それがYi ,Yj に達するまでの遅延時間の差が2°で計算された最小遅延時間差以上であればYi ,Yj の相関を無視することにし、3°で定められた入力のグループ分けに対し、互いの相関の無視できないものを同じグループとする、より細いグループ分けをする。例えば上の表において、相関を無視できるような最小の遅延時間差がプライマリー・インプットX1 ,X2 ,X3 ,X4 に対してそれぞれ3,2,4,2であったとすると細分されたグループ分けは{Y1 ,Y2 },{Y3 }となる。
【0117】
6°細分された各グループ毎に相関を考慮した計算を行い、グループ間は独立であるとみなしてGの出力に対する確率計算を行う。
【0118】
このようにグループをできるだけ細分することには、以前に計算した結果を用いて計算の手間を軽減できるという効果がある。例えば図3のような回路においてXi に関する相関を無視しても良い場合には既に計算された値P(Y1 =1),P(Y2 =1)を用いて
【数81】
P(Z=1)=P(Y1 =1)P(Y2 =1) (145)
と計算できるが、相関を無視できない場合にはもっと複雑な方法で計算しなければならない。
【0119】
図5は上記のアルゴリズムをまとめたものである。このアルゴリズムの計算時間は回路および各ゲートに対する遅延時間、そして要求される最大許容誤差に依存し、最悪の場合Ο(|G|×X)であり、最良の場合はΟ(|G|)である。ただし、|G|は回路全体に含まれるゲートの数を表し、Xは6°の手続きに要する最悪の場合の時間である。
【0120】
第6実施例
第5実施例では信号確率について述べたが本実施例では遷移確率について述べる。再び、簡単のため、順序回路が含まれないような回路(組み合わせ回路)を考える。図6のような回路において独立なプライマリー・インプットXi の遷移確率P(Xi =x|Xi =y)(i=1,2,3;x,y=0,1)が与えられたとき出力Zでの遷移確率を計算する。ただし、
【数82】
P(X=x|X=y)=P(X=x,t=1|X=y,t=0) (140)
と定義する。遅延時間を無視すると明らかに
【数83】
Figure 0003699901
となる。しかし、各ゲートが大きさ2の遅延時間を持つとすればZが時刻t=0で信号値1を持ち、時刻t=1で信号値1を持つ確率は
【数84】
Figure 0003699901
となる。もしも信号X2 の時間的自己相関が非常に小さく、3以上の時間だけ離れた信号が独立とみなせるならば
【数85】
Figure 0003699901
となり、図6においてY1 ,Y2 を独立とみなして
【数86】
Figure 0003699901
と計算した場合と同様になる。このように遷移確率の場合も信号確率の場合と同様、自己相関関数を計算することにより相関の有無を判定でき、第5実施例と同様のアルゴリズムを適用することができる。
【0121】
以上、第2の発明の実施例について説明したが、もしも最小時間単位τをクロック・サイクルにとると遅延時間差が1以上の組み合わせ回路は一般的な観点からいってうまく動作していない回路である。しかし相関の手前でフリップ・フロップなどの記憶素子が入ると遅延時間差が1以上の場合も正常な場合になる。このように順序回路を合わせて考えると第2の発明の適用範囲が広がる。
【0122】
第7実施例
第3の発明による消費電力評価法の一実施例を図8のフローチャートを参照して説明する。論理回路の入力端子に与えられる入力信号は、各入力信号端子ごとに時系列的に記述され、まとめて記憶装置801に格納されている。処理ステップS802は入力パターンを各端子ごとに時間区間に分割し、各時間区間の入力信号系列を確率量に変換する処理を行う。評価対象の量によって、求める確率量は異なるが、信号が論理的な“1”になる確率を表す信号確率、または信号が変化可能な場合の数に対して変化する確率を示すスウィッチング確率(遷移確率)などが対象となる。各端子ごと、各時間区間ごとに計算された確率量は記憶装置803に格納される。処理ステップS804は各時間区間ごとの入力端子に対して与えられた確率量から当該時間区間の電力を計算する。その結果は記憶装置806に時間区間と、本発明に従って部分回路の分類に従って格納される。電力計算のステップS804は、指定された全時間区間の電力計算が終了したかを、判定ステップS805によって判断し、終了すればすべての処理を完了する。808は時系列的に表現した出力グラフの例である。
【0123】
本発明による消費電力評価の実施例の一つを、図9の2つのANDゲートAND1,AND2とオアゲートOR1から構成される論理回路を例に取って説明する。図10は図8のステップS802の入力パターンの区間への分割と、入力端子に対する区間の信号確率計算などの確率量を計算する方法を具体的な回路と入力パターンを用いて例示している。図10の1001は入力パターンとスウィッチング事象を示しており。A2のカラムは記憶装置801に記憶される入力パターンであり、A1のカラムは時刻を示している。A3のカラムは図9の回路において各ゲートの出力でどの様にスウィッチングが起こるかを参考のために記したものである。A2のカラムの入力パターンは、1004のB1のカラムに示された時間区間に対して、1002の入力の信号確率計算手順に従ってカラムB2に示されたように各入力端子の信号確率に変換される。一方1003の入力のスウィッチング確率計算手段によってC2のカラムに示されたように各入力端子のスウィッチング確率に変換される。この1002,1003の手順は図8の実施例におけるステップS802の処理に対応している。1002,1003の手順によって得られた確率量すなわち1004のB2および1005のC2は図8の実施例の記憶装置803に格納されている。図11(a)のスウィッチング確率は図8の実施例においてステップS804を用いて区間瞬時電力を計算した結果であり、その結果は記憶装置806に格納される。図11(a)の例では各ゲートの出力ノードのスウィッチング確率とそれらの総和が計算されている。図11(b)は時間区画の刻みをより細かくして計算した例であり、瞬時電力を知る上で分解能が上がる。この回路と入力パターンに対して本発明の一実施例である電力評価法を適用した結果をグラフとして示したものが図12である。ここで図12の(a)は時間区画の刻みを1とした場合であり、(b)は刻みを4、(c)は刻みを2とした場合である。この表示は図8の実施例における表示808に対応している。この実施例の図12,図13の電力計算例では各ゲートの出力ノードの静電容量を簡単のためすべて1とし、論理振幅も0ボルトから1ボルトの間と仮定して計算がされている。これはただ理解を容易にするためだけであって、実際の電力評価には別途準備した各ノードの静電容量と論理振幅を用いなければならない。
【0124】
図8は通常の計算機を用いて実現する実施例のフローチャートであるが、第3の発明をハードウェアまたは2個以上の処理装置を用いて実現する実施例においては図8のステップS802、ステップS804、ステップS807をパイプラインに構成し、各々の記憶装置、つまり記憶装置801、記憶装置803、記憶装置806をファーストイン・ファーストアウトのバッファとして構成する事ができる。
【0125】
本実施例においては時間区間は必ずしも均一である必要はなく、その要求精度に従って詳細を知りたい部分に対しては細かい時間区画を設定する事ができる。
【0126】
第8実施例
第3の発明に関する第2の実施例を図14のシステム構成図を用いる事によって説明する。本システム構成図において、1405は回路の構造または動作の記述を格納する記憶装置であり、論理回路の入力端子に確率量を与えて電力計算をする処理手順を実現したステップS1404に適した表現形式に当該回路の構造および/または動作記述を変換する処理手順を実現したステップS1406の入力となるデータを格納する。ステップS1406は確率計算による電力計算が行い易いように動作記述をもとに論理式の生成・変形や、回路の分割、BDDによる論理式の表現の生成、具体的な電力計算のための各論理ゲートの出力ノードの静電容量の計算および計算手順との結合などを行う。これらの情報は記憶装置1407に格納され、瞬時電力計算手順を実現するステップS1404で利用する。この瞬時電力計算手順を実現したモジュールにおいては同一の回路に対する電力計算をすべての時間区間に対して行わねばならず計算時間を要する。そこで本実施例ではあらかじめ最適な計算が可能なようにステップS1406で準備する事によって全体の処理時間を短くする事ができる。1401,S1402,1403,1408,S1409,1410は図8の801,S802,806,S807,808にそれぞれ対応する。
【0127】
第9実施例
次に、第3の発明の一実施例を図11と図13を用いて説明する。瞬時電力計算のステップS804によって計算した結果は記憶装置806に格納されるが、この格納時のデータの構成を図11に示したように各部分回路ごとのスウィッチング確率として格納する。このようなデータの構成として格納する事によって図13に示したように各部分ごとの電力の時間的な推移を表示できるようになる。
【0128】
回路を部分回路に分割する基準としては設計者が用いた設計階層が最も良く用いられる例であるが、数種類のクロック系を持つ回路においてはクロック系ごとに回路を分類するなどの方法も実現する事ができる。本発明を実現するのには回路の各ノードを設計階層や、電源系、クロック系などの回路に従って検索・分類できるデータ構造を選択する事によって効率よく実現する事ができる。
【0129】
上記実施例においては、図8のステップS804に対応する部分は論理回路の入力端子に確率量を与え、その確率量が各ゲートの出力にどの様に伝搬して行くかを調べるアルゴリズムを利用しているが、この部分のアルゴリズムは必ずしもこの方式に限定されるものではない。これ以外のアルゴリズムを用いても本発明の優位性を損なわれるものではない。別のアルゴリズムの例としては入力信号の各時間区間ごとの入力の統計・確率的性質を満足する短いランダムな入力パターンを発生して回路をシミュレーションする方法もある。この方法によれば短い入力パターンで入力信号の統計・確率的性格を十分に表現できれば精度良くかつ効率も良い電力評価が可能となる。
【0130】
本発明では、CMOS以外の回路方式の集積回路にも適用できるのは明かである。たとえばE/D MOSに対しては論理ゲートの入力端子に論理ゲートの出力を“0”とする論理値が与えられている間は電流が流れている。このような回路固有の特性のために電力予測においてスウィッチング確率だけでなく信号確率も考慮する必要がでてくる。さらにダイナミック論理を用いた回路においてはプリチャージの効果を十分に考えた評価方式を導入する事によってこれらの発明を適用できる。
【0131】
【発明の効果】
第1の発明によれば、代表的な従来手法CCMと同程度の精度、および数十分の1以下の計算時間で論理回路のノードのスウィッチング確率を計算することができる。
【0132】
ノードの駆動する容量が与えられている場合、そのノードのスウィッチング確率が分かれば、そのノードでの平均消費電力が計算でき、また、セルの入力遷移パターンに対するそのセルの消費電力が与えられている場合、本発明を使用して、各入力遷移パターンの起こる確率を計算することが可能であり、各セルの平均消費電力を見積もることが出来る。
【0133】
さらに論理合成ツールと組み合わせることにより、RTLレベルなどのより設計の初期段階での見積も可能である。
【0134】
また、本発明を使用して見積もった消費電力の大きなノードの付近の論理回路を変更することにより、消費電力を低減するなどの回路最適化に役に立つ。
【0135】
本発明は論理回路レベルの消費電力見積であるため、設計の変更や選ぶべきパッケージの種類を設計の比較的初期の段階で決定することができる。
【0136】
第2の発明によれば、遅延時間差および入力の確率値を考慮して規定された最大許容誤差内で信号間相関を無視することにより論理回路の動作確率の計算を軽減できる。
【0137】
第3の発明により、瞬時電力の時間的な推移を短い計算時間で求める事ができる。また、容易に時間区間を設定でき必要な時間精度で電力の変化を知る事ができる。
【0138】
また、各時間区間に対して多数回必要となる計算のうち共通の部分を取り出し最適化する事によって電力評価に必要な計算時間を大幅に短縮でき、効率向上が図れる。
【0139】
更に、集積回路の各部分の消費電力を個別に知ることが容易にできるようになる。これにより集積回路設計者は容易に回路を最適化することができる。
【図面の簡単な説明】
【図1】第1の発明の実施例を表すフローを示す図である。
【図2】信号間相関のある簡単な論理回路の例である。
【図3】3入力ANDゲートの論理回路図である。
【図4】図6の論理ゲートを2入力ANDゲートで分解した論理回路図である。
【図5】第2の発明の実施例を表すフローを示す図である。
【図6】信号間相関のある簡単な回路の例である。
【図7】信号間相関のある回路の例である。
【図8】第3の発明による実施例の処理手順を示すフローチャートである。
【図9】第3の発明の実施例の処理内容を説明するための論理回路の例である。
【図10】第3の発明の実施例の図8におけるステップS802の処理内容を示した図である。
【図11】各ゲート出力のスウィッチング確率を示した図表であり、(a)は時間区間が4の場合であり、(b)は時間区間が2の場合である。
【図12】第3の発明による電力評価の結果の例を、3種類の時間区間に対して示す図表である。
【図13】第3の発明により部分回路の電力を表現した図表である。
【図14】第3の発明に関する実施例のシステム構成を示すシステム構成図である。
【符号の説明】
1001 入力信号の例を示すテーブル
1004 入力信号確率の計算結果を示すテーブル
1005 入力スウィッチング確率計算結果を示すテーブル
X 論理式
P 実数の配列
Z 論理回路の出力
A,B,C ノード
a,b,c ノード
N ノード
i (i=1,…,3) 論理回路のプライマリー・インプット
1 ,Y2 ノード
1 ,G2 論理回路[0001]
[Industrial application fields]
The present invention relates to a method for evaluating the power of an integrated circuit, and more particularly to a method for evaluating the power of an integrated circuit using signal probabilities, switching probabilities, and the like of logic circuits in the integrated circuit.
[0002]
[Prior art]
The causes of power consumption in an integrated circuit, particularly a CMOS integrated circuit, are broadly classified into power consumption due to leakage current, power consumption due to through current, and power consumption due to charging / discharging.
[0003]
Among these, the power consumption due to two causes of power consumption due to leakage current and power consumption due to through current is so small that it can be ignored as compared with power consumption due to charge / discharge. Therefore, when estimating the power consumption, it is effective to first examine the effect of charging and discharging. Here, the power consumption due to charging / discharging refers to the capacitance driven by a node due to a change in potential (hereinafter referred to as switching) of a continuous wiring (hereinafter referred to as net or node) in the circuit. It is the power consumed by the current that flows when charging / discharging occurs. The average power consumption Pow (Z) due to charging / discharging at the node Z can be estimated by the following equation.
[0004]
[Expression 1]
Figure 0003699901
Where VDDIs the power supply voltage, CZIs a capacity driven by the node Z, and D (Z) is an average value of the number of times of switching per unit time in the node Z (hereinafter referred to as transition density).
[0005]
Especially when the circuit is operating in synchronization with the clock, Equation (1) becomes
[Expression 2]
Figure 0003699901
Can be written. Here, f is the clock frequency, and N (Z) is the average number of charge / discharge cycles per clock at the node Z. From equation (1), VDD, CZIs known, the power consumption can be estimated by obtaining D (Z). Therefore, estimating the transition density D (Z) is a central issue in power consumption prediction. As a method of estimating the transition density, there are a method based on simulation as a first method and a method based on probability calculation as a second method.
[0006]
In the first method, input pattern data (hereinafter referred to as a test vector) is input to an input terminal (hereinafter referred to as a primary input) of a logic circuit, and the number of times of switching at each node in the circuit is measured. To estimate the transition density. In this method, the longer the length of the test vector to be passed, the higher the accuracy. However, the time spent for it increases accordingly.
[0007]
In the second method, only the information regarding the transition density of each primary input is given without actually passing the test vector, and the propagation of the transition density to the internal node is estimated by probability calculation. That is, the probability amount related to the input of the entire circuit (hereinafter referred to as the primary input), for example, the switching probability, which is the probability that the logical value of the signal becomes 1 or the logical value of the signal changes, is input. Check the propagation to the node, calculate the switching probability Psw at each node,
Pow = PSWPow (/ switch) (3)
This is a method for obtaining the power consumption Power according to the following equation. However, PSWIs the probability that the logical value of the signal will change (also referred to as switching probability or operation probability), and Pow (/ switch) is the power consumption associated with a single signal change. This method does not require test vectors in principle and has a relatively short execution time, but has problems handling signal reconvergence, sequential circuits, and internal floating nodes.
[0008]
Signal reconvergence means that a certain node is an input node of several logic gates, and is an input of a same logic gate as the outputs of those logic gates are traced one after another. . At this time, two different input nodes among the inputs of the logic gate depend on the same primary input. In general, if the set of primary inputs on which two different nodes A and B depend have a non-empty common part, there is an inter-signal correlation between A and B, or simply between A and B There is a correlation. Therefore, if there are two nodes having signal correlation among the input nodes of a certain logic gate, signal reconvergence has occurred. In order to calculate the exact transition density of the output node of a gate when this happens, whether the signal originating from the same node has reached the gate through two or more different paths If this is the case, it is generally impossible to perform the calculation in a realistic time because the computational complexity increases exponentially.
[0009]
In a sequential circuit, the output of a certain gate sometimes enters the same gate, and the transition density at a node on such a loop depends on itself, and the propagation of the transition density from the input to the output The concept cannot be understood and the transition density calculation becomes difficult.
[0010]
Internal floating nodes introduce uncertain logic values such as high-impedance states, again making transition density calculations difficult.
[0011]
Of these, the most important in principle is the problem of signal reconvergence. It is known that it takes exponential calculation time to try to solve this exactly, and it is impossible to implement in reality. For this purpose, an approximate method must be relied on, but the following algorithm has been proposed as such a method.
[0012]
(I) COP
(Ii) DWAA (Dynamic Weighted Averaging Algorithm)
(Iii) CCM (Correlation Coefficient Method)
The first method, COP, is a method in which all the inputs of each gate are regarded as independent. Therefore, the correlation between signals is completely ignored, and in the above method, the execution time is the shortest in terms of accuracy but the worst.
[0013]
The second method, DWAA, is a method in which the COP is applied by fixing the logical value of each node causing the correlation between signals to 0 and 1, taking into consideration the first effect of the correlation between signals. ing. This method is described in S. Ercolani, M. Favalli, M. Damani, P. Olivo, B. Ricco, “Estimate of Signal Probability in Combinational Logic Networks”, European Test Conf., Pp. 132-138, 1989. This paper is referred to as EFDOR) and is more accurate than COP.
[0014]
The third method, CCM, was first introduced in the same paper EFDOR as DWAA, R.Marculescu, D.Marculescu, M.Pedram, “Switching Activity Analysis Considering Spatiotemporal Correlations” International Conference on CAD-94, pp.294-299. 1994. (Hereinafter, this paper is referred to as MMP and referred to) and has the highest accuracy among the methods described above. In this method, the degree of correlation between signals between nodes is expressed by an amount called a correlation coefficient, and the correlation coefficient between three or more nodes is approximated by a product of correlation coefficients between two nodes. Is going. CCM is more accurate than COP and DWAA, but it takes a little time. However, the accuracy is still insufficient, and the paper MMP proposes to improve the accuracy by dividing the circuit and combining CCM and BDD. However, the computational complexity at that time is considerably large, and it is expected that the simulation may be more efficient in some cases. This may completely lose the advantages of the method based on probability calculation.
[0015]
In addition, the probability-based method is highly dependent on input data, and the delay time is not taken into consideration. However, signals that are separated in time can be regarded as independent (FNNajm, “Improved Estimation of the Switching Activity for Reliability Prediction in VLSI Circuits”, Custom Integrated Circuits Conf., Pp.429-432, 1994.) In some cases, the correlation between signals can be ignored. However, this paper does not provide a time distance that can ignore the correlation between signals.
[0016]
By the way, in order to analyze an actual LSI operation, it is necessary to know not only the average power but also the instantaneous power. For example, instantaneous power or instantaneous current is required to analyze a problem of noise caused by power supply voltage fluctuation. However, although there is a method using a time-consuming simulation, a method for calculating an instantaneous power without using a simulation has not been specifically developed yet. Najm et al. “Probabilistic simulation for reliability analysis of CMOS VLSI circuits.” IEEE Trans.CAD 9 (4), pp.439-450, April, 1990, and R. Burch “Pattern-Independent Current Estimation for Reliability Analysis of CMOS. Circuits ”, pp.294-299, 25th DA Conf., 1988, etc., but the calculation is performed using the concept of a probability waveform. However, in actual LSI design, it is necessary to know changes in current and instantaneous power depending on a specific input pattern, such as a program for a CPU and input data for an LSI for signal processing. In particular, when considering power system noise, it is necessary to know the short-term behavior of the power system. Previously proposed methods have been insufficient for these purposes.
[0017]
[Problems to be solved by the invention]
As described above, the method based on simulation improves accuracy if a large number of test vectors are input, but requires a lot of time. On the other hand, although the method based on probability calculation can be executed in a relatively short time, there is a problem in accuracy, and there is a problem that it is difficult to specify an error because it depends on input data with this accuracy. .
[0018]
The present invention has been made to solve the above-described problems, and an object of the present invention is to provide an integrated circuit power evaluation method that can be executed with high accuracy and in a short time and efficiently.
[0019]
[Means for Solving the Problems]
To achieve the above object, according to a first aspect of the present invention, there is provided a method for evaluating power of an integrated circuit including a logic circuit configured by connecting a plurality of logic gates. Associated with an output node typified by the probability that the logical value of 1 will be 1 (hereinafter referred to as signal probability) and the probability that the logical value of the output node of each logic gate will change (hereinafter referred to as switching probability). For a probability quantity, the exact value P of the probability quantityeAnd the value P calculated as all independent inputs of the logic gateaDifference P withe-PaIs expanded in series with respect to the probability amount corresponding to the input signal of the entire circuit, and a finite number of terms are obtained as correction terms, and the PaThe power evaluation of the integrated circuit is performed by using the value obtained by adding the correction term as an approximate value of the probability amount.
[0020]
According to a second configuration of the first invention, in the method for evaluating power of an integrated circuit including a logic circuit configured by connecting a plurality of logic gates, the logic circuit is configured by a plurality of logic gates. The logical value of each node belonging to each logical module is expressed as a logical function of the input signal of the logical module, and the probability amount associated with the node represented by the signal probability and switching probability The exact value P of the probability quantityeAnd the value P calculated as all independent inputs of the logic moduleaDifference P withe-PaIs expanded in series with respect to the probability amount corresponding to the input signal of the entire circuit, and a finite number of terms are obtained as correction terms, and the PaThe power evaluation of the integrated circuit is performed by using the value obtained by adding the correction term as an approximate value of the probability amount.
[0021]
Here, the value obtained by multiplying the switching probability of an arbitrary node of the logic circuit by the square of the driving capacity of the node, the square of the power supply voltage, and the clock frequency is used as the power consumption due to charging / discharging of the node, thereby evaluating the power of the integrated circuit It is preferable to carry out.
[0022]
Further, a value obtained by multiplying the probability of occurrence of an arbitrary input transition pattern of an arbitrary gate of the logic circuit by the power consumption per transition when the input transition pattern occurs is an average consumption due to the input transition at the gate. It is preferable to evaluate the power of the integrated circuit as power.
[0023]
  In order to achieve the above object, the method for evaluating the power of the integrated circuit by calculating the operation probability of the integrated circuit according to the present invention using a computer is an input to each gate in the integrated circuit. A computer calculating a minimum delay time difference between a plurality of signals, a computer grouping the gate inputs based on the minimum delay time difference, and each gated group for each group. Between multiple signals that are inputsOn the basis of theA signal probability that is a probability that a logical value of an output node of each gate is 1 for each signal belonging to the group, and a switching probability that is a probability that a logical value of the output node of each gate changesGateThe procedure for the computer to calculate the probability for the output node and thisRegarding the output node of the gateAnd a procedure for evaluating the power of the integrated circuit using probability.
[0026]
According to a first configuration of the third invention, in a method for predicting and evaluating the power consumption of an integrated circuit, a set of input patterns given to a primary input terminal in time series is divided by a time interval. A step, a step of calculating statistical / probabilistic characteristics of a pattern given to the primary input terminal for each time interval, a step of calculating power consumption of each time interval from the statistical / probability characteristics, and a calculation of each time interval And performing a step of arranging the consumed power in time series.
[0027]
According to a second configuration of the third invention, there is provided a method for evaluating the power of an integrated circuit by giving statistics / probability quantities to input terminals of a logic circuit and evaluating propagation of the probability quantities. Before performing power evaluation using the input signal or input signal characteristics given to the terminal, input a description of the circuit structure or circuit operation of the integrated circuit and convert it to an evaluation formula or data structure required for power prediction. It is stored in a storage device, and the evaluation formula or data structure is used a plurality of times for power prediction.
[0028]
According to a third configuration of the third aspect of the present invention, in the integrated circuit power evaluation method, the partial circuits of the integrated circuit, which are units of evaluation, are classified for each circuit system focused on, and a set of desired partial circuits is determined. It can output power consumption and power supply current.
[0029]
[Action]
According to the configuration of the first aspect of the invention, by correcting the probability amount calculated by regarding the input of each gate as independent, the signal probability and switching probability for each node of the combinational logic circuit with high accuracy and high speed. Can be calculated. Furthermore, it is possible to increase the accuracy by dividing the circuit and using BDD.
[0030]
According to the configuration of the second aspect of the invention, the calculation of the operation probability of the logic circuit can be reduced by ignoring the correlation between signals within the maximum permissible error defined in consideration of the delay time difference and the input probability value.
[0031]
Furthermore, according to the configuration of the third aspect of the invention, it is possible to know the electric power that changes from time to time in the logic circuit without using a circuit simulator or a logic simulator for a long time. Furthermore, according to the third invention, the time required for power calculation can be greatly saved as compared with the simulator system. Further, it is possible to check the change in power with a desired accuracy by adjusting the definition of the time interval. In addition, since the processes to be repeatedly calculated for each time interval can be processed at once, the calculation efficiency can be improved. Furthermore, the designer can evaluate and compare the power consumption of any partial circuit.
[0032]
【Example】
Embodiments of an integrated circuit power evaluation method according to the present invention will be described below with reference to the drawings.
[0033]
First embodiment
Examples relating to the first invention will be described below. Here, various definitions necessary for understanding the present invention will be described first, and then examples will be described. The first embodiment describes the case where the present invention is applied to the signal probability, and the second embodiment describes the case where the present invention is applied to the switching probability. The third embodiment shows a method for estimating the power consumption of nodes and gates according to the methods of the first and second embodiments, and the fourth embodiment optimizes a logic circuit using the estimation method of the third embodiment. An example of
[0034]
The logic circuit described below refers to a combinational logic circuit that does not include a sequential circuit. Let n be the number of primary inputs in this logic circuit, and let x be1, ..., xnIs described. Primary input xiThe logical value at time t of (i = 1,..., N) is expressed as xiWrite (t). Ignoring time dependency xiSometimes written. Therefore xiThe symbol is used for both the primary input name and its logical value, but the distinction is often not important and is not confusing. In general, any node in the logic circuit is the primary input x1, ..., xnThe same applies to these logical functions. That is, for a node Z, the symbol Z has the meaning of both the name of the node and the logical value ignoring the time. Speaking of logical functions below, primary input x1, ..., xnThis is a logical function of
[0035]
Assume the following three things for the logic circuit and the primary input.
[0036]
(1) Time translation invariance of probability
(2) Mutual independence of primary inputs
(3) Delay time 0
[0037]
Assumption (1)
[Equation 3]
Figure 0003699901
Is an arbitrary time t, tij(J = 1, ..., niI = 1,..., N), and αij= 0, 1 (j = 1,..., NiI = 1,..., N).
[Outside 3]
Figure 0003699901
The probability that X has a logical value 1 with respect to the logical function X is described as P (X), and this is referred to as the probability for the logical function X. With this assumption, it can be said that P (X (t)) does not depend on time t, particularly for an arbitrary logical function X (t) that depends only on one time. Therefore, P (X (t)) is written as P (X). In addition, it can be said that the probability for a logical function that depends on two or more times depends only on the time difference.
[0038]
Assumption (2) is
[Expression 4]
Figure 0003699901
Is any time tij(J = 1, ..., niI = 1,..., N), and αij= 0, 1 (j = 1,..., NiI = 1,..., N). However, since independence with respect to the time of the same primary input is not assumed, for example, time t1, T2P (x1(T1) X1(T2)) Is generally different.
[0039]
Assumption (3) means that the logic value at a certain time of the internal node of the logic circuit is determined by the logic value of the primary input at the same time. That is, the logical value at time t of any node Z in the circuit depends on only one time and can be written as Z (t). Therefore, the probability at time t for an arbitrary node Z can be written as P (Z). This is called the signal probability of node Z.
[0040]
An arbitrary logical function X (t) that depends on only one time, such as a node in the circuit, is expressed in a product-sum format.
[Equation 5]
Figure 0003699901
[Outside 4]
Figure 0003699901
Take a rational value. Equation (39) and the following theorem are often referred to in the following sentences.
[0041]
Theorem 0.1
If X (t) and Y (t) are arbitrary logical functions of primary inputs that depend on only one time, then arbitrary t1, T2Against
[Formula 6]
P (X (t1) Y (t2)) = P (X (t2) Y (t1)) (7)
Holds.
[0042]
(Proof) When X and Y are expanded into a product-sum form and expressed in the form of equation (39), this theorem is for any i (i = 1,..., N).
[Expression 7]
Figure 0003699901
And P (xiUsing that (t)) does not depend on time t,
[Equation 8]
Figure 0003699901
Holds. (End of proof)
xiIs any primary input and X is any logic function
[Equation 9]
Figure 0003699901
Equation (46) is the primary input xiX Shannon expansion about. Also
[Outside 5]
Figure 0003699901
Huh. Note that the superscripts 0 and 1 for X do not mean logical negation or affirmation. For example, primary input xiAgainst
[Outside 6]
Figure 0003699901
It's awkward to use the same symbol, but in this case XiSince the quantity is not defined, there are few mistakes. In the following sentence, it will be rare to be confused about the meaning of this symbol.
[0043]
Next, the relationship between the definition of switching probability and its transition density will be described.
[0044]
Let τ be the time interval during which switching occurs at most once in that time
[Outside 7]
Figure 0003699901
Ching probability PSW(Z; τ) is defined as the probability that the logical value changes in the time. Therefore
[Expression 10]
Figure 0003699901
Can be written.
[0045]
The switching probability is an average value of the number of times switching occurs during the time τ and has the following relationship with the transition density.
[0046]
## EQU11 ##
Figure 0003699901
Note that the above description implicitly assumes a CMOS logic circuit as the logic circuit, so attention is paid to the switching probability. However, in a dynamic circuit or a ratio type circuit, power consumption can be estimated based on the signal probability. .
[0047]
Next, a signal probability calculation method according to the present invention (hereinafter referred to as BAM) will be described.
[0048]
(1) First, the case where Z is an output node of a 2-input AND gate will be described. When the input nodes of this gate are A and B, it is clear
Z = AB (19)
There is a relationship. Applying equation (6) to A and B
[Expression 12]
Figure 0003699901
It becomes. Expression (20) is a strict expression that represents the signal probability of the output of the 2-input AND gate, but it is difficult to calculate it directly as described above. Therefore, it is necessary to give up the exact calculation and make some approximation. The simplest approximation method is COP that considers all inputs of logic gates to be independent. However, as can be seen from experiments, approximation by COP is not very accurate. Therefore, an approximation method capable of obtaining a higher accuracy is required. Therefore, the difference between the exact signal probability P (AB) and the approximate P (A) P (B) by the COP is examined. A and B are expressed in the product-sum form as shown in equation (6), and P (A) and P (B) are calculated to take the product.
[Formula 13]
Figure 0003699901
And
[Expression 14]
P (AB) = F (χ), P (A) P (B) = F (η) (24)
It becomes. Therefore, the difference between P (AB) and P (A) P (B) is
[Expression 15]
P (AB) −P (A) P (B) = F (χ) −F (η) (25)
It can be expressed as. Taylor expansion of this formula and taking the terms up to the first order,
[Expression 16]
Figure 0003699901
It becomes. In order to express the right side of this formula by a simpler formula, the right side A and B of F (η) = P (A) P (B) is expressed as xiWhen Shannon expands
[Expression 17]
Figure 0003699901
It becomes. According to this equation, the gate inputs A and B are used to calculate an approximate value of P (Z).
[Outside 8]
Figure 0003699901
[Expression 18]
Figure 0003699901
Thus, it can be calculated by Taylor expansion in the same manner as calculating P (Z). Only
[Outside 9]
Figure 0003699901
To zero order terms,
[Equation 19]
Figure 0003699901
Expressions (31) and (35) are basic expressions of BAM for the 2-input AND gate.
[0049]
In the following, the right sides of Expression (31) and Expression (35) are respectively expressed as P (A) * P (B) and P (A
[Outside 10]
Figure 0003699901
[Expression 20]
Figure 0003699901
Thus, for each node, the signal probability (P (A)) of that node and the Shannon expansion coefficient (cofactor) for each primary input of that node.
[Outside 11]
Figure 0003699901
This is the characteristic of BAM.
[0050]
(2) The difference between BAM and COP is that the calculation of Equation (35) must be performed and the second term on the right side of Equation (31) exists. Since the first term on the right side of equation (31) is nothing but the one calculated by applying COP to the logic gate of interest, the second term on the right side of equation (31) is regarded as a correction term for it. Here, the meaning of this correction term will be described. In short, the meaning of this correction term can be said to be a correction for the difference in arithmetic rules between Boolean algebra and real number fields. In order to explain this, a simple example will be described.
[0051]
In the logic circuit as shown in FIG.
A = x1x2, B = x2xThree    (38)
The exact signal probability P of Zext(Z) is
[Expression 21]
Figure 0003699901
It is. On the other hand, approximate value P by COPcop(Z) is
[Expression 22]
Figure 0003699901
It has become. Pext(Z) and PcopThe difference of (Z) is the relationship that is established by the Boolean algebra when moving from the third line to the fourth line of Equation (72) and Equation (73).
x2x2= X2        (41)
And real number field
P (x2) P (x2) = P (x2)2    (42)
[Outside 12]
Figure 0003699901
(X1) P (xThree), The approximate value P of the Z signal probability by BAMbam(Z) is
[Expression 23]
Figure 0003699901
And the exact value PextIt matches (Z). If you rewrite this correction term
[Expression 24]
Figure 0003699901
And x mentioned above2The difference between the Boolean algebra operation and the real operation is shown. In other words, this correction term is PcopP (x) appearing in (Z)2)2PextP (x) in (Z)2It plays the role of pulling back to).
[0052]
In the logic circuit shown here, the correction by BAM gave a strict value, but this is not necessarily the case in a general logic circuit. For example, P (x1)2P (x2)2If the term appears in the signal probability calculated by COP, in order to obtain an exact signal probability by correcting COP, P (x1)2And P (x2)2And P (x1), P (x2), But BAM performs this pullback only once for each primary input. In other words, the correction term by BAM in this case is
[Expression 25]
Figure 0003699901
This is generally
[Equation 26]
P (x1) P (x2) -P (x1)2P (x2)2    (46)
Is different. If we want to do this pullback, we need to consider higher order terms of Taylor expansion in Equation (26). However, as can be easily understood, when the Taylor expansion up to the k-th order is taken, the signal probability is calculated by n.kCalculation time of the order of G (G is the number of gates) is required, and as the number n of primary inputs increases, this increases at an accelerated rate even when k = 2, for example. Therefore, the case of k = 1 described above is appropriate as a practical calculation time.
[0053]
(3) Next, the case where Z is an output node of the inverter will be described. If the input node of the inverter is A
[Expression 27]
Figure 0003699901
It becomes.
[0054]
Since all the logic circuits can be developed with a two-input AND gate and an inverter, the calculation by BAM can be applied to an arbitrary logic circuit by the equations (31), (35), (48), and (51).
[0055]
(4) The error due to BAM is evaluated here.
[0056]
[Outside 13]
Figure 0003699901
Like a solid
[Expression 28]
Figure 0003699901
It becomes. However, the equal sign is P (xi) = 0.5. Therefore, the error in equation (31) is 0.25.2= About 0.0625. Similarly, the error in equation (35) is about 0.25. However, this means that the signal probabilities P (A), P (B) of inputs A and B and
[Outside 14]
Figure 0003699901
Is the case where has an exact value. In general, since A and B are output nodes of other logic gates, their signal probabilities, probabilities for cofactors, have errors. Here, it is proved that the error at an arbitrary node is about 0.0625 for the signal probability and about 0.25 for the cofactor.
[0057]
To prove it, it is only necessary to prove that the input node of any logic gate has such an error and prove that its output node has a similar error (inductive method). If the logic gate of interest is an inverter, it is clear that the magnitude of the input and output errors is the same, so that the case of a two-input AND gate may be proved. The error of the first term on the right side of Equation (31) is about 0.0625 by assumption. Right side first
[Outside 15]
Figure 0003699901
Since it is multiplied by the probabilities for the cofactors of A and B, the second term on the right side as a whole has an error of about 0.25 × 0.25 = 0.0625. Therefore, P (Z) has an error of about 0.0625. On the other hand, it is clear that Equation (35) has an error of about 0.25. From the above, it can be said that the signal probability of the output node Z of the 2-input AND gate has an error of about 0.0625, and the probability of the cofactor has an error of about 0.25. Therefore, by induction, it has been proved that the signal probabilities of all nodes have an error of the order of 0.0625, and the probability for the cofactor has an error of the order of 0.25.
[0058]
This proof is an evaluation of the degree of error, and it must be noted that error accumulation actually occurs and may be significantly above the error predicted above for some logic circuits.
[0059]
(5) The case where Z is a two-input AND gate or an inverter has been described above. Here, a method of applying BAM to a general logic gate will be described.
[0060]
Assume that Z is an output node of a general logic gate that is not necessarily a two-input AND gate or an inverter, and the input of the gate is A1, ..., AmAnd Z is A1, ..., AmAnd at the same time AaIt is also a primary input logical function through (a = 1,..., M). When written in function symbols, this
[Expression 29]
Figure 0003699901
Means. Expressing Z in product-sum format for gate input
[30]
Figure 0003699901
Holds. A1, ..., AmIn general, there may be a correlation between signals.
[31]
Figure 0003699901
Get. Since the operation '*' does not satisfy the join rule,aAlthough it depends on the numbering of (a = 1,..., M), this will be described later, and the difference due to this numbering will be ignored for the time being. To actually perform the above calculation, the Shannon expansion should be used as follows. One of the gate inputs that Z depends on is AaThen,
[Expression 32]
Figure 0003699901
[Outside 16]
Figure 0003699901
annon Coefficient of expansion. This should not be confused with the Shannon expansion factor for the primary input of Z. In order to avoid such confusion, for the Shannon expansion coefficient relating to the gate input, μ, υ,... Are used as superscripts and a, b,. On the other hand, with respect to the coefficient of Shannon expansion relating to the primary input, α, β,... Are used as superscripts and i, j,. Now, according to equation (60)
[Expression 33]
Figure 0003699901
[Outside 17]
Figure 0003699901
・ Be careful not to confuse symbols used for input. Now, if the right side of equation (61) is approximated by BAM
[Expression 34]
Figure 0003699901
It becomes. When this equation is written in more detail, it becomes X = Z in the following lemma (63).
[0061]
Lemma 0.1
X is logical function A1, ..., AmThe approximate expression by BAM for any a = 1,..., M is
[Expression 35]
Figure 0003699901
[Outside 18]
Figure 0003699901
It is assumed that it is a non-coefficient of expansion.
[0062]
(Proof) Since equation (63) has already been described, equation (30) is proved.
[0063]
[Expression 36]
Figure 0003699901
Is defined asaAbout Shannon after expanding
[Expression 37]
Figure 0003699901
The approximation by BAM may be performed.
[0064]
By using this lemma recursively, the signal probability P (Z) of node Z, cofact
[Outside 19]
Figure 0003699901
Lemma 0.2
[Formula 38]
Figure 0003699901
[Outside 20]
Figure 0003699901
To prove the second equation
[39]
Figure 0003699901
It is sufficient to use that
[0065]
With this lemma, equation (63) becomes
[Formula 40]
Figure 0003699901
Can be written.
[0066]
(6) Here, the breaking of the associativity of the “*” operation is evaluated. For that purpose, P (A) * (P (B) * P) C))-(P (A) * P (B)) * P (C) may be examined.
[0067]
[Expression 41]
Figure 0003699901
The result is obtained. Where δi(A), δi(C) is the error of Shannon expansion for A and C, respectively.
[Expression 42]
Figure 0003699901
It is defined as The same applies to C. Therefore δi(A), δiIf (C) is small, the coupling rule is approximately established.
[0068]
(7) Algorithm BAM for calculating the signal probability of an arbitrary node in the circuit by the method (BAM) described above SIGNAL () is shown.
[0069]
First, stack STACK all logic gates in the logic circuit. G is piled up. At this time, for any logic gate G, the logic gate whose output is the input node is STACK. It is assumed that it is always stacked above G in G.
[0070]
procedure BAM SIGNAL ():
begin
while STACK G is not empty do
Let the output of G be Z and represent it as a logical function of the input of G;
Preparing an array P of size 2n + 1;
BAMs (Z, P);
[Outside 21]
Figure 0003699901
Do;
end
Here, an algorithm called BAMs () is given as follows.
[0071]
procedure BAMs (X, P):
begin
if X is a fake function then
Substitute 0 for the values of all elements of P;
return;
if X is a true function then
Substitute 1 for the values of all elements of P;
return;
One of the gate inputs X depends on is AaAnd
[Outside 22]
Figure 0003699901
Assign the value of 0,1) to P;
comment At this time, BAMs () is called recursively;
return;
end
According to the above algorithm, it can be seen that the calculation can be performed if the logical relationship between the output and input of the logic gate is given. Therefore, it is expected that the calculation accuracy will be improved if a set of logic gates (hereinafter referred to as logic modules) is considered and the circuit is divided into logic modules. This is because by giving a logical relationship between the output and input of the logic module, the correlation between signals in the logic module has already been taken into account. When the logic circuit is divided into virtual logic modules for calculation in this way, the above algorithm may be changed as follows.
[0072]
BAM Change the third line of SIGNAL () to “represent the output of G as Z and Z as the logical function of the input of the logic module to which G belongs;” and change the fifth line of BAMs ( One of the module inputs is AaChange to "".
[0073]
FIG. 1 is a flowchart showing BAMs (X, P).
[0074]
(8) Here, a case where COP, CCM, BAM is applied to the circuit of FIG. 2 will be described as an example.
[0075]
Primary input x of the circuit of FIG.1, X2, XThreeAre given signal probability values of 0.1, 0.3, and 0.9, respectively. At this time, according to a strict calculation, the signal probability P (Z) of the output node Z is 0.027. When this is calculated by COP, P (Z) = 0.0081, and the error from the exact value is large. On the other hand, calculation by CCM and BAM gives exact values.
[0076]
Second embodiment
In the second embodiment, a method for calculating the switching probability will be described using the first invention.
(1) First, let us describe the case where Z is the output node of a 2-input AND gate.
[Outside 23]
Figure 0003699901
Good, but if P (Z) is calculated
[Equation 43]
Figure 0003699901
Therefore, P (Z (τ) Z (0)) may be calculated. If the input nodes of this gate are A and B,
Z = AB (80)
Therefore, the quantity P (Z (τ) Z (0)) to be calculated is
(44)
P (Z (τ) Z (0)) = P (A (τ) A (0) B (τ) B (0)) (81)
It can be expressed as. Using equation (6),
[Equation 45]
Figure 0003699901
It becomes. Similar to the case of signal probability, calculated by equation (82) and COP
[Equation 46]
Figure 0003699901
And the correction term by BAM is calculated. for that reason
[Equation 47]
Figure 0003699901
And
[Formula 48]
P (A (τ) A (0) B (τ) B (0)) = F (χ),
P (A (τ) A (0)) P (B (τ) B (0)) = F (η) (86)
It becomes. Therefore, the difference between P (A (τ) A (0) B (τ) B (0)) and P (A (τ) A (0)) P (B (τ) B (0)) is
[Formula 49]
Figure 0003699901
It can be expressed as. Taylor expansion of this formula and taking the terms up to the first order,
[Equation 50]
Figure 0003699901
Get. Taking theorem 0.1 into consideration and further deformation
[Formula 51]
Figure 0003699901
Get. Since Z may also be an input of another gate, in addition to P (Z (τ) Z (0)) calculated above, P ((Z (τ
[Outside 24]
Figure 0003699901
Due to the consideration of
[Formula 52]
Figure 0003699901
Approximate.
[0077]
Expressions (95) and (96) are basic expressions of BAM with respect to the switching probability.
[0078]
As in the case of the signal probability, the right side of Equation (95) and Equation (96) is expressed using the symbol “*”.
[Outside 25]
Figure 0003699901
(2) Next, consider the case where Z is the output node of the inverter. If the input node is A,
[53]
Figure 0003699901
You can also see that.
[0079]
(3) Although the case where Z is a 2-input AND gate or an inverter has been described above, the case of a general logic gate will be considered here.
[0080]
Assume that Z is an output node of a general logic gate that is not necessarily a two-input AND gate or an inverter, and the input of the gate is A1, ..., AmAnd Z is A1, ..., AmAnd at the same time AaIt is also a primary input logical function through (a = 1,..., M). When written in function symbols, this
[Formula 54]
Figure 0003699901
Means. Expressing Z in product-sum format for gate input
[Expression 55]
Figure 0003699901
The recursive calculation method of is shown. To do so, we use the following lemma.
[0081]
Lemma 0.3
X and Y are A1, ..., AmFor any a = 1,..., M, the approximate expression by BAM is
[Expression 56]
Figure 0003699901
It is defined as
[0082]
(Proof) Since it is the same as Lemma 0.1, it is omitted. (End of proof)
Similar to the case of signal probability, P (Z (τ) is obtained by recursively using this lemma.
[Outside 26]
Figure 0003699901
Lemma 0.4
[Equation 57]
Figure 0003699901
(Proof) Proof of the first equation on the first line is easy. The proof of the second equation in the first row is a consequence of the equation in the second row and Lemma 0.2. The expression in the second row can be done in the same way as the proof of the second expression in Lemma 0.2. The expression on the third line is clear from Theorem 0.1. (End of proof)
(4) Here, an algorithm for calculating the switching probability by BAM is shown. No
[Outside 27]
Figure 0003699901
Given by.
[0083]
procedure BAMt (X, Y, P):
begin
if X or Y is a fake function then
Add 0 to the value of all elements of P;
return;
if X is a true function then
BAMs (Y, P);
return;
if Y is a true function then
BAMs (X, P);
return;
One of the inputs of the logic module X depends on is AaAnd
Substituting the value calculated by equations (70) and (71) into P;
comment At this time, BAMt () is called recursively;
return;
end
Here, P is an array for storing calculated values. Further, the logic module in this algorithm may refer to the logic gate itself, or may refer to the virtual logic module as described in the first embodiment.
[0084]
(5) Experiments were performed using the above algorithm.
[0085]
As the circuit, ISCAS85 benchmark data is adopted, and the square root of the mean square of the switching error absolute error from the random simulation (SIM) (item of error in the table) and CPU time (CPU time in the table) Item) was measured. The results of the experiment are as follows.
[0086]
[Table 1]
Figure 0003699901
In this experiment, the number of test vectors carried by random simulation was 100,000, and the signal probabilities and switching probabilities of all primary inputs were set to 0.5. However, for the C17 circuit, the error between COP and BAM is from strictly calculated values. In this experiment, SIM, COP, and CCM are also described for comparison. However, SIM and COP were independently created and experimented, and the results for CCM were quoted from MMP. However, the CPU time used was a conversion value considering the performance difference of the machine. From this table we can conclude as follows.
[0087]
First, regarding errors, BAM is generally more accurate and more reliable than COP. On the other hand, CCM is not necessarily so, and depending on the circuit, the accuracy may be very good, but the accuracy may be deteriorated and is not constant. That is, the reliability is low. In terms of CPU time, COP and BAM are far superior to CCM. Therefore, it can be concluded that BAM is better than COP and CCM when viewed comprehensively.
[0088]
Next, the estimation error of the power consumption of the entire circuit will be described.
[0089]
If the wiring capacity is ignored and the gate input capacity is constant, the power consumption of the entire circuit is calculated by multiplying the number of fan-outs of each node (the number of gates input by that node) by the switching probability of that node. Is almost proportional to the sum of This is called normalized power dissipation measure (NPDM). The error from the COP and BAM random simulation for NPDM is shown in the following table.
[0090]
[Table 2]
Figure 0003699901
From this table, it can be concluded that the estimated error of the power consumption of the entire circuit by BAM is within several percent.
[0091]
Third embodiment
Next, since the switching probability can be obtained by the method of the first embodiment and the second embodiment, the power consumption due to charging / discharging at each node can be obtained by the equations (1) and (8). However, since the entire circuit is composed of nodes and gates, and power is consumed by the transition of the gate input even inside the gate, the power consumption due to this must also be taken into account.
[0092]
The gate of interest is G, and its input node is A1, ..., AmAnd At this time, the average power consumption Pow (G) consumed by G can be expressed as follows.
[0093]
[Formula 58]
Figure 0003699901
[Outside 28]
Figure 0003699901
In the case of knowledge, Pow (G) can be calculated by the method of the second embodiment.
[0094]
Fourth embodiment
Next, the fourth embodiment shows a circuit optimization method using the estimated value of power consumption estimated by the third embodiment.
[0095]
Assume that a 3-input AND gate as shown in FIG. 3 on the logic circuit diagram needs to be expanded into two 2-input AND gates as shown in FIG. 1 at the layout stage. The nodes A, B, and C in FIG. 3 are assigned to the nodes a, b, and c in FIG. 4. Depending on which node of A, B, and C is assigned to the node c in FIG. Exist (assuming the nodes a and b are equivalent). At this time, it is assumed that an allocation that minimizes power consumption is required.
[0096]
As a procedure, all allocation methods are tried and the one with the smallest power consumption is adopted.
[0097]
If the drive capacities of all the nodes in FIG. 4 are all equal, the power consumed by the entire node is
[Formula 59]
PSW(A; τ) + PSW(B; τ) + PSW(C; τ) + PSWIt is proportional to (N; τ) (111). Since the sum of the three terms in this equation does not depend on the assignment, the last term is noted. Assuming that the nodes assigned to a and b are independent
[Expression 60]
Figure 0003699901
There is a relationship. For nodes A, B, and C in FIG.
PSW= (A; τ) = 0.5,
PSW= (B; τ) = 0.3,
PSW= (C; τ) = 0.2, (113)
P (A) = P (B) = P (C) = 0.5 (114)
Assuming that A, B, and C are independent, when assigning A to c,
PSW(N; τ) = 0.22 (115)
When B is assigned to c
PSW(N; τ) = 0.3, (116)
When C is assigned to c,
PSW(N; τ) = 0.325, (117)
It can be seen that the power consumption when assigning A to c is the smallest. When A, B, and C are not independent, it is necessary to use a more precise value by BAM.
[0098]
Thus, the present invention can be applied to logic synthesis that minimizes power consumption.
Usually, what is optimized is not limited to power consumption, but may be subject to constraints such as timing. In such a case, priority is given to satisfying the timing constraint condition rather than minimizing power consumption. In such a case, the power consumption is optimized after logic synthesis that satisfies the timing constraint condition is performed.
[0099]
Example 5
A first embodiment relating to the second invention will be described. For simplicity, consider the calculation of signal probabilities in a circuit (combination circuit) that does not include a sequential circuit.
[0100]
Independent primary input X in the circuit as shown in FIG.iSignal probability P (Xi= 1) Calculate the signal probability at output Z given (i = 1, 2, 3). However, P (A) is defined as the probability that the condition A is satisfied. Obviously ignoring the delay time
[Equation 61]
P (Z = 1) = P (X1= 1) P (X2= 1) P (XThree= 1) (118)
It becomes. However, if each gate has a delay time of size 1, the probability that Z has signal value 1 at time t = 0 is
[62]
Figure 0003699901
It becomes. Where P (A1A2;; An) Is condition A1, A2, ... AnAre the probabilities that both hold. Further, the time is expressed as an integer value, assuming that all the times are integer multiples of the minimum time unit τ. Therefore, the time i means the true time i × τ. If signal X2Is very small, and the signals at time t = -2 and t = -4 can be regarded as independent.
[Equation 63]
Figure 0003699901
Holds. Furthermore, assuming that the signal probability of the primary input does not depend on time,
[Expression 64]
P (Z = 1) = P (X1= 1) P (X2= 1)2P (XThree= 1) (121)
And Y in FIG.1, Y2As independent
[Equation 65]
Figure 0003699901
It becomes the same as the case where it calculates. In this way, in consideration of the delay, there may be a case where a correlated signal in the circuit diagram can be calculated as actually having no correlation. This significantly reduces the computational effort in a circuit with signal correlation.
[0101]
In the above example, X for Z2The correlation is ignored when the delay time difference is 2. However, it is examined how much the delay time difference can be ignored in practice.
[0102]
For this purpose, the following matters are assumed.
(1) All primary inputs are independent of each other.
(2) The signal probability does not depend on time.
(3) The signal probability at a certain time of any primary input depends only on the signal value at the previous time, and does not depend on the signal value before that.
(4) The switching probability does not depend on time.
[0103]
The third assumption is called a Markovian assumption and is expressed as follows.
[0104]
[66]
Figure 0003699901
However, X is an arbitrary primary input. Here, P (A | B) is a conditional probability that the condition A occurs under the condition B. The conditional probability is
P (A | B) P (B) = P (A; B) (124)
The following expression is satisfied. The conditional probability P (X = x, t−1 | X = y, t = 0) for the signal is referred to as a transition probability for the transition X = y → X = x. The fourth assumption is for any time i
[Expression 67]
Figure 0003699901
Indicates that In the following, these assumptions are used in principle without notice.
[0105]
In general, when the probability of the output of a gate is expressed in terms of probabilities related to the primary input by considering all the paths from the output to the primary input, each primary input X
[Equation 68]
P (X = x1, T = i1X = x2, T = i2; ...; X =x n, T = in(126)
There is a contribution of the form. This is called the autocorrelation function at the n point of the signal X. Where x1, ..., xnIndicates a logical value of 0 or 1, i1≧… ≧ inIndicates a time represented by an integral multiple of a certain minimum time unit τ. It is possible to calculate this exactly by assuming Markov property.
[0106]
For example, P (X = xn, T = n; X = x0, T = 0) is as follows.
[0107]
clearly
[Equation 69]
Figure 0003699901
Can be written. In order to describe this simply, the 2 × 2 matrix Q is
[Equation 70]
Qij= P (X = i, t = 1 | X = j, t = 0) (i, j = 0, 1) (129)
Determined by. Then equation (14) becomes
Figure 0003699901
It becomes. Where [Qn]xn, x0Is the matrix QnNo. (xn, X0) Component. Q is called a transition matrix. QnCan calculate the autocorrelation function of signal X, but Q is
[Equation 71]
Figure 0003699901
However,
[Equation 72]
α0= P (X = 1, t = 1 | X = 0, t = 0),
α1= P (X = 0, t = 1 | X = 1, t = 0) (132)
Because you can write
[Equation 73]
Figure 0003699901
This relationship was used. Therefore,
[Equation 74]
Figure 0003699901
It becomes. Since X at t = n and X at t = 0 are independent when the right side of equation (135) is 0, the right side of equation (135) can be considered as an error when considered so. For example, if the required error is 10%
[Expression 75]
Figure 0003699901
If there is a delay time difference that satisfies the above, X at t = n and X at t = 0 may be regarded as independent. Especially | 1-α01When | = 0, the X at t = n and the X at t = 0 are independent in a strict sense for any positive n from equation (134). Also, | 1-α01When | = 1, X at t = n and X at t = 0 are independent only when P (X = 0) P (X = 1) is smaller than the required error from equation (135). I can see that. Conversely, if P (X = 0) P (X = 1) is smaller than the required error error, | 1-α01Since | ≦ 1, X at t = n and X at t = 0 can be regarded as independent for all n. In particular, even when n = 0, it can be regarded as independent. This means that if the signal probability given to X satisfies P (X = 0) P (X = 1) ≦ error, the delay time difference is not considered. It can be calculated that the signal X is originally uncorrelated. For example, as shown in FIG.1, ..., XnX in a circuit with a primary inputiIs Y1, Y2Causes a correlation in the gate with output Z through P (Xi= 0) P (Xi= 1) When ≤ error is satisfied
[76]
P (Z = 1) = P (Y1= 1) P (Y2= 1) (137)
As a result, the error is within error. I will explain the reason in more detail.
[0108]
Y in FIG.1, Y2Is expressed as a logical function of the primary input, XiAbout Shannon Expand
[77]
Figure 0003699901
It becomes. Y1, Y2Is the signal probability at Z
[Formula 78]
Figure 0003699901
In general, exact value
[79]
Figure 0003699901
Does not match. This is X in the second to third lines of equation (139).iX foriXi
[Outside 29]
Figure 0003699901
Rate P (Xi= X) such a relational expression generally does not hold. However, the condition P (Xi= 0) P (Xi= 1) ≦ error guarantees that these Boolean algebraic relationships also hold for probabilities within an error.
[0109]
If there is only one signal causing the correlation, the above error error coincides with the gate output error. However, if multiple correlations occur upstream of the gate, the maximum allowable error specified for the output of gate G is EGThen, EGWhen is not very large
C1E1+ C2E2+ ... + CnEn≦ EG    (142)
Each primary input X to satisfyiAllowable error Ei(I = 1,..., N) may be specified. Where CiIs the primary input X upstream of G when the logic circuit is deployed with basic gates (eg AND and inverter)i(I = 1,..., N) is the number of correlations. This relational expression is a rough estimate from the fact that a Boolean algebraic relation must be used for each correlation.
[0110]
From the above, it is expected that the error of the output probability is small when the input probability P (X = 0) P (X = 1) is small. This is delayed with respect to the 1-bit adder. I tried to check if there is no. The results are summarized in the table below.
[0111]
[Table 3]
Figure 0003699901
Here, the output probability A is the probability at the output nodes named sum (SUM) and carry (CARRY) calculated by ignoring the inter-signal correlation, assuming that all gate inputs are independent, and the output probability. B is their exact probability value. According to this table, the probability of output is greater when P (X = 0) P (X = 1) (X = A, B, C) is larger than the probability of inputs A, B, C. The error is certainly small.
[0112]
The above discussion was based on two autocorrelation functions. For general n-point autocorrelation function
[80]
Figure 0003699901
The same argument can be applied as in the case of a two-point autocorrelation function.
[0113]
Based on the above results, an algorithm for calculating probability propagation taking into account signal correlation and delay time difference is created as follows.
The entire 1 ° gate is arranged in the depth-first search order from the primary output. The following operations are performed on each gate G according to this order.
The maximum allowable error required for each primary input is set with respect to the maximum allowable error determined for the 2 ° gate G, and the minimum delay time difference that can ignore the correlation is calculated.
The 3 ° G inputs are grouped together on the logic circuit diagram.
Each node Y belonging to 4 ° same groupi(I = 1,..., K) for each primary input X1, X2, ..., XnTo YiThe time to reach is determined for each route in consideration of the delay time.
[0114]
For example, group {Y1, Y2, YThree} Is as follows.
[0115]
[Table 4]
Figure 0003699901
However, the numbers in this table are the delay times from each primary input for each route.
[0116]
5 ° for all primary inputsi, YjIf the difference in delay time until reaching the value is greater than or equal to the minimum delay time difference calculated at 2 °, Yi, YjIn other words, with respect to the input grouping determined at 3 °, the grouping is narrower, in which the correlations that cannot be ignored are the same group. For example, in the table above, the minimum delay difference that can ignore the correlation is the primary input X1, X2, XThree, XFourSubdivided groupings are {Y1, Y2}, {YThree}.
[0117]
The calculation considering the correlation is performed for each group subdivided by 6 °, and the probability calculation for the output of G is performed assuming that the groups are independent.
[0118]
In this way, subdividing the group as much as possible has the effect of reducing the calculation effort using the previously calculated result. For example, in the circuit as shown in FIG.iIf the correlation with respect to can be ignored, the already calculated value P (Y1= 1), P (Y2= 1)
[Formula 81]
P (Z = 1) = P (Y1= 1) P (Y2= 1) (145)
If the correlation cannot be ignored, it must be calculated in a more complicated way.
[0119]
FIG. 5 summarizes the above algorithm. The computation time of this algorithm depends on the delay time for the circuit and each gate, and the maximum allowable error required, which is Ο (| G | × X) in the worst case and Ο (| G |) in the best case. is there. However, | G | represents the number of gates included in the entire circuit, and X is the worst case time required for the 6 ° procedure.
[0120]
Sixth embodiment
Although the signal probability is described in the fifth embodiment, the transition probability is described in this embodiment. Again, for simplicity, consider a circuit (combination circuit) that does not include a sequential circuit. Independent primary input X in the circuit as shown in FIG.iTransition probability P (Xi= X | Xi= Y) When (i = 1, 2, 3; x, y = 0, 1) is given, the transition probability at the output Z is calculated. However,
[Formula 82]
P (X = x | X = y) = P (X = x, t = 1 | X = y, t = 0) (140)
It is defined as Obviously ignoring the delay time
[Formula 83]
Figure 0003699901
It becomes. However, if each gate has a delay time of size 2, the probability that Z has signal value 1 at time t = 0 and signal value 1 at time t = 1 is
[Expression 84]
Figure 0003699901
It becomes. If signal X2If the time autocorrelation of is very small, signals separated by more than 3 hours can be considered independent
[Expression 85]
Figure 0003699901
And Y in FIG.1, Y2As independent
[86]
Figure 0003699901
It becomes the same as the case where it calculates. As described above, in the case of transition probabilities, as in the case of signal probabilities, the presence or absence of correlation can be determined by calculating the autocorrelation function, and the same algorithm as in the fifth embodiment can be applied.
[0121]
The embodiment of the second invention has been described above. If the minimum time unit τ is a clock cycle, a combinational circuit having a delay time difference of 1 or more is a circuit that does not operate well from a general viewpoint. . However, if a memory element such as a flip-flop is inserted before the correlation, the case where the delay time difference is 1 or more is normal. Thus, considering the sequential circuit together, the application range of the second invention is expanded.
[0122]
Example 7
An embodiment of the power consumption evaluation method according to the third invention will be described with reference to the flowchart of FIG. The input signals given to the input terminals of the logic circuit are described in time series for each input signal terminal and are stored together in the storage device 801. In step S802, the input pattern is divided into time intervals for each terminal, and an input signal sequence in each time interval is converted into a probability amount. Although the amount of probability to be obtained differs depending on the amount to be evaluated, a signal probability that represents the probability that the signal will be logical “1”, or a switching probability that represents the probability that the signal changes with respect to the number of changeable signals ( Transition probability) and so on. The probability amount calculated for each terminal and for each time interval is stored in the storage device 803. Processing step S804 calculates the electric power of the said time interval from the probability amount given with respect to the input terminal for every time interval. The result is stored in the storage device 806 according to the time interval and the classification of the partial circuit according to the present invention. In step S804 of the power calculation, it is determined in the determination step S805 whether the power calculation for all designated time intervals has been completed, and if completed, all the processes are completed. Reference numeral 808 is an example of an output graph expressed in time series.
[0123]
One embodiment of the power consumption evaluation according to the present invention will be described by taking as an example a logic circuit comprising two AND gates AND1, AND2 and an OR gate OR1 in FIG. FIG. 10 exemplifies a method for calculating a probability amount, such as division of the input pattern into sections in step S802 of FIG. 8 and calculation of the signal probability of the section for the input terminal, using a specific circuit and input pattern. Reference numeral 1001 in FIG. 10 indicates an input pattern and a switching event. The column A2 is an input pattern stored in the storage device 801, and the column A1 indicates time. The column A3 shows, for reference, how switching occurs at the output of each gate in the circuit of FIG. The input pattern of the A2 column is converted into the signal probability of each input terminal as shown in the column B2 according to the signal probability calculation procedure of the input of 1002 with respect to the time interval shown in the B1 column of 1004. . On the other hand, the switching probability of the input 1003 is converted into the switching probability of each input terminal as shown in the column C2. The procedures 1002 and 1003 correspond to the processing in step S802 in the embodiment of FIG. The probability amounts obtained by the procedures 1002 and 1003, that is, B2 of 1004 and C2 of 1005 are stored in the storage device 803 of the embodiment of FIG. The switching probability of FIG. 11A is the result of calculating the section instantaneous power using step S804 in the embodiment of FIG. 8, and the result is stored in the storage device 806. In the example of FIG. 11A, the switching probability of the output node of each gate and the sum of them are calculated. FIG. 11B shows an example in which the time interval is further finely calculated, and the resolution increases when the instantaneous power is known. FIG. 12 is a graph showing the result of applying the power evaluation method according to an embodiment of the present invention to this circuit and the input pattern. Here, (a) in FIG. 12 is a case where the time interval is set to 1, (b) is a case where the step is 4, and (c) is a case where the step is 2. This display corresponds to the display 808 in the embodiment of FIG. In the power calculation examples of FIGS. 12 and 13 of this embodiment, the calculation is performed on the assumption that the capacitance of the output node of each gate is all 1 for the sake of simplicity and the logic amplitude is between 0 and 1 volt. . This is only for ease of understanding, and the actual power evaluation must use the capacitance and logic amplitude of each node separately prepared.
[0124]
FIG. 8 is a flowchart of an embodiment realized by using a normal computer. However, in the embodiment in which the third invention is realized by using hardware or two or more processing devices, steps S802 and S804 in FIG. Step S807 is configured in a pipeline, and each storage device, that is, the storage device 801, the storage device 803, and the storage device 806 can be configured as a first-in / first-out buffer.
[0125]
In the present embodiment, the time intervals do not necessarily have to be uniform, and a fine time interval can be set for a portion for which details are desired according to the required accuracy.
[0126]
Example 8
A second embodiment relating to the third invention will be described with reference to the system configuration diagram of FIG. In this system configuration diagram, reference numeral 1405 denotes a storage device that stores a description of the structure or operation of a circuit. An expression format suitable for step S1404 that realizes a processing procedure for calculating power by giving a probability amount to an input terminal of a logic circuit The data to be input in step S1406 that realizes the processing procedure for converting the structure and / or behavioral description of the circuit is stored. In step S1406, logical expressions are generated and modified based on the behavioral description, circuit division, logical expression expression by BDD, and specific logic for power calculation so that power calculation by probability calculation can be easily performed. The capacitance of the output node of the gate is calculated and combined with the calculation procedure. These pieces of information are stored in the storage device 1407 and used in step S1404 for realizing the instantaneous power calculation procedure. In a module that realizes this instantaneous power calculation procedure, power calculation for the same circuit must be performed for all time intervals, and calculation time is required. Therefore, in this embodiment, the entire processing time can be shortened by preparing in step S1406 so that the optimum calculation can be performed in advance. 1401, S1402, 1403, 1408, S1409, and 1410 correspond to 801, S802, 806, S807, and 808 in FIG. 8, respectively.
[0127]
Ninth embodiment
Next, an embodiment of the third invention will be described with reference to FIGS. The result calculated in step S804 of the instantaneous power calculation is stored in the storage device 806, and the data configuration at the time of storage is stored as the switching probability for each partial circuit as shown in FIG. By storing as such a data configuration, it is possible to display the temporal transition of the power for each part as shown in FIG.
[0128]
The design hierarchy used by the designer is the most commonly used standard for dividing a circuit into partial circuits, but in a circuit with several types of clock systems, a method such as classifying the circuits for each clock system is also realized. I can do things. In order to realize the present invention, each node of a circuit can be efficiently realized by selecting a data structure that can be searched and classified according to circuits such as a design hierarchy, a power supply system, and a clock system.
[0129]
In the above embodiment, the part corresponding to step S804 in FIG. 8 gives a probability amount to the input terminal of the logic circuit, and uses an algorithm to check how the probability amount propagates to the output of each gate. However, the algorithm of this part is not necessarily limited to this method. The use of other algorithms does not impair the superiority of the present invention. As another example of the algorithm, there is a method of simulating a circuit by generating a short random input pattern that satisfies the statistical and stochastic properties of the input for each time interval of the input signal. According to this method, if the statistical / probabilistic character of the input signal can be sufficiently expressed with a short input pattern, the power evaluation can be performed with high accuracy and efficiency.
[0130]
It is apparent that the present invention can be applied to an integrated circuit of a circuit system other than CMOS. For example, for the E / D MOS, a current flows while a logic value with the output of the logic gate being “0” is given to the input terminal of the logic gate. Because of such circuit-specific characteristics, it is necessary to consider not only the switching probability but also the signal probability in the power prediction. Furthermore, in a circuit using dynamic logic, these inventions can be applied by introducing an evaluation method that fully considers the effect of precharging.
[0131]
【The invention's effect】
According to the first invention, the switching probability of the node of the logic circuit can be calculated with the same degree of accuracy as the typical conventional method CCM and the calculation time of several tenths or less.
[0132]
Given a node's driving capacity, if the switching probability of that node is known, the average power consumption at that node can be calculated, and the cell's power consumption relative to the cell's input transition pattern can be calculated. If so, the present invention can be used to calculate the probability of each input transition pattern occurring and to estimate the average power consumption of each cell.
[0133]
Further, by combining with a logic synthesis tool, it is possible to estimate at an early stage of design such as RTL level.
[0134]
In addition, it is useful for circuit optimization such as reducing power consumption by changing a logic circuit near a node with large power consumption estimated using the present invention.
[0135]
Since the present invention is a power consumption estimate at the logic circuit level, the design change and the type of package to be selected can be determined at a relatively early stage of the design.
[0136]
According to the second invention, the calculation of the operation probability of the logic circuit can be reduced by ignoring the correlation between signals within the maximum allowable error defined in consideration of the delay time difference and the input probability value.
[0137]
According to the third invention, the temporal transition of instantaneous power can be obtained in a short calculation time. In addition, the time interval can be easily set, and the change in power can be known with the required time accuracy.
[0138]
In addition, by extracting and optimizing a common part among calculations required many times for each time interval, the calculation time required for power evaluation can be greatly shortened, and efficiency can be improved.
[0139]
Furthermore, it becomes possible to easily know the power consumption of each part of the integrated circuit individually. This allows the integrated circuit designer to easily optimize the circuit.
[Brief description of the drawings]
FIG. 1 is a flowchart showing an embodiment of the first invention.
FIG. 2 is an example of a simple logic circuit having correlation between signals.
FIG. 3 is a logic circuit diagram of a 3-input AND gate.
4 is a logic circuit diagram obtained by disassembling the logic gate of FIG. 6 with a two-input AND gate. FIG.
FIG. 5 is a flowchart showing an embodiment of the second invention.
FIG. 6 is an example of a simple circuit having a correlation between signals.
FIG. 7 is an example of a circuit having a correlation between signals.
FIG. 8 is a flowchart showing a processing procedure of an embodiment according to the third invention.
FIG. 9 is an example of a logic circuit for explaining the processing contents of an embodiment of the third invention.
FIG. 10 is a diagram showing the processing content of step S802 in FIG. 8 according to an embodiment of the third invention.
FIG. 11 is a chart showing switching probability of each gate output, where (a) shows a case where the time interval is 4, and (b) shows a case where the time interval is 2.
FIG. 12 is a chart showing an example of the result of power evaluation according to the third invention for three types of time intervals;
FIG. 13 is a chart representing the power of a partial circuit according to the third invention.
FIG. 14 is a system configuration diagram showing a system configuration of an embodiment relating to the third invention.
[Explanation of symbols]
1001 Table showing examples of input signals
1004 Table showing calculation result of input signal probability
1005 Table showing input switching probability calculation result
X logical expression
P real array
Output of Z logic circuit
A, B, C nodes
a, b, c nodes
N node
xi(I = 1, ..., 3) Primary input of logic circuit
Y1, Y2  node
G1, G2  Logic circuit

Claims (3)

集積回路の動作確率をコンピュータを用いて計算することにより、前記集積回路の電力を評価する方法において、
前記集積回路内の各ゲートの入力となっている複数の信号間の最小遅延時間差をコンピュータが計算する手順と、
この最小遅延時間差に基づいて、コンピュータが前記ゲートの入力をグループ分けする手順と、
このグループ分けされた各々のグループに対し、各ゲートの入力となっている複数の信号間の相関に基づいて、前記グループに属する各々の信号に関する各ゲートの出力ノードの論理値が1になる確率である信号確率、及び、各ゲートの出力ノードの論理値が変化する確率であるスイッチング確率を含むゲートの出力ノードに関する確率の計算をコンピュータが行う手順と、
このゲートの出力ノードに関する確率を用いて前記集積回路の電力を評価する手順と、
を有することを特徴とする集積回路の電力評価方法。
In a method for evaluating the power of the integrated circuit by calculating the operation probability of the integrated circuit using a computer,
A procedure for a computer to calculate a minimum delay time difference between a plurality of signals that are input to each gate in the integrated circuit;
Based on this minimum delay time difference, the computer groups the gate inputs;
Probability that the logical value of the output node of each gate related to each signal belonging to the group becomes 1 based on the correlation between the plurality of signals that are input to each gate for each group divided into groups. A procedure for the computer to calculate a probability for the output node of the gate, including a signal probability, and a switching probability that is a probability that the logic value of the output node of each gate changes;
A procedure for evaluating the power of the integrated circuit using the probability for the output node of the gate ;
A method for evaluating the power of an integrated circuit, comprising:
前記ゲートの出力ノードに関する確率の計算する際に、
前記集積回路内の2つ以上のノードが同一の信号に依存している場合に、この信号の確率に関するマルコフ性を仮定し、前記信号に起因する相関による確率計算の誤差が予め設定された要求誤差より小さい場合には、それらのノード間の前記信号に関する相関を無視して前記出力ノードに関する確率をコンピュータが計算することを特徴とする請求項1記載の集積回路の電力評価方法。
When calculating the probability for the output node of the gate ,
When two or more nodes in the integrated circuit depend on the same signal, a Markov property regarding the probability of this signal is assumed, and an error in probability calculation due to correlation caused by the signal is set in advance. 2. The integrated circuit power evaluation method according to claim 1, wherein if the error is smaller than the error, the computer calculates the probability regarding the output node while ignoring the correlation regarding the signal between the nodes.
前記ゲートの出力ノードに関する確率の計算する際に、
2つ以上のノードが同一の信号Xに依存している場合に、信号Xの論理値に関する確率が、規定された最大許容誤差をError、信号Xが論理値0をとる確率をP(X)、信号Xが論理値1を取る確率を
Figure 0003699901
の条件を満たす場合に、規定された最大許容誤差内でそれらのノード間の信号Xに関する相関を無視して前記出力ノードに関する確率をコンピュータが計算することを特徴とする請求項1記載の集積回路の電力評価方法。
When calculating the probability for the output node of the gate ,
When two or more nodes depend on the same signal X, the probability related to the logical value of the signal X is the specified maximum allowable error Error, and the probability that the signal X takes the logical value 0 is P (X) , The probability that signal X takes logical 1
Figure 0003699901
2. The integrated circuit according to claim 1, wherein the computer calculates a probability related to the output node while ignoring a correlation related to the signal X between the nodes within a specified maximum allowable error when the condition of the output node is satisfied. Power evaluation method.
JP2001068869A 2001-03-12 2001-03-12 Integrated circuit power evaluation method Expired - Fee Related JP3699901B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001068869A JP3699901B2 (en) 2001-03-12 2001-03-12 Integrated circuit power evaluation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001068869A JP3699901B2 (en) 2001-03-12 2001-03-12 Integrated circuit power evaluation method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP5586795A Division JP3213198B2 (en) 1995-03-15 1995-03-15 Power evaluation method for integrated circuits

Publications (2)

Publication Number Publication Date
JP2001318960A JP2001318960A (en) 2001-11-16
JP3699901B2 true JP3699901B2 (en) 2005-09-28

Family

ID=18926988

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001068869A Expired - Fee Related JP3699901B2 (en) 2001-03-12 2001-03-12 Integrated circuit power evaluation method

Country Status (1)

Country Link
JP (1) JP3699901B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190073585A1 (en) * 2017-09-01 2019-03-07 Qualcomm Incorporated Ultra-low power neuromorphic artificial intelligence computing accelerator

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4999379B2 (en) * 2006-07-10 2012-08-15 フリースケール セミコンダクター インコーポレイテッド Semiconductor integrated circuit design method and semiconductor integrated circuit design apparatus
JP5785725B2 (en) 2010-10-15 2015-09-30 富士通株式会社 Power estimation apparatus, power estimation method and program
CN111965523B (en) * 2020-08-14 2023-05-09 上海兆芯集成电路有限公司 Chip testing method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190073585A1 (en) * 2017-09-01 2019-03-07 Qualcomm Incorporated Ultra-low power neuromorphic artificial intelligence computing accelerator
US11609623B2 (en) * 2017-09-01 2023-03-21 Qualcomm Incorporated Ultra-low power neuromorphic artificial intelligence computing accelerator
US11733766B2 (en) 2017-09-01 2023-08-22 Qualcomm Incorporated Ultra-low power neuromorphic artificial intelligence computing accelerator

Also Published As

Publication number Publication date
JP2001318960A (en) 2001-11-16

Similar Documents

Publication Publication Date Title
JP3213198B2 (en) Power evaluation method for integrated circuits
JP3235590B2 (en) Controller based power management system for low power sequencing circuits
Gray et al. Wave Pipelining: Theory and CMOS Implementation: Theory and Cmos Implementation
US20150161313A1 (en) Circuit design evaluation with compact multi-waveform representations
US8407654B2 (en) Glitch power reduction
Lee et al. Scalable exploration of functional dependency by interpolation and incremental SAT solving
US7913218B2 (en) Reduction of XOR/XNOR subexpressions in structural design representations
US10558782B2 (en) Phase algebra for virtual clock and mode extraction in hierarchical designs
US7155691B2 (en) Apparatus and methods for compiled static timing analysis
US8359173B2 (en) System and methods for dynamic power estimation for a digital circuit
US10503856B2 (en) Phase algebra for specifying clocks and modes in hierarchical designs
JP3699901B2 (en) Integrated circuit power evaluation method
US8522187B2 (en) Method and data processing system to optimize performance of an electric circuit design, data processing program and computer program product
US8504974B1 (en) Analysis of circuit designs
US6611945B1 (en) Method for propagating switching activity information in digital combinatorial networks
Srinivasan et al. Accurate area and delay estimation from RTL descriptions
Sagahyroon et al. Using SAT-based techniques in power estimation
Masuda et al. A Test Generation Method for Data Paths Using Easily Testable Functional Time Expansion Models and Controller Augmentation
US20160217239A1 (en) Method and system for selecting stimulation signals for power estimation
CN117377961A (en) Method, device and equipment for simulation
US10289786B1 (en) Circuit design transformation for automatic latency reduction
Hahanov et al. «Quantum» processor for digital systems analysis
Chakraborty et al. Efficient algorithms for approximate time separation of events
Rakesh et al. GRILAPE: Graph Representation Inductive Learning-based Average Power Estimation for Frontend ASIC RTL Designs
Theoharis et al. Accurate and fast power estimation of large combinational circuits

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040914

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041112

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050308

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050506

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20050520

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: 20050621

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050711

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

Free format text: PAYMENT UNTIL: 20090715

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090715

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100715

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110715

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees