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

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

2.2.7.4. リセット・シーケンスのリタイミング

特定の条件下では、Retimeステージは、0より大きいCサイクル値を持つレジスターの変換を実行します。この機能は、デザインの最大頻度を向上させるのに役立ちます。しかし、ゼロより大きいcサイクル等価値を有するレジスター・リタイミングは、リタイミング後に機能的等価性を保証するために余分な予防措置を必要とします。既存のリセットシーケンスを活用し、以下に説明するように適切な数のクロックサイクルを追加して機能的同等性を保持します。

リセット・シーケンスを変更する

リタイミング中にリセットの動作周波数を最大にするには、次の推奨事項に従ってください。
  • .自然にリセットされるすべてのレジスターからsclr信号を除去します。これにより、リタイミング中にレジスターが自由にロジック内を移動することができます。
  • ALLOW_POWER_UP_DONT_CAREグローバル割り当てをONに設定します。この設定はレジスターの移動を最大限にします。
  • サイクルの等価性に起因する余分なクロックサイクルを計算し、リセットシンクロナイザーに追加します。

リセットにクロックサイクルを追加する

Compilerは、Fitter > Retime Stage > Reset Sequence Requirementレポートでリセットシーケンスに追加するクロックサイクル数を報告します。このレポートには、クロックドメインごとに追加するサイクル数がリストされます。

図 19. リセット・シーケンスの要件のレポート

複数のブランチに重複をレジスターすると、このcサイクルが実行されます。重複レジスターの数にかかわらず、レジスターは常に元のソースから1つの接続先にあります。 1クロックサイクル後、すべてのブランチは再び同じ値を持ちます。

次の例は、リセットシーケンスにクロックサイクルを追加することで、リタイミング後にデザインが機能的に同等になることを示しています。

図 20 .は、順方向リタイミングが可能なパイプライン型のレジスターセットを示しています。 cサイクル値は0に等しいです。

図 20. パイプライニングとレジスターの複製

図 21は、1つのレジスターの順方向リタイミング後のパイプライン・セットのレジスターを示しています。 cサイクル値が1に等しいので、この回路のリセットシーケンスは、リセット後の機能的等価性のために1つの追加クロックサイクルを必要とします。.

図 21. 1つのレジスター移動の影響

図 22は、2つのレジスターの順方向リタイミング後にパイプラインされたレジスターセットを示しています。 cサイクル値は2に等しいので、この回路のリセットシーケンスには、リセット後の機能的等価性のために2つの追加のクロックサイクルが必要です。

図 22. 2つのレジスター移動の影響

パイプラインからのレジスターをロジックに移動するたびに、レジスターの複製とデザインのCサイクル値が1ずつ増加します。