1

我正在阅读 Mark Litterick 撰写的 DVCON 论文 2006“基于时钟域交叉信号和抖动的实用仿真验证”。我对某些陈述感到困惑

  1. 第 2 页 第 4.2 节 输入数据值必须在三个目标时钟边沿保持稳定。

该论文似乎暗示了积极的边缘,因为这似乎是 p_stability 属性检查的内容。但是 Clifford Cummings 的论文(CDC 设计和验证技术使用 System Verilog)提到这是 1.5 倍。所以他建议2个正边缘和1个负边缘。有人可以确认这张纸是否意味着正面吗?

  1. 第 5 页,第 6 节,图 11 同步器将抖动仿真允许随机 3 个时钟延迟。对于单位输入,我们如何获得 3 个时钟延迟?我可以看到这对于多位输入很有用,其中有一些偏斜但对单个位没有。
property p_stability;
@(posedge clk)            // NOTE POSITIVE EDGE
    !$stable(d_in) |=> $stable(d_in)[*2];
endproperty
4

2 回答 2

2

我可以确认原始陈述的意图是 3 个积极的边缘,让我解释一下原因。识别两个正边缘宽的脉冲被过滤的可能性非常简单 - 特别是如果实际脉冲(比如说高电平)违反了第一个边缘的建立时间和第二个边缘的保持时间,那么RTL 仿真会看到两个时钟沿的信号为高电平,但由于亚稳态,它可能被完全滤除。如果验证仍然在事件驱动的模拟域中,那么安全验证余量就是说我们可以(仅)保证传播如果观察到 3 个连续的正边沿。

现在的现实是,在时域而不是事件驱动域中,脉冲宽度必须严格大于时钟周期加上建立和保持时间……多于两个边沿但少于三个边沿。但是您需要临时检查来验证这一点,而不是基于事件的检查。

(关于第二个问题,我需要自己回论文)

希望有帮助,马克

于 2019-09-10T10:43:28.827 回答
0

不久前我读了这两篇论文。我的理解是克利福德·卡明斯的说法更准确。D 输入宽度 > 1.5x 接收时钟周期是最低要求。这将保证有 2 个正采样边沿和一些用于保持和建立时间的空间。

于 2020-08-23T00:17:01.043 回答