メディア

ICの電力管理、最大の課題は検証手法(1/3 ページ)

微細プロセスにおけるリーク電流への対策に端を発し、ICに新たな消費電力削減手法が適用されるようになった。それらの手法は、考え方自体はシンプルで実効性も高いのだが、ICの設計をより複雑にするという側面も持つ。特に、検証工程については、確固たる方法論が確立されないまま今に至っている。この問題に対し、IC業界はどのように取り組んでいるのだろうか。

» 2009年02月01日 00時00分 公開
[Ron Wilson,EDN]

「検証」が大きな課題に

 昨今のIC設計では、すべての工程において、消費電力を削減するための方策が求められる。個々のブロックや回路に施される消費電力低減のための手段は、ますます大掛かりで、ほかへの影響が大きいものになりつつある。

 消費電力の削減に向けたこれまでの取り組みは、かなりの成果を上げていると言えよう。しかし、その代償として設計の複雑さに拍車がかかっている。各種技術カンファレンスでは、その種の話題が取り上げられるケースが増えている。そうした場で議論の対象となることは意外に少ないのだが、実際には非常に深刻な問題が1つある。それは、検証プロセスに及ぼされる多大な影響である。

 電力の削減に向けたより積極的な手段は、機能検証を複雑にする。最悪のケースでは、1つの設計に対する検証を不可能にしてしまうこともある。筆者らは、この新しい検証の問題に設計者らがどのように対処しているのかを調査するために、米国、欧州、アジアの設計チームに話を聞いた。

 なお、多くの電力管理手法は、いくつかのカテゴリに分類することができる。削減のターゲットとなるのは、スタティック電力(主にリーク電流によって消費される電力)とダイナミック電力(トランジスタのスイッチング動作に伴って消費される電力)である。スタティック電力を低減するための方法は、簡単に言えば、閾(しきい)値電圧の高いトランジスタをできるだけ多く使用すること、電源電圧を低くすること、電源を完全に遮断することだ。これらを実現するための手法としては、マルチ閾値設計、マルチ電圧設計、パワーゲーティングなどがある。

 一方、ダイナミック電力に対しては、電源電圧を低くするか、周波数を下げるかである。そのための手法としては、クロックゲーティングや動的電圧周波数スケーリング(DVFS:Dynamic Voltage Frequency Scaling)などがある。本稿では、これらの手法が検証に与える影響について論じる。なお、各手法については、別掲記事『さまざまな電力管理手法』で簡単に説明しているので、そちらも参照されたい。

クロックゲーティングの問題点

 クロックゲーティングは、粒度の大きいレベルではダイナミック電力を低減するための最も単純な手法の1つだと言える。そのため、この手法は、最大の課題がダイナミック電力のピーク値を低減することである場合に最もよく使用される。スイスSTMicroelectronics社のIP(Intellectual Property)検証/システムモデリング担当マネジャを務めるLaurent Ducousso氏は、「現在、当社はクロックゲーティングを主に使用している」と述べる。

 Ducousso氏によると、同社の設計チームは、IPまたはサブシステムの境界部分をベースに、設計初期の段階でクロックドメインを定義するという。設計チームは動作モードを高レベルでとらえ、各ドメインにどのタイミングでクロックゲーティングを適用すべきかを判断して、機能検証における追加作業としてクロックゲーティングのシーケンスを確認する。物理(レイアウト)設計チームは、設計フローの中でゲーティング回路の挿入を行う。

 クロックゲーティングを適用しても、ブロック内の状態に影響が及ぶことのない単純なケースであれば、状態が維持されていることを検証する必要はない。しかし、すべてのブロックに対してこのことが当てはまるわけではない。「状態が維持されているか否かを確かめなければならない状況が生じつつある。われわれはテストベンチを使用して、このような状況を検証するための手法を見出そうとしている。その手法としては、アサーションがかなり有効なものとなるかもしれない」とDucousso氏は述べる。

 米IBM社のパワーシステムグループでエネルギー管理担当チーフアーキテクトを務めるMichael Floyd氏は、「クロックゲーティングの機能検証はただの追加作業であり、新しい概念ではない」と語る。「クロックゲーティングを導入すると、基本的に状態数が増大する。ほかの機能と同様に、製造工程においてタイミング検証などのテストを行う必要がある」と同氏は述べる。また、テストカバレッジを高めるために、クロックゲーティングを無効化するモードを用意しておく場合がある。

 クロックゲーティングがさらに複雑になるに連れ、検証チームの関心事は機能的な正しさを確かめることから、タイミングやシグナルインテグリティの問題へと移ってきているようだ。東芝のシステムLSIグループで先端メソドロジ担当ディレクタを務めるKrish Krishnamoorthy氏は、「設計プロセスの前半にクロックゲーティングが機能的に正しいことを確認する作業を行った後、物理検証の中で、すべてが正しいことを確認する」と説明する。その際には、タイミング検証も十分に行わなければならない。例えば、ゲーティング信号に遅延が生じると、稼働時にクロックが正しく伝達されないことになりかねないからだ。

 この種の検証作業がどの程度複雑なものになるかは、場合によって異なる。IBM社フェローのBrad McCredie氏は、「単純なデータパスであれば、検証プロセスにほとんど影響を与えることはない。しかし、制御ロジックに粒度の小さいクロックゲーティングを適用し始めると、検証プロセスにかなりの負荷がかかることになる」と述べる。

