TIMING-35 : 在具有相同时钟的路径中不存在公共节点
时钟 <clock_name> 所含路径不具有公共节点。在 <startpoint> 与 <endpoint> 之间可找到第一条路径。请复查时钟约束。
描述
如果在多个对象 ( 端口 / 管脚 / 信号线 ) 上定义了时钟 , 那么在源时钟管脚与目标时钟管脚之间的时钟内部路径可不含任何公共节点。在此类情况下, 此路径可能无法安全定时 , 并且应被视为异步路径 , 因为源时钟管脚和目标时钟管脚是由不同时钟源管脚所驱动的。
解决方案
复查 create_clock 约束和时钟源管脚定义。如果要在多个源对象上定义该时钟 , 那么部分异步约束 ( 例如 , 伪路径或仅最大延迟数据路径) 应设置为覆盖由不同时钟源对象进行时钟设置的路径。
TIMING-36 : 由于无时钟沿传输 , 生成时钟无效
主时钟 <clock_name> 到生成时钟 <clock_name> 之间没有上升沿或下降沿传输。
描述
没有任何来自主时钟源的上升沿或下降沿可传输至生成时钟的源管脚。因此 , 在主时钟与生成时钟之间不存在已知的时钟关系, 并且验收时序可能不准确。
解决方案
复查用于定义生成时钟的主时钟。在主时钟与生成时钟之间应存在物理路径。如有物理路径 , 请确保沿此路径的所有时序弧 (timing arc) 均已启用 , 并且上升和下降时钟沿均可传输。
TIMING-37 : 总线偏差约束已应用于含扇出的信号
在具有扇出的信号上 , 不建议应用总线偏差约束 ( 请参阅 Vivado IDE 的“ Timing Constraint ”中的约束位置<position>) 。此约束所涵盖的第一个端点是 <object> 。
描述
为避免因目标时钟域内潜在的逻辑再收敛导致任何硬件故障 , 有必要避免时钟域交汇路径上存在任何扇出。同步逻辑后的信号应仅在目标时钟域内部扇出。
解决方案
复查设计和时钟域交汇路径 , 移除异步时钟域交汇路径中的扇出。
TIMING-38 : 已在多个时钟上应用总线偏差约束
在总线偏差约束的源或目标上涉及多个时钟 ( 请参阅 Vivado IDE 的“ Timing Constraint ”窗口中的约束位置<position>) 。建议每个总线偏差约束仅限一个源时钟和一个目标时钟。此约束所涵盖的第一个端点是<object>。
描述
为了正确完成总线偏差时序分析 , 建议仅限一个源时钟和一个目标时钟可到达 set_bus_skew 约束中指定的时序元件。
解决方案
复查 CDC 交汇 , 确保仅有一个时钟可到达所有源元素和所有目标元素。如有多个时钟到达源寄存器和 / 或目标寄存器, 那么这些时钟应定义为逻辑或物理互斥时钟。
TIMING-39 : 路径上所含逻辑层次过多 , 总线偏差约束无 效
总线偏差约束已应用于具有多个逻辑层次的路径 。此约束所涵盖的第一个端点是 <NETLIST_ELEMENT> 。
描述
为避免因目标时钟域内的逻辑再收敛导致任何硬件故障 , 有必要避免时钟域交汇路径上存在任何逻辑。来自源时钟域的每个寄存器都只能驱动目标时钟域内的单个寄存器, 并且源和目标时钟域之间不应存在任何逻辑。
解决方案
复查设计 , 移除异步 CDC 交汇中的组合逻辑。
TIMING-40 : 在跨 SLR 的 OSERDESE3 CLK 与 CLKDIV
管脚之间存在最大偏差违例
在 OSERDESE3 实例 <NETLIST_ELEMENT> 上的 CLK 管脚与 CLKDIV 管脚之间存在最大偏差违例 , 并且时钟网络跨SLR 才能到达时钟管脚。不建议从布局在另一个 SLR 内的时钟源来驱动 OSERDESE3CLK 和 CLKDIV 。请检查您的设计。
描述
OSERDESE3 的 CLK 和 CLKDIV 管脚具有特定的偏差要求 , 不得超出此要求。如果 CLK 和 CLKDIV 与 OSERDESE3 位于不同 SLR 中 , 则可能导致时钟路径延迟出现最大偏差违例。
解决方案
复查 OSERDESE3 的时钟拓扑结构 , 确保 CLK 管脚和 CLKDIV 管脚的时钟源与 OSERDESE3 都布局在相同的 SLR 内。