IC 設計: クロック ゲーティングとは?

この記事の出典: https://blog.csdn.net/weixin_43727437/article/details/104966528

この記事は学習記録専用で、先人の原文から素晴らしい内容にアクセスしています。

1. なぜクロック ゲーティングが必要なのですか?

1-静的消費電力

チップの消費電力は、動的消費電力と静的消費電力として広く定義できます。

通常、静的消費電力には、フリップしていない状態でチップが発生するリーク電力 (しっかりと閉じていないことによる消費電力)基板電流による消費電力熱電子効果による電流効果による消費電力などが含まれます。といくつかのコンポーネント。

通常、スタティック消費電力は、フロントエンド設計段階で何らかの最適化を行うことが困難です (電源オフ処理を行うことができます)一般に、 ME/BE プロセスまたはプロセスの改善に基づいて、より良い結果を達成します。
静的消費電力は次のとおりです。
ここに画像の説明を挿入

2-動的消費電力

動的消費電力の原因は、通常、次の 2 つの部分で構成されます。

1 - パート 1

  • 最初の部分、チップ内の電力消費の最も大きな部分は、セルの充電と放電によって引き起こされる電力消費であり、下の図に示すように、インバータ(変換)回路を例にとると、それはで構成されていますPMOSとNMOSがあり、出力は対地容量があると考えるのと同じですが、

IN が 0 から 1 になるたびに、PMOS はオン状態からオフ状態に変化します。逆に、NMOS はオフ状態からオン状態に変化します。これにより、コンデンサが NMOS からグランドに放電します。

逆に IN が 1 から 0 に変化すると、PMOS を介してコンデンサが充電され、この充電と放電の過程で電気エネルギーの大部分が消費され、電力消費が発生します。

ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

第二部

動的消費電力のもう 1 つの部分は、セルの反転プロセス中にPMOS と NMOS が同時にオンになったときに発生する消費電力であり、これは内部電力とも呼ばれ、このとき、VDD から GND への DC パスが現れます.このプロセスは非常に短いですが、このプロセス中の回路内の抵抗は非常に小さいため、パス全体の電流は非常に大きくなります.

しかし、それにもかかわらず、上記の動的消費電力と比較すると、その割合はまだ比較的小さいです。
ここに画像の説明を挿入

まとめ

上記の分析から、動的消費電力はすべてセルのフリッピングが原因であることがわかりますチップ内で、フリッピング周波数が最も高いパスがクロック パスです。そして、クロック パスで行うべきことは CTS 処理 (クロック ツリー) であり、クロック パス全体で大量の CK-BUF または CK_INV が発生します。

クロックの各サイクルのフリッピングは、パス全体のすべてのセルのフリッピングを駆動します統計によると、チップでは、クロック パスでの消費電力がチップ全体の消費電力の 40% 以上を占める場合があります。したがって、クロック パスを動的にシャットダウンすると、消費電力を大幅に節約できますクロックをオフにするこの手法は、クロック ゲーティングと呼ばれます。

2. クロック ゲーティング (CELL ベース) を行う方法は?

ここに画像の説明を挿入

上記の図に示すように、data_out は実装後に DFF と見なすことができます.この DFF のデータは、data_en==1 の場合にのみ、すべてのクロック サイクルで有効ではありません。DFF は、クロックの立ち上がりエッジで 1 回だけ書き換えられます。他のクロック サイクルの立ち上がりエッジでは、DFF データは実際には再度上書きされません。これは私たちにアイデアを提供します. 実際には、クロックの反転は data_en が 1 の場合にのみ意味があり、他のサイクルは無効な反転です.

**これらの無効なクロック フリップによる消費電力を節約するにはどうすればよいですか? **実際には、次のクロック波形を実現できれば十分です。

ここに画像の説明を挿入

この考えがあれば、解決策を見つけるのは簡単です。波形を見ると、AND-GATE または OR-GATE を使用してクロックを AND/OR することができ、目的の効果が得られることが容易に想像できます。

AND-GATE または OR-GATE を介して元の CLK で計算を行い、**元の CLK を CLK_G に変換した後**、EN が有効な場合にのみクロックが反転する波形を取得します。この形式の変換プロセスは、クロック ゲーティングの最も基本的な形式であり、
ここに画像の説明を挿入
この基本形式のクロック ゲーティングの回路は単純ですが、実際の実装および使用の過程でいくつかの問題を考慮して回避する必要があります。
ここに画像の説明を挿入
AND-GATE 形式のクロックゲーティングにより、AND の働きにより、クロックがハイレベルの時の信号を通過させます。これにより問題が発生します。EN 信号がクロックの高レベルの間安定していることを確認する必要があり、グリッチがあってはなりません。そうしないと、取得されたクロック -CLK_G がグリッチ (グリッチ) を生成します。

では、クロックが高レベルのときに EN 信号が安定していることを確認するにはどうすればよいでしょうか。EN 信号のソースは、立ち上がりエッジによってトリガーされるレジスターではないと考えるのは簡単です。EN 信号が立ち上がりエッジによってトリガーされるレジスターから生成される場合、組み合わせロジックの後、クロックのハイ レベル中に次のグリッチを生成するのは簡単です。この問題を解決するには、EN のソースを立ち下がりでトリガー
ここに画像の説明を挿入
ます。 * * このように、EN 信号は最初のクロックの立ち上がりエッジの前に半分のサイクル時間を持ち、EN 信号を安定させることができます。クロックの立ち上がりエッジが達成されます。

