雑誌無償購読申込み 最新号 バックナンバー 広告資料請求 EDN Japanについて お問合せ
雑誌無償購読申し込み
メールニュースレター登録
登録内容変更
アナログ IC/ディスクリート
電源/電池/コントローラー
PLD / メモリー
組み込みシステム
コンピュータ&ボード
EDA/IP/CAE/ソフトウェア
電子部品
計測器
ディスプレイ
デジタル家電
通信・ネットワーク
カーエレクトロニクス/産業機器
EDN Japan 記事検索
検索方法の詳細
雑誌無償購読申込み ニュースレター登録 この記事に対する感想/ご意見
designfeature
2005年4月号
正確な消費電力の解析が
優れたSoC設計をサポート


SoCの設計では、消費電力をいかに早期に、かつ精密に見積もることができるかが最大の課題となっている。そこで、すべての設計フローにおいて、RTL*の段階から消費電力を予測するための手法が必要になってきている。ではどんな技術が使われているのか。その実態と課題を探ってみたい。

James P Flynn*
 携帯型、据え置き型にかかわらず、電子機器の設計・開発において、SoC*の消費電力を予測できる精度の高い技術が不可欠になってきている。例えば、携帯電話のSoCには電圧や周波数のスケーリングが必要であるとか、ネットワークルーターのSoCは電気スタンドと同程度の電力を消費するとか、といったことを設計者は知っておく必要がある。消費電力を設計時にあらかじめ見積もっておくことや、省電力化の手法を効果的に適用することによって、はじめて設計者はSoCの消費電力を決めることができる。設計フロー全体にわたって、消費電力解析を行うことは、設計者が消費電力の問題に早期に取り組むことになり、消費電力の超過を事前に防ぐことができる。結果として、長期間にわたる設計やり直しを行わなくても済むことにつながるのだ。
Advertisement


設計フローで適用される解析手法

 4つの解析手法が、論理合成の前、概略論理合成の結果、完全な論理合成の後、そして配置・配線の後などの、設計フローのさまざまなところで適用されている。5番目の手法は、設計者が論理合成以降どの工程でも使える、スイッチング動作の状況を見積もるための「ベクトルレス技術」である。表1は消費電力解析と関連する消費電力の最適化手法を設計フローに即して示したものだ。
 ほとんどの消費電力解析手法は、ゲートレベルの表記に依存しており、設計フローにおける消費電力を評価する時点では、すでに省電力化を十分にできる機会を逸している。例えば、システムレベルやアルゴリズムレベルにおいては、直列処理よりも並列処理の方が、クロック周波数を低く抑えられ、大幅な消費電力の削減が図れるのだ。
 具体的には、直列処理の設計では、初期の設計モデルでチップの消費電力を非常に大きな値で見積もらなくてはならないものが、アーキテクチャを変更し、並列に処理させるようにすると、論理回路のクロック周波数を80MHzから10MHzにまで下げられる。同様に電源電圧も1.8Vから1.25Vに低減できる。並列処理論理回路は直列処理論理回路よりもかなり大規模になるが、電源電圧と動作周波数を低減することができ、消費電力も75%にまで削減できるのだ。この場合の並列処理化は実にうまくいく。理由は、消費電力と電圧の関係が二次関数で、周波数とスイッチングの関係は線形関数だからだ。面積が増えることによる代償はわずかなものであるが、消費電力の低減効果は大きい。従ってこのトレードオフを検討する価値はある。
 しかし、設計のいかなるレベルにおいても、消費電力に関連するトレードオフは、設計者の電力消費を解析する能力に依存しており、設計変更は早ければ早いほどよい。ある解析手法では、RTLでの消費電力を見積もるのに表計算ソフトを使用する。別の手法では、ツールレポートを使っている。そして、設計やライブラリ情報が加わるにつれ、各段階でますます正確な結果が得られるようになる。ベクトルレスの解析手法は、静的タイミング解析がタイミング全域に対応できるのと類似した「フルパワー対応」を得るための手法を提供する。
 表2は解析手法の要約である。静的消費電力および動的消費電力の詳細については、p.68の囲み記事「SoCはどこで電力を消費するのか」を参照していただきたい。今回のレポートは動的消費電力に焦点を当てているが、130nmより微細プロセスでは、リーク電力がますます重要になってきていることにも注意すべきである。

