Next, place and route this version of the design, implementing modules A1, W1 and X1. Then follow a normal DFX flow to create more RM results for different versions of W and X, implemented in the context of a locked A1 result, saving checkpoints along the way.
Starting with the design immediately after pr_subdivide, the first thing to do is to complete the full design (if post-synthesis design data for the new submodules were not included in the <from_dcp> checkpoint) and make sure the floorplan has pblocks for all new RPs. In this example code, A1_pblocks.dcp contains pblock information for RPs W and X, and could contain timing or other constraints for any logic from A1 down.
read_checkpoint -cell A/W W1.dcp read_checkpoint -cell A/X X1.dcp read_xdc A1_pblocks.dcp opt_design place_design route_design write_checkpoint top_A1_W1_X1_routed.dcp write_checkpoint -cell A/W W1_routed.dcp write_checkpoint -cell A/X X1_routed.dcp
At this point, a normal DFX flow continues, with Top (already locked) and A1 (ready to be locked) representing the static design. Lock the static design and swap in new RMs for W and X and implement this second configuration using A1 in RP A.
update_design -black_box -cell A/W update_design -black_box -cell A/X lock_design -level routing write_checkpoint top_a1_static.dcp read_checkpoint -cell A/W W2.dcp read_checkpoint -cell A/X X2.dcp opt_design place_design route_design write_checkpoint top_A1_W2_X2_routed.dcp write_checkpoint -cell A/W W2_routed.dcp write_checkpoint -cell A/X X2_routed.dcp
and so on. Using this standard step-and-repeat DFX flow, you should create a collection of routed checkpoints for W and X that are compatible with this version of Top and this version (A1) of partition A.