Editing Configurations - 2024.1 English

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

Document ID
UG909
Release Date
2024-06-12
Version
2024.1 English

With a set of RMs defined within block designs, Configurations can be declared. Each Configuration is a combination of the static logic plus one RM per RP; each Configuration is a full design image.

While each Configuration can be created manually, the simplest path is to let Vivado create the minimum set of Configurations automatically. This is done by selecting the automatically create configurations link in the middle of this screen. This will create as many Configurations as necessary to ensure that all RMs are included at least once.
Tip: This option is only available if no Configurations have been defined yet.
Figure 1. Edit Configurations before Creating Any Configurations

If one BDC has more RMs than another, a greybox RM will automatically be used for any RP that has all its RMs covered by prior Configurations. These default Configurations can be modified or renamed, and additional Configurations can be created if desired.

Tip: Greybox modules are different than black box modules, because they are not truly empty. Greybox RM shave tie-off LUTs inserted to complete legal design connectivity in the absence of an RM and they ensure outputs do not float during operation. To complete legal connectivity, registers can be inserted at clock input ports and clock buffers can be inserted at output ports to drive clock loads. The Vivado tools create these by calling update_design -buffer_ports on selected modules. Greybox RMs cannot be used in parent runs, because they can lead to sub-optimal results for the static design implementation and/or issues with NoC configuration.
Figure 2. Edit Configurations After Automatic Generation of Configurations
Note: If one RM is used in more than one configuration, the implementation results might be different, because place and route is performed each time, but only if the RM was initially implemented in a child run. RM implementation results are reused if they were originally done in the parent configuration. The lock_design -level routing command is set on this reused, implemented RM to lock placement and routing for all subsequent usage in child runs. This allows the Vivado project to track dependencies between parent and child.