In the DFX flow, it is a requirement to lock down the placement and routing results of the static logic from the first configuration for all subsequent configurations. The static implementation of the first configuration must be saved as a checkpoint. When the checkpoint is read for subsequent configurations, the placement and routing must be locked, to ensure that the static design remains completely identical from configuration to configuration. To lock the placement and routing of an imported checkpoint (static or reconfigurable), the
lock_design command is used.
lock_design -level [logical|placement|routing] [cell_name]
When locking down the static logic with the above command, the optional
[cell_name] can be omitted.
lock_design -level routing
To lock the results of an imported RM, the full hierarchical name should be specified within the post-implementation checkpoint:
lock_design -level routing u0_RM_instance
For Dynamic Function eXchange, the only supported preservation level is
routing. Other preservation levels are available for this command, but they must only be used for other Hierarchical Design flows.