Adding Reconfigurable Module Constraints - 2023.2 English

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

Document ID
Release Date
2023.2 English

All the constraints in the primary constraint set (constrs_1 by default) will be applied through synthesis and implementation of the parent run. All constraints for the static portion of the implemented parent run are contained within that locked static checkpoint so there is no need to reapply these static constraints for subsequent child runs. While the DFX Wizard shows constraints sets specified for child runs (default or any other constraint set), these child runs do not apply constraints unless explicitly requested in each run. Constraints specific to any Reconfigurable Module must be applied for any child run, whether they are constraints in the default set or any new set.

If constraints unique to RMs are required, they must be applied in different XDC sources scoped to that module and applied in a new constraint set for the applicable child run(s). Follow these steps to add and associate RM-level constraints.

  1. Create a new Constraint Set. This can be done when adding or editing constraints – use the Specify Constraint Set pull down to select Create Constraint Set. Give this set a unique name and add XDC files with constraints specific to the RMs for a target configuration.

    The new constraint set and any XDC files within it will be shown in the design sources window. Leave the primary constraint set as the active set. In the example below, the constraints files for static information such as top-level IO, global clock definitions, and the reconfigurable Pblocks are only listed in the primary active constraint set.

  2. Run the DFX Wizard and step through to the Edit Configuration Runs page. Add or modify child configuration runs to select the appropriate Constraint Set for that run. Design Runs will be added or modified upon clicking the Finish button.

    The child configuration design run will show the new constraint set in the Design Runs window.

  3. Right-click the child Design Run and select Implementation Run Properties. In this window, ensure that the check-box for the APPLY_CONSTRSET property is checked. This ensures this new set of constraints is applied during this implementation run.

  4. Expand the new Constraint Set (if necessary) to view all the XDC files added. For each, select the file to see the Source Properties. The PROCESSING_ORDER can be set to LATE to ensure these constraints are applied after everything else has been considered. For improved portability of RM sources, instance references within the XDC can be scoped to that level (so there is no need to specify the full hierarchical path from top) if the SCOPED_TO_CELLS property is set to the hierarchical path to the Reconfigurable Partition. This also allows you to more easily provide an XDC per RM for designs with multiple RPs for constraints that do not require unique physical location information.