シフト レジスタの最適化 (デフォルト) - 2023.2 日本語

Vivado Design Suite ユーザー ガイド: インプリメンテーション (UG904)

Document ID
UG904
Release Date
2023-11-01
Version
2023.2 日本語

シフト レジスタの最適化では、複数の変換が実行されます。

  • SRL ファンアウト最適化: SRL (LUT ベース シフト レジスタ) プリミティブのファンアウトが 100 以上の場合に、SRL チェーンの末尾からレジスタ 1 段を取り出し、レジスタ プリミティブに変換します。これにより、ネットがタイミング クリティカルになった場合にダウンストリームの複製をより柔軟に実行できるようになります。通常、ファンアウトの大きい SRL ドライバーよりも、ファンアウトの大きいレジスタ ドライバーの方が複製が簡単です。
  • SRL とレジスタ プリミティブ間の変換:
    • SRL プリミティブは、SRL_TO_REG プロパティの値を true に設定することにより、論理的に等価のレジスタ プリミティブ チェーンに変換できます。この変換は通常、デバイス内で信号が長距離を移動できるようにするため、分散できるパイプライン レジスタの段数を増加させるために使用されます。レジスタの段数が増加すると、クロック周波数が上がりますが、レイテンシは長くなります。
    • レジスタ プリミティブのチェーンは、REG_TO_SRL プロパティの値を true に設定することにより、論理的に等価の SRL プリミティブに変換できます。この変換は通常、デバイス内で信号が長距離を移動するのに使用されるパイプライン レジスタの段数を削減するために使用されます。レジスタの段数が多すぎると、密集などの配置問題が発生する可能性があります。
  • SRL とレジスタ チェーン間のパイプライン段の選択移動: この変換は、パイプライン レジスタ チェーンに SRL とレジスタ プリミティブが含まれる場合に使用できます。SRL 入力または SRL 出力で、レジスタ段を SRL から取り出したり、SRL に挿入したりできます。これにより、パイプライン レジスタ構造をより詳細に制御できるようになり、パイプライン段数が少なすぎたり多すぎたりする問題に対処できます。
    • パイプライン段数が少なすぎる: SRL の入力からレジスタを 1 つ取り出すには、SRL プロパティ SRL_STAGES_TO_REG_INPUT を 1 に設定します。SRL の出力からレジスタを 1 つ取り出すには、SRL_STAGES_TO_REG_OUTPUT プロパティの値を 1 に設定します。
    • パイプライン段数が多すぎる: SRL の入力にレジスタを 1 つ挿入するには、SRL プロパティ SRL_STAGES_TO_REG_INPUT を -1 に設定します。SRL の出力にレジスタを 1 つ挿入するには、SRL_STAGES_TO_REG_OUTPUT プロパティの値を -1 に設定します。
注記: レジスタから SRL への変換は、制御セットに互換性がある場合にのみ可能です。