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

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

2.2. Hyper-Retiming(レジスター移動を容易にする)

FitterのRetimeステージでは、ALMレジスターをルーティング・ファブリック内のHyper-Registerにリタイミング(移動)することにより、レジスターチェーンのバランスをとることができます。また、Retimeステージでは、レジスターを組み合わせロジック全体で前後に移動させることでシーケンシャルな最適化を実行します。一連のレジスター内の各ステージ間の伝搬遅延を平衡させることにより、リタイミング・プロセスはクリティカル・パスを短くし、クロック周期を短くし、動作周波数を増加させます。

その後、レジスターを理想的なHyper-Register位置に移動するために、RetimeステージがFitter処理中に自動的に実行されます。このHyper-Retimingプロセスでは最小限の労力しか必要とせず、で結果として1.1〜1.3倍のパフォーマンスが得られます。

リタイミングの前に左にレジスターを設定し、最悪の場合は2つのLUTを遅延します。 1つのLUTの最悪の場合の遅延で、リタイミング後に右にレジスターします。

図 5. LUT間のレジスターの移動

Compilerがレジスターをリタイムすることができない場合、これはリタイミング制約です。このような制限により、デザインのfMAXが制限されます。パフォーマンスを重視するデザインのリタイミング制約を最小限に抑えて、最大限のパフォーマンスを実現します。

パフォーマンスを制限するさまざまなデザイン条件があります。制限は、ハードウェアの特性、ソフトウェアの動作、またはデザインの特性に関連する可能性があります。レジスターのリタイミングを容易にし、リタイミングの制限を回避するには、次のデザイン手法を使用します。

  • 必要な場合を除いて非同期リセットは回避します。 「リセット戦略」のセクションを参照してください。
  • 同期クリアを回避します。同期クリアは通常、リタイミングには役立たないブロードキャスト信号です。
  • タイミングの制約と例外で、ターゲットとなるワイルドカードまたは名前を使用します。「 タイミング制約の考慮事項」のセクションを参照してください。
  • シングルサイクル(停止/開始)フロー制御は回避します。例として、クロックイネーブルとFIFOフル/エンプティー信号があります。有効信号とほぼフル/エンプティーを使用することを検討してください。
  • レジスターの属性を保存したり変更したりしないでください。「 リタイミングの制限と回避策」のセクションを参照してください。
  • パイプライン・レジスターの追加については、「Hyper-Pipelining(パイプライン・レジスターを追加)」セクションを参照してください。
  • リタイミングのためのループのアドレス指定や他のRTL制限については、「 Hyper-Optimization(RTLの最適化)」セクションを参照してください。

以下のセクションでは、特定のデザイン環境におけるレジスターの移動を容易にするためのデザイン手法について説明します。