モジュールの参照 - 2022.1 日本語

Vivado Design Suite ユーザー ガイド: IP インテグレーターを使用した IP サブシステムの設計 (UG994)

Document ID
UG994
Release Date
2022-04-20
Version
2022.1 日本語

HDL をブロック デザインに追加するには、まず RTL ソース ファイルを Vivado プロジェクトに追加する必要があります。デザイン ソースの追加に関する詳細は、 『Vivado Design Suite ユーザー ガイド: システム レベル デザイン入力』 (UG895)このセクションを参照してください。追加したソース ファイルが Sources ウィンドウの Design Sources フォルダーの下に表示されます。

1 つの RTL ソース ファイル内で、1 つまたは複数のモジュールまたはエンティティを定義できます。モジュールには、1 つまたは複数の IP インスタンス (HLS IP、ELF との依存関係が含まれた IP、OOC IP など、すべての IP タイプをサポート)、1 つまたは複数のブロック デザイン、1 つまたは複数の OOC/グローバル ソース (IP またはブロック デザイン)、またはこれらを混ぜて含めることが可能です。次の図に示すように、Vivado IP インテグレーターでは、追加されたソース ファイルで定義されているどのモジュールにもアクセスできます。

図 1. Sources ウィンドウの RTL ソース

ブロック デザインの場合、デザイン キャンバスで右クリックして Add Module コマンドをクリックし、RTL モジュールへのリファレンスを追加できます。

図 2. Add Module コマンド

Add Module ダイアログ ボックスが表示され、プロジェクトに追加されている RTL ソース ファイルで定義されている有効なモジュールがすべてリストされます。次の図に示すように、リストからモジュールを選択して OK をクリックすると、ブロック デザインにそれが追加されます。

ヒント: リストから選択できるモジュールは 1 つだけです。
図 3. Add Module ダイアログ ボックス

Add Module ダイアログ ボックスには、Hide incompatible modules チェック ボックス (デフォルトでオン) も含まれます。このチェック ボックスをオンにすると、ソース ファイルで定義されているモジュールで、モジュール参照機能の要件を満たさず、追加不可能なモジュールが非表示となります。

このチェック ボックス ボックスをオフにすると、追加されているソース ファイルで定義されているすべての RTL モジュールが表示されますが、要件を満たしていないモジュールはブロック デザインには追加できません。このチェック ボックスをオフにしたときに表示されるモジュールには、次のようなものがあります。

  • 構文エラーを含むファイル
  • ソースのないモジュール
  • EDIF ネットリスト、DCP ファイル、別のブロック デザイン、サポートされない IP を含むか参照しているモジュール定義
互換性のないモジュールの上にマウスを置くと、次の図に示すように、互換性がない理由を示すツール ヒントが表示されます。
図 4. 互換性のないモジュールのツール ヒント
この図の例では、モジュール参照の最上位ファイルがこの機能でサポートされていない SystemVerilog ファイルです。

RTL モジュールのインスタンス名が、RTL ブロックの最上位ソースからエンティティ/モジュール定義で定義されたように参照されます。次の図に示す my_dff8_inst は、次のコード サンプルでは最上位エンティティとして表示されています。

図 5. モジュール名の参照

重要: エンティティ/モジュール名がソース RTL ファイルで変更された場合は、参照されたモジュール インスタンスをブロック デザインから削除して、名前が変更されたモジュールを追加し直す必要があります。

Sources ウィンドウでモジュールを右クリックし、Add Module to Block Design をクリックしても、開いているブロック デザインにモジュールを追加できます。

図 6. Sources ウィンドウからのモジュールの追加

最後に、次の図に示すように RTL を Sources ウィンドウからブロック デザイン キャンバスにドラッグ アンド ドロップできます。

図 7. Sources ウィンドウからのモジュールの追加

IP インテグレーターで選択したモジュールがブロック デザインに追加され、デザインのほかの IP と同様に接続できるようになります。追加された RTL モジュールには、次の図に示すように、ブロック デザイン内でシンボルの中央に「RTL」と表示されます。

図 8. RTL ソース ファイルから参照されたモジュール

プロジェクトにデザイン ソースを追加した後に新しいブロック デザインを作成すると、Sources ウィンドウでブロック デザインはデザインの最上位として設定されません。プロジェクトにソース ファイルを追加すると、Vivado Design Suite によりデザインの最上位モジュールが自動的に設定されます。

ブロック デザインをデザインの最上位として設定するには、Sources ウィンドウでブロック デザインを右クリックして Create HDL Wrapper をクリックします。詳細は、ブロック デザインの最上位デザインへの統合 を参照してください。

ヒント: ブロック デザインを直接最上位モジュールに設定することはできません。

ラッパーを作成した後、Sources ウィンドウでそれを右クリックして Set as Top をクリックします。次の図に示すように、ブロック デザインにより参照されている RTL モジュールは HDL ラッパーの下のデザイン階層に移動します。

ブロック デザインから参照モジュールを削除すると、Sources ウィンドウでそのモジュールがブロック デザイン階層の外に移動されます。

図 9. ブロック デザインの下に表示された参照 RTL モジュール