Estoy interesado en saber dónde entran exactamente en juego las Direcciones (BASE_ADDR) establecidas en el "Editor de Direcciones" de un Diseño de Bloque Vivado en la Parte FPGA. Tengo varios bloques con AXI-Lite conectados a un Zynq a través de un AXI-Interconnect, que funciona bien. Pero quiero saber cómo:
Según mi entendimiento actual, el enrutamiento debe estar en algún lugar del Bloque de IP-Interconexión AXI, sin embargo, no puedo ver cómo sabe dónde enrutar el bus ya que "Personalizar IP" no muestra nada relacionado con las Direcciones. Simplemente parece conectar mágicamente todo correctamente ...
Entonces, ¿cómo funciona?
Editar: Para mayor claridad, así es como se ve la parte de mi sistema:
______________
| |---------- Block 1 (AXI-Lite)
| AXI |---------- Block 2 (AXI-Lite)
Zynq (AXI Bus) -------| Interconnect |---------- Block 3 (AXI-Lite)
| |---------- Block 4 (AXI-Lite)
|______________|---------- Block 5 (AXI-Lite)
El Zynq en sí no es relevante en esta imagen, solo hay un AXI-Bus completo a la izquierda y varios AXI-Lite-Blocks a la derecha, que pueden tener rangos de direcciones establecidos en el "Editor de direcciones" de Vivado .
Más aclaraciones: Sé cómo se utilizan los bits inferiores de las líneas de dirección para tratar registros únicos en AXI-Lite, pero la plantilla Xilinx no parece preocuparse por los bits superiores , por lo tanto, mi suposición de que el direccionamiento debe realizarse fuera del bloque AXI-Lite.