The next step is to connect the IP blocks instantiated above to the PS block.
Use PS HPM LPD AXI to control the AXI interface of the GPIO and timer.
Connect interrupt signals.
Enable the PS AXI HPM LPD AXI interface:
Double-click the Zynq UltraScale+ MPSoC IP block.
Select the PS-PL Configuration tab.
Enable AXI HPM0 LPD, expand it, and set the AXI HPM0 LPD Data Width drop-down to 32 bits.
Click OK to close the window.
Check that the M_AXI_HPM0_LPD interface shows up on the MPSoC block.
Fig. 17 AXI HPM LPD
Note
32-bit AXI is useful for accessing the control registers of general IPs. 128-bit AXI is useful for data transfer.
Connect the AXI interfaces:
Click Run Connection Automation.
Check All Automation.
Go through each tab to review the planning connections.
Click OK to execute the automated connection.
Check the connection result.
Fig. 18 Vivado Connection Automation Result
Connect the interrupt signals:
Connect axi_timer_0.interrupt to zynq_ultra_ps_e_0.pl_ps_irq0[0:0].
The AXI GPIO interrupt mode will not be used.
Review the final block diagram.
Fig. 19 Final Block Diagram
Note
If you have multiple interrupt signals to connect to the PS, you can concatenate them to a bus with a
concat
block. You can addconcat
from Add IP.Verify the address settings of IP cores:
In the Address Editor view, verify that the corresponding IPs are assigned addresses during connection automation. If they are not assigned, click the Assign All button to assign addresses for them.
Note
Connection automation assigns addresses automatically. If you connect IP manually, you also need to assign its address.