If other layouts or post-synthesis designs for module A are desired, the same fundamental process is followed. Starting with the initial routed design (either the full design with the initial implementation of A, or the locked static Top only and a black box for A) use pr_subdivide to insert a new module for A, and new RPs within.
open_checkpoint top_A0_routed.dcp
pr_subdivide -cell A -subcells {A/Y A/Z} A2.dcp
As seen in the Design Structure example image on the right, RM A2 is loaded with submodules Y and Z. From there, the implementation flow follows the same path as for A1, routing then locking module A2 while creating a set of RMs for Y and Z.
Save checkpoints for full designs and RM with appropriate names. Use
update_design -black_box
to remove design information from RPs,
leaving only the design above. These checkpoints will be used to assemble any
combination of design modules for the purpose of running design analysis tools and
generating full and partial bitstreams.
For example, for the design in the previous figure, use
write_checkpoint -cell A/Y
to save the routed result for module Y2,
and write_checkpoint -cell A/Z
to do the same for Z2. Then, after
running update_design -black_box
for by Y and Z, you can save just the
results for A2. At that point, you can assemble a design image of (for example)
Top+A2+Y1+Z2 which could be the default configuration the system will boot to.