質の高い基準チェックポイントを選択する - 2023.2 日本語

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

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

インクリメンタル インプリメンテーション フローは再利用に依存するので、最も重要な入力は基準チェックポイントです。プロジェクト モードで自動インクリメンタル インプリメンテーションを使用する場合、Vivado ツール基準チェックポイントのアップデートが管理されます。これにより、再利用率が高くなり、タイミング クロージャがほぼ達成されるようになります。

インクリメンタル インプリメンテーションのその他すべてのユース ケースでは、ユーザーが基準チェックポイントを選択する必要があります。基準チェックポイント選択のガイドラインは、次のとおりです。

  • タイミングを満たしているか、タイミングをほぼ満たしている基準チェックポイントを使用します。基準チェックポイントがタイミングをほぼ満たしている場合、インクリメンタル インプリメンテーション フローを実行する前に、次のようにタイミングを向上しておくと有益な場合があります。
    注記: 自動インクリメンタル インプリメンテーションでは、WNS が -0.250 ns 以上のチェックポイントは拒否されます。
    • route_design -tns_cleanup を実行してワースト ケース パスでないパスを最適化します。
    • 配線後に phys_opt_design コマンドを実行し、タイミングを向上します。このコマンドの実行時間は長くなる場合がありますが、インクリメンタル インプリメンテーション実行ではこれらの再激化は高速に再実行されます。
    • report_qor_suggestions コマンドを使用して、デザインを向上するための推奨項目を取得します。インクリメンタル インプリメンテーション フローに適用する新しい推奨事項は、インクリメンタル インプリメンテーションに適したものである必要があります。基準チェックポイントに既に適用されている推奨事項は、インクリメンタル インプリメンテーションに適したものである必要はありません。推奨事項がインクリメンタル インプリメンテーションに適していない場合は、デフォルト フローを使用して推奨事項を適用し、チェックポイントをアップデートすることを考慮してください。詳細は、 『Vivado Design Suite ユーザー ガイド: デザイン解析およびクロージャ テクニック』 (UG906)このセクションを参照してください。
  • 密集度の最も低いチェックポイントを選択します。密集度の低いチェックポイントの方が、密集したチェックポイントよりも変更に対応できます。
  • 基準デザインとインクリメンタル チェックポイントの一致を最大限にします。
    注記: 自動インクリメンタル インプリメンテーションでは、セル一致が 94% 未満、ネット一致が 90% 未満のチェックポイントは拒否されます。
    • インクリメンタル合成を使用して、RTL の変更によるネットリストの変更を削減します。インクリメンタル インプリメンテーションを使用する準備ができるまで待つのではなく、デザイン クロージャ サイクルの早期にインクリメンタル合成をイネーブルにします。
    • 基準チェックポイント run とインクリメンタル インプリメンテーション run で、synth_design および opt_design のオプションを同じにします。
    • 同じツール バージョンを使用します。これは必須要件ではありませんが、しきい値の変更および新しい最適化が追加されているので、一致が下がる可能性があります。
    • opt_design AddRemap および ExploreWithRemap 指示子は、これらがタイミング クロージャを達成するための唯一の指示子である場合以外は使用しないようにします。これらの指示子を使用すると、コードベースを変更した場合に名前が一致しなくなる可能性があります。
  • report_qor_assessment を使用して、デザインがインクリメンタル インプリメンテーション フローに適したものであるか、デフォルト フローから切り替えるのが望ましいかどうかを判断します。
ヒント: インクリメンタル インプリメンテーションしきい値の調整に関する情報は、config_implementation -help を実行します。基準デザインとインクリメンタル チェックポイントの違いをレポートするには、report_incremental_reuse を使用します。