手順 2: FIFO Generator のカスタマイズ - 2022.1 日本語

Vivado Design Suite チュートリアル: IP を使用した設計 (UG939)

Document ID
UG939
Release Date
2022-06-10
Version
2022.1 日本語
IP カタログはキーワードを入力したり、カテゴリを参照したりして、IP を検索できます。
ヒント: [Customize IP] ダイアログ ボックスの説明については、FIFO Generator のカスタマイズ を参照してください。この演習では、既に演習 1 を終了していて、そこで説明されている概念を理解していることを前提にしています。
  1. IP カタログの [Search] フィールドに「fifo」と入力します。
  2. [Memories & Storage Elements] グループに含まれている FIFO Generator をダブルクリックします。

    次の図のように [Customize IP] ダイアログ ボックスが表示されます (これはデフォルト設定ではありません。カスタマイズした変更が示されています)。



  3. [Customize IP] ダイアログ ボックス上部にある [Component Name] を「char_fifo」に変更します。
  4. [Basic] タブで次を設定します。
    • [Interface Type] にはデフォルトの [Native] を選択します。
    • [FIFO Implementation Options] で [Independent Clocks Block RAM] を設定します。
  5. [Native Ports] タブで次を設定します。
    • [Read Mode] を First Word Fall Through に設定します。
    • [Write Width] を 8 bits に設定します。
    • Read Width をクリックすると、値が自動的に 8 bits ビットに変更になります。
  6. Summary タブをクリックします。

    [Summary] ページには、選択したオプションだけでなく、このコンフィギュレーションで使用されるリソースがすべて表示されます。FIFO Generator コアのサマリは次の図のようになるはずです。このコンフィギュレーションでは、18K のブロック RAM が 1 個使用されているのがわかります。



  7. 表示されている情報が正しいことを確認し、OK をクリックして、デザインで使用するためにカスタマイズした IP を生成します。

    次の図のように [Generate Output Products] ダイアログ ボックスが開きます。Manage IP フローを使用してカスタマイズした IP のリポジトリを作成するときは、各 IP の出力ファイルをデザイン チェックポイント (DCP) も含めてすべて生成します。Vivado ツールの各リリースでは 1 つのバージョンの IP のみがサポートされています。Vivado Design Suite で古いバージョンの IP の出力ファイルを再カスタマイズしたり、生成したりはできません。必要な出力ファイルを保存していない場合は、IP を最新版にアップデートする必要があります。

    重要: Vivado ツールでは各リリースで 1 つのバージョンの IP のみがサポートされています。古いバージョンの IP を使用する場合は、カスタム IP リポジトリにすべての出力ファイルを保存してく必要があります。
  8. 次の図のように Generate ボタンをクリックし、出力ファイルを生成します。

  9. プロンプトが表示されたら、OK をクリックします。

    カスタマイズされた IP を 1 つ以上使用するデザインの合成ランタイムを短縮するには、IP をデフォルトのスタンドアロン モジュールとして前もって合成し、合成済みのチェックポイント ファイル (DCP) にそのネットリストを保存しておきます。

    デザイン全体を合成している最中に、Vivado 合成により IP のブラック ボックスは推論されます。

    インプリメンテーション中、DCP ファイルからのネットリストがデザインにリンクされます。このフローは、プロジェクト モードおよび非プロジェクト モードの両方で Tcl スクリプトに記述できます。

    合成済みチェックポイント ファイルを作成するため、Vivado IDE で対応するアウト オブ コンテキスト モジュール run を作成して起動します。

    この run は自動的に起動し、合成が完了すると、char_fifo ディレクトリに次の追加ファイルが生成されています。
    char_fifo.dcp
    合成デザイン チェックポイント (IP のネットリストを含む)。
    char_fifo_stub.v
    サードパーティ合成ツールが IP のブラック ボックスを推論するために使用する Verilog ポート モジュール。スタブには、Synplify Pro が I/O バッファーを挿入しないようにする指示子が含まれています。ほかのサードパティ合成ツールを使用している場合は、これを変更する必要がある場合があります。
    char_fifo netlist filessim_netlist.v、および sim_netlist.vhd
    IP の論理シミュレーション用の Verilog および VHDL ネットリスト。

    デザインにサードパーティ合成ツールを使用している場合は、ブラック ボックスを推論するのに、ポートが宣言されている Verilog スタブ ファイル、または VHDL コンポーネント宣言が必要です。

    Vivado Design Suite では、出力ファイル生成時に、合成デザイン チェックポイント (DCP) と共にこのファイルが自動的に生成されます。

    カスタマイズされた IP は、プロジェクト モードおよび非プロジェクト モード両方で XCI を使用して参照できます。

    プロジェクトベースのデザインの場合、ザイリンクスでは、ソース ファイルをローカル プロジェクト ディレクトリにコピーしないで、カスタム IP のリポジトリから参照することを推奨しています。プロジェクト モードおよび非プロジェクト モードの詳細は、 『Vivado Design Suite ユーザー ガイド: デザイン フローの概要』 (UG892) を参照してください。

  10. <extract_dir>/lab_2/my_ip ディレクトリを確認します。

    次の図のように、3 つのディレクトリが作成されています。

    • XCI ファイルを含むカスタム IP (char_fifo)。ここには、この IP のカスタマイズ情報がすべて含まれ、また出力ファイルもすべて生成されています。
    • IP プロジェクト (managed_ip_project)。これは、char_fifo IP をカスタマイズし、合成後の DCP を含む出力ファイルを管理するためにこの演習で作成した IP プロジェクトです。
    • IP のサポート ファイル (ip_user_files)。すべてのサポートされているシミュレータ用のシミュレーション スクリプト、インスタンシエーション テンプレートのコピー、サードパーティ合成ツールで使用するスタブ ファイル、シミュレーション用のスタティック RTL ファイルが含まれています。シミュレーション スクリプトを除くこれらのすべてのファイルがカスタム IP のディレクトリからコピーされます (この場合は、char_fifo)。ip_user_files ディレクトリ詳細は、 『Vivado Design Suite ユーザー ガイド: IP を使用した設計』 (UG896) を参照してください。

  11. 次の図のように [Sources] ウィンドウで Manage IP プロジェクトで出力ファイルが生成されていることを確認します。

    char_fifo コアに対し生成された出力ファイルには、インスタンシエーション テンプレート、合成ファイル、シミュレーション ファイル、合成済みデザイン チェックポイント、論理シミュレーション ネットリスト、サードパーティ合成ツールで使用するスタブ ファイルが含まれます。

    注記: この演習でカスタマイズした FIFO Generator は、演習 1 で作成したものと同じです。既存の IP を Manage IP プロジェクトに追加する必要がある場合は、File > Add Existing IP をクリックしてください。