Multiple address ranges can be assigned to external master port that can connect to several slaves outside of the IP integrator design environment. Consider the following example where a master can connect to several external slaves.
It is represented as a virtual slave segment, M_AXI/Reg, as shown in the
following figure, in the address editor. This segment can be mapped into the address
spaces of masters in the diagram, in this case master_1
and master_2
.
The offset of this segment is the offset that the master master_1
uses to initiate transactions to slaves that are
connected to the To_External_Slaves
interface. This
interface can also be used to access other slaves that are not necessarily within the
same offset and range by creating other segments as described in the following assign_bd_address Tcl command:
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]
Executing this Tcl command creates two separate address spaces, one at
0x00000000
with a range of 64M
, and the second one at 0x20000000
with a range of 4M
. Another way to look at this feature
is to assume that the master_1
in this case, needs to
address other slaves through the same slave interface To_External_Slaves
.