外部セグメントへの複数アドレス範囲の割り当て - 2022.1 日本語

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

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

IP インテグレーター設計環境外の複数スレーブに接続可能な外部マスター ポートには、複数のアドレス範囲を割り当てることができます。次の例では、マスターが複数の外部スレーブに接続できます。

図 1. IP インテグレーター外の複数スレーブにアクセスする AXI マスターの例

次の図の [Address Editor] ウィンドウに示される M_AXI/Reg は仮想スレーブ セグメントです。このセグメントは、図のマスターのアドレス空間、この例の場合 master_1 および master_2 にマップできます。

図 2. IP インテグレーター外の複数スレーブにアクセスする AXI マスターを示す [Address Editor] ウィンドウ

このセグメントのオフセットは、マスター master_1To_External_Slaves インターフェイスに接続されるスレーブへのトランザクションを開始するために使用するオフセットです。このインターフェイスは、assign_bd_address Tcl コマンドで説明されるように、その他のセグメントを作成することで、同じオフセットと範囲内にある必要のないその他のスレーブへのアクセスにも使用できます。

assign_bd_address -external -dict {offset 0x00000000 range 64M offset 0x20000000 
range 4M} [get_bd_addr_segs /master_1/Data/SEG_M_AXI_Reg] -target_address_space 
[get_bd_addr_space /jtag_axi_0]

この Tcl コマンドを実行すると、64M の範囲の 0x000000004M の範囲の 0x20000000 の 2 つのアドレス空間が作成されます。別の見方をすると、この例の場合、同じスレーブ インターフェイスの To_External_Slaves を介して master_1 がその他のスレーブのアドレスを指定する必要があります。