The report_incremental_reuse
command is available at any stage of
the flow after read_checkpoint -incremental
has been used. The
report allows the user to compare the following between the reference and current
design runs:
- Examine cell, net, I/O and pin reuse in the current run
- Runtimes
- Timing WNS at each stage of the flow
- Tool options
- Tool versions
- Iphys_opt_design replaying optimization
- QoR suggestions applied with the incremental flow
By examining the cell reuse and the other factors mentioned above, a user can determine the effectiveness of the incremental. Where the flow is judged ineffective, a user would typically update the checkpoint to a newer version of the design or adjust the tool flow. The report is split into 7 sections:
- Flow Summary
- This reports the general information for the current whole incremental
flow:
1. Incremental Flow Summary +--------------------------+---------------+ | Flow Information | Value | +--------------------------+---------------+ | Synthesis Flow | Default | | Auto Incremental | No | | Incremental Directive | TimingClosure | | Reuse mode | High | | Target WNS | -0.160 | | QoR Suggestions | 0 | +--------------------------+---------------+
- Reuse Summary
- This contains an overview of the cells, nets, pins, and ports that are
reused. An example
is:
2. Reuse Summary +------+----------------------+--------------------+--------------------+----------------+ | Type | Matched % (of Total) | Reuse % (of Total) | Fixed % (of Total) |Total | +------+----------------------+--------------------+--------------------+----------------+ | Cells| 100.00 | 99.82 | 0.38 | 688982 | | Nets | 99.98 | 99.72 | 0.00 | 795869 | | Pins | - | 99.11 | - | 2823905 | | Ports| 100.00 | 100.00 | 100.00 | 667 | +------+----------------------+--------------------+--------------------+----------------+
- Reference Checkpoint Information
- This contains information about the reference checkpoint. From this section
you can examine the:
- Vivado version that generated it
- Stage of the implementation
- Recorded WNS and WHS
- Speedfile version information of both the reference and incremental runs
An example is:
3. Reference Checkpoint Information +----------------------------------+----------------------------+ | DCP Information | Value | +----------------------------------+----------------------------+ | Vivado Version | 2020.2 | | DCP State | POST_ROUTE | | Recorded WNS | -0.305 | | Recorded WHS | 0.000 | | Reference Speed File Version | PRODUCTION 1.27 02-28-2020 | | Incremental Speed File Version | PRODUCTION 1.27 02-28-2020 | +----------------------------------+----------------------------+ * Recorded WNS/WHS timing numbers are estimated timing numbers. They may vary slightly from sign-off timing numbers.
- Comparison with Reference Run
- This contains useful metrics about a comparison with the reference run.
From this section you can compare:
- Runtime information
- WNS at each stage of the flow
- Tool options at each stage of the flow.
An example is:
Figure 1. Reference Run Comparison - Optimization Comparison with Reference Run
- This section contains the
iphys_opt_design
replaying information which is retrieved from the reference dcp, along with the RQS suggestions derived, generated, and applied in the current incremental flow. An example is:5.1 iphys_opt_replay Optimizations +-------------------------+--------+------------+ | iphys_opt_design replay | Reused | Not Reused | +-------------------------+--------+------------+ | hold_fix | 113| 0 | | fanout_opt | 2 | 0 | | critical_cell_opt | 10 | 0 | | restruct_opt | 4 | 0 | +-------------------------+--------+------------+
5.2 QoR Suggestion Optimizations +------------------------------------------+-------+ | QoR Suggestions | Value | +------------------------------------------+-------+ | Applied | 0 | | Failed to apply | 0 | | New Suggestions | 0 | | Yet to apply | 0 | | Applied | 0 | | Failed to apply | 0 | | Non Incremental Friendly New Suggestions | 0 | +------------------------------------------+-------+
- Command Comparison with Reference Run
- This section contains the commands executed for flow command comparison. An
example
is:
6.1 Reference: ------------------- opt_design -directive Default place_design -directive ExtraPostPlacementOpt phys_opt_design -directive AlternateFlowWithRetiming phys_opt_design -directive AggressiveFanoutOpt phys_opt_design -directive AggressiveExplore phys_opt_design -directive AlternateReplication route_design -directive Explore phys_opt_design -directive Explore
6.2 Incremental: ------------------- opt_design -directive Default read_checkpoint -directive TimingClosure -incremental /group/2020.1/post_route_phys_opt2.dcp
- Non-reuse Information
- This contains metrics about what was not reused and why. An example
is:
7. Non Reuse Information +------------------------------------------------------+------+ | Type | % | +------------------------------------------------------+------+ | Non-Reused Cells | 0.17 | | Discarded illegal placement due to netlist changes | 0.17 | | Discarded to improve timing | 0.01 | | Partially reused nets | 0.00 | | Non-Reused nets | 0.27 | | Non-Reused Ports | 0.00 | +------------------------------------------------------+------+