UVM monitor的写法问题
时间:10-02
整理:3721RD
点击:
看张强的UVM实战的时候有一个疑问,在他的例子中monitor的写法一直是在系统时钟的上升沿采集数据,那他是不是没有考虑DUT的延时呢,还有就是在uart等的验证平台中,不同的波特率设置对monitor的写法有没有影响呢,monitor是一样的吗?还是说不同的波特率要对应一个test_case..希望大家解决下小弟的疑惑啊。
rtl仿真没有时延这一说法,后仿才有
谢谢啦,能再请教请教帖子中的那个monitor的问题吗?
小编说的波特率是 1ns/1ps这种精度的问题吗?
不是啊,就是用monitor在监控dut总线上面的数据的时候,monitor在什么时候采集总线上面的值呢?比如说在uart设计的时候。
因为UART的输出只有TX嘛,就不知道怎么触发monitor进行采集了。
testcase里把uart的波特率当做参数传递到,driver和monitor。假设波特率的倒数是T,monitor的main_phase里写
byte dat;
forever
begin
@(negedge rtl_tx);
#(T/2);
for(int i=0; i<8; i++)
begin
#T;
dat = rtl_tx;
end
//跳过校验位,停止位
//把dat继续处理打包成sequence,传递到scoreboard
end
dat = rtl_tx;应该写成dat[i] = rtl_tx;
非常感谢,很好的解决了我的问题。