メディア
特集
» 2006年05月01日 00時00分 公開

高性能かつ低消費電力のLSIを実現する技術デュアルスレッショルド電圧とパワーゲーティング(2/2 ページ)

[Kaijian Shi(米Synopsys Professional Services社),EDN]
前のページへ 1|2       

パワーゲーティング

 前述の最適化方法のどれを使用しても、スタンバイモードではリーク電流が増えることになる。スタンバイモードでリーク電流を減らす1つの方法は、ロジック部分への電力供給を遮断することである。一部のロジックへの電力供給を遮断しても他のロジックはアクティブのままで保持できるように、設計を2つ以上の電力領域に分割する必要がある。そうすれば、パワーダウンする領域への電力供給だけを遮断できる。この「パワーゲーティング」によってリーク電流を大幅に減らすことができるが、その手法は複雑で、設計フローにおいて次のような特別な作業を行う必要がある。

  • アイドル回路への電力供給を遮断する、スリープトランジスタの追加
  • パワーゲーティング制御信号の分配
  • 電力領域検知クロックツリーの合成
  • パワーダウン時間における部分回路の状態保持
  • 電力領域インターフェース信号の絶縁
  • 複数電力領域の物理設計最適化

 スリープトランジスタは、ゲート、クラスタ、電力領域に基づいてパワーゲーティング設計に実装できる。ゲートベースの実装では、スリープトランジスタをロジックゲートに挿入して、ゲートへの電力供給を制御する。この手法には、各ゲートのスイッチ電流と電源ノイズマージンに基づいて、ゲートに適したサイズのスリープトランジスタを使用できるという利点がある。さらに、仮想パワーネットが短くてゲート内に隠れるため、標準セルベースの合成ツールと物理設計ツールを使用してゲートを実装できる。一方で、各ゲートにスリープトランジスタが必要となるために、クラスタや電力領域ベースの実装よりも必要な面積が増える。また、物理設計では各ゲートへのグローバルスリープ制御信号の分配は難しい。

 クラスタベースのスリープトランジスタ実装では、複数のゲートをクラスタにまとめる。最少のクラスタで、同時スイッチ電流が最小になるようにする。クラスタ内のゲートは同じ電力領域に属し、レイアウト内で互いに密接しているものでなくてはならない。各クラスタはスリープトランジスタを介して仮想パワーネットに接続する。一般に、クラスタベースの実装ではゲートベースの実装よりも必要な面積が小さくて済むが、スリープトランジスタのサイジングを厳密に行えるようクラスタごとに現実的な電流値を得ることは難しい。さらに、個々に電力が供給されるこれらのクラスタのIRドロップは異なるため、パフォーマンスにも差が生じる。

 電力領域ベースのスリープトランジスタ実装では、電力領域内のゲートを、複数のスリープトランジスタを介して実パワーネットワークにつながる仮想パワーネットワークに接続する。仮想パワーネットワークは、通常のパワープランニング、解析、最適化方法を用いて、実パワーネットワークと同じように最適化できる。このスリープトランジスタ実装では、電力領域内のすべてのゲートに、トランジスタが放電電流を共有してバランスを取る分散スリープトランジスタネットワークを介して電力が供給されるため、一般にゲートベースやクラスタベースの実装よりも必要とされる面積が小さい。しかし仮想グランドネットによって設計のノイズマージンが減少し、動作不良を起こす恐れがあるため、電力品質を保つためにもパワーゲーティングの設計に必要な電力を慎重に分析しなくてはならない。

 いずれの手法を用いるにしろ、パワーゲーティング制御信号をトランジスタに分配するときは、特定の電力領域をパワーダウンすることで他の電力領域への制御信号の伝搬が遮断されることのないように注意する必要がある。特殊なバッファツリー生成法によって、常時オンになっているパワーネットとグランドネットの下にバッファがくるように生成と配置を制約することもできる。同じように、遮断すればダウンストリームロジックへのクロックの伝搬を止めてしまう電力領域を介してクロック分岐が渡されないように、クロックツリーの合成で制約を与えるとよい。

