Update Port Boundaries within a BDC - 2023.2 English

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

Document ID
Release Date
2023.2 English
In order to maintain compatibility between RMs for a Reconfigurable Partition, ports must be consistent.
Important: Each design source contained in a Block Design Container (BDC) must have the same port list otherwise a design rule check will be flagged upon validation.
[BD 41-2125] There are boundary differences for </RP_inst> between 'rm1.bd' and 'rm2.bd':
* Port with name 'reset' exists in rm1.bd but not in rm2.bd
[BD 41-2315] Block Design Container </RP_inst> is enabled for Dynamic Function eXchange, 
which means that all the Synthesis sources should settle upon the same boundary. 
Please resolve earlier errors or disable Dynamic Function eXchange and try again.

Ports can be modified in one RM BD, then the changes can be pushed to all other RMs for the selected BDC. Follow these steps to propagate the changes across multiple RMs:

  1. Edit the active block design within a BDC. The active block design is indicated by the radio button selection in the BDC GUI. Add or remove ports as necessary, then validate and save the design.
  2. Once this is done, a yellow banner alert is generated in the project, and the top-level block design is shown as modified. Click the Refresh Changed Modules link in the banner to update the BDC instance in the top level.
  3. The BDC instance will now show new and modified ports. Make connections to complete the top-level block design. If you validate the BD, you will receive the Critical Warnings listed above, as expected.
  4. Right-click on the BDC to select Update Boundary of Sources. Use the pulldown menu to select the BD to be used as the master instance. All ports from this BD will be echoed in all BDs selected in the main body of the dialog box. Click OK to apply the changes.

    Tip: This action runs the update_bd_boundaries Tcl command.
    Finally, return to all the other block designs used within this BDC. Each will now have new or modified (or removed) ports available within the BD. The Update Boundary feature will provide the ports but not connect them.
    Note: Ensure to define how to use new ports.