インテル® Hyperflex™ アーキテクチャー高性能デザイン・ハンドブック

ID 683353
日付 10/04/2021
Public
ドキュメント目次

8.2.2.1. 放送コントロール信号の例

多くの宛先にファンアウトするブロードキャスト・コントロール信号はリタイミングを制限します。非同期クリアは、特定のレジスターコントロール信号のシリコンサポートによるリタイミングを制限する可能性があります。しかし、同期クリアおよびクロックイネーブルなどの同期信号であっても、ショートパス/ロングパス・クリティカル・チェーンの一部である場合にリタイミングを制限することができます。同期コントロール信号の使用自体は限定的な理由ではありません。むしろ、特定の配置と組み合わされた回路の構造です。

レジスターをノード上で転送するには、すべてのノードの入力でレジスターを使用できる必要があります。この要件は、従来のリタイミングとHyper-Retimingと同じです。次の図のレジスターBを介してレジスターAをリタイムするには、クロックイネーブル入力のレジスターCを含むすべての入力からレジスターをプルする必要があります。さらに、レジスターが分岐点の片側にリタイミングされる場合、レジスターのコピーは分岐点のすべての側でリタイミングされなければなりません。この要件は、従来のリタイミングとHyper-Retimingと同じです。

図 139. クロックイネーブルによるリタイミング


レジスターBのクロックイネーブル入力には分岐点があります。分岐点は、クロックイネーブル以外の他のデスティネーションへの追加のファンアウトから構成されています。レジスターAをレジスターB上でリタイムするには、前の図と同じですが、分岐点が存在するということは、レジスターCのコピーが分岐点の反対側に沿ってリタイミングしてCをレジスターする必要があることを意味します。

図 140. ブランチポイントによるクロックイネーブルによるリタイミング


リタイミング例

以下の図は、前の2つのステップを組み合わせて、ブロードキャスト・クロック・イネーブル信号または分岐点の存在下での順方向Hyper-Retimingプッシュのプロセスを示しています。

図 141. リタイミング例開始点Hyper-Retimingは、リタイミングされたレジスターをHyper-Registerに移動できます。

各レジスターのクロックイネーブルには、その入力に1つのHyper-Register位置があります。配置配線のために、レジスター間パスには3つのHyper-Register位置が含まれます。異なるコンパイルには、より多くのまたはより少ない数のHyper-Registerの位置が含まれる可能性があります。さらに、このチェーンへのデータおよびクロックイネーブル入力には、Hyper-Retimingがリタイミングできるレジスターがあります。これらのレジスターはRTLに存在するか、またはPipeline Stagesのセクションで説明されているオプションで定義できます。

入力レジスターの1つのステージは、2つのレジスター間のHyper-Register位置にリタイムされます。 図 142はHyper-Retimingフォワードプッシュの一部を示しています。クロックイネーブル入力上のレジスターの1つは、各クロックイネーブル入力でHyper-Register位置にコピーされて、分岐点上でリタイミングされます。

図 142. リタイミング例中間点


図 143 Hyper-Retimingが順方向プッシュを完了した後の回路内のレジスターの位置を示します。左レジスターの入力にある2つのレジスターは、Hyper-Register位置にリタイムされます。この図は、2つの前の図と機能的に同等です。第2のレジスターのクロックイネーブル入力における1つのHyper-Register位置は占有されたままです。 2番目のレジスターへのクロックイネーブルパスには他のHyper-Registerの位置はありませんが、リタイミングすることができる入力にはまだ1つのレジスターがあります。

図 143. リタイミング例終了点

図 144はショートパス/ロングパス・クリティカル・チェーンによって制限されない場合、Hyper-Retimingが使用できるレジスターの位置を示しています。ただし、右側のクロックイネーブルパスでHyper-Registerを使用できないため、Hyper-Retimingは図のように回路をリタイムすることができません。

図 144. リタイミング例リミット条件

2番目のレジスターへのクロックイネーブルパスには使用可能なHyper-Registerの位置がないため、Compilerはこれをショートパスとして報告します。レジスターからレジスターへのパスが報告されたパフォーマンスより上で動作するには長すぎるため、リタイミングされたレジスターに対してより多くの使用可能なHyper-Register位置を有するが、Compilerはこれをロングパスとして報告しまし。

この例では、ショートパス/ロングパス・クリティカル・チェーンの構造を意図的に簡単に示しています。実際には、2ファンアウトの負荷は回路のクリティカル・チェーンではありません。ただし、ブロードキャストコントロール信号は、ファンアウトが高いため、クリティカル・チェーンになる可能性があります。そのため、構造を回避または書き直すための手順を実行する必要があります。