ソフトウェア駆動型電力解析:半導体設計の効率最適化
電力は半導体設計における単一最大のコストドライバーです。より多くのエネルギーを消費するチップは、ポータブルデバイスではより大型で高価なバッテリー、高グレードの冷却ソリューション、より堅牢な電力分配システムを必要とします。これらの追加部品は製造コストを押し上げ、利益率を圧迫し、市場成功を阻害する可能性があります。壁面電源システム(サーバ、ストレージアレイ、ネットワーク機器)でも巨額の運用費が発生し、一部のデータセンターでは電力コストが機器寿命中にハードウェア価値を超えることさえあります。極端な電力レベルでは液冷などの高度なインフラが必須となり、資本的・運用的コストをさらに膨らませます。したがって、平均消費電力の削減は普遍的な目標であり、ピーク電力の抑制は熱破壊を防ぐための重要な要件となることが多々あります。
電力解析の課題
これらの目標を達成するため、業界は回路レベルの最適化からアプリケーション認識のソフトウェアベース電力管理まで、スペクトラムの広い低消費電力技術を採用しています。しかし、これらの対策の真の影響を評価するには、設計および検証段階で平均電力とピーク電力の両方を正確に見積もる必要があります。ポストシリコンデータに頼るのは受け入れられません。製品がすでに非生存的か、修復不能な損傷を受けている可能性があるからです。したがって、複数のプロジェクトマイルストーンで理想的には堅牢なプリシリコン電力解析が必須です。
従来のEDAワークフローは機能検証にシミュレーションを使用します。テストベンチが一連のチェックを実行し、特定機能を動作させ、スイッチングアクティビティファイルを生成してパワーサインオフツールに渡します。これらのツールはアクティビティデータと技術ライブラリ電力モデルを組み合わせ、平均およびピーク消費の見積もりを生成します。このアプローチの精度は、シミュレーションテストの代表性に完全に依存します。機能検証スイートは意図的に焦点を絞っており、実際のワークロードの全幅を捉えることは稀です。制約付きランダムテストは並列アクティビティを増やせますが、依然として現実的な使用パターンには届きません。真に信頼できるスイッチングアクティビティの源は、設計上で本番ソフトウェア(OSとユーザーアプリケーションを含む)を実行することからのみ得られます。
フルOSブートと複数アプリケーションをシミュレーションで実行するには数十億クロックサイクルが必要で、非現実的です。一方、エミュレータはOSブートからユーザーワークロードまで数十億サイクルを日常的に実行します。エミュレーションは必要な実ソフトウェアアクティビティを提供しますが、従来のパワーサインオフツールは数千サイクル向けに設計されており、数百万、数十億サイクルには対応していません。エミュレーション実行から意味のある高アクティビティウィンドウを抽出し、それらのセグメントに電力解析を集中させる新しい方法論が必要です(図1参照)。
クリックで拡大
図1. パワーウィンドウを用いた電力解析(出典: Synopsys)
ソフトウェア駆動型電力解析への移行
図1に示すフローは、エミュレータが設計のどの部分が時間経過とともにアクティブかを示すアクティビティプロファイルを生成するところから始まります。このプロファイルは波形として、または任意のハードウェアデバッグツールで表示できます。パワーサインオフは数十億サイクルでは実行できないため、ユーザーは1つ以上のクリティカルウィンドウ(アクティビティ、ひいては消費電力が最大となるセグメント)を特定する必要があります。各ウィンドウが数百万サイクルにわたる場合、精密な電力解析に使用できます。ベンチマークとして、エミュレータは10億サイクルのアクティビティプロファイルを約3時間で生成すべきです。
埋め込み