AR# 59282

Vivado Synthesis - Significant differences could be seen between Synthesis and Implementation utilization reports if there are any instantiated DCP or OOC modules in the design

描述

Significant differences could be seen between Synthesis and Implementation utilization reports opened from the "Reports" pane if there is an instantiated DCP or OOC module in the design. The following is an example.

The BRAM utilization is shown differently in the synthesis utilization report and implementation utilization report, as shown in the below results:

Synthesis utilization report

2. Memory

---------

+----------------+------+-------+-----------+-------+

|    SiteType   | Used | Loced | Available | Util% |

+----------------+------+-------+-----------+-------+

| Block RAM Tile|    0 |     0|       545 |  0.00 |

|   RAMB36/FIFO*|    0 |     0|       545 |  0.00 |

|  RAMB18       |    0|     0 |      1090 |  0.00 |

+----------------+------+-------+-----------+-------+

 

Implementation utilization report

 +-------------------+------+-------+-----------+-------+

|     SiteType     | Used | Loced | Available | Util% |

+-------------------+------+-------+-----------+-------+

| Block RAMTile    |  128 |     0|       545 | 23.48 |

|  RAMB36/FIFO*    |  128 |     0|       545 | 23.48 |

|    RAMB36E1 only |  128 |      |          |       |

|  RAMB18         |    0 |     0|      1090 |  0.00 |

+-------------------+------+-------+-----------+-------+


Why is this difference seen?

 

解决方案

This happens because the Synthesis utilization report which is automatically generated after Synthesis completes does not include the resource utilization of any instantiated DCP or any OOC module.

For the example above, when we run report_utilizationin the Tcl console of Vivado after opening the synthesized design, we can see the numberreported correctly as 128 (the same as is shown in the Implementation utilization report).

See the below screen capture:




When you load the synthesized design, it loads the DCP or OOC module netlist too and hence the value differs.

Note: This issue does not happen to instantiated NGC and EDIF. Right after Synthesis completes, the post-synthesis stage automatically reads in the NGC and EDIF and then generate the utilization report.

As a result, the Synthesis utilization report already contains the resource utilization from the NGC and EDIF.

 

AR# 59282
日期 10/20/2016
状态 Active
Type 综合文章
Tools