消費電力解析ツール(power analyzer)は,その名の通り消費電力を見積もるためのツールである。解析対象のLSIの設計データ(たとえば,RTL記述,ゲート・レベル・ネットリスト,トランジスタ・レベル・ネットリスト)を入力すると,そのLSIが消費する電力を算出し,チップ内部の消費電力の分布および成分(後述)を示す。また,消費電力最適化ツールとは,これらの解析技術をベースにスピードなどの設計制約を満足しながら消費電力を削減するツールである。以下ではCMOS論理LSIの消費電力解析・最適化ツールについて説明する。

CMOSの消費電力成分

 一般に,CMOS LSIの消費電力Pは,3種類の消費電力成分の和として表わせる。すなわち,

PPDPSCPLK …… (1)

である。(1)式の各項は,それぞれ充放電電流,貫通電流,リーク電流による消費電力成分である。(1)式を展開すると,下記のようになる。

PPTCLVDD2FCKPISCTSCVDDFCKILKVDD …… (2)

 ここで,

PTはスイッチング確率,

CLは負荷容量,

VDDは電源電圧,

FCKはクロック周波数,

ISCは貫通電流の平均値,

TSCは貫通電流の流れる時間,

ILKはリーク電流

である。

 大半のCMOS回路では,チップ全体の消費電力の80%が充放電電流によるもの((1)式のPD),10%が貫通電流によるもの(同PSC),数%程度がリーク電流によるもの(同PLK)と言われている。充放電電流による電力消費が大部分を占めている。

消費電力解析手法

 消費電力解析ツールは,それを適用する設計レベルによってその算出法も異なる。

 トランジスタ・レベルの消費電力解析では,チップ中の各回路を流れる電流を回路シミュレータなどで求め,その部分の消費電力を算出する方法である。解析精度は後に述べる方法に比べ最も高いが,非常に時間がかかる。このためチップ全体など大規模な解析には向かない。いくつかの高速化のための工夫が施されたツールも実用化しており,マクロ・セル程度であれば適用可能になってきている。また純粋にアナログ的な動作をする部分の解析にはこれ以外の方法はない。

 ゲート・レベルの解析では,NANDゲートやフリップフロップといった基本回路の入出力が変化したときの消費電力を回路シミュレータなどであらかじめ求めておき,それをライブラリ化しておく。前述の(1)式の消費電力成分(POPSCPLK)ともライブラリとして登録しておく。そして,基本回路の変化回数(PTFCKの積)を計算し,消費電力を求める。入出力変化の回数の計算方法は2種類ある。1つの方法は論理シミュレータを使う。論理シミュレーションを実行し,基本回路の入出力変化の回数を数える(これをダイナミック方式と呼ぶことにする)。

 もう一つの方法は,より統計的な手法である。すなわち,(a)基本回路の入力端子が変化する確率と,(b)端子の論理値が“0”になっている時間と“1”になっている時間の割合((a)と(b)をあわせて遷移確率と呼ぶ)と,基本回路の論理機能から,出力端子の遷移確率を算出する。そして,これを次段の遷移確率として伝搬させ,変化の回数を求めていく(これを統計方式と呼ぶ)。統計方式はシミュレーションのテスト・ベクトルを必要としないため,比較的設計の早期に相対的な傾向を把握するために用いられる。

 RTLの解析でも,ライブラリ化された基本回路の消費電力およびその入出力の変化回数をベースに計算を行なう。これは前述のゲート・レベル解析と同様である。ただし,ゲート・レベルよりも高い抽象度で表された記述をライブラリの基本回路と対応付けなければならないため,仮の論理合成(スピードなどの制約が緩い論理合成)を行なう,あるいは実際にどのような回路として具体化されるか推定する,という手順が必要となる。

 また回路の変化回数の計算の方法もゲートレベル同様ダイナミックな方式,統計的な方式の2通りが用いられる。ダイナミック方式ではRTLの論理シミュレータが用いられる。RTLでの解析は一部推定に基づき計算が行なわれるため,絶対的な精度は前述のトランジスタ・レベル,ゲート・レベルに劣ると言われている。しかし設計の早期に適用できること,高速にチップ全体など大規模な解析が行なえることが利点である。

消費電力の最適化ツール

 CMOSの消費電力を削減するには,前述の消費電力成分のそれぞれを低減すればよい。すなわち回路が所望の機能,スピードを達成できる範囲でスイッチング回数を減らす,負荷容量を減らす,電源電圧を下げるなどの対策を打つ。たとえばゲート・サイジング(駆動能力が不足している論理ゲートはより大きな駆動能力をもつ論理的等価な論理ゲートに置き換える,逆に余裕のある部分は小さな駆動能力のものに変える)の機能は回路の動作スピードを達成するための技術であるが,必要最低限の大きさの論理ゲートを用い負荷容量を低減しているという意味で消費電力も最適化している。

 現在の消費電力最適化ツールで,論理合成技術と消費電力解析技術を組み合わせ,スイッチング回数が多い部分の負荷容量を減らすように論理の構造を変える,クロック・ゲーティング(ある条件の場合に動作させなくても良い回路はその期間中クロックの供給を停止する)を自動的に行なうなどがすでに実用化されている。こうしたツールでどのくらい消費電力削減の効果があるかは設計に依存するため一概には言えないが,効果を上げるためには単にツールだけでなくライブラリにも低消費電力の回路を準備しておく必要がある。また,より自由度の高い設計の上流で消費電力を削減しようとする試みが研究レベルで行なわれており,今後自動化ツールとして実用化していくと思われる。

設計現場への普及

 消費電力解析・最適化ツールはこれまであまり設計現場に普及していなかった。その理由の一つとしては,従来LSIの開発が性能優先で進んできたため,消費電力削減はどうしても優先順位が低くなってしまっていたことが挙げられる。もう一つの理由は,消費電力の削減は設計の上流で行なうほど効果が大きいものの,設計上流において精度良く消費電力を解析しそれを設計にフィードバックする仕組みが整っていなかったためである。

 しかし,近年携帯機器の普及などでLSIの低消費電力化へのニーズは高まる一方である。また,このまま従来どおり消費電力が増加の一途をたどるとCMOSでの集積そのものが限界を迎えてしまうため,今後消費電力削減は避けては通れない課題となる。これに伴い消費電力解析・最適化ツールも今後設計現場への普及が進み,解析や最適化の技術もより効果が大きい設計上流で適用できるものを中心に進歩していくと考えられる。


(99. 9. 6更新)

このEDA用語辞典は,日経エレクトロニクス,1996年10月14日号,no.673に掲載した「EDAツール辞典(NEC著)」を改訂・増補したものです。