Using report_incremental_reuse - 2021.1 English

Vivado Design Suite User Guide: Implementation (UG904)

Document ID
UG904
Release Date
2021-08-30
Version
2021.1 English

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 seven 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    |
+------+--------------------+------------------+------------------+--------+
Note: Pins Matched is left as empty due to initial not checking.

Reference Checkpoint Information

This contains information about the reference checkpoint. From this section you can examine the following:

  • 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 the following:

  • Runtime information
  • WNS at each stage of the flow
  • Tool options at each stage of the flow.
Figure 1. Reference Run Comparison Example

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 |
+------------------------------------------+-------+
| QoR Suggestions                          |   0   |
|   Suggestions Included In References     |   0   |
|     Yet to apply                         |   0   |
|  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. The following is an example:

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 |
+------------------------------------------------------+------+