竞争问题
- 测试平台在时钟边沿驱动DUT,就会存在竞争问题;
- 默认情况下,时钟对于组合电路的驱动会添加一个无限最小时间(delta- cycle)的延迟,而该延迟无法用绝对时间衡量,它要比最小时间单位精度还要小;
- 在一个时间片(time-slot)中可以发生很多事情。
如何避免采样的竞争问题
- 为了避免在RTL仿真行为发生的信号竞争问题,建议通过非阻塞赋值或特定信号延迟解决同步问题。为了避免时序电路中时钟和驱动信号的时序竞争问题,需要给出尽量明确的驱动时序和采样时序;
- 在驱动时添加相应的人为延迟,模拟真实的延迟行为,同时加大clk与变量之间的延迟,以此提高DUT使用信号时的准确性和TB采样信号的可靠性;
- 对于一些采样时依然存在的delta-cycle延迟信号,还可以依靠在采样事件前的某个时刻进行采样,来模拟建立时间的采样要求,确保采样的可靠性。