在 Vivado 2016.3 之前版本的所有器件系列中,发现了在差分 I/O 标准定时分析中不能使用数据包飞行时间数据。在差分 I/O 延迟的分析过程中,定时引擎并没有使用数据包飞行时间。
只有在引脚对引脚定时约束中才会出现这种情况,而且 50-300ps 的偏差依然能够满足定时要求,因为该路径由时钟延迟以及 I/O 模块中正确的寄存器布局所主导。
对引脚对引脚定时非常敏感的应用类型是系统同步芯片对芯片接口(FPGA 和其它器件间的通用时钟源)。这些接口通常比较慢(200MHz 以下),这就是为什么 50-300ps 的错误并不重要的原因所在。
支持重要 I/O 定时的设计接口使用专用 I/O 寄存器(包括 ISERDES 或 OSERDES 模块),这会导致固定设置、保持和时钟输出定时,因此使用 Vivado 2016.3 或更高版本时会有一个小风险,即重新定时会造成一个定时故障。仅使用单端 I/O 标准的设计不受影响。
受影响的版本
2012.x, 2013.x, 2014.x, 2015.x, 2016.1, 2016.2
受影响的器件系列:
7 系列、 UltraScale、 UltraScale+
此问题已在 Vivado 2016.3 及之后版本中解决。
为了解决该问题,必要时请使用 Vivado 2016.4 中的定时分析并重新实现设计,以满足定时要求。
修订历史::
04/14/2017 - 1.0 初始版本