IDF + DFX Summary - IDF + DFX Summary - 2.3 English - XAPP1335

Isolation Design Flow for Zynq UltraScale+ MPSoCs and UltraScale+ FPGAs (XAPP1335)

Document_ID
XAPP1335
Release_Date
2026-08-04
Revision
2.3 English

This section gives high level details on how to combine IDF and DFX flows in a single design. Refer to Vivado Design Suite Tutorial: Dynamic Function eXchange (UG947) for a detailed explanation on DFX design creation and Isolation Design Example for Zynq UltraScale+ MPSoC Application Note (XAPP1336) for IDF design creation.

The following steps outline how to combine IDF and DFX flows in a single design.

  • Follow the DFX flow by referring to Vivado Design Suite Tutorial: Dynamic Function eXchange (UG947) till the synthesis and generate synth DCPs or static top-level design and for each DFX module.
  • Enable IDF flow in all the DCPs. First, open the static DCP and set HD.ISOLATED to true on the modules and save the DCP. Similarly, you can open all the RM DCPs and set HD.ISOLATED to True and then save the DCPs.
  • Enable IDF DRCs by setting hd.enableIDFDRC to true. This step is not needed for the Vivado Design Suite version 2021.1 onwards.
  • Link the entire design for the first configuration using the link_design command. Some of the IDF optimizations related to net-splitting and IO buffer insertion takes place in the link_design phase. Ensure the IDF is enables on the synth DCPs before the link_design.
  • Next, floorplan the design. The best way to do is step-by-step floorplanning. First, do the floorplanning for reconfigurable partitions. Follow the guidelines from Vivado Design Suite User Guide: Dynamic Function eXchange (UG909) and Vivado Design Suite Tutorial: Dynamic Function eXchange (UG947) and draw the Pblocks for reconfigurable partitions. Run the Dynamic Function eXchange DRCs and ensure there are no DRC errors.
  • Draw Pblocks for isolated modules including nested modules inside of the PR by following the IDF and IDF+DFX floorplanning guidelines mentioned in this document. Refer to Drawing Pblocks Using the Vivado Design Suite GUI section for drawing Pblocks using the Vivado Design Suite GUI.
  • Run VIV DRCs and ensure there are no warnings or errors. Refer to Vivado Isolation Verifier User Guide (UG1291) on how to run the VIV DRCs.
  • Save these Pblocks and associated properties. A script is provided with Vivado Design Suite Tutorial: Dynamic Function eXchange (UG947) design files to save the Pblocks. It is advised to save static Pblocks and RP Pblocks in a single XDC file and nested IM Pblocks inside each RM in a separate file. You can use the script with the Pblocks option.
  • Implement the design using the standard DFX implementation flow.
  • Run VIV DRCs on the implemented design. Refer to Vivado Isolation Verifier User Guide (UG1291) for how to run VIV DRCs. Ensure there are no warnings or errors.
  • Generate the black box DCP and static routing DCP by following the steps from the Vivado Design Suite Tutorial: Dynamic Function eXchange (UG947).
Figure 1. IDF+DFX Design Flow Steps