Now that the static design result is established and locked, and you can use it as context for implementing further Reconfigurable Modules.
Implementing the Design
- Create a new in-memory design by issuing the following
command in the Tcl
Console:
create_project -in_memory -part $part
- Load the static design by issuing the following command:
add_files ./Checkpoint/static_route_design.dcp
- Load the second two synthesis checkpoints for the shift and
count functions by issuing these
commands:
add_file ./Synth/shift_left/shift_synth.dcp set_property SCOPED_TO_CELLS {inst_shift} [get_files ./Synth/shift_left/shift_synth.dcp] add_file ./Synth/count_down/count_synth.dcp set_property SCOPED_TO_CELLS {inst_count} [get_files ./Synth/count_down/count_synth.dcp]
- Link the entire design together using the link_design
command:
link_design -mode default -reconfig_partitions {inst_shift inst_count} -part $part -top top
At this point, a full configuration is loaded. This time, however, the static design is routed and locked, and the reconfigurable logic is still just a netlist. Place and route from here only applies to the RM logic.
- Optimize, place and route the new RMs in the context of
static by issuing these commands:
opt_design
place_design
route_design
The design is again fully implemented, now with the new Reconfigurable Module variants. The routing is a mix of dashed (locked) and solid (new) routing segments, as shown below.
Saving the Results
- Save the full design checkpoint and report files by issuing
these
commands:
write_checkpoint -force Implement/Config_shift_left_count_down_import/top_route_design.dcp report_utilization -file Implement/Config_shift_left_count_down_import/top_utilization.rpt report_timing_summary -file Implement/Config_shift_left_count_down_import/top_timing_summary.rpt
- [Optional] Save checkpoints for each of the Reconfigurable
Modules by issuing these two
commands:
write_checkpoint -force -cell inst_shift Checkpoint/shift_left_route_design.dcp write_checkpoint -force -cell inst_count Checkpoint/count_down_route_design.dcp
At this point, you have implemented the static design and all Reconfigurable Module variants. This process would be repeated for designs that have more than two Reconfigurable Modules per Reconfigurable Partition.