描述
如何解决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。
以下是数据表报告中偏移表的示例:
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资源用户指南。
在DC和特性数据表中声明的最佳性能仍然可以通过在可变模式下使用IDELAY进行动态相位校准来实现。
在此方案中,OFFSET IN约束分析不反映可在接口上实现的实际性能。
有关动态相位对齐的说明,请参阅器件的SelectIO资源用户指南。
以下是一些应用笔记,您可以参考这些应用笔记进行动态相位对齐。
- Spartan-6 XAPP1064
- Virtex-6 XAPP1071
- 7系列XAPP585
没有回复内容