时序分析 – 如何满足OFFSET IN的时序?-Xilinx-AMD社区-FPGA CPLD-ChipDebug

时序分析 – 如何满足OFFSET IN的时序?

描述

如何解决OFFSET IN定时错误?

与Period约束不同,OFFSET约束更可能用于分析或检查目的。

工具可以做很多工作来调整设计以满足OFFSET约束,特别是当输入/输出寄存器放入IOLOGIC时。

为接口选择合适的时钟和数据拓扑非常重要,以满足OFFSET IN约束或时序要求。

当OFFSET IN约束失败时,请按照以下步骤查找解决方案。
1.确保OFFSET IN约束正​​确。
2.转到时间报告中的数据表报告部分。

您可以从数据表报告中相应OFFSET IN约束的“偏移表”中获取以下信息。

  • 如果(Setup Slack + Hold Slack)<0,则意味着无法满足OFFSET IN约束的建立和保持要求。
    如果是这种情况,则需要更改时钟或数据拓扑。
    见步骤3。
  • 如果(Setup Slack + Hold Slack)> = 0,则意味着您可以通过使用“Ideal Clock Offset To Actual Clock”值将时钟边沿移动到数据有效窗口的中间来满足OFFSET IN约束。在表的顶部。
    见步骤4。
以下是数据表报告中偏移表的示例:
offsetin_datasheet1.png

3.以下是一些常用的时钟和数据拓扑。
  • 将输入寄存器放入IOB。
  • 在时钟路径上添加PLL / DCM / MMCM,以便可以补偿时钟插入延迟,并且可以对时钟边沿进行相移。
    有时使用PLL会比DCM / MMCM产生更好的结果,因为PLL可以减少抖动并增加裕量。
  • 在时钟路径上添加IDELAY(固定模式),以便通过调整IDELAY tap来移动(延迟)时钟边沿。
  • 在数据路径上添加IDELAY(固定模式),以便通过调整IDELAY tap来相对于时钟边沿移动(延迟)数据窗口。
    当需要单独调整每个数据位时,这也很有用。
  • 在时钟和数据路径上添加IDELAY(固定模式)。
    由于IDELAY组件的最小和最大延迟值之间存在很大差异,因此在仅添加时钟路径或数据路径时,它通常会占用一些余量。
    如果将IDELAY添加到时钟和数据路径,则可以中和变化以节省一些余量。
  • 在时钟路径上添加PLL / DCM / MMCM,在数据路径上添加IDELAY(固定模式)。
每次更改时钟或数据拓扑时,都需要重新运行实施并重新检查数据表报告,然后再调整相移或IDELAY抽头值。

更改拓扑后,您将获得与新实现不同的方案。

4.确定在数据窗口中间进行相移或延迟以使时钟边沿需要多少。

这是偏移表顶部的“理想时钟偏移到实际时钟”给出的值。在上面的示例中,此值为-0.500ns。

  • 正值表示时钟边缘需要向前移动或数据向后移动。
    负值表示时钟边缘需要向后移动或数据向前移动。
  • IDELAY只能向前移动时钟或数据。

5.在某些情况下,任何上述拓扑都无法满足OFFSET IN约束,但对接口的要求仍然处于器件的DC和特性数据手册中规定的最佳性能。

静态时序分析给出了固定工作模式下的最坏情况分析。
在DC和特性数据表中声明的最佳性能仍然可以通过在可变模式下使用IDELAY进行动态相位校准来实现。
在此方案中,OFFSET IN约束分析不反映可在接口上实现的实际性能。
有关动态相位对齐的说明,请参阅器件的SelectIO资源用户指南。

以下是一些应用笔记,您可以参考这些应用笔记进行动态相位对齐。

  • Spartan-6 XAPP1064
  • Virtex-6 XAPP1071
  • 7系列XAPP585
请登录后发表评论

    没有回复内容