时钟沿采样数据问题(有时采样沿前数据有时采样沿后数据)
时间:10-02
整理:3721RD
点击:
最近在搭uvm环境写driver的时候碰到的问题,用时钟沿去采样接口信号,有些信号采样到沿前的值有些信号采样到沿后的值,导致在写driver时都不确定到底是采样到了沿前还是沿后的值,不知是哪个地方的问题,有碰到过类似问题的朋友是否能够帮我解答下,需要如何解决才能所有接口信号都采样到沿前的值,多谢了!
在interface中,使用clocking来对所有输出信号加一个正延迟,对所有输入信号加一个负延迟。
interface ....
clocking mck @(posedge clock);
default output #0.1ns;// 所有output在clock的上升沿0.1ns之后更新
default input #0.1ns;//所有input在clock上升钱之前0.1ns采样
input ...
output ...
endclocking