vivado report_design_analysis 命令很强大

Vivado提供了命令report_design_analysis,该命令功能强大,不仅可以分析时序,还可用于分析逻辑级数、设计复杂度和拥塞。

时序分析
在用于时序分析时,需要添加选项-setup、-hold或-timing,具体用法如下代码所示。第一条命令可生成最差的50条路径建立时间的时序报告,报告形式如下图所示。下面三张图是报告前三行不同列的内容。

1.jpg

2.jpg

3.png

4.jpg

在这个报告中可以看到:
逻辑延迟的百分比

  • 时序路径的逻辑级数
  • 路径上是否有BRAM或DSP
  • 路径的Requirement是否过于严苛
    布线延迟百分比
  • 路径上的最高扇出是多少?
  • 路径上的单元是否被放置的相距较远?
  • 对于SSI器件,是否是跨die路径?
    BRAM和DSP是否适用了自带的寄存器
    时钟Skew(对于Setup是否<-0.5ns,对于Hold是否大于0.5)
  • 是否是跨时钟域路径?
  • 是同步时钟还是异步时钟?
  • 是否穿过IO列?

逻辑级数分析
逻辑级数分析时,建议在综合之后就执行,需要添加两个选项,如下代码所示,会生成如下图所示界面。图中右侧第一行为逻辑级数,第二行对应数字wei相应的时序路径的个数。选中这个数字,点击鼠标右键,可生成相应的时序报告。

5.jpg

6.jpg

设计复杂度分析
report_design_analysis可用于分析设计的复杂度,此时需要添加选项-complexity,如下代码所示。该代码会生成类似于下图所示的报告。在这个报告中,有三个参数需要格外关注,分别是Rent、Average Fanout和Total Instances。其中Rent指数反映了模块的互连度,该指数越高,互连越重。较重的互连意味着设计会消耗大量的全局布线资源,从而导致布线拥塞。Rent值超过0.65或者Average Fanout大于4同时Total Instances 15K时要引起足够关注,很可能会造成布线拥塞。

7.jpg

8.jpg

拥塞分析
report_design_analysis还可用于分析设计的拥塞程度,此时需要添加选项-congestion,如下代码所示。该代码会生成类似于下图所示的拥塞报告。

9.jpg

10.jpg

综上所述,report_design_analysis有三种工作模式:时序分析、复杂度分析和拥塞分析。

编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除
匿名用户

匿名