欢迎阅读Vivado时序收敛技巧系列博客。
在本系列中,我们将介绍可归类为脉冲宽度违例(Pulse Width Violation)的多种类型的时序违例。
本文将主要介绍“最大偏差违例”相关内容。
有多种类型的时序违例可归类为脉冲宽度违例。
- 最大偏差违例(本文详解之重点)
- 最小周期违例(详见此处)。
- 最大周期违例
- 低脉冲宽度违例
- 高脉冲宽度违例
如需了解脉冲宽度违例的详情,请参阅“时序汇总报告(Report Timing Summary)”的“TPWS”部分。
最严重的脉冲宽度违例在报告中显示为最差脉冲宽度时序裕量(WPWS)。
如需了解脉冲宽度违例的详情,请在Vivado GUI中打开脉冲宽度违例报告,方法是单击“报告(Reports)”->“时序(Timing)”->“脉冲宽度报告(Report Pulse Width)”,或者也可使用以下Tcl命令打开此报告:
report_pulse_width
最大偏差违例
本文仅介绍“最大偏差违例”相关内容。
最大偏差违例示例:
以下截屏显示了含负裕量的最大偏差违例。
在上述示例中,实际最大偏差(Actual Max Skew)值即最大偏差(Max Skew)中工艺角(process corner)为Fast的CLK的到达时间与最小偏差(Min Skew)中工艺角为Fast的CLKDIV的到达时间之差。
您可通过时序报告来检查该值,以了解特定路径类型。
注意:应在同一工艺角(Slow/Fast)中报告时序,但必须在“Min/Max”中报告这两个管脚。
如需了解预期值(Required)与实际值(Actual)计算方式的详细说明,请参阅(赛灵思答复记录 72121)。
请根据以下检查表来解析最大偏差违例:
- 首先,检查报告时序收敛失败路径的时钟树路径的拓扑结构。
其中一条时钟路径将被称为“参考路径(Reference Path)”,另一条路径的偏差将高于规格值。
- 检查您当前使用的是否是最优化时钟拓扑。用户可查阅DRC报告和方法报告,以查看是否存在有关次优时钟拓扑问题的消息。《时钟拓扑建议》(UG949) 对于了解赛灵思建议的时钟拓扑很有帮助。
- 请确保时钟缓冲器都布局在相同时钟区域内。时钟树同样应保持平衡。
最好避免时钟树跨多个SLR。 - 您还可以添加CLOCK_DELAY_GROUP属性以查看能否避免此违例。
如需了解更多信息,请参阅(赛灵思答复记录 67885)。 - 请确保缓冲器中用于驱动管脚的时钟根同样分配至该时钟区域。
如需手动设置时钟根值,可使用USER_CLOCK_ROOT约束。