自動推論のためのインターフェイスの優先順位 - 2022.1 日本語

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

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

場合によっては、ツールで自動的に推論させるのではなく、ユーザーがインターフェイスの推論される順序を指定する必要があることがあります。インターフェイスの推論順序は、モジュール参照機能を使用すると変更できます。インターフェイスを推論するのに使用できる属性は複数あります。

特定のインターフェイスでは、標準のものとわずかに異なる物理的なピン (ポート) 名が付いていることがあります。このような場合は、Tcl コマンド ラインに次の属性を指定する必要があります。

(* X_INTERFACE_INFO = "xilinx.com:interface:axis:1.0 axi_stream_s2c TREADY"
 *)output axi_stream_s2c_tready,

この属性は HDL コードのポート定義の上に挿入され、推論されるインターフェイスは、VLNV が xilinx.com:interface:axis:1.0、名前が axi_stream_s2C、論理ピン名が TREADY で、物理ピン名 axi_stream_s2c_tready にマップされるようになっています。この属性は、その他の推論される属性よりも一番優先されます。

動作やポートのわずかに異なるインターフェイスが複数バージョンある場合は、X_INTERFACE_PRIORITY_LIST 属性を使用して優先順位を決めてください。この Verilog の構文は、次のとおりです。

(* X_INTERFACE_PRIORITY_LIST = "xilinx.com:dsv:dsv_axis:3.0" *)
module axi_stream_gen_check #(
 ....
 ....
)

VHDL 構文は、次のようになります。

entity HDMI_TX_INTF is
 Port (
-- put ports here
);

attribute X_INTERFACE_PRIORITY_LIST : string;
attribute X_INTERFACE_PRIORITY_LIST of HDMI_TX_INTF : entity is 
"xilinx.com:user:my_hdmi:3.0 xilinx.com:cust:cust_hdmi:4.0";
end HDMI_TX_INTF;

この属性では、リポジトリ内のその他同様のインターフェイス タイプではなく、指定したインターフェイスが推論されます。この属性は、Verilog ではモジュール定義前、VHDL ではエンティティ本体に挿入する必要があります。この属性の優先順位は 2 番目です。

インターフェイスは、次のコード例に示すように、プロジェクトにプロパティを追加しても推論できます。

set_property ip_interface_inference_priority xilinx.com:user:my_axis:2.0 
[current_project]

この優先順位は 3 番目です。

最後に、プロジェクトの設定でのリポジトリ順序によって、推論順序が決まります。次の図に示すように、プロジェクトに追加されるカスタム インターフェイスを含むリポジトリは 2 つあります。次のリポジトリが一番上で指定されるとします。

C:/tutorials/2018.2/if_12/if_repo 

これは、次よりも優先されます。

C:/tutorials/2018.2/mod_ref/if_12/myipdir.

通常、命名規則に従っていれば、プロジェクトにリポジトリを追加するだけでインターフェイスが推論されるはずです。次の図を参照してください。

図 1. 優先順位に基づいたインターフェイスを含むリポジトリの追加