通常のファブリック パスを最適化 - 2023.2 日本語

FPGA および SoC 用 UltraFast 設計手法ガイド (UG949)

Document ID
UG949
Release Date
2023-11-29
Version
2023.2 日本語

通常のファブリック パスは、ファブリック レジスタまたはシフト レジスタ間のパスで、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 コマンドにより自動的に適用されます。
    ヒント: 合成後のパスから対応する RTL ソース コードにクロスプローブするには、 『Vivado Design Suite ユーザー ガイド: デザイン解析およびクロージャ テクニック』 (UG906)このセクションを参照してください。