🧠 总体思路
接收裕量分析 是为了确认:
- 当前设计在高速接收时是否可靠;
- 是否有足够的时间“眼图”空间用于采样;
- 不确定性因素是否会使采样点跑出眼图中心,造成误码。
👉 所有时序不确定性都要从一个 bit 周期(UI)中减去,剩下的时间窗就是有效裕量(RSKM)。
🧮 1. 工具支持
Xilinx 提供了一个 Excel 表格工具,允许用户:
- 填入具体设计参数(如速率、IODELAY taps、时钟源等);
- 自动计算 RSKM(Receiver Skew Margin);
- 如果是绿色,表示时序裕量是正的,设计可靠;
- 如果是红色,表示存在时序风险。
📉 2. 关键的不确定性来源
不确定因素 | 说明 |
---|---|
PLL/MMCM 抖动 | 可通过 Clocking Wizard 查询 影响接收时钟精度 |
逐位去偏斜精度误差 | - 使用 Per-bit Deskew:误差为 ±2 taps(包括量化误差) - 不用 Deskew:误差为 IODELAYE2 延迟的 一半 |
主从 IODELAY 差异 | 包括 master/slave 的时钟偏差、setup/hold 差异 |
参考时钟频率影响 | IODELAYE2 必须配置 200 MHz 或 300 MHz 的 IDELAYCTRL 使用 300 MHz 可提高精度,但最小支持速率上升至 641 Mb/s |
延迟线中的模式相关抖动 | - 默认 9 ps/tap - 设置 HIGH_PERFORMANCE 模式可降至 5 ps/tap |
采样时钟占空比失真 | 仅 DDR 情况下才重要,受 BUFR/BUFIO 等 buffer 类型影响 |
发送端与 PCB 延迟偏差 | 如 PCB trace skew、IO package skew ⚠️ 使用 per-bit deskew 后,这些全部 抵消(无需再考虑) |
🧩 实际影响
以 IODELAY 最大 tap 数为 31,单位 tap 为 78ps 为例:
-
当速率较低(如 300 Mb/s),整个 UI 长度 = 3.33 ns;
- 假设抖动和偏差共计 1 ns,仍然有 2.3 ns 的 margin,系统安全;
-
当速率上升至 1,200 Mb/s,UI = 833 ps;
- 抖动仍为 1 ns,margin 为负,系统可能误码。
所以分析 数据速率 vs 抖动来源的总和,是判断系统是否能稳定工作的核心。
✅ 总结重点
要点 | 内容 |
---|---|
🎯 分析目标 | 确保采样点落在数据眼中心,避免误码 |
🛠 工具支持 | 提供 Excel 工具,辅助 RSKM 计算 |
❗ 关键变量 | PLL 抖动、延迟精度、延迟抖动、PCB 偏差等 |
💡 最佳实践 | 建议使用 per-bit deskew 以最大限度抵消不确定性 |
⏱ IODELAY Ref Clock | 建议使用 300 MHz 可提升精度,但最低速率需 >641 Mbps |