Using report_incremental_reuse - 2020.2 English

Vivado Design Suite User Guide: Implementation (UG904)

Document ID
UG904
Release Date
2021-02-26
Version
2020.2 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 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 |
+------------------------------------------------------+------+