CPLD Application Training

CoolRunner™-II CPLD
のためのXPower
概 要
•
•
•
•
•
•
•
•
•
•
デザインの消費電力を考察
CMOSデバイスの消費電力の基本
CoolRunner-II CPLDの消費電力を計算
XPowerのCoolRunner-II CPLDに対する仮定事項
XPowerのCoolRunner-IIに対する消費電力モデル
CoolRunner-II CPLDの消費電力ネットのランキング
Activity rates(活動率)
データ入力方法
CoolRunner-II消費電力予測の精度を改善
設計例
目 的
•
•
•
•
•
•
•
•
•
CoolRunner-II CPLDの消費電力
XPowerのCoolRunner-II CPLDに対する仮定事項
デザインにCoolRunner-IIの消費電力モデルを適用
CoolRunner-II CPLDの最も消費電力の高い配線
活動率の種類
データ入力方法の種類
CoolRunner-II消費電力予測の精度を改善
XPowerに異なるマクロセル構成を適用
XAPP360
消費電力の考察
• 電源の要件
–
–
–
–
バッテリ
DC/DCコンバータ
AC電源ソース
電源電圧
• 熱要件
– パッケージの種類
– 動作環境
– 産業用アプリケーション
• CoolRunner-II CPLD
–
–
–
–
低消費電力
低い接合温度
高度に予測可能な消費電力
高速
• XAPP360
– http://www.xilinx.co.jp/xapp/xapp360.pdf
CMOSデバイス内の消費電力
• 総合電流は2種類の電流で構成される
– 静的(Static)
– 動的 (Dynamic)
• 静的電流
– オフ状態のトランジスタ・チャンネルでの漏れ電流
– 理想的にはゼロ
– 総合電流の固定コンポーネント(要素)
• 動的電流
– CMOSゲートのスイッチングで、リニア領域にあるとき
に遷移電流が生じる
• 遷移時間は非常に高速
• 比較的小さなコンポーネント(要素)
– 後 続 のロジ ック ・ エレ メ ントに お け る容量性ポリ ・
ゲートのチャージ(充電)とディスチャージ(放電)
– XPowerは、その消費電力モデルにおいて、遷移電流
と容量性電流を組み合わせている
CoolRunner-IIの消費電力の計算
• 動的電流を計算するのは非常に骨の折れる作業である
• この計算にXPowerは必要不可欠
• 動的電流の計算式
I Dynamic = C ×
V ×f
• 総合電流の計算式
ITotal = I Dynamic  I Static
ITotal = C V  f  I Static
• 総合消費電力の計算式
PTotal = ITotal V
CoolRunner-II CPLDに対する
XPowerの仮定事項
• 電圧
– 仕様書の動作制限範囲内
– 一定(スパイクとくぼみは無いものとする)
– ユーザは適切な値を入力する必要がある
• タイミングと周波数
– 仕様書の動作制限範囲内
– 制限範囲を越える動作に対しては、消費電力の計算は不正確になる
• 入力遷移時間
– 1.5 ns
– 研究室では1.5 nsで相関を取っている
– 実際の遷移時間が1.5 nsより遅い場合は:
• 実際の消費電力は増大する
• XPowerのデータは実際よりも少なく計算される
• 集合容量
– ロジック・エレメント(積項、など)
– 消費電力モデルを生成するのに使用される
CoolRunner-IIの消費電力モデル
• CoolRunner-IIアーキテクチャの簡略化モデル
• 幾分かコード化されたネット名
– FB1_PT12
• ファンクション・ブロック#1の積項#12
– FB1_3_Q
• ファンクション・ブロック#1のマクロセル#3のQフリップフロップ出力
– FB4_12_I
• ファンクション・ブロック#4のマクロセル#12の入力配線
CoolRunner-IIの消費電力モデル
• ユーザにより調整可能な配線
–
–
–
–
–
–
I - I/Oからの入力
Q -フリップフロップ出力
FB – AIMへのフィードバック
PT -積項出力
MC_CLK -マクロセル制御入力
OR - OR項の出力
• ユーザにより調整不可能な配線
–
–
–
–
AIM -インターコネクトアレイ
AND – レジスタへの入力
MC_OE – 出力イネーブル信号
RST/PST – レジスタのReset/Preset
入力
CoolRunner-IIの消費電力
• 消費電力の大きい順に並べた配線
–
–
–
–
–
–
–
–
–
–
–
–
–
外部容量–非常に高い
O –高い
GCK -高い-デバイス集積度の高いほど大きい
FB -中程度-デバイス集積度の高いほど大きい
AIM -中程度
I – 低い – 差別入力のための方法
PT -低い
OR -低い
AND –非常に低い
MC_CLK -非常に低い
RST/PST -非常に低い
MC_OE -非常に低い
Q -非常に低い
Activity Rate
• 絶対周波数
– MHz単位のネットの周波数
– CoolRunner-II CPLDの全ての配線
(Qを除く)は絶対周波数で指定される
• トグル・レート
– クロック周波数のパーセンテージ
• パーセンテージ値として入力される
• クロック周波数に基づきMHzで表示される
• 100%のトグル・レートはクロックの1/2の周波
数となる
– CoolRunner-II CPLDのQ配線
• グローバル・クロックのみに基づく
• 積項クロックあるいはUTCクロックを使う場合、
絶対周波数のデータを与える
– 「…としたらどうなるのか」のシナリオに最適
データ入力方法
• 手作業によるデータ入力
–
–
–
–
最も正確、しかし最も骨の折れる手法
CoolRunner-IIアーキテクチャの非常に詳細な知識が必要
全ての配線に対する活動率を指定する必要がある
デザインに依存するが、全ての配線に対する活動率を決めるのは
ほとんど不可能に近い
• 予測活動率(Estimate Activity Rates)ツールを使用
– ユーザによってセットされていない配線については、アルゴリズム
がその絶対周波数を予測する
– トグル・レートは予測しない
– 労力は省けるが、手作業によるデータ入力に較べると正確性に
欠ける
– 全てのプライマリ(主要)I/Oに対してはその絶対周波数を手作業で
入力しなければならない
– 隠れレジスタを含めて全てのトグル・レートは手作業で入力する
必要がある
データ入力方法(続き)
• ModelSim XEによるシミュレーション
– 最も簡単な方法
– Value Change Dump(VCD)ファイルが周波数データ
を含んでいる
– 十分に長時間のシミュレーションが必要
– 現在、トップレベルのネットだけがVCDファイルに
含まれている
– 残りのプライマリI/Oと隠れレジスタを含むレジスタ
については手作業で編集する必要がある
– 予測活動率ツールを使用
Estimate Activity Rates(予測活動率)
ツール
• 絶対周波数だけをセットする
• 自動的にセットされる配線
–
–
–
–
–
–
–
–
–
–
–
O
GCK
I
FB
AIM
PT
AND
OR
MC_CLK
RST/PST
MC_OE
• 自動的にセットされない配線
– 外部容量
– Q
精度を改善
• 外部の容量負荷
– I/Oピンに接続された負荷
• 基板のトレースの容量
• 外部デバイスの容量性負荷
– この負荷を充放電するためにVccとGNDピンから電流が
引き出される
– 消費電力の大きなソース
• 消費電力に大きな影響を及ぼす
• 消費電力を低減するには外部負荷を減らす
– 消費電力予測を正確に行うには
• XPowerに正確な容量値を入力する
• 外部負荷の正確な絶対周波数を入力する
精度を改善(続き)
• マクロセルのコンフィギュレーション
– ユーザは積項数に関する情報は与えられていない
– AIMは非反転バッファとしてモデル化されている
– マクロセルには多種のコンフィギュレーションがあるが、
これは理解可能である
– この情報は次のものに最も有用である
• 手作業によるデータ入力手法
• 予測活動率ツールをダブル・チェックする場合
– マクロセルには適切な活動率情報が必要である
• 精度を改善
• 全ての配線活動率のソース
レジスタ出力のマクロセル
• 下記の配線の活動率をセット
する
– I – 入力信号
• 絶対周波数
– GCK – グローバルなクロック
• 絶対周波数
– Q – レジスタ出力
• トグル・レート
• XPower により自動的にセット
された配線の予測活動率
要 約
• XPowerは次のものに必要である
– 低消費電力デザイン
– 熱制限があるデザイン
– バッテリ駆動のデザイン
• ModelSim XEによるシミュレーション
–
–
–
–
最も簡単な方法
データ入力時のエラーの機会を減らす
正確な活動率情報を提供する
少しの配線に関しては、ユーザがXPowerで修正する必要がある
• CoolRunner-II CPLD
– 業界で最も低消費電力のCPLD
– ハンドヘルド、バッテリ電源のデザインに優れている
– XPowerを使うと、設計者自身のデザインを使って消費電力の節約を
見ることが容易
• CoolRunner-II に対するXPower のサポートは ISE 6.1i で利用可能