Comments
Description
Transcript
低消費電力のガイドライン 低消費電力のガイドライン
低消費電力のガイドライン 第 14 回 長谷川裕恭 今回は,LSI の消費電力を低く抑えるための設計ガイドラ プロセス技術が決まったら,次は回路技術のくふうによ インについて解説する.消費電力を削減するための手法と って低消費電力化を図ります.回路上のくふうの中でもっ して,ゲーテッド・クロックや分周クロックがよく使われ とも効果があるのはゲーテッド・クロックや分周したクロ ている.ゲーテッド・クロック回路の自動挿入に対応した ックを使用する方法です. 論理合成ツールも市販されている.ただし,やみくもにゲ ゲーテッド・クロックは,必要のないときにクロックの ーテッド・クロックや分周クロックを適用しても効果は上 供給を停止する方法で,停止している間の消費電力はほぼ がらない.どの箇所に適用すれば効果が上がるかを考慮し ゼロとなります.また,クロック周期を 1/2 分周すると, ながら HDL を記述する必要がある. その回路部分は,消費電力が半分になります.このような (編集部) 方法は消費電力削減の観点ではよいのですが,テスト容易 前回までは,テスト容易化設計のガイドラインについて 化設計や論理合成,タイミング解析,レイアウトの観点で 説明しました.今回は,低消費電力設計の問題について解 は不ぐあいが発生しやすくなります.ゲーテッド・クロッ 説していきます. クや分周クロックを採用する場合には,これらの問題を慎 重に検討してください. ●まずプロセス技術を,次に回路技術のくふうを考える 現在のLSI 設計では,低消費電力化が一つの課題となって います.低消費電力化を考える場合,まず設計者はプロセ ス技術によるアプローチを検討します.プロセス技術によ るアプローチとしては,LSI の電源電圧を低くする方法と, クロック生成モジュール ローカルなブロック (機能ブロック) できるだけ最先端プロセスを利用する方法が効果的です. EN1 消費電力は LSI の電源電圧の 2 乗に比例します.例えば, LSI の電源電圧を2.5V から1.9V に下げるだけで,消費電力 は 40%減少します.また,一つ一つのトランジスタの容量 EN2 は LSI の設計ルール(最小線幅)の 2 乗に比例します.設計 ルールに比例して配線長も短くなるため,例えば 0.18μm プロセスから 0.13μm プロセスに変更するだけで,消費電 力は約 50%減少します. このほかのくふうとして,論理しきい値を変更する方法 CLK が挙げられます.低消費電力用に開発されたプロセスを利 用して回路の動作速度を落とすと,消費電力を20 ∼ 50%削 減できます. 〔図 1〕ゲーテッド・クロックと分周クロック ゲーテッド・クロックや分周クロックの適用は最上位階層に置いたクロック 生成モジュールの中だけにとどめ,ローカルなブロックの中には適用しない. Design Wave Magazine 2002 July 111 always @(posedge CLK or negedge RST_X) begin if (!RST_X) Q <= 1'b0; else if (EN) Q <= DI; end ゲーテッド・クロック化 同期イネーブル付き回路 〔図 2〕 EDA ツールによるゲーテッド・クロックの自 動挿入 一般的な論理合成ツールは左下の回路を生成す る.一方,米国 Synopsys 社の Power Compiler などは,右下のようなゲーテッド・クロックを 含む回路を生成する. 〔図 3〕 ゲーテッド・クロックの適用例 4 個の FF(フリップフロップ) のイネーブル信号 をゲーテッド・クロックに置き換える.左の回 路では,CLK は 4 個の FF に供給されていた.右 の回路では1 個のラッチとAND 入力になるので, 消費電力が削減される. Q DI DI Q EN G EN CLK CLK RST_X RST_X DI[3] EN DI[3] DI[2] DI[2] DI[1] DI[1] DI[0] DI[0] CLK RST_X RST_X ●クロック生成モジュールは最上位階層に置く EN G CLK ゲーテッド・クロックや分周クロックの利用はブロック 標準的な ASIC 設計においてゲーテッド・クロックや分 単位で行いましょう.そして,一つのブロックには一つの 周クロックを使用する場合,図 1 の例のように最上位階層 クロックをクロック生成モジュールから供給するようにし のクロック生成モジュールの中にのみゲーテッド・クロッ てください. クを配置し,クロックに対して機能ブロックごとにゲーテ ィングする(ゲートを挿入する)ようにします. ローカルな階層にゲーテッド・クロックが存在すると, ●ツールによってゲーテッド・クロックを自動挿入 ゲーテッド・クロックを使用する方法として,設計者 クロック・ツリー合成(CTS : clock tree synthesys)によ がブロック単位に人手で挿入する方法のほかに,米国 ってクロック・ツリーを生成する際に,複数の異なったセ Synopsys 社のPower Compiler などを使って自動的に挿入 ルがクロック・ツリーの中に存在することになり,クロッ する方法があります.Power Compiler は,ゲート数や遅 ク・スキューの調整が困難になることがあります.また, 延時間に加えて,消費電力も考慮しながら回路を最適化す クロック生成モジュールの中にのみゲーテッド・クロック る論理合成ツールです. を置くことで,前回(本連載の第 13 回)に紹介したテスト RTL 記述において,図 2 の上のような同期イネーブル付 容易化設計のための回路の挿入も比較的容易に行えます. き FF(フリップフロップ)の記述を論理合成ツールに入力 112 Design Wave Magazine 2002 July