初期段階での消費電力解析

 設計フローの最も早い段階では、表計算ソフトによる消費電力解析が大まかではあるが、設計時の見積もりとして役に立つ。設計者がまだライブラリを選択していない場合は、この解析が電力を重視した最良のライブラリとアーキテクチャを示してくれる。ライブラリの選択が終わり、米Synopsys社のツール「Design Compiler」と「Power Compiler」を使って、表計算で使う値を算出する。消費電力解析をする表計算には、大まかなゲート数、ブロック当たりのアクティビティ数の概算値、ライブラリベンダーのμW/MHzデータ、そして相対電力見積もり値を使う。そして、この時点の解析で、現時点の設計では非常に多くの電力を消費し、実用的でないということが分かるのだ。こうして、コーヒーカップの保温器としてしか使えないようなチップを作るための、何週間にもわたる作業が避けられる。
 表計算ソフトによる解析手法では、各ブロックのゲート数(各タイプにおけるライブラリセルの数)とアクティビティのレベルの見積もりを必要とする。また、各セルタイプの切り替えにより消費されるエネルギーの量に関する情報も必要である。ライブラリベンダーのマニュアルにあるデータは、動作周波数に対する大まかな電力の値(μW/MHz)の割り付けを容易にしている。設計者は、ある特定のタイプのセルに対するブロックの内部消費電力を、「消費電力=ゲート数×μW/MHz×アクティビティ×周波数」として計算する。
 ブロック内にあるすべての形式のセル消費電力値を合計すると、ブロック全体の内部アクティブ消費電力の見積もりが得られる。論理合成を実行する前に、設計者は、アーキテクチャの選択と設計内容の把握に基づいたゲート数の見積もりをしなければならない。例えば、バスサイズや語長、制御レイヤー、メモリーの深さなどの特性から、大まかなゲート数を得ることができる。ライブラリを選択し、初期の論理合成を実行した後に、設計者は合成ツールのレポートを使うことによってブロックのゲート数の見積もりや、設計の各インスタンスタイプの数を示すことができる。アクティビティ・レベルを割り付けることが、消費電力計算の大事なポイントである。ゲート設計では、スイッチング・アクティビティを抽出するためにシミュレーションをしたり、あるいはシミュレーションなしで見積もったりすることのできる異なったアクティビティ・レベルを持っている。しかしながら、ライブラリを選択した後に機能シミュレーションを実行し、スイッチング・アクティビティを決定する方が良い方法だ。
 設計者はトグルレートによってスイッチング・アクティビティを評価する。トグルレートは、設計オブジェクト(例えばネットやピン、ポートなど)の論理“0”から論理“1”、および論理“1”から論理“0”への単位時間当たりの遷移の数と等しい。100nsの間に論理“0”から論理“1”へ50回、論理“1”から論理“0”へ50回の遷移をするアクティビティを持つネットは、トグルレートが1である。10nsの間に論理“0”から論理“1”へ5回、論理“1”から論理“0”へ5回の遷移をするアクティビティを持つネットもまた、トグルレートは1である。これらの例が示すように、トグルレート1とは、1ns当たりの1アクティビティの遷移を示す。内部回路の状態がそれに与えられた時間内で変化するためにはいくらかのエネルギーが必要であることを理解することによって、消費電力とトグルレートを関連付けることができる。

RTL消費電力解析

 どの抽出レベルで消費電力を見積もっても、スイッチング・アクティビティがチップの実際の動作を示していれば、意味があるということに注意すべきである。よくある誤りは、システムブート・シーケンスをシミュレーションするベクトルセットを使用することである。このアクティビティは実際に動作することはほとんどなく、消費電力の見積もりも不正確である。RTLシミュレータは自動的に、SAIF*ファイルを生成するが、アクティビティの値はベクトルセットが現実的なものである場合に限って、正確なものとなる。しかしどんなツールもそのようなべクトルセットを生成できない。なぜならば、そのタスクは、回路の意図に対する理解を必要とするからだ(記事の後半で紹介するベクトルレス解析技術では、別の方法でアクティビティの値が得られる)。
 ある消費電力解析ツールでは、SAIFファイルを使用してライブラリや制約条件を定義し、電力を見積もるために設計に注釈(annotation)を付けることができる。Synopsys社のPower Compilerによると、非注釈のスイッチング・アクティビティは、ポジティブエッジあたり0.25トグルであるとしている。このツールはブロック全体でこの値を適用し行き渡らせている。表3は、表計算方式を使って見積もった結果の例である。設計者はこの方式を使用して内部電力を計算した後、スイッチング電力を内部電力の30%として見積もることができる。正確な負荷やスイッチング・データがなければ、技術者はこの値を概略見積もりとして扱う必要がある。このような見積もりは、チップの実際の消費電力を予測するというよりも、さまざまな設計戦略での電力の関係を比較するのに役立つ。しかしながらRTL段階での概略見積もりは、設計が容認できないほど熱くなるという警告を、早い段階で示しているのだ。

