モジュール参照機能には、次のような制限があります。
- モジュール参照は IP ではないので、ベンダー、ライブラリ、名前、およびバージョン (VLNV) は指定できません。
- モジュール定義でサポートされる言語は、VHDL および Verilog のみです。モジュール参照を含むブロック デザインは、IP としてパッケージ化することはできません。モジュールを IP として別にパッケージ化し、その IP を含むブロック デザインをパッケージ化してください。
- デザインを以前のバージョンの Vivado から移行する際、モジュール参照ブロックをアップグレードしないように除外することはできません。
- ModuleRef には、CIPS IP または NOC IP を含めることはできません。
- ModuleRef では 1 つ以上の DCP モジュールをインスタンシエートできません。
- ModuleRef では 1 つ以上の ModuleRef (入れ子になった ModuleRef) をインスタンシエートできません。
- ModuleRef ではブロック デザイン コンテナー (BDC) を使用して、ブロック デザインをインスタンシエートできません。
- BD/XCI は、モジュール参照 RTL 内の OOC で合成されます。ヒント: SystemVerilog および VHDL 2008 は、RTL モジュールの最上位のモジュールまたはエンティティ定義ではサポートされません。
- BD キャンバス上でモジュール参照インスタンスが複数ある場合、RTL 階層内のモジュール名はすべて異なっている必要があります。ユーザーは、すべてのモジュール名を別の名前にして、競合がないことを確認する必要があります。また、BDC を使用することもできます。モジュール参照が BDC にあり、BDC が複数回インスタンシエートされる場合、モジュール名の一意性は BDC が処理します。
既知の問題
- ブロック デザイン モジュール参照の GUI に関連付けられている ELF ファイルが表示されません。これは GUI のみの問題で、MicroBlaze プロセッサと ELF ファイルは Tcl から正しく生成されます。
- [Refresh Module References] をクリックすると、RTL モジュール参照との間で割り当てられたアドレスが失われます。アドレスを手動で割り当ててください。
- MicroBlaze プロセッサを使用したブロック デザインがパッケージされたり、RTL モジュール参照として別に追加されると、ハードウェア ハンドオフの問題が発生します。