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, as 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. Vivado creates these by
calling
update_design -buffer_ports
on selected
modules. Greybox RMs cannot be used in parent runs, as 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 may be different, as place and route is
performed each time, but only if the RM was initially implemented in a child run. RM
implementation results will be reused if they were originally done in the parent
configuration. This allows the Vivado project to track dependencies
between parent and child.