求助,一个有关UVM验证的问题
补充,也可以不用再driver里面检测a信号,在哪儿检测都行,只要检测到a变化以后,可以通知sequencer发另一种包就行。各位大神,小弟是新手,求助啊
virtual sequence就可以解决,
谢谢,我是新手,我看书也看到了virtual sequence。但是有点不明白,请问,我如果使用vertual sequence的话,是不是要使用多个sequence.sv和多个sequencer.sv ,还有多个agent.sv?
virtual seuqence 是用来进行单个的sequence调动的,因此肯定需要多个sequence才行,不同的sequence用不同的class封装,只需要在一个sv文件里面定义多个sequence,还有agent是component,而sequence属于控制流,是不一样的。
這個很簡單哈,virtual sequence裡面有(A,B,C幾種sequence),在virtual sequence中得到interface的handle,根據a,來選擇下次發的數據包。
嗯,好的,谢谢!
咦?听上去感觉不错哦!谢谢大神啦!我去研究研究。
学习下……
LS的正解。v seq是一个好东西
也可以利用drv来看if上的信号!
用drv看了以后怎么办?怎么去控制发不同的包呢?
小编,你这个问题解决了没有,我现在的情况和你一样,也是卡到这里了,virtual sequence中也不能看interface,你是怎么解决的最后?
我现在也遇到和小编相同的问题,其他的都没问题,就是怎么在virtualsequence中使用外面的条件,比如driver中的bsy信号,我直接在virtual sequence中使用interface中的bsy信号,会报错是 空指针,这个怎么办呢?求大神看到啊
我现在也遇到和小编相同的问题,其他的都没问题,就是怎么在virtualsequence中使用外面的条件,比如driver中的bsy信号,我直接在virtual sequence中使用interface中的bsy信号,会报错是 空指针,这个怎么办呢?求大神看到啊
very good ,
个人建议,使用 virtual sequence来调度,并在driver里面设置config_db传递变量到sequence中,当sequence中接收到的信号满足条件时,就触发该sequence。当然,也可以在transaction里面设置constraint来约束。
1、你使用dut的反馈信号来控制激励的发送有些不妥,激励的发送要独立于dut,否则有些时序bug测试不出来,比如你用这个信号来控制发包种类可能dut的处理是正确的,但该信号跳变时刻是错误的,你另外还需增加跳变时刻的检查。
2、我认为abc3种包都是由你控制的怎么发送的,你要了解转发条件即可实现三包转发,而不是通过dut已经处理好的转发信号来判断。
3、如果你非要使用dut的转发信号,那么这个输出信号也要进行严格检查。
uvm到底要不要去下周的培训看看,后端必须会uvm吗?
学习学习