リーク電力の見積もり

 スイッチング電力は、通常、初期の解析で決定すべき最も重要な値であるが、各タイプのセルのリーク電流データに基づいて、リーク電力を見積もることもできる。リーク電流はハイとローの状態では異なるので、信号が一定の論理状態にある静的な確率に基づいてリーク電力解析を行わなければならない。
 静的な確率は信号の機能に応じて、“0”と“1”の間の値を取る。例えば、通常アクティブ・ローのリセット信号は、論理“1”の静的な確率(SP1)が高く、ほぼ1.0(100%)である。データバスの信号に関しては、アーキテクチャ上の特性がほかの値を示さなければ、SP1の値を0.5(50%)と見なすことができる。ライブラリを選択した後は、シミュレーション中に、信号が、特定の論理状態にある時間と全体のシミュレーション時間とを比較することによって、静的な確率を計算できる。

ゲートレベルの消費電力解析

 論理合成を実行した後、設計者は実際のゲート数やシミュレートしたアクティビティに基づき、かなり正確な電力見積もりが可能になる。この時点での不正確さの最大の要素は、アクティビティと配置・配線前の配線負荷の値である。設計者はゲートレベル・シミュレーションからSAIFファイルを生成することで、精度を向上させることができる。シミュレーションのベクトルが実際のアプリケーションの振る舞いを表している場合にのみ、アクティビティの値は正確なものとなる。負荷の値に関しては、Synopsys社の「Physical Compiler」などのツールを使うことで、フィジカル最適化の後に精度を向上させることができる。また、シュタイナーの最短配線、寄生抵抗や寄生容量の見積もりを注釈するSPEF*ファイルも生成できる。配置・配線を実行した後、ゲートレベルのシミュレーションを行うと、VCD*ファイルを生成できる。VCDファイルはシミュレーション中の信号値の変化を記録し、設計のノード・アクティビティ、構造的データの階層接続性、パス遅延、タイミングおよびイベント情報などを提供する。
 I/Oチップが多数あり、高速での切り替えや、長い配線を引き回す場合には、大幅に精度が低下することがある。I/Oの集中負荷モデルは、大変悲観的な結果となることがある。設計の目標が最悪条件での消費電力の見積もりではなく、精度の高い見積もりを求めている場合には、問題となりかねないからだ。より高精度に見積もるためには、正確な分布定数モデルを持つ重要なI/Oセルを、Synopsys社の「HSpice」でシミュレーションすることができる。立ち上がりエッジ/降下エッジごとの電荷やエネルギーを決定する数値的な手法を用いることで、I/Oセルの消費電力を計算できる。Synopsys社のHSpiceが出力した電流と時間を考え、台形積分法(例えば、Matlab)でトランジェントあたりの内部エネルギーを計算することができる。解析中に記録されたI/Oアクティビティを使用して、I/O電力をスケーリングすることも可能である。最終的にすべてのI/O電力をコア電力と合算し、全体の電力見積もりをする。今まで述べてきた方法を使った電力見積もりの違いを示すために、図1でDSP設計のあるブロック(高速FIRフィルター)に基づいた例を挙げた。この例では、設計や実装サイクルのフェーズで利用可能な情報の精度が、電力見積もりに及ぼす影響について明らかにしている。

