Vivado时序收敛技术(一) Baseline基础理论

时光总嘲笑我的痴心妄想 提交于 2020-11-11 04:18:17

本文整理自Xilinx公开课:Vivado时序收敛技术。

有些知识在公开课中讲的并不是很细,因此我又对齐进行了整理,分为了几篇文章。

有很多内容也在我的时序约束课程中讲到过,都是免费课程,大家可以在公众号上找到。(下面的链接中也有)


  1. 如何知道该约束哪些时钟?

  使用report_clock_networks指令或使用约束向导来查看有哪些主时钟需要约束和输入的主时钟是否被约束。

report_clock_networks -name primaryClock
image-20200809230632861
  1. 如何检查时钟的约束?

  使用report_clocks指令,可以显示出所有约束时钟的周期、占空比等信息。

image-20200809230616752
  1. 如何检查有关联的时钟?

  使用report_clock_interaction指令,需要特别注意那些unsafe的时钟,也可以使用Implentation下面的Report Clock Interaction功能:

image-20200810111435094

结果如下:

image-20200810111701930
  1. 如何检查路径的requirement是否合理?

  同样可以使用report_clock_interaction指令,或者report_timing指令,或者report_timing_summary,可以看到WNS、TNS、WHS、THS、WPWS、TPWS这6个参数。

image-20200810111919367
  • WNS 表示最差建立时间负时序裕量 (Worst Negative Slack);对于跨时钟域而且WNS过小(比如小于100ps),一般都是因为没有对这两个时钟进行时序例外的约束,这时我们就要根据具体情况增加相应的约束。

  • TNS 表示总的建立时间负时序裕量 (Total Negative Slack),也就是负时序裕量路径之和;

  • WHS 表示最差保持时序裕量 (Worst Hold Slack);

  • THS 表示总的保持时序裕量 (Total Hold Slack),也就是负保持时序裕量路径之和;

  • WPWS表示最差脉冲宽度裕量;

  • TPWS表示总的脉冲宽度裕量,也就是负脉冲宽度裕量路径之和

  这里补充一点,即便有时序违规,程序运行时也不一定会出错,只是程序存在不稳定的可能性。

  1. 尽早定位问题

  根据Baseline的基本理论,在进行综合和实现时,应该在每一步都检查WNS是否满足约束或者大于-300ps(这个数字是Baseline理论中提到的,具体原因查到之后再补充),只有满足这个条件后再进行下一阶段的设计实现过程,否则,应该继续在当前阶段或是退回到上一阶段调整后重跑设计,直到满足要求再继续。
一个很重要的原则是:越早发现和定位问题,越是可以通过少量的努力来达到更大范围的改进。

从综合到实现需要的过程如下:

  synth_design -> opt_design -> place-design -> phys_opt_design -> route_design

那怎么让每一步的结果中都有时序报告呢?可以把Report Options的策略选择为Timing Closure Reports

image-20200810165751733






FPGA时序约束教程


  1. FPGA时序约束理论篇之建立保持时间
  2. FPGA时序约束理论篇之时序路径与时序模型
   3.  FPGA时序约束理论篇之IO约束
   4.  FPGA时序约束理论篇之时钟周期约束
   5.  FPGA时序约束理论篇之两种时序例外
   6.  FPGA时序约束理论篇之xdc约束优先级
   7.  FPGA时序约束实战篇之梳理时钟树
   8.  FPGA时序约束实战篇之主时钟约束
   9.  FPGA时序约束实战篇之衍生时钟约束
  10.  FPGA时序约束实战篇之延迟约束
  11.  FPGA时序约束实战篇之伪路径约束
  12.  FPGA时序约束实战篇之多周期路径约束
  13.  Vivado时序约束辅助工具
  14.  FPGA时序约束之Tcl命令的对象及属性



微信公众号:Quant_Times




本文分享自微信公众号 - 科学计算Tech(Quant_Times)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!