(57)【要約】【課題】  短時間で精度よく電子回路に含まれる要素の状態が変化する確率（動作率）を求めること。【解決手段】  第１、第２、第３のデータベース１〜３から、対象となる電子回路のネットリストと、各マクロセルの入力端子に与えられる動作率Ａと入力端子がハイレベルである確率Ｐと、該マクロセルの真理値表を読み込む。動作率計算・伝播手段４は、上記マクロセルの入力端子に与えられる動作率Ａと入力端子がハイレベルである確率Ｐと、該マクロセルの真理値表に基づき、各マクロセルの出力端子の動作率と、出力端子がハイレベルである確率を求め、これを入力段のマクロセルから最終段のマクロセルまで伝播させることでネットリスト中全てのマクロセルの動作率を決定する。【選択図】          図１
2005141538.tif 000002
【特許請求の範囲】
【請求項１】
ネットリストの各入力端子に動作率と入力端子がハイレベルである確率とを与え、ネットリスト内の全マクロセルの動作率を決定する電子回路の動作率計算方法であって、
ネットリストのマクロセルの入力端子に与えられる上記動作率と、該入力端子がハイレベルである確率と、該マクロセルの真理値表に基づき、該マクロセルの出力端子の動作率と、出力端子がハイレベルである確率を求め、
上記求めたマクロセルの出力端子の動作率と、出力端子がハイレベルである確率を次の段のマクロセルの入力端子に与え、次段のマクロセルの入力端子の動作率と入力端子がハイレベルである確率と、次段のマクロセルの真理値表に基づき、次段の出力端子の動作率と、出力端子がハイレベルである確率を求める動作を繰り返し、ネットセル内の全マクロセルの動作率を決定する
ことを特徴とする電子回路の動作率計算方法。
【請求項２】
ネットリストの各入力端子に動作率と入力端子がハイレベルである確率とを与え、ネットリスト内の全マクロセルの動作率を決定する電子回路の動作率計算装置であって、
ネットリストと、該ネットリストに含まれる全マクロセルの真理値表と、
各マクロセルの入力端子に与えられる動作率と、該入力端子がハイレベルである確率と、上記マクロセルの真理値表に基づき、各マクロセルの出力端子の動作率と、出力端子がハイレベルである確率を計算する計算手段と、
上記計算手段により求めたマクロセルの出力端子の動作率と、出力端子がハイレベルである確率を、次段のマクロセルの入力端子に与え、ネットリストに含まれる各マクロセルの入力端子に、マクロセルの接続順に上記計算手段で計算された動作率と、該入力端子がハイレベルである確率を伝播させる手段を備えた
ことを特徴とする電子回路の動作率計算装置。
【請求項３】
ネットリスト内の全マクロセルの動作率を、ネットリストの各入力端子の動作率と入力端子がハイレベルである確率に基づき決定する電子回路の動作率の計算プログラムであって、
上記プログラムは、ネットリストのマクロセルの入力端子に与えられる上記動作率と、該入力端子がハイレベルである確率と、該マクロセルの真理値表に基づき、該マクロセルの出力端子の動作率と、出力端子がハイレベルである確率を求める処理と、
上記求めたマクロセルの出力端子の動作率と、出力端子がハイレベルである確率を次の段のマクロセルの入力端子に与える処理を、ネットリストに含まれる全マクロセルについてコンピュータに繰り返し実行させる
ことを特徴とする電子回路の動作率計算プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＬＳＩ等の電子回路に含まれる要素の動作率を、比較的少ない計算時間で求めることができる動作率の計算方法及び装置並びにプログラムに関する。
【背景技術】
【０００２】
ＬＳＩなど半導体装置の高密度化に伴い発熱量も増大しており、ＬＳＩの消費電力を正確に推定したいという要求がある。ＬＳＩ等の電子回路の消費電力を推定する方法としては、回路に所定のテストパターンを与えて、論理シミュレータにより各信号線のスイッチ回数を求め、信号線の配線容量とスイッチ回数から消費電力を求める方法が知られている（例えば特許文献１参照）。
また、特許文献２には、入力信号の変化確率と出力信号の変化確率との間の式を利用して、ある要素への入力信号の変化確率から出力信号に伝達する各信号線における信号の変化確率を求め、各信号線の変化確率と、各信号線の負荷との積を総和して消費電力を推定する方法および装置が記載されている。
【特許文献１】特開平２−１７１８６１号公報
【特許文献２】特開平８−６９８０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
前記特許文献１，２に記載されるように、各信号線のスイッチ回数や変化確率が求まれば、電子回路の消費電力を求めることができる。
しかしながら、入力パターンを用いた回路シミュレーションを行う方法では、入力パターンの作成およびシミュレーションに時間がかかりすぎるという問題があった。
また、前記特許文献２に記載される方法によれば、テストパターンを用いた論理シュミュレーションを行う必要はないが、特許文献２に記載される方法は、各入力信号ＩＰi の変化に応じて各出力信号ＯＰｉが変化する確率ＰｖＯi-1 を真理値表から求め、この変化確率ＰｖＯi-1 と、各入力信号ＩＰi の変化確率ＰｖＩi との積を各入力信号について加算することで、出力信号の変化確率を入力信号の変化確率の関数として表わし、この関数を用いて消費電力を推定しているので精度が充分なものではないという問題があった。
本発明は、上記事情を考慮してなされたものであって、本発明の目的は、入力パターンの作成とシミュレーションが不要となり、短時間で精度よく電子回路に含まれる要素の状態が変化する確率（動作率）を求めることができる電子回路の動作率計算方法および装置を提供することである。
【課題を解決するための手段】
【０００４】
本発明では、ネットリストの各マクロセルの入力端子に与えられる動作率Ａと、該入力端子がハイレベルである確率Ｐと、該マクロセルの真理値表に基づき、該マクロセルの出力端子の動作率と、出力端子がハイレベルである確率を求める。
これを入力段のマクロセルから最終段のマクロセルまで伝播させることでネットリスト中全てのマクロセルの動作率を決定する。
すなわち、上記求めたマクロセルの出力端子の動作率と、出力端子がハイレベルである確率を次の段のマクロセルの入力端子に与え、次段のマクロセルの入力端子の動作率と入力端子がハイレベルである確率と、次段のマクロセルの真理値表に基づき、次段の出力端子の動作率と、出力端子がハイレベルである確率を求める動作を繰り返し、ネットセル内の全マクロセルの動作率を決定する
上記のように、マクロセル動作率を求めることで、入力パターンの作成とシミュレーションが不要となり、短時間で精度よく動作率を求めることが可能となる。
【発明の効果】
【０００５】
本発明においては、以下の効果を得ることができる。
（１）入力パターンが不要なため、パターン作成の工数が不要となる。また、シミュレーションを行わないため、大幅な計算時間の削減となる。
（２）各マクロセルの出力端子の動作率を入力端子の動作率ＡとＨである確率Ｐを用いた計算式で求める。これを入力段のマクロセルから最終段のマクロセルまで伝播させることでネットリスト中全てのマクロセルの動作率を決定しているので、精度よくマクロセルの動作率を求めることができ、これにより、ＬＳＩなどの電子回路の消費電力を精度よく求めることが可能となる。
【発明を実施するための最良の形態】
【０００６】
以下、本発明の実施の形態について説明する。なお、以下の説明では、ＬＳＩの各マクロセルの動作率を求める場合について説明するが、本発明はＬＳＩ以外の各種電子回路の動作率を求める場合にも適用することができる。なお、ここで、動作率とは、状態が変化する確率であり、例えば、１００００回クロック信号が入力されたときに状態が変化した回数が１０００回であれば、動作率は１０パーセントになる。
図１は本発明の実施例の装置の概略構成を示す図である。
同図において、１は対象となるＬＳＩのマクロセル相互の接続情報を示すネットリストを格納した第１のデータベース、２は対象となるＬＳＩの全入力端子の動作率Ａi と該入力端子がハイレベル（以下”Ｈ”と略記する）である確率Ｐi を格納した第２データベース、３は上記ネットリストに含まれるマクロセルの真理値表を格納した第３のデータベースである。
４は、動作率を計算し伝播させるための動作率計算・伝播手段であり、例えばＣＰＵとメモリと外部記憶装置と入出力装置等から構成される処理装置で構成することができ、上記外部記憶装置には、本実施例の動作率を計算するためのプログラムが格納され、実行時、該プログラムが上記メモリに格納されて上記プログラムが実行され動作率を計算するための処理が行われる。上記動作率計算・伝播手段４で求めた全内部ノードの動作率は、出力ファイル５に出力される。
【０００７】
図２は上記動作率計算・伝播手段４の機能構成を示すブロック図である。
図２において、ネットリスト読み込み手段４ａは、上記第１のデータベース１からマクロセル相互の接続情報を示すネットリストを読み込む。図３は、上記ネットリストの一例を示す図であり、ネットリストは、例えば同図に示すようにＬＳＩに含まれるマクロセルＭ１，Ｍ２，…，相互の接続関係を示したものである。
動作率・確率読み込み手段４ｂは、上記第２データベース２から、ＬＳＩの全入力端子の動作率Ａi と確率Ｐi を読み込む。例えば、図３のネットリストの場合、マクロセルＭ１、Ｍ２、Ｍ３の入力端子の動作率Ａi とＨである確率Ｐi を読み込む。
真理値表読み込み手段４ｃは、上記第３のデータベースから、ＬＳＩに含まれる全マクロセルの真理値表を読み込む。
上記読み込まれたネットリスト、動作率Ａi と確率Ｐi 、真理値表はそれぞれ記憶手段４ｄ、４ｅ、４ｆに格納される。
【０００８】
動作率計算手段４ｇは、上記記憶手段４ｄに記憶されたネットリストから得られるマクロセルの接続関係、記憶手段４ｅに格納された全入力端子の動作率Ａi と確率Ｐi 、及び、記憶手段４ｆに格納された真理値表に基づき、全内部ノードの動作率を計算する。
すなわち、まず上記記憶手段４ｅの動作率Ａi と確率Ｐi をバッファ４ｈに格納する。ついで、バッファ４ｈに格納された全入力端子の動作率Ａi と確率Ｐi と、上記真理値表に基づき、上記入力端子に接続されたマクロセルの出力端子の動作率、確率を計算し、計算された動作率、確率をバッファ４ｈに格納する。そして、上記バッファ４ｈに格納された動作率・確率と、上記マクロセルの接続関係、真理値表を用いて、上記出力端子に入力端子が接続されたマクロセルの出力端子の動作率・確率を計算し、上記バッファ４ｈに格納する。この動作をＬＳＩに含まれる全マクロセルについて順次行い、全内部ノードの動作率を計算する。
【０００９】
全内部ノードの動作率が求まると、上記バッファ４ｈに保持された全内部ノードの動作率は、動作率出力手段４ｉを介して出力ファイル５に出力される。
上記のようにして求めた動作率から、対象となるＬＳＩの消費電力Ｐは例えば、以下の式で求めることができる。
Ｐ＝Ｖ2 ×Ｆ×Σ（Ａi ×Ｃi ）
ここで、Ａi はノードｉの動作率、Ｃi はノードｉの容量、Ｆは周波数、Ｖは電源電圧である。
【００１０】
以下、上記動作率の求め方について、例を用いて具体的に説明する。
ここでは、ネットリスト中に、例えば図４（ａ）に示す２入力ＮＡＮＤがあった場合について説明する。
この２入力ＮＡＮＤの入力端子Ａの動作率Ａ1 とＨである確率Ｐ1 、及び、入力端子Ｂの動作率Ａ2 とＨである確率Ｐ2 が与えられ、この２入力ＮＡＮＤの真理値表が与えられたとき、出力端子Ｘの動作率は次のように求まる。
まず、出力端子ＸがＨである確率Ｐx は、図４（ｂ）に示す上記２入力ＮＡＮＤの真理値表から以下の（１）式で求まる。
【００１１】
【数１】
2005141538.tif 000003
【００１２】
次に、 上記真理値表から状態遷移図は図４（ｃ）の様に求まる。ここから出力端子Ｘの動作率Ａx は次の（２）式により求められる。
【００１３】
【数２】
2005141538.tif 000004
【００１４】
上記のようにして求めた出力端子の（Ａx , Ｐx ）を次段マクロセルの入力端子i の（Ａi , Ｐi ）とする。これをネットリストの入力端子から出力端子まで伝播させることでネットリスト内の全マクロセルの動作率を求めることが出来る。
本実施例では、上記のように出力端子の動作率を計算しているので、前記特許文献２に比べて、精度よく動作率を求めることができる。
すなわち、前記特許文献２に記載のものは、マイクロライブラリの中に各入力が変化した場合に、出力が変化する確率を持っているが、その計算には、入力の状態の影響が考慮されておらず、このため、本実施例のものより精度が低くなる。
例えば上記図４の２入力ＮＡＮＤにおいて、２入力ＮＡＮＤの入力Ｂの値が０（動作率＝０）の場合について考えると、この場合には入力Ａが動作しても、出力は動作しないはずである。特許文献２に記載のものでは、動作率ＰｖＯo は以下の式で表わされる。
ＰｖＯo ＝ＰｖＯa-x ×ＰｖＩa ＋ＰｖＯb-x ×ＰｖＩb 
＝ＰｖＯa-x ×ＰｖＩａ
ここで、ＰｖＯa-x は入力Ａが変化した場合に出力Ｏが変化する確率、ＰｖＩa は入力Ａの変化確率、ＰｖＯb-x は入力Ｂが変化した場合に出力Ｏが変化する確率、ＰｖＩb は入力Ｂの変化確率であり、この場合、ＰｖＩb ＝０となる。
すなわち、入力Ｂの値が０（動作率＝０）の場合でも、出力Ｏの動作率は０にならない。これに対し、本実施例では、上記入力Ｂの０が考慮されるので、出力Ｏの動作率＝０となる。
上記場合は、入力Ｂ＝０という極端な例であるが、入力端子がＨである確率が０．５から離れるに従って、本実施例の方が動作率の計算精度が高くなる。
【００１５】
図５は、本実施例の動作率を算出する処理を示すフローチャートである。
図５において、まず、ネットリストを格納した第１のデータベース１からネットリストを読み込む（ステップＳ１）。ついで、全入力端子の動作率Ａi 、Ｈである確率Ｐi を格納した第２のデータベース２からマクロセルの入力端子の動作率Ａi 、Ｈである確率Ｐi を読み込み、バッファ４ｈに格納する（ステップＳ２）。さらに、全マクロセルの真理値表を格納した第３のデータベースから真理値表を読み込む（ステップＳ３）。
次に、動作率計算手段４ｇは、ネットリストを参照して、マクロセルの全入力端子の動作率Ａi 及びＨである確率Ｐi が、上記バッファ４ｈに格納されたマクロセルを選択する（ステップＳ４）。
そして、このマクロセルの入力端子に上記動作率Ａi 、確率Ｐi を与え、このマクロセルの真理値表を参照して、前記したように、このマクロセルの出力端子の動作率、確率を計算し（ステップＳ５）、計算した結果をバッファ４ｈに格納する（ステップＳ６）。
上記ステップＳ４〜ステップＳ６の処理を全マクロセルについて処理が終わるまで繰り返す。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施例の装置の概略構成を示す図である。
【図２】本発明の実施例の動作率計算手段の機能構成を示すブロック図である。
【図３】ネットリストの一例を示す図である。
【図４】２入力ＮＡＮＤの場合の動作率の計算方法を説明する図である。
【図５】本発明の実施例の動作率を算出する処理を示すフローチャートである。
【符号の説明】
【００１７】
１    ネットリストを格納した第１のデータベース
２    動作率Ａi と確率Ｐi を格納した第２データベース
３    真理値表を格納した第３のデータベース
４    動作率計算・伝播手段
４ａ  ネットリスト読み込み手段
４ｂ  動作率・確率読み込み手段
４ｃ  真理値表読み込み手段
４ｄ  記憶手段
４ｅ  記憶手段
４ｆ  記憶手段
４ｇ  動作率計算手段
４ｈ  バッファ
４ｉ  動作率出力手段
５    出力ファイル
【図１】
2005141538.tif 000005
【図２】
2005141538.tif 000006
【図３】
2005141538.tif 000007
【図４】
2005141538.tif 000008
【図５】
2005141538.tif 000009