実用的な低消費電力CPLDデザイン ラティスセミコンダクター・ホワイトペーパー 2009年8月 ラティスセミコンダクター 5555 Northeast Moore Ct. Hillsboro, Oregon 97124 USA Telephone: (503) 268-8000 www.latticesemi.com 1 実用的な低消費電力CPLDデザイン ラティスセミコンダクター・ホワイトペーパー はじめに 今日の携帯用製品開発にかかわる技術者は誰でも、消費電力を最少にすることが 設計における絶対要件であることを知っています。しかし、システムのバッテリ 寿命を最大に延ばすことができる微妙ながらも重要なことは、一般にベテラン技 術者のみが理解しています。このホワイトペーパーは、これら成熟した専門家が 組み込み設計のI/Oサブシステムから最後の余分な微少電力を搾り取るために、 どのように超低消費電力CPLDを用いるかに焦点を合わせます。 まず、組み込み設計において消費電力、PCBスペース、およびBOMコストを減 らすために、CPLDが通常どのように用いられるかを再検証することから始めま す。次に、デバイス自体を慎重に選択するだけでなく、バスメンテナンス機構も 適切に選ぶことによって、スタンバイモードでCPLDの消費電力を最少にする方 法を確かめます。動作中の電力削減の検討対象としては、選択的ロジックゲーテ ィングや「スマート」I/O設計、或いは高精度な供給電源電圧の管理などの技法 を含むでしょう。 CPLD ∼ 組み込み技術者の先進性 CPLDは、進化の著しいアプリケーションにおいて特にグルーロジックによく採 用されています。その低コスト、小型サイズ、そして低消費電力の特性は、どの ような携帯用製品の設計にとっても素晴らしい選択肢となります。これら携帯機 器アプリケーションでは、なるべく長い時間プロセッサを低消費電力のスリープ モードにすることができるように、CPLDは一般的にロジック機能の統合やホス トプロセッサのI/O拡張、および重要な入力の監視などの目的に用いられます。 I/O拡張デバイスとして用いる場合、ispMACH 4000ZE (図1)のようなCPLDは簡易 な組み込みプロセッサに対して、表示やボタン、あるいはLED、シリアルまたは パラレルI/Oやストレージ・インターフェイスなどに対応するために必要な信号 線とアドレス機能を付加します。とくにスマートフォン、GPSシステム、工業用 リモートセンサ、およびデジタル・ビデオカメラのなどの設計おいては、より専 門化したチップセットと汎用プロセッサ間のグルーとしてCPLDが頻繁に用いら れます。 2 実用的な低消費電力CPLDデザイン ラティスセミコンダクター・ホワイトペーパー 図1 ラティスispMACH 4000ZE CPLDを用いるI/O拡張 スタンバイ電力の基礎 CPLDの消費電力削減方法を習得することにおける第一歩は、デバイスがその通 常動作時とスタンバイ (またはスタティック)時の両ステートでどのように振る舞 うかを理解することです。多くのCPLDはスタンバイ状態でほとんどの時間を費 やすため、まず最初にこのしばしば誤解されているモードについてより詳しく見 ていきます。 デバイスに電源が供給されていて内部ロジックにクロックが与えられていない時、 CPLDはスタンバイ状態にあると呼ばれます。この状態でもリーク電流とバイア ス電流が存在するため、CPLDは(実際に動作している時よりは大幅に少ないです が)ある程度の電力を消費しています。リーク電流は温度、動作電圧、および製 造プロセスの関数として変動します。 他方バイアス電流は、デバイスのロジック機能が用いられるかどうかにかかわら ず、内部オシレータやI/Oラインのプルアップ/ダウン、またその他の必ず使用さ れる部分で消費されます。バイアス電流は、リーク電流と異なり温度や電圧範囲 にわたって比較的安定していますが、適切なデバイスのコンフィグレーションで これらを制御することができます。 3 実用的な低消費電力CPLDデザイン ラティスセミコンダクター・ホワイトペーパー 動作条件が影響するリーク電流∼仕様書を賢く解釈し て管理 CPLDのリーク電流は主としてそれがどう作られているかによって決定されるの で、第一歩はベンダが発行する候補部品のデータシート上で提供される仕様を綿 密に調べることです。しかし、単に消費電力が最も低いと宣伝されている部品を 購入するということは、それが実設計において意図したように動作することを保 証する訳ではありません。経験豊富な設計者は、そのアプリケーション固有の特 質に基づいて、"typical"と"maximum"電流値の実際の関係を理解するには何らか の 翻訳 をする必要があることを知っています(図2)。多くのアプリケーショ ンでは、データシートに記載されているいわゆるTypical値が、実際にCPLDが引 き込むであろう電流に関して非常に役に立つ近似値を与えます。とは言え、設計 に対して見積もり値と実際の電力消費が比較的近いことを確実にするために、幾 つかのポイントを確認をしなければなりません。 図2 供給電流仕様 最初に考える事の一つは、システムの総許容電力のうち、CPLDが何パーセント を負うかということです。それが5%∼10%程度のわずかな割合であれば、ワー ストケースの条件でも総合的な消費電力に対しては比較的小さな変化しかもたら さない結果となります。CPLDが総許容電力の20%かそれ以上を意味するのであ れば、設計としての公称スタンバイ電流値は、データシートに記載されている最 大電流に近いと考えるべきです。またシステム上のCPLD(およびその他のデバイ ス)の数を考慮するべきです。あるボード上のデバイス数が増加するに従って、 4 実用的な低消費電力CPLDデザイン ラティスセミコンダクター・ホワイトペーパー それらを合算した消費電力がTypical電流値の合計に近くなる確率も大きくなり ます。さらに、ワーストケースの電力レベルになる部品が幾つか搭載されていた 場合どうなるかという、潜在的な影響を考慮する必要があります。より大きい電 力消費は単純に動作寿命を短くしないかどうか、或いは火災の危険性をはらまな いか、などです。 図2で注意深くデータシートを調べると、スタンバイ電力が動作温度とVcc(供給 電圧)によって異なることに気がつきます。それは温度が上昇するのに従って CPLDのリーク電流が増加する傾向があるためです。実際に、デバイスを適切に 冷却しておくことは、スタンバイ消費電力を改善します。リーク電流はVccによ り強く依存するため、供給電圧を可能な限り低く保つことによって、さらに電力 を大きく節約できます。本ペーパーの後半で動作時電力の管理を扱う際に、注意 深く管理された供給電圧がさらに大きいダイナミック電力の減少をもたらすこと を再検証します。 バイアス電流を飼いならす これまでは適切なデバイスを選ぶことによってCPLDリーク電流を制御しました ので、次はバイアス電流をトリムする作業にエンジニアリング・スキルを割り当 てる番です。これらのバイアス電流を管理するために用いられる技法は、およそ 2種類の作業になります: 1、CPLDのスタンバイ・コンフィグレーションが、プルアップ/ダウン、又はそ れが接続された他のデバイスで用いられているバスメンテナンス技法と競合 しないことを確認する 2、(オシレータなどの)内部の機能を、それらが必要に応じてオンするようにダ イナミックに制御する(設計のスタンバイ時間をもう少し長くするために、 使用するCPLDによってはこれはかなり良い方法かもしれません) バスメンテナンスの競合回避 多くの設計において組み込みホストプロセッサは、バスやI/Oラインの必要なロ ジックレベルを維持するために、それ自身のバスメンテナンス機構を用いること ができます。従って、CPLDをスタンバイモードにする準備のために唯一しさな ければならないことは、アクティブなバス管理機能がディセーブルされることの 確認です。スタンバイのあいだ、他のアプリケーションではバスを管理しなけれ ばならないCPLDの代わりに、バス上のどこか他にあるアクティブ・プルアップ やプルダウン回路を使用できます。 しかしCPLDが何もする必要がないということは、なくても良いと言うことを意 味するわけではありません。信号線をドライブしているのが単独デバイスである 5 実用的な低消費電力CPLDデザイン ラティスセミコンダクター・ホワイトペーパー ことを確かめるために時間をかけることは重要な作業です。というのは、単一ピ ン上の論理的競合が、チップ全体で公称アイドル電流10uAの電力レベルから2∼ 15倍に増える結果となり得るためです。 ホストのバスメンテナンス・メカニズムが利用できない状況では、プルアップ/ ダウンや、ほとんどの近代的なCPLDで利用できるバスホールド機能を利用する べきです。このクラスにおけるほとんどのデバイスのように、ラティス ispMACH 4000ZE CPLDのI/Oピンは選択可能なプルアップとプルダウン抵抗を備 えており、スタンバイ状態の間、適切なロジックレベルを与えるために用いるこ とができます(図3)。また、4000ZEシリーズは節電バスキーパ(バスホールドとし ても知られる)機能を備えています。これは弱いアクティブなドライバ回路で、 簡素な抵抗よりはるかに少ない電力を消費するだけで、アクティブHighかLowの どちらかに設定することができます。注意:バスキーパ機能が電力を顕著に節約 する一方で、確かにそれが信号線上のアクティブな唯一のデバイスであることに 注意しなければなりません。さもなくば大きい電流を流すリスクをとることにな ります。 図3 CPLDバスメンテナンス・オプション ダイナミック電力の管理 設計者が関心を持つ必要があるダイナミック電力には、二つのタイプがあります。 一方は実際に動作をしている際にCPLD内部を動作させるために必要な電力、他 方は、CPLD入力部の動作用電力です。後者に対する電力管理のストラテジには、 特定の時点で必要がない入力部をトグルしないようにするとか、または可能であ ればそれらを完全にオフにすることが含まれます。 6 実用的な低消費電力CPLDデザイン ラティスセミコンダクター・ホワイトペーパー 高精度の供給電源管理 CPLDのロジックの多くの部分は継続的に使用され、有意な少しの期間もディセ ーブルすることができない可能性が高いですが、実際に取り得る最低の供給電圧 を用いることによって、まだある程度の電力削減を達成することができます。消 費電力は電圧の二乗関数で表されるので、1%精度のスイッチングレギュレータ に投資してCPLDの許容動作電圧範囲の低いところに下げて回路を動作させるこ とで、かなりの電力を節約することを可能にします。例えば、公称1.8V動作電圧 のCPLDが1.65Vで動作するなら、およそ30%少ない電力消費で済みます。しかも、 これはVccを低くすることで減少するリーク電流を考慮せずにです。 選択的ロジック・ゲーティング このクラスのほとんどのCPLDのように、ispMACH 4000ZEにはラティスが「パ ワーガード」と呼ぶ機能があり、ロジックが動作する必要がないときに、それら に接続されている入力を個別にディセーブルするために用いることができます。 デバイスのブロック入力イネーブル(Block Input Enable)信号をホストプロセッ サや外部ロジック、又はCPLDの他の部分から用いることができ、CPLDロジッ クの選択したブロックにクロックが供給されるのを防ぐことができます(図4)。 例えばCPLDの一部がデコーダ回路として用いられているなら、ホストプロセッ サはその機能が用いられているときのみイネーブルし、それ以外の期間は休止状 態にしておくことができます。 7 実用的な低消費電力CPLDデザイン ラティスセミコンダクター・ホワイトペーパー 図4 パワーガード回路 アプリケーションによっては、ラティスのパワーガードか他の技法を用いて選択 されたCPLD入力ピンへのクロッキングをディセーブルすることで、ダイナミッ ク消費電力を劇的に減少させることができます。これはロジック信号のクロック 周波数がおよそ30MHzを超える場合特に当てはまります。図5は選択的ロジッ ク・クロッキング技法で実現することが可能な、潜在的な電力削減について図示 しています。 8 実用的な低消費電力CPLDデザイン ラティスセミコンダクター・ホワイトペーパー 図5 パワーガード省エネ 低消費電力のための I/O設計 既に記述された技法を用いることに加えて、抜け目のない技術者にとってほとん どのプロジェクトで微少なuWを節約するさならる機会があります。ただし、多 くのデザインの中に潜む小さい「エネルギー吸血鬼」をよく探すことを厭わない と思っていればですが。解りやすい一つの例は、CPLDの入力ラインに取り付け られたスイッチとリレーに検出電圧を供給するために遍在しているプルアップ抵 抗です(図6)。使用しているCPLD出力や他の制御信号に、それらを読み込む時の み検出電圧を供給することによって、設計者は検出ラインがグランド電位になる ときに起こる、小さいながらも定常的に流れる電流を排除することができます。 9 実用的な低消費電力CPLDデザイン ラティスセミコンダクター・ホワイトペーパー 図6 パッシブとアクティブに電源を供給するスイッチ検出信号 その他の秘訣 • • • リーク電流を避けるためにCPLDのJTAGインターフェイスピンをフローテ ィングに構成する VCCO I/O電源をVCCより高く保つ(電圧が近いほど電流を多く引き込みま す) 可能な限り遅いスルーレートI/Oを用いる まとめ ほとんどのCPLDベースの設計には、バッテリから静かに電力を消費している間 にも「エネルギに飢えた吸血鬼」が潜むことができる、幾つかの暗い片隅が多少 含まれています。幸いこれら幾つかの重要な原則を注意深く適用することで、こ のやっかい物の寄生を終わらせることができます。 - - 10 CPLDと他の部品を選ぶとき、そのスタティックとダイナミックな消費電力 の両方の位置づけ関して充分に注意を払います。それらは供給電圧、温度、 および動作周波数に従って変動します。 "min"と"max"および"typical"各消費電力仕様が、どのように設計に影響する かを解釈することにも等しい注意を払います。 実用的な低消費電力CPLDデザイン ラティスセミコンダクター・ホワイトペーパー - - - - スタンバイ時の構成がそれが接続された他のデバイスと競合しないことと共 に、いかなる不要な内部機能もディセーブルすることを確実にして、CPLD のバイアス電流を最少にします。 必要な期間だけCPLDの各部にクロックを供給することによって、ダイナミ ック電力を管理します。ラティスのパワーガード機能は、選択的に特定入力 へのクロッキングをディセーブルする簡易な方法を提供しますが、それが利 用できない場合でも他の技法があります。 高精度の供給電源管理を用いることで、ロジックをドライブするための電圧 を実際に採用し得る限り低くすることで、追加のダイナミック電力削減を実 現することができます。 I/O接続で、不要な電力を奪いとるプルアップ/ダウン抵抗が削除できないか、 或いは必要なときのみ選択的に電源を供給できないかチェックします。 これらの「道具」を慎重に次のプロジェクトに適用するなら、最も見えにくい 「電力吸血鬼」さえあなたの徹底的な管理から逃れることはできません。そし て最終製品はそれに値する長寿命を享受するでしょう。 ### 11 実用的な低消費電力CPLDデザイン ラティスセミコンダクター・ホワイトペーパー