- In the Flow Navigator, click on Run
Implementation. At this point, all the runs are reset and
relaunched.
In the Sources window, the Utility Sources is updated with the checkpoint from the previously routed
impl_1
if the checkpoint has met certain criteria to ensure it is a good quality reference checkpoint for future runs.
Also updated is the Incremental column in the Design Runs window. This should now say Auto. If the checkpoint did not meet the criteria to be used as a suitable reference, it shows Auto(Skipped) as before.
After implementation is complete, the Design Runs window shows the completed run.
In the Design Runs window, it is possible to examine runtime and timing criteria. In this case:
- Runtime has reduced for implementation as seen in the Elapsed column.
- WNS > 0.000 has been maintained
Note: Synthesis has not been run in a different mode than before so should be similar to before.The “Elapsed” column measurement includes improvements to the
place_design
(phys_opt_design
is not run here) androute_design
and also the extra commands that are required in the incremental flow such asread_checkpoint -incremental
and the extra reporting. To see more significant runtime improvements, the flow should be used on larger designs with a good reference checkpoint.Note:opt_design
is not incremental and runtime foropt_design
is unimpacted.Designs that have a complex flow, requiring most effort in the reference run see the highest benefit. Ideally, reference checkpoints are timing-closed, with fewer than 5% of the leaf cells different than the updated design.
- Select the Reports window and
double-click the Incremental Reuse Report in the Route Design section, as shown
in the following figure.
So far, you have modified the generation of the readEgressFifo so that the signal is zero when the error signal is non-zero. This is a small change to the design so you would expect the reuse to be high. Now examine the Incremental Reuse Report to confirm this is the case.
In the report you can confirm that a high percentage of cells, nets and ports are fully reused.
In the Reference Checkpoint Information section you can see information reported on the reference checkpoint. This is useful when the source of the checkpoint is unknown.
In the Comparison with Reference Run section, you can see how the runtime and WNS at each stage of the flow compares. This is good for debugging purposes to understand where WNS and runtime diverge when there are issues. Note that these designs are not 100% the same so this information is a only guide.
When run with the RuntimeOptmized directive, the target WNS of this run is either0.0
or the WNS from the reference run if it is< 0.0
. To always target a timing closed design (Target WNS = 0.0 ns), the incremental directive must be set TimingClosure. This can be done by applying the following command:set_property -name INCREMENTAL_CHECKPOINT.MORE_OPTIONS -value {-incremental_directive TimingClosure} -objects [get_runs impl_1]
With changes to the RTL source now
made, synthesis and implementation must be rerun. As Incremental Implementation has
already been configured, all that must be done is to relaunch the tool flow as would be
done in the default flow.