ベクトルレス消費電力解析

 これまでに紹介した消費電力解析手法は、シミュレーションデータからスイッチング・アクティビティを導き出してきたが、このアプローチにはさまざまな制約がある。回路のゲートレベルの記述により、スイッチング・アクティビティを得ることが可能だが、それは非常に困難でもある。
 まず設計の規模がゲートレベルでシミュレーションを行うには大き過ぎるのだ。また不完全なネットリストにより、ゲートレベルのシミュレーションを不可能にしてしまうような精度の低いタイミングになってしまうからだ。

 テストベンチやテストケース、あるいはその両方が欠如しており、最大電力の使用を強要されることもある。シミュレーションのテストケースは、しばしば、電力解析に必要なスイッチング・アクティビティの値の生成に失敗することもある。最大の電力消費を引き起こすケースをカバーしたことを検証するのは、困難である。この不確かさは、タイミングを検証するためにシミュレーションを使用する問題と似ている。すべてのタイミングパスがカバーされているという確実性はない。この不確かさのために静的タイミング解析はタイミング検証に大きくとって代わられてしまった。
 設計者はベクトルレス技術を使って、消費電力解析のために同程度のことを達成できる。この技術では、設計者はアーキテクチャ的に安定した設計のすべての部品(ポートやレジスタ)について最悪条件でのスイッチングの値に注釈をつけておく。精度を最大にするためには、技術者は統計的/発見的な計算に基づいたポートやレジスタのスイッチング速度を、設計全体に行き渡らせる必要がある。消費電力解析ツールは自動的にこのタスクを設計のすべての論理構造で実行し、ネット・スイッチング・レポートを作成する。その後、設計者はPerlスクリプトを使ってレポートのデータを処理し、一連のネットスイッチング・アクティビティ・アノテーション・コマンドにする。これらのコマンドは、ツールを駆動し、すべてのネットに適切なスイッチング・データで注釈をつける。設計者は先述したすべての消費電力解析方式で、これらを使用できる。統計的な伝播技術により、設計者はすべてのネットの完全な注釈が非実用的な場合には、ポートやレジスタのスイッチングに対して否定的な値を指定できる。このアプローチにより、今日のSoC設計に必要な現実的な消費電力の値が得られるのである。

SoCはどこで電力を消費するのか
 
 チップが消費する合計電力は、動的電力と静的電力の和に等しい。動的電力とは、論理回路をスイッチングする際に消費される電力のことであり、セル内部(内部電力)とチップ内の配線負荷および外部負荷(スイッチング電力)を駆動するためのものである。「動的電力=CV2F」で計算される。この式においてCは負荷、Vは振幅電圧、そしてFは論理遷移の数である。
 半導体の構造が微細化するにつれ、相互接続する静電容量は減少し、より高性能、低消費電力が可能になる。これらの要因に逆行するのは、設計の大規模化とスイッチング周波数の高速化による電力の増大である。半導体はトランジスタがスイッチング動作をしていないときも、静的電力(リーク電力)を消費する。リーク電力=VISTATで求められる。
 トランジスタはドレーンから基板へ、ある程度の逆バイアスがかかった状態でのリーク電流があるが、ほとんどのリーク電力は、オフ状態のトランジスタを通したサブスレッショルドリーク電流によるものである。このサブスレッショルドリーク電流は、トランジスタ・チャネルを介したソースとドレーン間の導通に起因している。
 サブスレッショルドリーク電流は、トランジスタのしきい値電圧(VTH)の低下に伴い、増加するので問題である。実際、加工寸法が130nm以下になると、リーク電力は全チップ電力の50%にまで増大するかもしれない。増大したリーク電力により、チップは待機時でさえも、信頼性にかかわる故障の可能性が指数関数的に増えるかもしれない。CMOS技術の微細化が進むにつれて、消費電力を削減するための主なアプローチは、供給電圧VDDを下げることになった。電圧スケーリングは電力の削減に関し、チップの動的消費電力を電圧の2次効果により制御するための良いテクニックである。しかしながら、供給電源を単に低下させるだけでは、回路のスピードを低下させてしまう。
 なぜなら、スイッチングの遅延時間は、負荷の容量とVTH/VDDの比に比例しているからである。
 高速スイッチングのための十分な駆動力を維持するためには、VTHをVDDに比例して低下させなければならない。この関係は、リーク電力の増加につながる。しかし幸いにも、消費電力を意識した設計フローにより、さまざまな消費電力目標でタイミング要求とのバランスを取ることができる。
▲本文へ戻る
 

用語解説 / 会社情報
【RTL】
register transfer level
レジスタ転送レベル
▲本文へ戻る
【SoC】
system on chip
▲本文へ戻る
【SAIF】
Switching Activity Interchange Format
▲本文へ戻る
【SPEF】
Standard Parasitic Exchange Format
▲本文へ戻る
【VCD】
value change dump
値変更ダンプ
▲本文へ戻る
【James P Flynn*】
James P Flynn氏は米Synopsys社Professional Services部門(www.synopsys.com/sps)の上級IC設計技師。アナログIC設計で米フロリダ工科大学(Florida Institute of Technology)の修士号を取得。
▲本文へ戻る
雑誌無償購読申込み ニュースレター登録 この記事に対する感想/ご意見
Reed Electronics Group
Electronic BUSINESS Japan | Design News Japan | Semiconductor INTERNATIONAL | DETAIL JAPAN
EDN Japanについて | 広告掲載について | サイトマップ | お問合せ
 Copyright (C) 2000-2007 Reed Business Information Japan K.K. 
個人情報に関する方針 | 著作権・リンクについて | 会社情報