電圧アイランドの問題点

 電力管理を目的として早くから適用されていた手法の1つが、電圧アイランドである。これは、最大周波数で動作する必要のないブロックを隔離し、そこには低い電圧を供給するというものだ。

 この手法により、検証にはいくつかの作業が新たに追加されることとなった。まず、検証チームは、クロックを含めて、電圧アイランド間を通るすべての信号上に適切なレベルシフターが配置されていることを確認しなければならない。また、各電圧に対応したタイミングファイルをセルライブラリに用意することと、電圧アイランドの動作電圧に対して正しい遅延値を用いることも必要である。ある電圧ドメインからの信号が別の電圧ドメインを横切る場合には、そのほかにも問題が生じる可能性がある。

さまざまな電力管理手法

 消費電力削減への要求がより一層強まるに従い、論理回路におけるダイナミック電力やスタティック電力を低減するための手法がいくつも実用化された。1つのチップの異なる部分に複数の手法を適用するのも、珍しいことではなくなっている。以下、代表的な手法について簡単に説明する。

■クロックゲーティング

 クロックゲーティングは、ダイナミック電力の低減を目的とした最も古くから存在する手法の1つである。この手法は、その時点で使用していない回路へのクロックの供給を停止するというものだ。

 もともと、クロックゲーティングはスタンバイモードを実現するための手段としてブロックレベルで用いられていた。最近では、個々のラッチのレベルまで粒度を小さくしたクロックゲーティングが採用されるようになってきている。ラッチのデータが変化しなければ、そのサイクルのクロックパルスを発行しないように制御回路を働かせるのである。粒度の小さいクロックゲーティング手法は、ますます複雑になる可能性がある。

 なお、クロックゲーティングの対象となるセルは、サイズが大きく閾値の低い高速トランジスタで実装されることが多い。そのため、スタティック電力は増加する可能性がある。

■電圧アイランド

 あるブロックがほかのブロックよりも低速でよい場合、そのブロックをより低い周波数で動作させ、タイミング条件だけは満たせるレベルで供給電圧を低下させる方法を適用できる。これが電圧アイランドである。この手法も古くから存在したものの1つだ。

 電圧アイランドは、特にタイミングクロージャに対する影響の面で、粒度の大きいクロックゲーティングよりも少し複雑なものとなる。

■パワーゲーティング

 パワーゲーティングは、回路ブロックに供給する電源電圧を遮断することによって、スタティック電力とダイナミック電力の両方をなくす手法である。簡単に聞こえるかもしれないが、実際には非常に複雑なものだ。

 まず、あるブロックの電源を遮断する際には、そのブロックからほかのブロックへのアクティビティ(信号/データの供給など)が存在しないことを確認しなければならない。加えて、電源を遮断する際の状態を維持するのか、またそれをどこに保持するのか、どのようにして復元するのかといったことについてケアする必要がある。さらには、電源の遮断/投入シーケンスをどうするのか、ブロックのアクティビティを早い段階で予測した上で電源投入シーケンスを実行することができるのか否かといった問題もかかわってくる。電源の遷移時には、各ブロックを周囲の回路から隔離する必要もある。

■動的電圧周波数スケーリング

 動的電圧周波数スケーリングは、電圧アイランドとパワーゲーティングとを組み合わせたものである。各ブロックの電圧とクロック周波数を稼働中に調整し、実行中の処理のタイミング条件を満たせるだけの最小限のレベルとする。

 この手法では、ブロックごとにクロックを変化させる機能が必要となる。また、供給電圧を動的に変更しつつ、新しい動作点に移行する際に予期せぬ事態が生じないことを保証しなければならない。チップの設計者には、アプリケーションの性能要件に関するかなり詳細な知識が必要となる。また、チップ全体として、動的に変更される各ブロックの動作周波数のすべての組み合わせにおいてタイミング条件を満たせるようにしなければならない。

■動的閾値電圧制御

 動的閾値電圧制御(DTVC:Dynamic Threshold Voltage Control)では、いくつかのトランジスタの集合ごとに、閾値電圧を動的に制御する。それにより、信号パスのタイミング要件に適合させつつ、リーク電流対速度の観点から最適な状態を選択する。

 これは有効な手法だが、半導体プロセスにおいて特殊な構造が必要になることが欠点である。主に、高度なプロセッサを製造する数社のベンダーに用いられている。


       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSフィード

公式SNS

EDN 海外ネットワーク

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.