赛灵思 Xilinx Vivado 时序收敛技巧之总体脉冲宽度时序裕量违例 (TPWS) 第 1 部分

欢迎阅读Vivado时序收敛技巧系列博客。

在本系列中,我们将介绍可归类为脉冲宽度违例(Pulse Width Violation)的多种类型的时序违例。

本文将主要介绍“最大偏差违例”相关内容。

有多种类型的时序违例可归类为脉冲宽度违例。

  1. 最大偏差违例(本文详解之重点)
  2. 最小周期违例(详见此处)。
  3. 最大周期违例
  4. 低脉冲宽度违例
  5. 高脉冲宽度违例

如需了解脉冲宽度违例的详情,请参阅“时序汇总报告(Report Timing Summary)”的“TPWS”部分。

最严重的脉冲宽度违例在报告中显示为最差脉冲宽度时序裕量(WPWS)

如需了解脉冲宽度违例的详情,请在Vivado GUI中打开脉冲宽度违例报告,方法是单击“报告(Reports)->“时序(Timing)->“脉冲宽度报告(Report Pulse Width)”,或者也可使用以下Tcl命令打开此报告:

report_pulse_width

最大偏差违例

本文仅介绍“最大偏差违例”相关内容。 

最大偏差违例示例:

以下截屏显示了含负裕量的最大偏差违例。

在上述示例中,实际最大偏差(Actual Max Skew)值即最大偏差(Max Skew)中工艺角(process corner)FastCLK的到达时间与最小偏差(Min Skew)中工艺角为FastCLKDIV的到达时间之差。

您可通过时序报告来检查该值,以了解特定路径类型。

注意:应在同一工艺角(Slow/Fast)中报告时序,但必须在“Min/Max”中报告这两个管脚。

如需了解预期值(Required)与实际值(Actual)计算方式的详细说明,请参阅(赛灵思答复记录 72121)

请根据以下检查表来解析最大偏差违例:

  1. 首先,检查报告时序收敛失败路径的时钟树路径的拓扑结构。
    其中一条时钟路径将被称为“参考路径(Reference Path)”,另一条路径的偏差将高于规格值。 
     
  2. 检查您当前使用的是否是最优化时钟拓扑。用户可查阅DRC报告和方法报告,以查看是否存在有关次优时钟拓扑问题的消息。《时钟拓扑建议》(UG949) 对于了解赛灵思建议的时钟拓扑很有帮助。
  3. 请确保时钟缓冲器都布局在相同时钟区域内。时钟树同样应保持平衡。
    最好避免时钟树跨多个SLR 
  4. 您还可以添加CLOCK_DELAY_GROUP属性以查看能否避免此违例。
    如需了解更多信息,请参阅(赛灵思答复记录 67885)
  5. 请确保缓冲器中用于驱动管脚的时钟根同样分配至该时钟区域。
    如需手动设置时钟根值,可使用USER_CLOCK_ROOT约束。