AXI インターフェイスに標準命名規則を使用すると (推奨)、Vivado IP インテグレーターによりインターフェイスが自動的に推論されます。次に、標準 AXI 名が使用されているコード例を示します。
この RTL モジュールをブロック デザインに追加すると、次に示すように AXI インターフェイスが自動的に推論されます。
モジュールに AXI インターフェイスが推論されると、IP インテグレーターのコネクション オートメーション機能が使用できるようになります。この機能では、インターフェイスをスレーブからマスターに、またはマスターからスレーブに接続するオプションが提供されます。
ポート名が標準 AXI インターフェイス名と一致しない場合は、インターフェイスを強制的に作成し、言語テンプレートにある X_INTERFACE_INFO 属性を使用して物理ポートを論理ポートにマップできます。
適切な HDL 言語 (Verilog/VHDL → IP Integrator HDL) を展開表示し、AXI Interface の下から適切なインターフェイスを選択すると、Preview ペインに属性が表示されます。たとえば、AXI4 インターフェイスの VHDL 言語テンプレートには、モジュール定義に挿入する必要のある次の属性が表示されます。
同じ AXI クロックをマスター インターフェイスとスレーブ インターフェイスの両方に関連付ける場合は、クロック名は、s_axis_aclk または m_axis_aclk ではなく、axi_aclk または axis_aclk とする必要があります。クロック名に m_ および s_ 接頭辞を付けない場合、クロックがマスターとスレーブ両方の AXI インターフェイスに関連付けられます。次の図の例では、IP が AXI4-Stream スレーブ インターフェイスと AXI4-Stream マスター インターフェイスと共に表示されています。
スレーブ インターフェイス (s_axis) の Block Interface Properties ウィンドウを見ると、関連付けられているクロック (Associated clock) は s_axis_aclk となっています。
m_axis インターフェイスの [Block Interface Properties] ウィンドウを見ると、関連付けられているクロック ([Associated clock]) は None となっています。
s_axis_aclk を s_axis と m_axis の両方に関連付けるには、RTL コードでクロック名を axis_aclk に変更します。これで、クロックが m_axis インターフェイスにも関連付けられます。