Step 3: Setting Up the Design for DFX - 2024.1 English

Vivado Design Suite Tutorial: Dynamic Function eXchange (UG947)

Document ID
Release Date
2024.1 English
  1. Select Tools > Enable Dynamic Function eXchange.

    This prepares the project for the DFX design flow. Once this is set it cannot be undone, so AMD recommends archiving your project before selecting this option.

    In the dialog box, click Convert to turn this project into a DFX project.

  2. Right-click my_math in the sources window and select the Create Partition Definition… option.

    This defines this instance as a Reconfigurable Partition in the design. Out-of-context synthesis is run to keep this module separated from top, and the post-synthesis checkpoint is used for the math_rp instance.

    Tip: If there are multiple instantiations of a module within a design, each are marked as reconfigurable. If they all do not need to be reconfigurable, then the modules must be manually modified to remain unique. Then you can independently tag desired instances as Reconfigurable Partitions.
    Note: IP placed within Reconfigurable Modules can be synthesized as Global or Out-of-Context. For this lab, leave the ILA IP set as the default of Out-of-Context.
  3. In the dialog box that appears, name both the Partition Definition and the Reconfigurable Module.

    The Partition Definition is the general reference for the workspace into which all Reconfigurable Modules will be inserted, so give it an appropriate name: math.

    The Reconfigurable Module refers to this specific RTL instance, so give it a name that references its functionality: mult.

  4. Then click OK.

    The Sources view has now changed slightly, with the my_math instance now shown with a yellow diamond, indicating it is a Partition. The Partition Definitions tab in this window shows the list and contents of all Partition Definitions (just one in this case) in the design. In addition, an out-of-context module run has been created for synthesizing the mult module.

    At this point, new Reconfigurable Modules can be added (or modified) via the Dynamic Function eXchange Wizard.

    Important: After Partitions are defined, all additional RMs must be added via the DFX Wizard, and any management of RM sources, configurations, and runs must also be done via this wizard.