Editing Configuration Runs - 2023.2 English

Vivado Design Suite User Guide: Dynamic Function eXchange (UG909)

Document ID
Release Date
2023.2 English

With all the configurations defined, move to the final screen to manage the configuration runs associated with them. Similar to the configurations themselves, the Vivado tools can automatically create a set of configuration runs. The first configuration in the list is defined as the parent, and all remaining configurations are set as children to that parent.

The Vivado tools support Abstract Shell within project modes for UltraScale+ and Versal architectures. This capability is described in detail later in this chapter in Abstract Shell Project Flow.

Figure 1. Automatically Generated Configuration Runs

This structure assumes that the first configuration is the most critical or challenging. You are free to change the parent-child relationship by setting that value in the Parent column. A parent of a synthesis run (synth_1 in this example) indicates the configuration (most notably the static part) will be implemented from the synthesized netlist, and a parent of an implementation run (impl_1 in this example) indicates the parent's locked static implementation result will be used as the starting point.

As you explore place and route options, timing closure techniques, and otherwise elaborate on the DFX design, multiple independent parent runs can be used for exploration. Multiple parent runs can be launched in parallel, then child runs can be launched after parent runs complete. The Vivado tools project management handles all the DFX-specific details for creating and storing intermediate checkpoints, including a static-only checkpoint for a routed parent run. Ultimately, a single parent run must be selected to establish a golden static implementation result on which all configurations will be based.

Important: To ensure a safe working environment in silicon, a locked static image must remain consistent across all configurations so bitstream generation creates compatible full and partial bitstreams. This is managed in the DFX Project Flow by establishing a parent-child relationship for related configurations. After the initial configuration run in which the complete static design is locked, the static design must not be modified in subsequent configuration runs. If the static design is not identical across configurations, failure during pr_verify might occur.

Add new configuration runs by selecting the icon. When all configuration runs have been created, click Next. On the final screen, the number of new elements are listed. Clicking Finish actually perform all the requested changes in the project.

Figure 2. Synthesis and Implementation Design Runs Ready to be Launched

In the Design Runs window, out-of-context synthesis runs are created for each RM, and all Configuration Runs are generated. Relationships between parent and child runs are shown by the levels of indentation.

The Dynamic Function eXchange Wizard is the central mechanism for making any changes to Configurations or Configuration Runs in the IP integrator flow. This includes creating new Configurations or Runs, modifying the relationships between runs, or removing any of the above. When working within the wizard, nothing is saved or executed until you click the Finish button, so you can move forward or back through the screens, making adjustments as needed.