状態の保持と復元

 ウェークアップ後に動作を再開する設計には、アイドルになる前に電力領域のロジック状態を保存して、ウェークアップ時にその状態を復元する方法が必要である。この状態保持・復元方法は次の3つから選ぶことができる。

 1つ目は、指定されたレジスタ値とメモリー値を、電源を遮断する前にディスクストレージに書き込むようなソフトウエアを使用する方法である。ウェークアップ時には、保存されていた状態がソフトウエアによって設計に再び書き込まれる。この方法には特殊なハードウエア設計は必要ないが、一般に保持・復元プロセスには時間がかかりすぎて、実際のアプリケーションでは有効ではない。さらに、ディスクの読み出しと書き込みでは、おそらく短時間のスタンバイモードで節約したリーク電流を帳消しにしてしまうほどの多くの電力が消費される。

 2つ目は、設計のスキャンチェーンを使用して、パワーダウン前にレジスタ状態を常時オンメモリーにシフトアウトし、ウェークアップ時にその状態をシフトインする方法である。1つ目の方法に比べると格段に速いが、この方法でも多くの最先端アプリケーションには遅すぎるし、メモリーアクセスにも多くの電力が消費される。

 3つ目は、状態を効率的に格納・復元できる保持レジスタとラッチを実装する方法である。数ある保持回路の中でも、低電力設計ではバルーン型回路が一般的だ。こうした回路を実装するには、通常のレジスタまたはパワーダウン時にレジスタ状態を保存するラッチにシャドウラッチを追加する。シャドウラッチは低リーク電流用の高VTHトランジスタで構成され、通常のレジスタに接続するか、または風船の結び目のような単一ポイントを介してラッチに接続する。

 バルーン型保持回路では「B1」と「B2」と呼ばれるの2つの保持制御信号を使用する。信号パス内で電力領域をパワーダウンするときに保持回路で信号が有効となるように、これらのグローバル信号はパワーゲーティング制御信号と同様の方法で分配する必要がある。

電力領域の絶縁

 電力領域をパワーダウンすると、その出力信号はフローティング状態になる。これらのフローティング信号は、アクティブのままになっている他の部分に影響を及ぼしかねない。ハンドシェイク信号であれば誤動作が発生する可能性もある。いずれの場合も、フローティング信号はそれを受け取るロジックゲート内に短絡電流を発生させることがあり、電力損失ばかりかデバイスの損傷につながる恐れがある。

 こうした問題を回避するには、パワーダウン領域とパワーオン領域間のインターフェースに絶縁ロジックを追加する必要がある。この絶縁ロジックをパワーダウン領域に実装すれば出力信号を制御でき、パワーオン領域に実装すれば入力信号を制御できる。

 一般に出力は他の電力領域の複数の入力を駆動するため、出力信号を絶縁した方が入力信号を絶縁する場合よりも絶縁セルの数が少なくて済む。さらに、常時オンの電力領域の出力に絶縁セルは必要ない。出力絶縁制御信号の分配もより簡単である。

 しかし出力信号絶縁セルは、入力絶縁セルに必要な短いローカルネットよりも大きな信号ネットを駆動しなくてはならないため、スタンバイモードでより多くの電力を消費する。また、入力信号絶縁ロジックは標準的なセルで実装できるが、出力信号絶縁ロジックにはカスタムセルが必要となる。

 どちらの方法を選択すべきかは、設計のパワーマネジメント構造にもよる。1つか2つの電力領域をゲーティングする設計には、一般には入力信号絶縁方式の方が適している。パワーマネジメント構造が複雑な設計には、出力信号絶縁方式が適していることが多い。

 パワーゲーティング信号によって必要なプルアップ状態またはプルダウン状態を実現する上で、考えられるゲートとトランジスタの組み合わせはいくつもある。配置と物理合成を行うときに、入力絶縁セルが電力領域内にあり、かつ電力領域境界に近接していることを確認する必要がある。また、物理合成の結果をチェックして、ツールによって絶縁セルと電力領域の入力との間にバッファが挿入されていないことを確認しなくてはならない。このようなバッファが挿入されていれば絶縁セルを使用する意味がない。

電力領域への配慮が必要

 スリープトランジスタ、状態保持セル、インターフェース信号絶縁セルを使用する設計の最適化は非常に骨の折れる作業だ。良い結果が得られるよう、次のガイドラインを役立てて欲しい。

  • 電力領域内のセルが確実に領域内に配置されるよう、配置と物理合成を行うときに厳密な排他領域条件を適用する。この配置には、電力領域に関連した論理階層の設計情報も必要となる。
  • 特定の電力領域内でロジックの再構築またはローカルバッファリングが行われたときに作成された新しいセルをその電力領域に割り当て、セルがその電力領域内に確実に配置されるような制約条件を適用する。
  • 状態保持セルなど、常時オン電源を必要とする特別なセルは、常時オンパワーネットまたはグランドネットの下に配置する。このタスクを自動的に処理するツールもある。
  • 電力領域間の信号が絶縁されるよう、電力領域の信号絶縁セルをその領域の境界に配置する。
  • 電力領域のパワーダウンによって残りの部分の信号またはスキャンチェーンが阻止されないようにグローバル信号を分配し、スキャンチェーンのスティッチングを管理する。

 これらのどの制約条件を適用してもツールの処理時間が増加するため、パワーダウン領域を実装する方法は、リーク電流を最小限に抑える必要のあるアプリケーションのみに使用すべきである。大半の設計では、自動化されたデュアルVTH方式を使用すれば少ない労力で良い結果が得られるだろう。

前のページへ 1|2       

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.