低消費電力LSIの設計技術:最新技術動向をまとめて理解!(2/5 ページ)
携帯型端末などに用いるLSIには、当然のことながら、低消費電力化の実現が要求される。しかし、昨今では、それ以外の用途に向けたASICやSoCを設計する場合でも、低消費電力設計手法の適用が必須となっている。最新のプロセス技術を用いると、必然的にリーク電流が多くなってしまうからだ。本稿では、ASIC設計者が知っておくべき、消費電力の削減手法についてまとめる。
2007年6月にDAC(Design Automation Conference)が開催されたが、そのころに出版された「Closing the Power Gap Between ASIC&Custom:Tools and Techniques for Low Power Design」*1)という書籍がある。その著者の1人であり編集者でもあるカリフォルニア大学バークレー校の教授Kurt Keutzer氏によると、「カスタムLSIの設計者は、長年にわたって回路の消費電力を低減するために複数の手法を用いてきた。今日の一般的な手法を用いて開発されたASICの消費電力は、そうした設計者によって同じ世代のプロセス技術で製造されたカスタムLSIの3〜7倍だろう」という。また、同書の共著者の1人であるDavid Chinnery氏は、「さまざまな低消費電力化手法をASICにも適用することで、ASICの電力効率を2〜3倍向上させることができる」と推測している。その上で、「つまり、ASICの設計者らには、ASICの消費電力を低減するためにできることがまだいくつも存在するということだ」と述べた。
しかし、低消費電力設計には“特効薬”は存在しない。「技法は数多く存在するし、われわれはさまざまな技法によってさまざまな角度から消費電力の削減に取り組んでいる。それらの技法のうちの多くには、何らかのオーバーヘッドが存在する」とFrenkil氏は述べる。「面積に影響を及ぼすものもあり、速度に影響を与えるものもある。低消費電力設計における重要な点の1つは、直面している問題が及ぼす影響と、それにどのように対処するのかということを理解することだ」と同氏は語る。確かに、設計者は多くの技法を組み合わせて、自分が直面している問題に適した低消費電力手法を見つけ出さなければならない。その際に役立つように、以下では消費電力を削減するための種々の手法を紹介する。
マルチ閾値電圧
5年ほど前に、消費電力の増大が問題となったとき、ファウンドリは複数のライブラリを提供し始めた。例えば台湾TSMC(Taiwan Semiconductor Manufacturing Company)社は、数種類のセルを持つ標準ライブラリ、高速ライブラリ、低消費電力ライブラリを提供している。これらは、低閾値電圧セル、高閾値電圧セルなどのMTCMOS(multi threshold CMOS)として作られている。同じ機能を持った複数種のセルから成るライブラリにより、設計者らはリーク電力とダイナミック消費電力の両方に対処することができる。このように、今日ではリーク電力への対処法として、マルチ閾値電圧を利用した設計が一般的に採用されている。Keating氏は、「VddとVth(閾値電圧)に関してはさまざまな工夫がなされており、今では、設計全体に適用可能な1つのセルライブラリを作成するということはなくなった。なぜなら、ある設計では速度が重要であったり、速度が重要ではない分野ではリーク電流を低減したいと思っていたりするからだ」と述べる。
複数種のセルを持つライブラリには、少なくとも閾値電圧が異なる2つのセルが存在する。閾値電圧が高いほうのセルは動作速度が遅いがリーク電流は少ない。一方、閾値電圧が低いほうのセルは動作速度は速いがリーク電流が多い。Keating氏は、「この関係は線形的ではない。速度を少し犠牲にするだけで劇的にリーク電流を低減することができる」と述べる。Frenkil氏によると、一般的に高閾値電圧セルのリーク電流は、低閾値電圧セルよりも50%少ない。また、面積が大きくなってしまうといった副作用はないという。
ほとんどのアプリケーションにおいて、設計者らは通常、まず高速な低閾値電圧ライブラリを用いて合成を行い、最大性能とタイミング目標を実現する。それから回路におけるクリティカルパス、言い換えれば回路内で最高の性能を必要とするパスを特定する。次に、低閾値電圧セルを必要としない部分を特定し、低閾値電圧セルを高閾値電圧セルに置き換えて、回路全体の消費電力とリーク電流を低減する。Frenkil氏によると、これが最も一般的に用いられるマルチ閾値電圧による設計手法であるという。
また、ほとんどのアプリケーションにおいてはタイミング要件を満足することが第1のハードルである。そのため、論理合成ツールは、低閾値電圧ライブラリを用いた場合、高速動作を実現するように合成を行い、なおかつ面積の小さい回路を生成する。一方、高閾値電圧セルを多用すると、合成にかかる時間は長くなり、しかも回路面積が大きくなる傾向がある。
しかし、ワイヤレスシステムアプリケーションでは、低消費電力化が主な目標であり、面積は増大してもかまわない場合がある。まず、設計者はリーク電流の少ない高閾値電圧セルで合成を行い、クリティカルパスを検出し、それから性能目標に達するまで高電圧セルを低電圧セルに置き換えるということを行う。
マルチ電源電圧設計
上で説明したようにマルチ閾値電圧を利用した設計によれば、複数のセルを用いて回路のリーク電流を最小化し、スタティック消費電力を削減することができる。では、ダイナミック消費電力を削減するにはどうすればよいのか。それには、マルチ電源電圧設計による手法が利用できる。この手法では、マルチ閾値電圧を利用する場合と同様に、回路内のクリティカルパス/ブロックにはプロセス技術や仕様の上での最大電圧を供給する。一方、電源電圧をそれほど必要としないブロックの電圧は低下させるといったことを行う。
Keating氏は、「例えば、プロセッサコアには500MHzのクロック速度が必要だが、USBコアはUSBプロトコルに準拠していれば十分なので30MHzの動作周波数で事足りるといったケースがある。低速で動作する回路に必要な電源電圧は低くてよいので、それによってUSBコアでの消費電力を少なく抑えることができる。この考え方をほかのコアやブロックにも応用することによって、チップ全体の消費電力を著しく削減することが可能だ」と説明する。
この手法を実現するために、動作電圧の異なるコア間にレベルシフターを入れることが従来から行われている。「LSI回路の中で、0.9Vの領域が1.2Vの領域に信号を送信している場合、この2つの領域の間にレベルシフターを入れて、電圧振幅を増幅し、タイミングを制御する必要がある」とKeating氏は述べる。
概念はかなり単純だが、実装は思ったよりも複雑になる。まず、チップ上に複数の電圧があるという状況に対処しなければならない。Keating氏は「われわれは、チップの電源は1個だけという環境には慣れ親しんでいるが、電源のトポロジが複雑な状況にはなじみがない」とその難しさを指摘する。
ツールに関しても、かなり大きな課題が立ちはだかる。市販のほとんどの論理合成ツールや物理設計(マスクレイアウト)ツールでは、レベルシフターを挿入し、マルチ電源電圧を実現することができる。ただし、RTL(register transfer level)の作成が問題となる。「ほとんどのHDL(ハードウェア記述言語)には、まだ電力接続を記述するメカニズムがない」とKeating氏は述べる。
この部分は、EDA(electronic design automation)ベンダーらが低消費電力設計のための記述仕様を確立することにより解決できる項目である。しかし、残念ながら業界は2つの類似した規格をめぐって2つの勢力に分かれてしまっている(別掲記事『UPF/CPFをめぐるEDA業界の分裂』を参照)。
UPF/CPFをめぐるEDA業界の分裂
消費電力の問題を解決するには、EDAベンダーが協力し、電力に関する情報を記述する共通フォーマットを作成する必要がありそうだ。しかし、残念ながらこのフォーマットに関して、業界は2つのグループに分裂してしまっている。小規模EDA企業の何社かは米Cadence Design Systems社と米Si2(Silicon Integration Initiative)が推すCPFを支持し、Synopsys社や米Mentor Graphics社、米Magma Design Automation社などは標準化団体である米AccelleraのUPFを支持している。最近になって、IEEE(Institute of Electrical and Electronics Engineers:米国電気電子技術者協会)の下に、2つのフォーマットが統合されるかのようにも見えた。しかし、業界内の政治的対立から、現在のところは統一を期待することはできない。
皮肉なことに、両方のフォーマットを試した人々によると、CPFとUPFが提供する関数のうち、約85%は同様なものだという。しかし、EDA企業らは、自社が支持するフォーマットがデファクトスタンダードとなり、ツール市場でシェアを獲得できることを期待して、それぞれのフォーマットに固執している。従って、現時点ではユーザーもEDAベンダーも両方のフォーマットに対応する必要があるようだ。
業界は、ハードウエア記述言語であるVerilogとVHDLについて、同様なことを経験している。しかし、両方のフォーマットをサポートしようとすれば、どこかに混乱や、誤り、遅延が生じ、EDAベンダーやLSI設計者の作業が増大することになる。あるEDAベンダーは、「両方のフォーマットをサポートするためには、自社のツールが両方のフォーマットをサポートすることを保証するためにエンジニアを割り当てなければならない」と嘆いていた。このことが原因で、将来的な課題に対応したツールを開発するのが遅れてしまうといった結果がもたらされる可能性がある。
脚注
※1…Chinnery, David, and Kurt Keutzer, Closing the Power Gap between ASIC & Custom:Tools and Techniques for Low Power Design, ISBN:978-0-387-25763-1, Springer, June 2007.
Copyright © ITmedia, Inc. All Rights Reserved.