保持/移除关系 - 2023.2 简体中文

Vivado Design Suite 用户指南: 设计分析与收敛技巧 (UG906)

Document ID
UG906
Release Date
2023-10-19
Version
2023.2 简体中文

保持时间检查(也称为保持关系)与建立关系直接相连。虽然建立时间分析可确保在最消极的场景中仍可安全捕获数据,但保持关系可确保:

  • 由建立发送沿所发送的数据不会被位于建立捕获沿之前的活动沿(下图中分别对应于建立沿 S1 和 S2 的 H1a 和 H2a)所捕获。
  • 由位于建立发送沿之后的下一个活动源时钟沿发送的数据不会被建立捕获沿(下图中分别对应于建立沿 S1 和 S2 的 H2a 和 H2b)所捕获。

保持分析期间,时序引擎仅报告任意 2 个时钟之间最消极的保持关系。最消极的保持关系并非始终与最差建立关系关联。时序引擎必须复查所有可能的建立关系及其对应的保持关系才能识别最消极的保持关系。

仍以建立关系示例中的路径为例。存在 2 项唯一的建立关系。

下图显示了每项建立关系的 2 项保持关系。

图 1. 保持关系(按建立关系)

最高保持要求为 0 ns,对应于源时钟和目标时钟的首个上升沿。

当路径要求已知后,即可引入路径延迟、时钟不确定性和保持时间以计算裕量。典型裕量公式为:

Data Required Time (hold) = capture edge time + destination clock path delay + clock uncertainty + hold time,即,数据必需时间(保持)= 捕获沿时间 + 目标时钟路径延迟 + 时钟不确定性 + 保持时间
Data Arrival Time (hold) = launch edge time + source clock path delay + datapath delay,即,数据到达时间(保持)= 发送沿时间 + 源时钟路径延迟 + 数据路径延迟
Slack (hold) = Data Arrival Time - Data Required Time,即,裕量(保持)= 数据到达时间 - 数据必需时间

如上述公式所示,当新数据到达时间晚于必需时间时,保持裕量为正值。

移除检查类似于保持检查,但它适用于异步管脚(如预置或清除)。关系建立方式与保持相同,裕量公式也相同(只是使用移除时间取代保持时间)。