通常のファブリック パスは、ファブリック レジスタまたはシフト レジスタ間のパスで、LUT などのさまざまなリソースを通過します。report_design_analysis
のタイミング パス特性の表にはロジック パス トポロジのサマリが示され、次の問題を特定できます。
- 数個の小型 LUT がカスケード接続されている
LUT へのマップは、階層、KEEP_HIERARCHY、DONT_TOUCH、または MARK_DEBUG 属性が存在するか、10 以上のファンアウトを持つ中間信号の影響を受けます。
opt_design -remap
オプションを使用するか、-directive オプションの AddRemap または ExploreWithRemap 指示子を使用して、小型の LUT をまとめてロジック段数を削減してください。小型の LUT 間のネット ファンアウトが 1 より大きいためにopt_design
で最長のパスを最適化できない場合は、LUT に LUT_REMAP プロパティを設定して最適化を強制できます。 - パスに CARRY セルが 1 つ存在する
CARRY プリミティブは、カスケード接続した場合にタイミング QoR に最も有益です。CARRY セルは LUT よりも配置が困難であり、合成で 1 つの CARRY セルではなく複数の LUT が使用されるようにした方が、多くの場合に LUT の構造がよくなり、より柔軟に配置を実行できます。synth_design で -directive FewerCarryChains オプションを使用するか、PerfThresholdCarry ストラテジ (プロジェクト モードのみ) を使用して、ほとんどの 1 つの CARRY セルを削除してみてください。または、CARRY_REMAP プロパティを使用して、
opt_design
でタグが付いた CARRY セルを LUT にリマップされるようにします。注記: この最適化手法は、report_qor_suggestions
Tcl コマンドにより自動的に適用されます。 - パスがシフト レジスタ (SRL) で終了する
RTL で SRL_STYLE 属性を使用して、シフト レジスタから最初のレジスタを取り出します。詳細は、 『Vivado Design Suite ユーザー ガイド: 合成』 (UG901) のこのセクションを参照してください。または、
opt_design
で同じ最適化をインプリメントする前に、SRL_STAGES_TO_REG_INPUT プロパティを適用します。詳細は、 『Vivado Design Suite ユーザー ガイド: インプリメンテーション』 (UG904) のこのセクションを参照してください。注記: この最適化手法は、report_qor_suggestions
Tcl コマンドにより自動的に適用されます。 - パスがファブリック レジスタ (FD) のクロック イネーブルまたは同期セット/リセットで終了する
データ ピン (D) で終了するパスのマージンが大きく、ロジック段数が少ない場合は、RTL で信号に EXTRACT_ENABLE または EXTRACT_RESET 属性を no に設定します。または、最適化するレジスタに CONTROL_SET_REMAP プロパティを設定して
opt_design
で同じ最適化が実行されるようにします。注記: この最適化手法は、report_qor_suggestions
Tcl コマンドにより自動的に適用されます。