Design Planning Considerations for Dynamic Function eXchange - 2023.2 English

Versal Adaptive SoC Hardware, IP, and Platform Development Methodology Guide (UG1387)

Document ID
Release Date
2023.2 English

Dynamic Function eXchange (DFX) requires special planning considerations for traditional and platform-based flows. In Versal adaptive SoC, the recommended method for accessing DFX is to use block design containers (BDCs) on the IP integrator canvas. BDCs have a property that indicates whether the BDC is intended for use with DFX. If this property is set, the BDC becomes a reconfigurable partition (RP). Reconfigurable modules (RMs) can be added to the RP by associating additional block designs (BDs) with the BDC. Each BD represents a single RM. As with all DFX designs, determining the logical partition boundary and the correct design hierarchy is extremely important. After the BDCs are configured properly, the Vivado tools create the parent and child implementation runs to complete the compilation and generate the programming files.

Versal adaptive SoC designs require special consideration if the NoC interconnect straddles a partition. To handle this situation, a NoC IP must be placed in the static portion of the design, and another instance of the NoC IP must be placed in the partition. Virtual interconnect called inter-NoC interconnect (INI) must be used to connect the two NoC IP. This ensures all RMs have a common set of physical interfaces but allows the RMs to have different addresses. Alternatively, you can use DFX Decoupler IP in the static region for PL-based crossings between the RM and the static region. However, AMD recommends using the more resource-efficient INI-based crossings at the static to RM boundary, because the NoC handles quiescing and shutdown of NoC paths internally and does not need manual intervention for decoupling. However, a critical detail for partial reconfiguration remains your responsibility for pausing transactions in the static domain that request information from the dynamic region that is undergoing reconfiguration.

The following figure shows the design hierarchy for a DFX design in which the static RM interface is based on a PL-based decoupler or a NoC-based INI.

Figure 1. DFX Design Hierarchy

DFX floorplans must be designed for the unique architecture of Versal adaptive SoC, including NoC resources, hardened IP locations, and clocking resources. For more information, see the Vivado Design Suite User Guide: Dynamic Function eXchange (UG909) and the DFX Tutorial available from the GitHub repository. For examples on creating BDC-based DFX designs, see this link in the Vivado Design Suite Tutorial: Dynamic Function eXchange (UG947).

The following figure shows an example of the platform-based design flow using DFX.

Figure 2. Platform-Based Design Flow Using DFX