Consider a design where the PS (Zynq ARM A9) is connected to multiple peripherals where the addressing is depicted below.
As highlighted in the purple below, why is the minimum accessible of each endpoint module (even if the module is my own IP) always at a range of four kilobytes? Is it related to something ARM processor specific?
I have tried to modify the address range of my own IP as shown below to a smaller number but it never has any effect.
According to notes under Table 3-9: AXI Crossbar Master Interface-Related Parameters in PG059 AXI Interconnect Product Guide, the size of all address range must be a power of 2, determined by 2 ** Mmm_Aaa_ADDR_WIDTH
.
Since the master of AXI-Interconnect in your design is probably connected to the AXI4 GP Slave interface of PS system, the Mmm_Aaa_BASE_ADDR
is greater than or equal to 12, i.e. the minimum address range that can be assigned to each IP core is at least 4KBytes (4096) as shown in your pictures.
From a design perspective, if you do not run out of memory space to allocate for your IP cores, a bigger range may be better as it reduces the bits needed for comparison in the AXI interconnect, resulting in lower hardware resource consumption, and possibly improved speed (faster achievable AXI clock) and easier placement and routing with timing constraints.