JPH09190464A - 集積回路の電力評価方法 - Google Patents
集積回路の電力評価方法Info
- Publication number
- JPH09190464A JPH09190464A JP8004183A JP418396A JPH09190464A JP H09190464 A JPH09190464 A JP H09190464A JP 8004183 A JP8004183 A JP 8004183A JP 418396 A JP418396 A JP 418396A JP H09190464 A JPH09190464 A JP H09190464A
- Authority
- JP
- Japan
- Prior art keywords
- data
- probability
- node
- mtbdd
- data structure
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/08—Probabilistic or stochastic CAD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/06—Power analysis or power optimisation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
(57)【要約】
【課題】 この発明の課題は、集積回路の消費電力を正
確に評価することができる集積回路の電力評価方法を提
供することである。 【解決手段】 この発明は、論理回路の全体に対するプ
ライマリー・インプット及びネットの信号値を決定づけ
るネット群に対して、データ構造MTBAMをもつ第2
のデータを対応させ、第2のデータに属する各データの
構成要素の一部である確率量の値と、第2のデータに属
する各データの構成要素の一部であるデータ構造MTB
DDをもつ第3のデータから計算された確率値と、第3
のデータから生成されたデータ構造MTBDDをもつ第
4のデータとから構成されるデータ構造MTBAMをも
つ第1のデータを前記ネットに対応させるように構成さ
れる。
確に評価することができる集積回路の電力評価方法を提
供することである。 【解決手段】 この発明は、論理回路の全体に対するプ
ライマリー・インプット及びネットの信号値を決定づけ
るネット群に対して、データ構造MTBAMをもつ第2
のデータを対応させ、第2のデータに属する各データの
構成要素の一部である確率量の値と、第2のデータに属
する各データの構成要素の一部であるデータ構造MTB
DDをもつ第3のデータから計算された確率値と、第3
のデータから生成されたデータ構造MTBDDをもつ第
4のデータとから構成されるデータ構造MTBAMをも
つ第1のデータを前記ネットに対応させるように構成さ
れる。
Description
【0001】
【発明の属する技術分野】本発明は、集積回路の電力評
価方法に関し、特に論理回路の信号確率及びスウィッチ
ング確率を利用した集積回路の電力評価方法に関する。
価方法に関し、特に論理回路の信号確率及びスウィッチ
ング確率を利用した集積回路の電力評価方法に関する。
【0002】
【従来の技術】CMOS集積回路内で消費される電力の
うち、最も大きな割合を占めるのは、回路内のひと続き
の配線(以下、ネットと記す。)の駆動容量の充放電に
よるものである。その消費電力は次の式によって見積も
ることが出来る。
うち、最も大きな割合を占めるのは、回路内のひと続き
の配線(以下、ネットと記す。)の駆動容量の充放電に
よるものである。その消費電力は次の式によって見積も
ることが出来る。
【0003】
【数1】 ここで、ネットNのスウィッチング確率とは、1クロッ
ク周期内にネットNの論理値が0から1、あるいは1か
ら0に遷移する確率のことをいう。これに対し、ネット
Nの論理値が1となる確率のことをネットNの信号確率
といい、PSIG(N)と記す。
ク周期内にネットNの論理値が0から1、あるいは1か
ら0に遷移する確率のことをいう。これに対し、ネット
Nの論理値が1となる確率のことをネットNの信号確率
といい、PSIG(N)と記す。
【0004】式(1) に現れるパラメーターのうち、
VDD,fは明らかに既知であり、また、CN も見積もる
ことが可能である。従ってスウィッチング確率を見積も
ることが消費電力予測の中心課題となる。
VDD,fは明らかに既知であり、また、CN も見積もる
ことが可能である。従ってスウィッチング確率を見積も
ることが消費電力予測の中心課題となる。
【0005】スウィッチング確率を見積もる方法には、
シミュレーションに基づく方法と確率計算に基づく方法
がある。
シミュレーションに基づく方法と確率計算に基づく方法
がある。
【0006】シミュレーションに基づく方法では、論理
回路全体の入力端子(以下、プライマリー・インプット
と記す。)へ入力パターン・データ(以下、テストベク
トルと記す。)を入力し、回路内の各ネットの信号値の
スウィッチング回数を計測することによって、スウィッ
チング確率を求める。この方法では流すテストベクトル
が長いほど精度を上げることができるが、そのために費
やされる時間はそれだけ大きくなるという問題を有して
いる。
回路全体の入力端子(以下、プライマリー・インプット
と記す。)へ入力パターン・データ(以下、テストベク
トルと記す。)を入力し、回路内の各ネットの信号値の
スウィッチング回数を計測することによって、スウィッ
チング確率を求める。この方法では流すテストベクトル
が長いほど精度を上げることができるが、そのために費
やされる時間はそれだけ大きくなるという問題を有して
いる。
【0007】一方、確率計算に基づく方法では、テスト
ベクトルを流さずに、各プライマリー・インプットに対
し、その信号確率、スウィッチング確率のみを与え、計
算によって、信号確率、スウィッチング確率の内部ネッ
トへの伝播を見積もる。この方法は原理的にはテストベ
クトルを必要としないため、比較的短い計算時間で実行
できるが、精度は比較的低いという問題を有している。
ベクトルを流さずに、各プライマリー・インプットに対
し、その信号確率、スウィッチング確率のみを与え、計
算によって、信号確率、スウィッチング確率の内部ネッ
トへの伝播を見積もる。この方法は原理的にはテストベ
クトルを必要としないため、比較的短い計算時間で実行
できるが、精度は比較的低いという問題を有している。
【0008】また、確率計算に基づく方法は組み合わせ
回路を主な対象として発展してきた。それは、順序回路
においては、組み合わせ回路には存在しなかった独特の
困難点が存在するからである。以下、その困難点とそれ
を克服するための従来手法について述べる。
回路を主な対象として発展してきた。それは、順序回路
においては、組み合わせ回路には存在しなかった独特の
困難点が存在するからである。以下、その困難点とそれ
を克服するための従来手法について述べる。
【0009】まず前提として、いくつかの準備をする。
【0010】最初の準備として、対象とする順序回路の
構造とその構成要素の名称を述べる。 順序回路は、一
般に図7に示した通り、ラッチ群と組み合わせ回路部分
(Combinational Logic Part:以下、CLPと記す。)
とから成る。ここでは全てのラッチはエッジトリガー式
であるとする。つまり、クロック信号が0から1に遷移
するときのみ入力が出力に伝わり、それ以外のときは出
力は値を保持する。従ってラッチは遅延時間がクロック
周期に等しい遅延素子とみなすことが出来る。以下では
クロック周期を時間の単位とする。一方、CLPはNA
ND,ORなどの論理素子からなる。ここでは、それら
の論理素子による遅延を無視する。CLPに対する入力
を、外部回路からの入力である外部入力と、ラッチの出
力である内部入力とに分ける(これに対し、ラッチに対
する入力を内部出力という)。外部入力はプライマリー
・インプットに依存し、内部入力の論理値は順序回路の
状態を決定する。ここでは、プライマリー・インプット
に入力される信号は相互に独立であるが、同一信号は時
間的自己相関を有していると仮定する。図7において、
x={x1 ,…,xn }はプライマリー・インプットの
集合を、A={A1,…,Am }は外部入力の集合を、
また、S={S1 ,…,Sl }は内部入力の集合を表わ
す。
構造とその構成要素の名称を述べる。 順序回路は、一
般に図7に示した通り、ラッチ群と組み合わせ回路部分
(Combinational Logic Part:以下、CLPと記す。)
とから成る。ここでは全てのラッチはエッジトリガー式
であるとする。つまり、クロック信号が0から1に遷移
するときのみ入力が出力に伝わり、それ以外のときは出
力は値を保持する。従ってラッチは遅延時間がクロック
周期に等しい遅延素子とみなすことが出来る。以下では
クロック周期を時間の単位とする。一方、CLPはNA
ND,ORなどの論理素子からなる。ここでは、それら
の論理素子による遅延を無視する。CLPに対する入力
を、外部回路からの入力である外部入力と、ラッチの出
力である内部入力とに分ける(これに対し、ラッチに対
する入力を内部出力という)。外部入力はプライマリー
・インプットに依存し、内部入力の論理値は順序回路の
状態を決定する。ここでは、プライマリー・インプット
に入力される信号は相互に独立であるが、同一信号は時
間的自己相関を有していると仮定する。図7において、
x={x1 ,…,xn }はプライマリー・インプットの
集合を、A={A1,…,Am }は外部入力の集合を、
また、S={S1 ,…,Sl }は内部入力の集合を表わ
す。
【0011】2番目の準備として、確率に関する記号を
定義する。
定義する。
【0012】論理関数fに対し、fが論理値1をとる確
率をP(f)と記す。この確率は時間並進不変性を有す
るものとする。つまり、論理関数fが時刻t1 ,…,t
p に依存する場合、
率をP(f)と記す。この確率は時間並進不変性を有す
るものとする。つまり、論理関数fが時刻t1 ,…,t
p に依存する場合、
【数2】 P(f(t1 ,…,tp ))=P(f(t1 +t,…,tp +t)) (2) が任意の実数tについて成り立つ。この記号を用いると
ネットNの信号確率、スウィッチング確率はそれぞれ以
下の式で表現される。
ネットNの信号確率、スウィッチング確率はそれぞれ以
下の式で表現される。
【0013】
【数3】 ただし、ネットNの時刻tでの論理値をN(t)とし
た。また、信号確率に関する表式では、時刻に関する依
存性を陽に示さない。これは、確率の時間並進不変性に
より信号確率が時刻に依存しないためである。スウィッ
チング確率に関しては、
た。また、信号確率に関する表式では、時刻に関する依
存性を陽に示さない。これは、確率の時間並進不変性に
より信号確率が時刻に依存しないためである。スウィッ
チング確率に関しては、
【数4】 と表すことができる。
【0014】最後の準備として、論理関数の独立性を定
義する。
義する。
【0015】論理関数fとgが独立であるとは、f,g
のみに依存する任意の論理関数F(f),G(g)に対
し、
のみに依存する任意の論理関数F(f),G(g)に対
し、
【数5】 P(F(f)G(g))=P(F(f))P(G(g)) (6) が成り立つことをいう。従って、論理関数f,gが独立
であるならば
であるならば
【数6】 P(fg)=P(f)P(g) (7) P(f(t1 )g(t1 )f(t2 )g(t2 )) =P(f(t1 )f(t2 ))P(g(t1 )g(t2 )) (8) などが成り立つ。ただし、時刻tにおけるf,gをそれ
ぞれf(t),g(t)と記した。
ぞれf(t),g(t)と記した。
【0016】次に、順序回路において確率計算が困難で
ある理由を述べる。
ある理由を述べる。
【0017】一般に確率計算に基づく方法では、ゲート
の入力に関する確率情報を既知であると仮定して、その
出力に関する確率情報を計算する。順序回路において
は、内部入力の論理値は1クロック周期前の時刻におけ
る内部出力の論理値であり、内部出力の論理値はCLP
を通じて同時刻の内部入力の論理値の論理関数であるた
め、内部入力の論理値は1クロック周期前の時刻の自分
自身の論理値に依存することになる。この事情は以下の
式で表現される。
の入力に関する確率情報を既知であると仮定して、その
出力に関する確率情報を計算する。順序回路において
は、内部入力の論理値は1クロック周期前の時刻におけ
る内部出力の論理値であり、内部出力の論理値はCLP
を通じて同時刻の内部入力の論理値の論理関数であるた
め、内部入力の論理値は1クロック周期前の時刻の自分
自身の論理値に依存することになる。この事情は以下の
式で表現される。
【0018】
【数7】 S(t)=F(S(t−1),A(t−1)) (9) ただし、FはBoolean ベクトル値関数であり、CLPの
構造によって定まる。また、S,Aは以下の式で定義さ
れたBoolean ベクトルである。
構造によって定まる。また、S,Aは以下の式で定義さ
れたBoolean ベクトルである。
【0019】
【数8】 ここでSk (t) (k=1,…,l),Ai (t)
(i=1,…,m)は時刻tでのネットSk ,Ai の論
理値を表す。式(9) から分かるように、順序回路の内部
入力の確率情報を計算するためには、それ自身があらか
じめ既知でなければならないという矛盾に陥る。これが
順序回路における確率計算の抱えるディレンマである。
(i=1,…,m)は時刻tでのネットSk ,Ai の論
理値を表す。式(9) から分かるように、順序回路の内部
入力の確率情報を計算するためには、それ自身があらか
じめ既知でなければならないという矛盾に陥る。これが
順序回路における確率計算の抱えるディレンマである。
【0020】このディレンマを解決するために、以下の
方法が提案されている。
方法が提案されている。
【0021】式(9) はSについての漸化式であり、それ
を繰り返し用いることによりS(k)をA(0),…,
A(k−1)およびS(0)によって表すことができ
る。例えば、S(2)はA(0),A(1),S(0)
により、以下の式のように表すことができる。
を繰り返し用いることによりS(k)をA(0),…,
A(k−1)およびS(0)によって表すことができ
る。例えば、S(2)はA(0),A(1),S(0)
により、以下の式のように表すことができる。
【0022】
【数9】 S(2)=F(F(S(0),A(0)),A(1)) (12) 式(9) を繰り返し用いることは、順序回路を展開するこ
とに相当する。k回展開された順序回路が図8に示され
ている。kを展開数という。順序回路を展開することに
より、それを組み合わせ回路に変換することができる点
が、この方法のポイントである。複数回展開する理由は
内部入力間の信号間相関を考慮にいれる為である。ただ
し、この方法ではS(0)は付加的なプライマリー・イ
ンプットとみなされるため、信号間相関を近似的にしか
考慮に入れていない。しかし、一般に展開数が増加する
ほど近似の精度を上げることができる。
とに相当する。k回展開された順序回路が図8に示され
ている。kを展開数という。順序回路を展開することに
より、それを組み合わせ回路に変換することができる点
が、この方法のポイントである。複数回展開する理由は
内部入力間の信号間相関を考慮にいれる為である。ただ
し、この方法ではS(0)は付加的なプライマリー・イ
ンプットとみなされるため、信号間相関を近似的にしか
考慮に入れていない。しかし、一般に展開数が増加する
ほど近似の精度を上げることができる。
【0023】さて、展開された回路(Unrolled Circui
t,以下、UCと記す。)において、信号確率は P(S(k))=P(S(0)) (13) という方程式を解くことによって得られる。ただし、任
意のtに対してP(S(t))は次の式によって定義され
た実数を成分とするベクトルである。
t,以下、UCと記す。)において、信号確率は P(S(k))=P(S(0)) (13) という方程式を解くことによって得られる。ただし、任
意のtに対してP(S(t))は次の式によって定義され
た実数を成分とするベクトルである。
【0024】
【数10】 また、式(13)では、S(k)はA(0),…,A(k−
1)およびS(0)の関数とみなされている。
1)およびS(0)の関数とみなされている。
【0025】方程式(13)は、Picard-Peano法、或いはNe
wton-Raphson法により近似的に解くことができる。ここ
ではPicard-Peano法を採択する。その手続きを以下に示
す。 1.P(S(0))に任意の値(例えば0.5)を設定す
る。また、f=0とおく(ステップ1)。
wton-Raphson法により近似的に解くことができる。ここ
ではPicard-Peano法を採択する。その手続きを以下に示
す。 1.P(S(0))に任意の値(例えば0.5)を設定す
る。また、f=0とおく(ステップ1)。
【0026】2.UCの出力であるS(k)に関する信
号確率を、UCに確率計算法を適用することにより求め
る(ステップ2)。
号確率を、UCに確率計算法を適用することにより求め
る(ステップ2)。
【0027】3.得られたP(S(k))の値をP(S
(0))に代入する(ステップ3)。
(0))に代入する(ステップ3)。
【0028】4.fの値を1増やす。もし、f<fmax
ならばステップ2へ、そうでなければ終了 (ステップ
4) 。
ならばステップ2へ、そうでなければ終了 (ステップ
4) 。
【0029】この手続きを展開フィードバック法とい
い、ステップ4で述べられているfma x をフィードバッ
ク数という。この手続きにより得られる信号確率の精
度、および計算時間は、ステップ2で述べられている
「確率計算法」に依存している。
い、ステップ4で述べられているfma x をフィードバッ
ク数という。この手続きにより得られる信号確率の精
度、および計算時間は、ステップ2で述べられている
「確率計算法」に依存している。
【0030】この「確率計算法」が不適当であると、前
述の手続きでフィードバックを行うたびに、誤差が拡大
される恐れがある。UCは組み合わせ回路であるため、
前述の「確率計算法」として、組み合わせ回路に対する
従来手法を用いることができる。しかし、展開された回
路においては、外部入力A(0),…,A(k−1)間
の相関、すなわち、外部入力の時間的相関をも考慮に入
れる必要があるため、前述の従来手法では精度の良い結
果が得られない。前述の従来手法は、遅延ゼロ模型に基
づいているため、時間的な相関を考慮に入れることが出
来ないからである。従って、時間的な相関を考慮にいれ
た「確率計算法」を確立することが、順序回路における
電力見積の中心課題となる。
述の手続きでフィードバックを行うたびに、誤差が拡大
される恐れがある。UCは組み合わせ回路であるため、
前述の「確率計算法」として、組み合わせ回路に対する
従来手法を用いることができる。しかし、展開された回
路においては、外部入力A(0),…,A(k−1)間
の相関、すなわち、外部入力の時間的相関をも考慮に入
れる必要があるため、前述の従来手法では精度の良い結
果が得られない。前述の従来手法は、遅延ゼロ模型に基
づいているため、時間的な相関を考慮に入れることが出
来ないからである。従って、時間的な相関を考慮にいれ
た「確率計算法」を確立することが、順序回路における
電力見積の中心課題となる。
【0031】最も精度の高い確率計算法として、UC全
体にわたる2分決定木(Binary Decision Diagram、以
下、BDDと記す。)を構成する方法が提案されてい
る。この方法はC.Y.Tsui,M.Pedram,A.M.Despain,“Exac
t and Approximate Methods forCalculating Signal an
d Transition Probabilities in FSMs ”,Proceedings
of the 31st Design Automation Conference,pp.18-23,
1994に詳述されている。しかし、この方法の計算時間
は、順序回路の外部入力数と展開数の積に対して指数関
数的に増大するため、大規模順序回路には事実上適用不
可能である。以下ではこの方法をBDD法と呼ぶ。
体にわたる2分決定木(Binary Decision Diagram、以
下、BDDと記す。)を構成する方法が提案されてい
る。この方法はC.Y.Tsui,M.Pedram,A.M.Despain,“Exac
t and Approximate Methods forCalculating Signal an
d Transition Probabilities in FSMs ”,Proceedings
of the 31st Design Automation Conference,pp.18-23,
1994に詳述されている。しかし、この方法の計算時間
は、順序回路の外部入力数と展開数の積に対して指数関
数的に増大するため、大規模順序回路には事実上適用不
可能である。以下ではこの方法をBDD法と呼ぶ。
【0032】計算時間を軽減するためには、UC全体に
わたるBDDを作らずに、UC中の各論理素子の入力に
関する確率情報から直ちにその出力の確率情報を計算す
べきである。このような方法をインクリメンタル法とい
う。最も簡単なインクリメンタル法は全ての相関を無視
する方法である。これを完全無相関模型(CompletelyUnc
orrelated Model,以下、CUMと記す。)と呼ぶ。完
全無相関模型においては、例えば、スウィッチング確率
は
わたるBDDを作らずに、UC中の各論理素子の入力に
関する確率情報から直ちにその出力の確率情報を計算す
べきである。このような方法をインクリメンタル法とい
う。最も簡単なインクリメンタル法は全ての相関を無視
する方法である。これを完全無相関模型(CompletelyUnc
orrelated Model,以下、CUMと記す。)と呼ぶ。完
全無相関模型においては、例えば、スウィッチング確率
は
【数11】 と近似され、また、2入力ANDゲートの出力Zの信号
確率は、
確率は、
【数12】 と近似される。ここで、A,Bは、2入力ANDゲート
の入力である。CUMの計算時間はUCの規模に比例す
るだけなので、全ての確率計算手法のうちでCUMの計
算時間が最も短い。しかし、相関を完全に無視するた
め、計算誤差は非常に大きく、その誤差は100%に達
することもある。
の入力である。CUMの計算時間はUCの規模に比例す
るだけなので、全ての確率計算手法のうちでCUMの計
算時間が最も短い。しかし、相関を完全に無視するた
め、計算誤差は非常に大きく、その誤差は100%に達
することもある。
【0033】
【発明が解決しようとする課題】以上説明したように、
従来のスウイッチング確率を見積もる方法では、大規模
順序回路のスウイッチング確率を高精度に見積もること
ができないため、回路の消費電力の評価を正確に行うこ
とができなかった。
従来のスウイッチング確率を見積もる方法では、大規模
順序回路のスウイッチング確率を高精度に見積もること
ができないため、回路の消費電力の評価を正確に行うこ
とができなかった。
【0034】本発明は、上記事情に鑑みてなされたもの
であり、その目的とするところは、大規模順序回路にも
適用可能な高精度かつ高速な信号確率及びスウイッチン
グ確率の計算方法により回路の消費電力を正確に評価す
ることができる集積回路の電力評価方法を提供すること
にある。
であり、その目的とするところは、大規模順序回路にも
適用可能な高精度かつ高速な信号確率及びスウイッチン
グ確率の計算方法により回路の消費電力を正確に評価す
ることができる集積回路の電力評価方法を提供すること
にある。
【0035】
【課題を解決するための手段】上記目的を達成するため
に、本発明の特徴は、複数の論理素子を接続して構成さ
れる論理回路に含まれるそれぞれのネット (信号線) に
対してデータ構造MTBAMをもつ第1のデータを対応
させ、前記第1のデータを用いて前記論理回路の確率量
を計算することにより、前記論理回路の消費電力を評価
する集積回路の電力評価方法であって、前記第1のデー
タの対応づけは、前記論理回路の全体に対するプライマ
リー・インプット (入力信号) 及び前記ネットの信号値
を決定づけるネット群に対して、データ構造MTBAM
をもつ第2のデータを対応させるステップと、前記第2
のデータに属する各データの構成要素の一部である確率
量の値と、前記第2のデータに属する各データの構成要
素の一部であるデータ構造MTBDDをもつ第3のデー
タから計算された確率値と、前記第3のデータから生成
されたデータ構造MTBDDをもつ第4のデータとから
構成されるデータ構造MTBAMをもつ第1のデータを
前記ネットに対応させるステップとを有することにあ
る。
に、本発明の特徴は、複数の論理素子を接続して構成さ
れる論理回路に含まれるそれぞれのネット (信号線) に
対してデータ構造MTBAMをもつ第1のデータを対応
させ、前記第1のデータを用いて前記論理回路の確率量
を計算することにより、前記論理回路の消費電力を評価
する集積回路の電力評価方法であって、前記第1のデー
タの対応づけは、前記論理回路の全体に対するプライマ
リー・インプット (入力信号) 及び前記ネットの信号値
を決定づけるネット群に対して、データ構造MTBAM
をもつ第2のデータを対応させるステップと、前記第2
のデータに属する各データの構成要素の一部である確率
量の値と、前記第2のデータに属する各データの構成要
素の一部であるデータ構造MTBDDをもつ第3のデー
タから計算された確率値と、前記第3のデータから生成
されたデータ構造MTBDDをもつ第4のデータとから
構成されるデータ構造MTBAMをもつ第1のデータを
前記ネットに対応させるステップとを有することにあ
る。
【0036】
【発明の実施の形態】以下、本発明の実施の形態につい
て図面を用いて説明する。図1は、本発明の集積回路の
電力評価方法の処理手順を示すフローチャートである。
て図面を用いて説明する。図1は、本発明の集積回路の
電力評価方法の処理手順を示すフローチャートである。
【0037】まず最初に、本発明の特徴である、特願平
07−055867号で提案された組み合わせ回路に対
する信号確率、スウィッチング確率計算手法BAM(Bo
olean Approximation Method)を順序回路に適用可能と
するために必要なデータ構造の拡張方法(Multi-Termina
l Boolean Approximation Method,MTBAM)を示
す。
07−055867号で提案された組み合わせ回路に対
する信号確率、スウィッチング確率計算手法BAM(Bo
olean Approximation Method)を順序回路に適用可能と
するために必要なデータ構造の拡張方法(Multi-Termina
l Boolean Approximation Method,MTBAM)を示
す。
【0038】次に、前記MTBAMデータ構造を用い
た、順序回路に対する信号確率、スウィッチング確率の
計算アルゴリズムを示す。
た、順序回路に対する信号確率、スウィッチング確率の
計算アルゴリズムを示す。
【0039】BAMを順序回路に適用可能とするために
必要なデータ構造の拡張方法を示す。
必要なデータ構造の拡張方法を示す。
【0040】最初に、特願平07−055867号で提
案された、遅延ゼロ模型のもとでの組み合わせ回路に対
する確率計算手法BAMを説明する。
案された、遅延ゼロ模型のもとでの組み合わせ回路に対
する確率計算手法BAMを説明する。
【0041】まず、組み合わせ論理回路における信号確
率計算のためのBAMのデータ構造(以下、BAMデー
タ構造と記す。)を示す。BAMデータ構造は図2に図
示されている。その内訳は、回路の任意のネットNに対
し
率計算のためのBAMのデータ構造(以下、BAMデー
タ構造と記す。)を示す。BAMデータ構造は図2に図
示されている。その内訳は、回路の任意のネットNに対
し
【数13】 次に、組み合わせ論理回路の信号確率計算のためのBA
Mの基本式を示す。そのために次の記号を導入する。
Mの基本式を示す。そのために次の記号を導入する。
【0042】
【数14】 N{xi }をブール数という。ブール数では、ブール変
数部分をブール代数の元として、また、実数部分を実数
体の元として扱う。ブール数の積、和、否定および確率
はそれぞれ以下の式で定義される。
数部分をブール代数の元として、また、実数部分を実数
体の元として扱う。ブール数の積、和、否定および確率
はそれぞれ以下の式で定義される。
【0043】
【数15】 以上の記号を用いると、BAMにおける論理関数A,B
の論理積ABおよびそのcofactorの確率は
の論理積ABおよびそのcofactorの確率は
【数16】 とする事を含意している。式(23),(24)がBAMの基本
式である。簡単のため、式(23)の右辺をP(A)*P
(B)と記す。
式である。簡単のため、式(23)の右辺をP(A)*P
(B)と記す。
【0044】BAMを任意の論理素子に適用するために
は、以下の手続きを実行する。
は、以下の手続きを実行する。
【0045】Zを論理素子の出力、A1 ,…,Am を入
力とする。A1 ,…,Am に関するBAMのデータ構造
が既知である場合に、Zに関するBAMのデータ構造を
得る方法を述べる。ZはA1 ,…,Am の論理関数なの
で
力とする。A1 ,…,Am に関するBAMのデータ構造
が既知である場合に、Zに関するBAMのデータ構造を
得る方法を述べる。ZはA1 ,…,Am の論理関数なの
で
【数17】 この式に再び式(23),(24)を適用する。以上のようにA
1 ,A2 ,…,Am に関するShannon 展開を順次繰り返
すことにより、Zに関するBAMのデータ構造を得るこ
とができる。
1 ,A2 ,…,Am に関するShannon 展開を順次繰り返
すことにより、Zに関するBAMのデータ構造を得るこ
とができる。
【0046】各ゲートに対する以上の操作をプライマリ
ー・インプット側からプライマリー・アウトプット側へ
行うことにより、回路内の全ネットの信号確率を計算で
きる。各論理素子に対し、その入力のBAMデータ構造
からその出力のBAMデータ構造を計算するため、BA
Mはインクリメンタル法の一種である。
ー・インプット側からプライマリー・アウトプット側へ
行うことにより、回路内の全ネットの信号確率を計算で
きる。各論理素子に対し、その入力のBAMデータ構造
からその出力のBAMデータ構造を計算するため、BA
Mはインクリメンタル法の一種である。
【0047】ここではBAMを順序回路に適用可能とす
るために必要なデータ構造の拡張方法を示す。
るために必要なデータ構造の拡張方法を示す。
【0048】前述したとおり、UCにおいては外部入力
の時間的自己相関を考慮に入れる必要がある。このこと
は、プライマリー・インプットの時間的自己相関を考慮
に入れる必要があることを意味する。なぜならば、外部
入力の信号値はプライマリー・インプットの信号値に依
存しているからである。
の時間的自己相関を考慮に入れる必要がある。このこと
は、プライマリー・インプットの時間的自己相関を考慮
に入れる必要があることを意味する。なぜならば、外部
入力の信号値はプライマリー・インプットの信号値に依
存しているからである。
【0049】前述した従来のBAMではこのような場合
に対応できない。なぜなら、BAMのデータ構造はゼロ
遅延模型に基づいているからである。具体的には、BA
Mのデータ構造を決定するもとになった式(17)がゼロ遅
延模型に基づいているからである。式(17)において時間
依存性を陽に示すと
に対応できない。なぜなら、BAMのデータ構造はゼロ
遅延模型に基づいているからである。具体的には、BA
Mのデータ構造を決定するもとになった式(17)がゼロ遅
延模型に基づいているからである。式(17)において時間
依存性を陽に示すと
【数18】 となる。式(31)は時刻tにおけるネットNの論理値が同
時刻tのプライマリー・インプットの論理値のみに依存
していることを示す。これはゼロ遅延模型から導かれる
結果である。
時刻tのプライマリー・インプットの論理値のみに依存
していることを示す。これはゼロ遅延模型から導かれる
結果である。
【0050】一方、UC内のネットNの論理値は、外部
入力を経由して、時刻0,…,k−1のプライマリー・
インプットの論理値に依存している。従って、Nのプラ
イマリー・インプットxi に関するShannon 展開は以下
の式で表される。
入力を経由して、時刻0,…,k−1のプライマリー・
インプットの論理値に依存している。従って、Nのプラ
イマリー・インプットxi に関するShannon 展開は以下
の式で表される。
【0051】
【数19】 従来のBAMのデータ構造は、式(17)に現れるcofactor
の数が2つだけであるため、2つのcofactorの確率を格
納するスペースしか設けていない。一方、式(32)はcofa
ctorの数が2つとは限らないことを示している。従っ
て、全てのcofactorの確率を格納するためにBAMのデ
ータ構造を拡張する必要がある。
の数が2つだけであるため、2つのcofactorの確率を格
納するスペースしか設けていない。一方、式(32)はcofa
ctorの数が2つとは限らないことを示している。従っ
て、全てのcofactorの確率を格納するためにBAMのデ
ータ構造を拡張する必要がある。
【0052】そのような拡張の手がかりは、ブール数を
拡張することにある。式(17)に対応してブール数(18)を
導入したように、式(32)に対応して、以下の式で表現さ
れる拡張されたブール数を導入する。
拡張することにある。式(17)に対応してブール数(18)を
導入したように、式(32)に対応して、以下の式で表現さ
れる拡張されたブール数を導入する。
【0053】
【数20】 拡張されたブール数は、多終端2分決定木(Multi-Term
inal Binary DecisionDiagram,以下、MTBDDと記
す。)により表現される。MTBDDのグラフ構造は拡
張されたブール数(以下、単にブール数ということもあ
る。)のブール代数部分を表現し、MTBDDの終端に
付与された実数値はブール数の実数部分を表現する。例
として、以下の式で定義されるブール数A{xi }を表
現するMTBDDを図3に示す。
inal Binary DecisionDiagram,以下、MTBDDと記
す。)により表現される。MTBDDのグラフ構造は拡
張されたブール数(以下、単にブール数ということもあ
る。)のブール代数部分を表現し、MTBDDの終端に
付与された実数値はブール数の実数部分を表現する。例
として、以下の式で定義されるブール数A{xi }を表
現するMTBDDを図3に示す。
【0054】
【数21】 図3のMTBDDの各ノードは、それに付与された時刻
(t1 ,t2 )におけるプライマリー・インプットの信
号xi (t1 ),xi (t2 )に対応し、この時刻の値
はMTBDDの根に近いものほど小さいものとする。ブ
ール数とMTB
(t1 ,t2 )におけるプライマリー・インプットの信
号xi (t1 ),xi (t2 )に対応し、この時刻の値
はMTBDDの根に近いものほど小さいものとする。ブ
ール数とMTB
【外1】 に対するcofactorの確率を求める方法を示す。まず、M
TBDDの根から出発し、値0を付与された枝(以下、
0枝)を辿る。つぎにたどり着いたノードから値1を付
与された枝(以下、1枝)を辿る。すると0.3という
値が付与された
TBDDの根から出発し、値0を付与された枝(以下、
0枝)を辿る。つぎにたどり着いたノードから値1を付
与された枝(以下、1枝)を辿る。すると0.3という
値が付与された
【外2】 確率となる。式(34)によると確かにそのようになってい
る。
る。
【0055】次にブール数に関する演算規則、特に積、
和、否定、確率を定義する。
和、否定、確率を定義する。
【0056】ブール数の積 ブール数はMTBDDに対応しているので、MTBDD
に関する積を定義すればよい。一般的な積の法則を以下
に示す。
に関する積を定義すればよい。一般的な積の法則を以下
に示す。
【0057】A,Bを2つのMTBDDとし、A,Bの
積として得られるMTBDDをZとする。A,Bの根か
ら始めて、各ノードを深さ優先探索により訪れることに
より、Zのノードを生成する手続きにおいて、以下の規
則を適用する。以下では、深さ優先探索を行う過程で訪
れたA,Bのノードをそれぞれa,bと記し、その時点
で、a,bの積として生成されるZのノードをzと記
す。
積として得られるMTBDDをZとする。A,Bの根か
ら始めて、各ノードを深さ優先探索により訪れることに
より、Zのノードを生成する手続きにおいて、以下の規
則を適用する。以下では、深さ優先探索を行う過程で訪
れたA,Bのノードをそれぞれa,bと記し、その時点
で、a,bの積として生成されるZのノードをzと記
す。
【0058】(1)a,bが終端ノードならば、それら
に付与された実数値の積をとり、zにその値を付与す
る。このときzは終端ノードとなる。
に付与された実数値の積をとり、zにその値を付与す
る。このときzは終端ノードとなる。
【0059】(2)a,bのうち、いずれか一方のみが
終端ノードである(例えばbが終端ノードであるとす
る)、あるいは、aもbも非終端ノードで、aの時刻と
bの時刻が異なるとき(例えばbの時刻が大きいとす
る)、aから0枝を辿って得られるノード(以下0子)
とbとの積として生成されるノードをzの0子とし、a
から1枝を辿って得られるノード(以下1子)とbとの
積として生成されるノードをzの1子とする。
終端ノードである(例えばbが終端ノードであるとす
る)、あるいは、aもbも非終端ノードで、aの時刻と
bの時刻が異なるとき(例えばbの時刻が大きいとす
る)、aから0枝を辿って得られるノード(以下0子)
とbとの積として生成されるノードをzの0子とし、a
から1枝を辿って得られるノード(以下1子)とbとの
積として生成されるノードをzの1子とする。
【0060】(3)aもbも非終端ノードで、かつaの
時刻とbの時刻が等しいとき、aの0子とbの0子の積
として生成されるノードをzの0子とし、aの1子とb
の1子の積として生成されるノードをzの1子とする。
時刻とbの時刻が等しいとき、aの0子とbの0子の積
として生成されるノードをzの0子とし、aの1子とb
の1子の積として生成されるノードをzの1子とする。
【0061】この積法則は通常のBDDの積法則と酷似
している。唯一の違いは、終端ノードにおける積が、通
常のBDDではブール代数における積であるのに対し、
MTBDDでは実数体における積である点である。例と
して、式(34)で定義されたブール数A{xi }に対応す
るMTBDDと、以下の式で定義されるブール数B{x
i }に対応するMTBDDの積を図4に示す。
している。唯一の違いは、終端ノードにおける積が、通
常のBDDではブール代数における積であるのに対し、
MTBDDでは実数体における積である点である。例と
して、式(34)で定義されたブール数A{xi }に対応す
るMTBDDと、以下の式で定義されるブール数B{x
i }に対応するMTBDDの積を図4に示す。
【0062】
【数22】 B(xi }=xi (t1 )xi (t3 )・0.4 (35) 前述のブール数A{xi }とブール数B{xi }の積
は、ブール代数部分にはブール代数の演算を、実数部分
には実数の演算を適用することにより、以下の式のよう
に計算することも可能である。
は、ブール代数部分にはブール代数の演算を、実数部分
には実数の演算を適用することにより、以下の式のよう
に計算することも可能である。
【0063】
【数23】 この演算の結果は図4と完全に一致している。
【0064】ブール数の和 ブール数の積と同様に定義される。唯一の違いは、ブー
ル数の積の定義における「積」が「和」に置き換えられ
る点である。
ル数の積の定義における「積」が「和」に置き換えられ
る点である。
【0065】ブール数の否定
【外3】 、そのcofactorの確率を、対応するN{xi }のcofact
orの確率を1から引いた値とすることにより得られる。
具体的には式(33)のブール数N{xi }に対し、
orの確率を1から引いた値とすることにより得られる。
具体的には式(33)のブール数N{xi }に対し、
【数24】 となる。
【0066】ブール数の確率 ブール数N{xi }の確率P(N{xi })は、ブール
代数部分の確率と実数部分の値との積の和として定義さ
れる。具体的には、式(33)のブール数N{xi}に対
し、
代数部分の確率と実数部分の値との積の和として定義さ
れる。具体的には、式(33)のブール数N{xi}に対
し、
【数25】 となる。ここで×は実数の積を表す。
【0067】
【外4】 インプットに入力する信号に関してMarkov性を仮定す
る。本発明におけるMarkov性とは、時刻tでのプライマ
リー・インプットの信号値が、1クロック周期前の時刻
t−1での同一のプライマリー・インプットの信号値の
みに依存し、それ以前の時刻における信号値には依存し
ないことを意味する。このことを式で表すと以下のよう
になる。
る。本発明におけるMarkov性とは、時刻tでのプライマ
リー・インプットの信号値が、1クロック周期前の時刻
t−1での同一のプライマリー・インプットの信号値の
みに依存し、それ以前の時刻における信号値には依存し
ないことを意味する。このことを式で表すと以下のよう
になる。
【0068】
【数26】 条件付き確率P(f|g)とは、論理関数gの論理値が
1に確定しているという条件のもとで、論理関数fの論
理値が1をとる確率のことである。
1に確定しているという条件のもとで、論理関数fの論
理値が1をとる確率のことである。
【0069】
【数27】 BAMのデータ構造中のcofactorの確率部分を上述のよ
うに拡張したことに対応し、BAMのデータ構造を次の
ように拡張する。回路の任意のネットNに対し 信号確率:P(N) xi に関するNのcofactorの確率を終端ノードの値とす
るMTBDD (i=1,…,n) 図5は、このデータ構造の例である。
うに拡張したことに対応し、BAMのデータ構造を次の
ように拡張する。回路の任意のネットNに対し 信号確率:P(N) xi に関するNのcofactorの確率を終端ノードの値とす
るMTBDD (i=1,…,n) 図5は、このデータ構造の例である。
【0070】前述のデータ構造に対するBAMの基本式
は、式(23),(24)と同一の形をしている。ただし、ブー
ル数が拡張されており、それがMTBDDにより表現さ
れている点が従来のBAMと異なる。以下に拡張された
BAMの基本式を示す。
は、式(23),(24)と同一の形をしている。ただし、ブー
ル数が拡張されており、それがMTBDDにより表現さ
れている点が従来のBAMと異なる。以下に拡張された
BAMの基本式を示す。
【0071】
【数28】 ただし、A,Bは任意の論理関数とする。以下では、簡
単のため、式(41)の右辺をP(A)*P(B)と記す。
単のため、式(41)の右辺をP(A)*P(B)と記す。
【0072】以上のように、MTBDDを用いることに
より、そのデータ構造および計算基本式が拡張されたB
AMをMTBAM(Multi-Terminal Boolean Approxima
tionMethod)と呼び、そのデータ構造、計算基本式をそ
れぞれMTBAMデータ構造、MTBAMの基本式と呼
ぶ。
より、そのデータ構造および計算基本式が拡張されたB
AMをMTBAM(Multi-Terminal Boolean Approxima
tionMethod)と呼び、そのデータ構造、計算基本式をそ
れぞれMTBAMデータ構造、MTBAMの基本式と呼
ぶ。
【0073】従来のBAMと同様、以下のようにしてM
TBAMを任意の論理素子に適用することができる。
TBAMを任意の論理素子に適用することができる。
【0074】Zを論理素子の出力、A1 ,…,Am を入
力とする。ZはA1 ,…,Am の論理関数なので
力とする。ZはA1 ,…,Am の論理関数なので
【数29】 というShannon 展開が可能である。
【0075】A1 ,…,Am に関するMTBAMデータ
構造が既知である場合に、Zに関するMTBAMデータ
構造を得る方法を述べる。
構造が既知である場合に、Zに関するMTBAMデータ
構造を得る方法を述べる。
【0076】Zの信号確率P(Z)は、式(43)により、
【数30】 この式に再び式(41),(42)を適用する。以上のようにA
1 ,A2 ,…,Am に関するShannon 展開を順次繰り返
すことにより、Zに関するMTBAMデータ構造を得る
ことができる。
1 ,A2 ,…,Am に関するShannon 展開を順次繰り返
すことにより、Zに関するMTBAMデータ構造を得る
ことができる。
【0077】一方、Zのスウィッチング確率を以下の式
により計算する。
により計算する。
【0078】
【数31】 ここでZ(1)に関するMTBAMデータ構造は、Z
(0)に関するMTBAMデータ構造に含まれるMTB
DDのノードに付与された時刻を1進めることにより得
られる。
(0)に関するMTBAMデータ構造に含まれるMTB
DDのノードに付与された時刻を1進めることにより得
られる。
【0079】以上の操作を各ゲートに対してプライマリ
ー・インプット側からプライマリー・アウトプット側へ
行うことにより、回路内の全ネットに関するMTBAM
データ構造を得ることができる。従って、MTBAMは
インクリメンタル法の一種である。
ー・インプット側からプライマリー・アウトプット側へ
行うことにより、回路内の全ネットに関するMTBAM
データ構造を得ることができる。従って、MTBAMは
インクリメンタル法の一種である。
【0080】次に、上述したMTBAMデータ構造、お
よびMTBAMの基本式(41),(42)を用いて、順序回路
に対する信号確率、スウィッチング確率を計算するアル
ゴリズムを示す。
よびMTBAMの基本式(41),(42)を用いて、順序回路
に対する信号確率、スウィッチング確率を計算するアル
ゴリズムを示す。
【0081】順序回路における確率計算を行う場合、内
部入力に関する信号確率、スウィッチング確率が未知で
あるため、まず、それを求める必要がある。内部入力の
信号確率を求める方法としては、従来技術で述べた展開
フィードバック法を用いる。内部入力に関する信号確
率、スウィッチング確率が得られたあとは、内部入力を
付加的なプライマリー・インプットとみなして、組み合
わせ回路に対する確率計算方法(従来手法)を適用す
る。従って、順序回路に関する確率計算アルゴリズムは
次の3段階に分けることができる。
部入力に関する信号確率、スウィッチング確率が未知で
あるため、まず、それを求める必要がある。内部入力の
信号確率を求める方法としては、従来技術で述べた展開
フィードバック法を用いる。内部入力に関する信号確
率、スウィッチング確率が得られたあとは、内部入力を
付加的なプライマリー・インプットとみなして、組み合
わせ回路に対する確率計算方法(従来手法)を適用す
る。従って、順序回路に関する確率計算アルゴリズムは
次の3段階に分けることができる。
【0082】(1)内部入力の信号確率計算 (2)内部入力のスウィッチング確率計算 (3)CLPの信号確率、スウィッチング確率計算 以下では、それぞれの段階における計算方法を説明す
る。
る。
【0083】(1)内部入力の信号確率計算 ここでは、外部入力に関するMTBAMデータ構造が既
知であるとして、上述の展開フィードバック法を用い
る。ただし、展開フィードバック法のステップ2の「確
率計算法」として、MTBAMを採用する。なお、外部
入力A(i) (i=0,…,k−1)に関するMTB
AMデータ構造は、外部入力A(0)から、それに含ま
れる各MTBDDのノードに付与された時刻をi進める
ことにより得られる。
知であるとして、上述の展開フィードバック法を用い
る。ただし、展開フィードバック法のステップ2の「確
率計算法」として、MTBAMを採用する。なお、外部
入力A(i) (i=0,…,k−1)に関するMTB
AMデータ構造は、外部入力A(0)から、それに含ま
れる各MTBDDのノードに付与された時刻をi進める
ことにより得られる。
【0084】以下に具体的な手続きを示す。
【0085】1.P(S(0))に任意の値(例えば0.
5)を設定する。また、f=0とおく(ステップ1)。
5)を設定する。また、f=0とおく(ステップ1)。
【0086】2.UCの出力であるS(k)に関する信
号確率を、UCにMTBAMを適用することにより求め
る(ステップ2)。
号確率を、UCにMTBAMを適用することにより求め
る(ステップ2)。
【0087】3.得られたP(S(k))の値をP(S
(0))に代入する(ステップ3)。
(0))に代入する(ステップ3)。
【0088】4.fの値を1増やす。もし、f<fmax
ならばステップ2へ、そうでなければ終了(ステップ
4)。
ならばステップ2へ、そうでなければ終了(ステップ
4)。
【0089】この手続きにおいて、MTBAMに特徴的
なことは、MTBAMデータ構造に含まれるMTBDD
の深さが展開数kを超えないということである。従っ
て、MTBAMデータ構造に含まれるMTBDDのため
の記憶領域の大きさは、最大でも2k に比例する程度で
ある。一方、従来のBDD法を用いた場合、UC全体に
わたって構成されるBDDのための記憶領域の大きさは
最大2kmの程度となる。ただし、mは外部入力数であ
る。従って、mが大きいとき、従来のBDD法を大規模
順序回路に適用する事は事実上不可能であったが、本発
明のMTBAMデータ構造に含まれるMTBDDのため
の記憶領域の大きさは、回路規模に依存するパラメータ
ーである外部入力数に依存しないので、MTBAMは大
規模順序回路に対して適用可能である。
なことは、MTBAMデータ構造に含まれるMTBDD
の深さが展開数kを超えないということである。従っ
て、MTBAMデータ構造に含まれるMTBDDのため
の記憶領域の大きさは、最大でも2k に比例する程度で
ある。一方、従来のBDD法を用いた場合、UC全体に
わたって構成されるBDDのための記憶領域の大きさは
最大2kmの程度となる。ただし、mは外部入力数であ
る。従って、mが大きいとき、従来のBDD法を大規模
順序回路に適用する事は事実上不可能であったが、本発
明のMTBAMデータ構造に含まれるMTBDDのため
の記憶領域の大きさは、回路規模に依存するパラメータ
ーである外部入力数に依存しないので、MTBAMは大
規模順序回路に対して適用可能である。
【0090】前述の手続きを応用した具体例として、図
6で示される回路の信号確率を計算した。図6におい
て、Sは内部入力、Zは内部出力である。また、Aは全
回路のプライマリー・インプットであると同時にCLP
の外部入力でもある。図6の回路において、Aの信号確
率を0.5、スウィッチング確率を0.8とする。この
とき、厳密なSの信号確率は約0.583である。この
値は、回路規模が小さいときに適用可能な、本発明とは
別の手段により計算することができる。展開数を3とし
たUCにMTBAMとCUMを適用して、以下の結果を
得た。
6で示される回路の信号確率を計算した。図6におい
て、Sは内部入力、Zは内部出力である。また、Aは全
回路のプライマリー・インプットであると同時にCLP
の外部入力でもある。図6の回路において、Aの信号確
率を0.5、スウィッチング確率を0.8とする。この
とき、厳密なSの信号確率は約0.583である。この
値は、回路規模が小さいときに適用可能な、本発明とは
別の手段により計算することができる。展開数を3とし
たUCにMTBAMとCUMを適用して、以下の結果を
得た。
【0091】
【数32】 P(S)MTBAM =0.588 (誤差:0.8%) (49) P(S)CUM =0.667 (誤差:14.3%) (50) ただし、P(S)MTBAM ,P(S)CUM はそれぞれMT
BAM,CUMを適用して得られた内部入力Sの信号確
率値である。なお、今の場合、BDD法はMTBAMと
同じ結果を与える。
BAM,CUMを適用して得られた内部入力Sの信号確
率値である。なお、今の場合、BDD法はMTBAMと
同じ結果を与える。
【0092】(2)内部入力のスウィッチング確率計算 順序回路を1回展開し、S(0)を付加的なプライマリ
ー・インプットとみなして、それに前述の手続きで既に
計算された信号確率値を設定する。CLPに対し、MT
BAMによる計算を行うと、S(1)に関するMTBA
Mデータ構造を得る。それを用いて、内部入力Sのスウ
ィッチング確率を以下の式で与える。
ー・インプットとみなして、それに前述の手続きで既に
計算された信号確率値を設定する。CLPに対し、MT
BAMによる計算を行うと、S(1)に関するMTBA
Mデータ構造を得る。それを用いて、内部入力Sのスウ
ィッチング確率を以下の式で与える。
【0093】
【数33】 (3)CLPの信号確率、スウィッチング確率計算 内部入力を付加的なプライマリー・インプットとみな
し、それに対して前述の方法により得られた信号確率、
スウィッチング確率を設定する。その後、順序回路の残
りのネットに対して、組み合わせ回路に対するのと同様
の確率計算を行う。このとき、外部入力のMTBAMに
含まれる全てのMTBDDの深さが高々1ならば、順序
回路内のネットに付随するMTBAMに含まれる全ての
MTBDDの深さも高々1となる。
し、それに対して前述の方法により得られた信号確率、
スウィッチング確率を設定する。その後、順序回路の残
りのネットに対して、組み合わせ回路に対するのと同様
の確率計算を行う。このとき、外部入力のMTBAMに
含まれる全てのMTBDDの深さが高々1ならば、順序
回路内のネットに付随するMTBAMに含まれる全ての
MTBDDの深さも高々1となる。
【0094】次に、本発明に対して実験を行った。実験
はSUN SPARC 10 ワークステーション上で
行った。実験に使用した回路はISCAS89のベンチ
マークデータである。実験の手続きとしては、従来手法
であるCUM、本発明であるMTBAMをインプリメン
トし、それらによって計算したスウィッチング確率値
の、ランダム・シミュレーション(SIM)によって得
られたスウィッチング確率値からの誤差を各ネットにつ
いて測定した。また、各プログラムの計算時間も測定し
た。このときSIMで流したテスト・ベクトルの長さは
10,000クロック周期であり、プライマリー・イン
プットに関する信号確率値とスウィッチング確率値とし
て、ランダムに発生させた数値を用いた。本実験では、
展開数とフィードバック数を共に3とした。また、それ
ぞれの手法に対してNormalized Power Dissipation Mea
sure (NPDM)のSIMに対する誤差を測定した。N
PDMとは、各ネットのファンアウト数(そのネットが
入力するゲート数)に、そのネットのスウィッチング確
率を乗じた値を、全てのネットに関して和をとったもの
である。配線容量が無視でき、ゲート入力容量が一定で
あるとき、回路全体の消費電力はNPDNに比例する。
従って、その誤差は回路全体の消費電力の見積誤差とな
る。
はSUN SPARC 10 ワークステーション上で
行った。実験に使用した回路はISCAS89のベンチ
マークデータである。実験の手続きとしては、従来手法
であるCUM、本発明であるMTBAMをインプリメン
トし、それらによって計算したスウィッチング確率値
の、ランダム・シミュレーション(SIM)によって得
られたスウィッチング確率値からの誤差を各ネットにつ
いて測定した。また、各プログラムの計算時間も測定し
た。このときSIMで流したテスト・ベクトルの長さは
10,000クロック周期であり、プライマリー・イン
プットに関する信号確率値とスウィッチング確率値とし
て、ランダムに発生させた数値を用いた。本実験では、
展開数とフィードバック数を共に3とした。また、それ
ぞれの手法に対してNormalized Power Dissipation Mea
sure (NPDM)のSIMに対する誤差を測定した。N
PDMとは、各ネットのファンアウト数(そのネットが
入力するゲート数)に、そのネットのスウィッチング確
率を乗じた値を、全てのネットに関して和をとったもの
である。配線容量が無視でき、ゲート入力容量が一定で
あるとき、回路全体の消費電力はNPDNに比例する。
従って、その誤差は回路全体の消費電力の見積誤差とな
る。
【0095】実験の結果を表1,表2,表3にまとめ
た。ただし、表1では、スウィッチング確率の見積誤差
の全てのネットにわたる平均値を記載した。
た。ただし、表1では、スウィッチング確率の見積誤差
の全てのネットにわたる平均値を記載した。
【0096】
【表1】
【表2】
【表3】 表1と表3は、本発明であるMTBAMが従来手法であ
るCUMに比べ数倍精度の良いことを示す。順序回路に
おいては時間的および空間的な信号間相関が大きいた
め、それを考慮した本発明の方が、それを無視したCU
Mよりも高い精度をもつからである。
るCUMに比べ数倍精度の良いことを示す。順序回路に
おいては時間的および空間的な信号間相関が大きいた
め、それを考慮した本発明の方が、それを無視したCU
Mよりも高い精度をもつからである。
【0097】また、表2は本発明による確率計算にかか
る時間が、論理シミュレーターの約100分の1程度で
あることを示す。これは論理シミュレーターが回路全体
を何度もトレースするのに対し、本発明をはじめとする
確率計算手法は基本的に一度しかトレースしないためで
ある。
る時間が、論理シミュレーターの約100分の1程度で
あることを示す。これは論理シミュレーターが回路全体
を何度もトレースするのに対し、本発明をはじめとする
確率計算手法は基本的に一度しかトレースしないためで
ある。
【0098】以上詳述した本発明のMTBAM法により
求めた高精度なスウイッチング確率を従来技術で説明し
た式 (1) を用いることにより正確に消費電力の評価を
行うことができる。
求めた高精度なスウイッチング確率を従来技術で説明し
た式 (1) を用いることにより正確に消費電力の評価を
行うことができる。
【0099】
【発明の効果】以上説明したように、本発明によれば、
従来困難であった順序回路のスウィッチング確率を、見
積誤差は従来手法の約10分の1で、計算時間は論理シ
ミュレーターの約100分の1で、高精度かつ高速に見
積もることにより、論理回路レベルで消費電力を正確に
見積もることができる。
従来困難であった順序回路のスウィッチング確率を、見
積誤差は従来手法の約10分の1で、計算時間は論理シ
ミュレーターの約100分の1で、高精度かつ高速に見
積もることにより、論理回路レベルで消費電力を正確に
見積もることができる。
【0100】従って、設計の変更や選ぶべきパッケージ
の種類を設計の比較的初期の段階で決定することができ
るのである。
の種類を設計の比較的初期の段階で決定することができ
るのである。
【図1】本発明の集積回路の電力評価方法の処理手順を
示すフローチャートである。
示すフローチャートである。
【図2】従来のBAMデータ構造の一例を示す図であ
る。
る。
【図3】本発明に係るMTBDDの一例を示す図であ
る。
る。
【図4】本発明に係るMTBDDの積の一例を示す図で
ある。
ある。
【図5】本発明のMTBAM構造の一例を示す図であ
る。
る。
【図6】順序回路の一例を示す図である。
【図7】順序回路の一般的構造を示す図である。
【図8】展開された順序回路を示す図である。
1 NAND回路 3 ラッチ 5 組合わせ回路部分 (CLP) 7 ラッチ群 9 順序回路
Claims (5)
- 【請求項1】 複数の論理素子を接続して構成される論
理回路に含まれるそれぞれのネット (信号線) に対して
データ構造MTBAMをもつ第1のデータを対応させ、
前記第1のデータを用いて前記論理回路の確率量を計算
することにより、前記論理回路の消費電力を評価する集
積回路の電力評価方法であって、 前記第1のデータの対応づけは、 前記論理回路の全体に対するプライマリー・インプット
(入力信号) 及び前記ネットの信号値を決定づけるネッ
ト群に対して、データ構造MTBAMをもつ第2のデー
タを対応させるステップと、 前記第2のデータに属する各データの構成要素の一部で
ある確率量の値と、前記第2のデータに属する各データ
の構成要素の一部であるデータ構造MTBDDをもつ第
3のデータから計算された確率値と、前記第3のデータ
から生成されたデータ構造MTBDDをもつ第4のデー
タとから構成されるデータ構造MTBAMをもつ第1の
データを前記ネットに対応させるステップとを有するこ
とを特徴とする集積回路の電力評価方法。 - 【請求項2】 前記論理回路内の全てのネットの信号値
が時刻tにおいて時刻t以前の前記ネットの信号値によ
り決定される場合には、 前記ネットの特定の部分集合に対し、前記第2のデータ
の対応づけを行い、前記第1のデータの対応づけを繰り
返し適用することにより、前記ネットの全てに対して前
記第1のデータの対応づけを行うことを特徴とする請求
項1記載の集積回路の電力評価方法。 - 【請求項3】 前記第3のデータから確率値を計算する
方法は、 確率値を表す複数の終端ノードと、論理関数データを構
成する入力変数に対応づけられた複数の非終端ノードと
の組み合わせからなる二分木状のグラフを表すデータ構
造MTBDDをもつデータAに対する確率値を計算する
方法であって、 前記データAの根となるノードから各終端ノードへ至る
経路に対して割り当てられた確率値と、当該経路に属す
る終端ノードの表す確率値との積を求め、全ての前記経
路に関する総和を前記データAに対する確率値とするこ
とにより実行されることを特徴とする請求項1記載の集
積回路の電力評価方法。 - 【請求項4】 前記第3のデータから前記第4のデータ
を生成する方法は、確率値を表す複数の終端ノードと、
論理関数データを構成する入力変数に対応づけられた複
数の非終端ノードとの組み合わせからなる二分木状のグ
ラフを表すデータ構造MTBDDをもつデータAの否定
として、データ構造MTBDDをもつデータBを生成す
る方法であって、前記データBのグラフ構造として前記
データAと同一のグラフ構造を設定し、前記データBの
ノードbが非終端ノードである場合には前記ノードbに
対応する前記データAの非終端ノードの表す前記入力変
数を前記データbの表す前記入力変数とし、前記ノード
bが終端ノードである場合には前記ノードbに対応する
前記データAの終端ノードの表す確率値を1から引いた
値を前記ノードbの表す確率値として設定することによ
り実行されることを特徴とする請求項1記載の集積回路
の電力評価方法。 - 【請求項5】 前記第3のデータから前記第4のデータ
を生成する方法は、 確率値を表す複数の終端ノードと、論理関数データを構
成する入力変数に対応づけられた複数の非終端ノードと
の組み合わせからなる二分木状のグラフを表すデータ構
造MTBDDをもつデータAとデータBの和あるいは積
として、データ構造MTBDDをもつデータCを生成す
る方法であって、 前記データAと前記データBの深さ優先探索によって訪
れた前記データAのノードaと前記データBのノードb
のうち少なくとも一方が非終端ノードである場合には前
記データCの非終端ノードcを生成し、前記ノードaと
前記ノードbが共に終端ノードである場合には前記ノー
ドa、前記ノードbの表す確率値の和あるいは積として
得られる実数値を前記データCの終端ノードcが表す確
率値として設定することにより実行されることを特徴と
する請求項1記載の集積回路の電力評価方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8004183A JPH09190464A (ja) | 1996-01-12 | 1996-01-12 | 集積回路の電力評価方法 |
US08/782,285 US5966523A (en) | 1996-01-12 | 1997-01-13 | Method of estimating power consumption of semiconductor integrated circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8004183A JPH09190464A (ja) | 1996-01-12 | 1996-01-12 | 集積回路の電力評価方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH09190464A true JPH09190464A (ja) | 1997-07-22 |
Family
ID=11577598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8004183A Pending JPH09190464A (ja) | 1996-01-12 | 1996-01-12 | 集積回路の電力評価方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5966523A (ja) |
JP (1) | JPH09190464A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007272288A (ja) * | 2006-03-30 | 2007-10-18 | Fujitsu Ltd | 消費電力算出プログラム、記録媒体、消費電力算出方法、および消費電力算出装置 |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4108805B2 (ja) * | 1998-01-21 | 2008-06-25 | 松下電器産業株式会社 | 消費電力特性計算手段及びその方法 |
US6389576B1 (en) * | 1999-09-02 | 2002-05-14 | Sun Microsystems, Inc. | Method and apparatus for optimizing real functions in Boolean domain |
JP3836276B2 (ja) * | 1999-09-17 | 2006-10-25 | 株式会社東芝 | 集積回路のノイズ及び電力の評価方法 |
US6611945B1 (en) * | 2000-10-25 | 2003-08-26 | International Business Machines Corporation | Method for propagating switching activity information in digital combinatorial networks |
US6941290B2 (en) * | 2000-11-10 | 2005-09-06 | Nec Laboratories America, Inc. | Method for computing all occurrences of a compound event from occurrences of primitive events |
US7500205B2 (en) * | 2001-12-06 | 2009-03-03 | Synopsys, Inc. | Skew reduction for generated clocks |
US7082582B1 (en) * | 2001-12-06 | 2006-07-25 | Synplicity, Inc. | Reducing clock skew in clock gating circuits |
EP1387232A1 (fr) * | 2002-07-29 | 2004-02-04 | Centre National De La Recherche Scientifique | Procédé de détermination de la valeur à donner à différents paramètres d'un système |
US7302659B2 (en) * | 2005-02-10 | 2007-11-27 | International Business Machines Corporation | System and method for unfolding/replicating logic paths to facilitate propagation delay modeling |
US7454738B2 (en) * | 2005-06-10 | 2008-11-18 | Purdue Research Foundation | Synthesis approach for active leakage power reduction using dynamic supply gating |
US7447620B2 (en) | 2006-02-23 | 2008-11-04 | International Business Machines Corporation | Modeling asynchronous behavior from primary inputs and latches |
US7490305B2 (en) * | 2006-07-17 | 2009-02-10 | International Business Machines Corporation | Method for driving values to DC adjusted/untimed nets to identify timing problems |
US7882473B2 (en) * | 2007-11-27 | 2011-02-01 | International Business Machines Corporation | Sequential equivalence checking for asynchronous verification |
US8074195B2 (en) * | 2008-06-27 | 2011-12-06 | Freescale Semiconductor, Inc. | System and method for evaluating a dynamic power consumption of a block |
US8122410B2 (en) * | 2008-11-05 | 2012-02-21 | International Business Machines Corporation | Specifying and validating untimed nets |
US8161434B2 (en) * | 2009-03-06 | 2012-04-17 | Synopsys, Inc. | Statistical formal activity analysis with consideration of temporal and spatial correlations |
US8380656B2 (en) * | 2009-10-30 | 2013-02-19 | Oracle America, Inc. | Technique for fast power estimation using probabilistic analysis of combinational logic |
US8504974B1 (en) * | 2011-09-14 | 2013-08-06 | Xilinx, Inc. | Analysis of circuit designs |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5696694A (en) * | 1994-06-03 | 1997-12-09 | Synopsys, Inc. | Method and apparatus for estimating internal power consumption of an electronic circuit represented as netlist |
-
1996
- 1996-01-12 JP JP8004183A patent/JPH09190464A/ja active Pending
-
1997
- 1997-01-13 US US08/782,285 patent/US5966523A/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007272288A (ja) * | 2006-03-30 | 2007-10-18 | Fujitsu Ltd | 消費電力算出プログラム、記録媒体、消費電力算出方法、および消費電力算出装置 |
JP4649356B2 (ja) * | 2006-03-30 | 2011-03-09 | 富士通株式会社 | 消費電力算出プログラム、記録媒体、消費電力算出方法、および消費電力算出装置 |
Also Published As
Publication number | Publication date |
---|---|
US5966523A (en) | 1999-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH09190464A (ja) | 集積回路の電力評価方法 | |
Monteiro et al. | Retiming sequential circuits for low power | |
US4791593A (en) | System for the simulation of an electronic circuit | |
US5673420A (en) | Method of generating power vectors for cell power dissipation simulation | |
JPH10254945A (ja) | アーキテクチャ電力推定方法および装置 | |
US6567959B2 (en) | Method and device for verification of VLSI designs | |
Glebov et al. | False-noise analysis using logic implications | |
Iyer | RACE: A word-level ATPG-based constraints solver system for smart random simulation | |
US7222039B2 (en) | Estimation of average-case activity for digital state machines | |
US7539958B2 (en) | Estimation of average-case activity for digital circuits | |
Yalcin et al. | An approximate timing analysis method for datapath circuits | |
US5682519A (en) | Method for reducing power consumption of switching nodes in a circuit | |
Etessami | A note on a question of Peled and Wilke regarding stutter-invariant LTL | |
Woods et al. | Efficient solution of systems of Boolean equations | |
Ubar et al. | Cycle-based simulation with decision diagrams | |
Mishchenko et al. | Efficient solution of language equations using partitioned representations | |
Hahanov et al. | Vector Simulation of Logic Faults based on XOR-Relations | |
Rakesh et al. | Glaape: Graph learning assisted average power estimation for gate-level combinational designs | |
US7630851B2 (en) | Estimation of average-case activity for circuit elements in a digital circuit | |
Miroshnyk et al. | Testable design of control digital automatic machines | |
TWI476616B (zh) | Estimation Method and Device of Initial Value for Simulation of DC Working Point | |
Zyuban et al. | Application of STD to latch-power estimation | |
US20070083350A1 (en) | Estimation of average-case activity for a digital circuit using activity sequences | |
Gavrilov et al. | Fast power loss calculation for digital static CMOS circuits | |
Meng et al. | VACSEM: Verifying Average Errors in Approximate Circuits Using Simulation-Enhanced Model Counting |