シフト レジスタのリマップ - 2023.2 日本語

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

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

これは、別々のレジスタ チェーンと SRL (LUTRAM ベースのシフト レジスタ プリミティブ) 間でシフト レジスタを変換する最適化のセットです。これらの最適化はグローバルしきい値を指定して変換をします。また、レジスタと LUTRAM ベースの SRL 間の使用率を調整することもできます。SRL 使用率が高いと密集が発生する可能性が上がりますが、小さな SRL をレジスタに変換することで密集が改善されるほか、個々のレジスタを提供して長い距離のクリティカル パスをカバーするようにすることで、パフォーマンスを改善できるようになります。密集は、レジスタ使用率が高くなりすぎると、再び発生する可能性はあります。かなり長いレジスタ チェーンを SRL に変換すると、レジスタ段と配線が吸収されるので、密集を削減しやすくなります。

この最適化は、モードを定義する -srl_remap_mode オプションに引数のリストを Tcl リストとして指定すると実行できます。最適化には、次のようなさタイプがあります。

  • 小さな SRL のレジスタへの変換: この最適化には、次のように max_depth_srl_to_ffs モードを使用します。
    • opt_design -srl_remap_modes {{max_depth_srl_to_ffs <depth>}}
    • この場合、深さ <depth> 以下の SRL すべてがレジスタ チェーンにリマップされます。
  • 大きなシフト レジスタ チェーンの SRL への変換: この最適化には、次のように min_depth_ffs_to_srl モードを使用します。
    • opt_design -srl_remap_modes {{min_depth_ffs_to_srl <depth>}}
    • この場合、深さ <depth> よりも大きなレジスタ チェーンすべてが SRL プリミティブにリマップされます。
  • 自動ターゲット使用率最適化: このモードでは、次の構文を使用します。
    • -srl_remap_modes {{target_ff_util <ff_util> target_lutram_util <lutram_util>}}

この場合、レジスタおよび LUTRAM 両方の使用率ターゲット パーセント (0 ~ 100) を指定します。現在の使用率がターゲットを越えている場合、Vivado はその使用率の多すぎるリソース タイプを使用率ターゲットが満たされるまで別のリソース タイプに変換します。SRL をレジスタに変換する場合は、Vivado でまず一番小さな SRL から開始されます。レジスタを SRL に変換する場合は、Vivado で一番大きなレジスタ チェーンから開始されます。

注記: max_depth_srl_to_ffs および min_depth_ffs_to_srl は同時に使用できますが、ターゲット使用率設定は使用できません。