手順 9: 最上位デザインの作成およびインプリメンテーション - 2023.2 日本語

Vivado Design Suite チュートリアル: IP インテグレーターを使用した IP サブシステムの設計 (UG995)

Document ID
UG995
Release Date
2023-10-18
Version
2023.2 日本語

IP サブシステム デザインが完成し、検証されたので、次に最上位 HDL デザインに含めるための準備が必要です。サブシステム デザインは最上位デザインにモジュールまたはブロックとして含めることができ、また最上位デザインの唯一のブロックにすることも可能です。どちらの場合も、サブシステム デザインの HDL ファイルを生成する必要があります。

  1. Sources ウィンドウで最上位デザイン subsystem_1 を右クリックし、Generate Output Products をクリックします。

    このコマンドにより、サブシステム デザインで使用されている IP コアのソースおよび関連制約ファイルが生成されます。



    サブシステム デザインに関連付けられているさまざまな出力ファイルを再生成するための Generate Output Product ダイアログ ボックスが開きます。

    Vivado IP インテグレーターでは、ブロック デザインの合成方法を選択できます。Synthesis Options には次の 3 つのオプションがあります。

    Global
    ブロック デザインをアウト オブ コンテキスト ブロックとしてではなく、最上位プロジェクトの一部として合成します。
    Out-of-Context per IP
    ブロック デザインの各 IP を個別に、アウト オブ コンテキストのブロック デザインまたは最上位デザインとして合成します。各 IP が不必要に合成されるのを防ぐことはできますが、アップデートするときは、各 IP をアップデートして再合成する必要があります。
    Out-of-context per Block Design
    ブロック デザイン全体を一度に合成しますが、グローバル デザインまたは最上位デザインからはアウト オブ コンテキストで合成します。最上位デザインの合成時にブロック デザインが不必要に合成されるのを防ぐことはできますが、その中に含まれる IP がアップデートされた場合は、ブロック デザインをアップデートして再合成する必要があります。


  2. デフォルト設定の Out of context per IP をそのまま使用します。
  3. Generate をクリックして、すべての出力ファイルの生成します。

    または、Flow Navigator で、IP インテグレーターのドロップダウン リストの下にある Generate Block Design をクリックします。

    Generate Output Products ダイアログ ボックスが開くので、生成する出力ファイルを確認します。

  4. OK をクリックします。
  5. 次の Design Runs ウィンドウに示すように、デザイン内の各 IP のアウト オブ コンテキスト (OOC) run が実行されます。OOC run が完了するまで数分かかる場合があります。

  6. OOC run が完了したら、Sources ウィンドウで最上位サブシステム デザイン subsystem_1 を右クリックし、Create HDL Wrapper クリックします。

    Create HDL Wrapper ダイアログ ボックスが開き、次の 2 つのオプションが示されます。

    Copy generated wrapper to allow user edits

    ラッパー ファイルを手動で変更する場合は、このオプションを選択します。ブロック デザインは、プロジェクト全体のサブセットであることが一般的です。

    その場合は、ラッパー ファイルを変更して、そのラッパーにほかのデザイン コンポーネントをインスタンシエートする必要があります。ブロック デザインの I/O インターフェイスが変更された場合、その変更を反映させるため、ラッパー ファイルを手動でアップデートする必要があります。この方法で作成されたラッパー ファイルは、<project_name>.srcs/sources_1/imports/hdl ディレクトリに保存されます。

    Let Vivado manage wrapper and auto-update
    Vivado IDE で必要に応じてラッパー ファイルが生成およびアップデートされるようにする場合は、このオプションを選択します。この方法で作成されたラッパー ファイルは、ブロック デザインの出力ファイルが生成されるたびに、最新の変更を反映させるため自動的にアップデートされます。ラッパー ファイルは、<project_name>.srcs/sources_1/bd/<bd_name>/hdl ディレクトリに保存されます。
  7. デフォルトの Let Vivado manage wrapper and auto-update をオンのままにします。

  8. OK をクリックします。

    Vivado IDE で subsystem_1 ブロック デザインの最上位 HDL ラッパーが作成され、デザイン ソースに追加されます。

    最上位 HDL ソースがプロジェクトに追加されたので、インプリメンテーションの前にプロジェクトにデザイン制約を追加する必要があります。

  9. Flow Navigator で Add Sources をクリックします。

    Add Sources ウィザードが表示されます。

  10. Add or Create Constraints をオンにし、Next をクリックします。
  11. Add or Create Constraints ページで をクリックして Add Files をクリックするか、Add Files ボタンをクリックします。

    Add Constraints Files ダイアログ ボックスが開きます。

  12. <Extract_Dir> ディレクトリにある top_ipi.xdc file ファイルを選択し、OK をクリックします。
  13. Add or Create Constraints ページで Copy constraints files into project がオンになっていることを確認します。
  14. Finish をクリックし、制約をプロジェクトに追加します。

    これで最上位デザインの合成、インプリメンテーション、ビットストリーム生成が実行できるようになります。

  15. Flow Navigator で Generate Bitstream をクリックします。

    1 回のクリックで、合成、インプリメンテーション、ビットストリーム生成に必要な手順がすべて実行されます。

    No Implementation Results Available ダイアログ ボックスが開きます。



  16. Yes[Yes] をクリックします。
  17. Launch Runs ダイアログ ボックスが開きます。ここで、run 実行のためのさまざまなオプションを指定できます。
  18. OK をクリックします。
  19. Vivado Design Suite でビットストリームが生成されると、次の図に示す Bitstream Generation Completed ダイアログ ボックスが開きます。

  20. OK をクリックします。
  21. Timing ウィンドウで、次の図に示すようにデザインでタイミングが満たされていることを確認します。

    ヒント: タイミング サマリには、デザインのプライマリ入力および出力ポートの入力および出力遅延がないことに関連した警告もレポートされます。その場合は、set_input_delay および set_ouptut_delay コマンドを使用して、デザイン制約としてこれらの遅延を追加できます。入力および出力遅延の設定の詳細は、 『Vivado Design Suite ユーザー ガイド: 制約の使用』 (UG903) を参照してください。