moerjielovecookie

Sawen_Blog

一个普通工科牲的博客网站
x
github
follow
email

Vivadoにおける合成の設定

一、合成オプション#

  1. 最適化レベル(-Oまたは--optimize

    • 0:デフォルトの最適化、コンパイル時間を短縮。
    • 1:消費電力を削減(Power_DefaultOpt戦略を実行)。
    • 2:コア速度を向上(PHYS_OPT_DESIGNステップを追加)。
    • 3:最高の性能(リタイミングと物理最適化を有効にする)。
    • s:論理リソースを削減(Area_Explore戦略を実行)。
    • quick:実装時間を短縮(Flow_RuntimeOptimizedを有効にする)。
  2. 合成戦略(vivado.synth_strategy

    • デフォルト戦略(Synthesis_Defaults)、クイック実行最適化(Flow_RuntimeOptimized)およびカスタム戦略を含む。
  3. RTL 言語選択(vivado.rtl

    • verilogまたはvhdlとして指定。
  4. 階層管理(-flatten_hierarchy

    • オプション:none(階層を保持)、full(完全に展開)、rebuilt(後で階層を再構築)。
  5. リソース制御

    • ゲートクロック変換(-gated_clock_conversion
    • BUFG 数の制限(-bufg
    • リソース共有(-resource_sharing)。
  6. レポートレベル(vivado.report_level

    • 0:合成後の利用率 + 実装後のタイミング。
    • 1:合成 / 実装後の詳細分析。
    • 2(デフォルト):クイック失敗チェックを含む。

二、実装オプション#

  1. 実装戦略(--vivado.impl.strategies

    • パフォーマンス優先(Performance_Explore)、リソース最適化(Area_Explore)などの事前定義された戦略、またはカスタム戦略。
  2. 並列作業数(--vivado.impl.jobs

    • Vivado 実装の並列プロセス数を指定(例:--vivado.impl.jobs 4)。
  3. 物理最適化(vivado.phys_opt

    • ステージ選択:noneplace(配置最適化)、route(配線最適化)またはall
  4. タイミング制御

    • 最大タイミングパス数(vivado.max_timing_paths):満たされていないタイミングのときに報告するパスの数を指定。
  5. Pblock 範囲(vivado.pblock

    • 実装中に注目する論理領域を指定(例:{SLICE_X8Y105:SLICE_X23Y149})。
  6. リソース最適化

    • --optimizeパラメータはリソース使用に影響を与える(例:sオプションはリソース使用を削減)。

三、その他の重要なオプション#

  • IP キャッシュを無効にする(--no_ip_cache:ツールに IP 合成結果を再生成させる。
  • カスタム合成コマンド(vivado.synth_design_argssynth_designに追加パラメータを渡す。
  • 物理レイアウト制御:LSF クラスターを介して実装タスクを分散(--vivado.impl.lsf)。

:一部のオプションは Vitis ツールチェーン(v++コマンド)で設定する必要があり、一部は Vivado GUI の「プロジェクト設定」で調整可能(合成戦略、実装戦略および並列作業数など)。詳細な戦略については『Vivado Design Suite ユーザーガイド』を参照してください。

時間がないので、まずは ima で生成したものを使います。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。