そして、AND ゲート形式のクロック ゲーティング回路に基づいて、ME/BE ツールはタイミング チェック時にこの点をチェックおよび制約できなければなりません。

クロックの立ち上がりエッジの前に EN 信号が安定している場合、つまり、EN 信号がクロックの高レベル中にグリッチを持たない場合、これにより、最終的に生成されたクロックがグリッチなしで安定していることを保証できます。(理解する)

ここに画像の説明を挿入
同様に、OR ゲートに基づくクロック ゲーティングにも同様の考慮事項が必要です。EN によって生成されたレジスタは、立ち上がりエッジによってトリガーされたレジスタを使用する必要があることが、解析後にのみわかります。

最後に、クロック ゲーティングが ANG-GATE に基づいて行われる場合、EN は立ち下がりエッジでトリガーされる DFF をトリガーするロジックを生成する必要があります; クロック ゲーティングが OR-GATE に基づく場合、EN はロジックを生成する必要があります。立ち上がりエッジでトリガーされる DFF をトリガーします。

上記の分析の過程で、クロックゲーティングのこの基本的なCELLメソッドに基づいて、EN信号が動作を安定させるのに半サイクルしかかからないことも述べました。

3. クロック ゲーティング (ICG に基づく高周波) を行う方法は?

ゲーティングのクロック周波数が特に高い場合、収束しにくいタイミングの問題が発生する可能性があります。

上記の問題を解決するために、EN 信号の安定時間を長くすることができます. つまり、EN 信号を安定させるために半クロックサイクルを「借りる」必要があります. これは、別の基本的な CELL-LATCH (ラッチ) を使用できます。これは、タイミング ボローと呼ばれる、回路内で時間を借りるために使用できます

前回のラッチの記事で述べたように、デジタル回路ではラッチを使用することは非常に望ましくありません. 要点は、ラッチのタイミング ボロー特性であり、タイミングを行う際の難易度が高くなります.

しかし、ラッチ回路がよく使用される場所が 2 つあります。1 つは、ここで言及するクロック ゲーティングの実装です。

もう 1 つは、DFT のホールド タイミングの問題を解決することです。

ラッチ + AND ゲーティング回路

元の AND の前に第 1 レベルのクロック ロー アクティブ ラッチを追加して、図に示すような回路構造を形成します。そのタイミング図を図の下に示します。

追加された LATCH は Low レベルでアクティブになるため、CLK が High レベルの期間に EN 信号が不安定でグリッチが存在しても、LATCH を介して伝達されません。LATCH の後に追加された AND 回路は、ロー レベル期間中に LATCH に送信される EN グリッチを確実にブロックします。

これにより、EN 信号が CLK サイクル全体で自由にトグルできることが保証されます。LATCH の特別な属性は、CLK の次の立ち上がりエッジが来る前に EN 信号が安定している限り、CLK がローの半サイクル期間中に EN 信号をラッチにラッチできることです (セットアップ/ホールド タイムを保証します)。ラッチの)、正しい EN 信号でラッチできます。

ここに画像の説明を挿入
この構造的なクロック ゲーティング回路に基づいて、EN 信号の安定時間が半サイクルしかないという問題を解決できます。

ラッチ + OR ゲーティング回路

LATCH+ORによるクロックゲーティング回路。図 2 に示すように、AND 形式との違いは、前の LATCH をクロック ハイ アクティブに置き換える必要があり、EN 信号の有効レベルによって、図にインバータ CELL が存在するかどうかが決まります。詳細は省きます。

この構成によるクロックゲーティング回路でも、EN信号安定のためのCLKサイクル時間を確保することができます。

ここに画像の説明を挿入
LATCH+AND 回路で EN 信号の計算時間のサイクル全体を提供する場合は、EN 信号のソース レジスタを立ち上がりエッジでトリガーする必要があります。同様に、LATCH+OR 回路でEN 信号の全サイクル 安定化時間、その後、EN 信号のソース レジスタは、立ち下がりエッジによってトリガーされる必要があります。

STM32時計

エネルギー不足と地球温暖化の進行に伴い、電子製品の消費電力要件はますます重要になってきており、電子製品の消費電力をどのように削減するかは、すべての電子技術者が考えなければならない問題です。

半導体製品の場合、デジタル回路の消費電力は2つの部分で構成されています. 1つは通常、電子回路の漏れ電流として表される静的消費電力です. この部分の消費電力の制御は、主に製造プロセスと材料に依存します.もう 1 つは静的な消費電力であり、動的な動作電流であり、回路設計の方法、回路の複雑さ、動作中のクロック周波数など、電力消費のこの部分に影響を与える多くの要因があります。 .

今回紹介したクロックゲーティング技術は、非常にシンプルで効果的な消費電力制御方法で、チップ上で一時的に使用しない機能とそのクロックを停止させて消費電流を抑えるというのが基本原理です。

このクロック ゲーティング技術は、STM32 で使用されます。STM32 のクロック分配図については、次の図を参照してください。

ここに画像の説明を挿入
図のオレンジ色でマークされた AND ゲートは、さまざまなモジュールのクロックを制御するために使用されます. ユーザーは、プログラム内の適切なレジスタ ビットを介して、対応するモジュールのクロックをオンまたはオフにして、消費電力を削減できます.

(http://news.eeworld.com.cn/mcu/2015/0414/article_19372.html)

おすすめ

転載: blog.csdn.net/weixin_45264425/article/details/130329246