uvm_do_with随机化失败的问题请教
时间:10-02
整理:3721RD
点击:
# UVM_WARNING E:/hello/test_bench/hello_pkg/hello_reg_ram_sequence.sv(12) @ 74214: uvm_test_top.env.input_agt.reg_ram_sqr@@hello_virtual_sequence.reg_ram_sequence [RNDFLD] Randomization failed in uvm_do_with
在测试中用到了virtual sequence,在virtual sequence中定义了一个sequence,在该sequence中用uvm_do()可以随机化成功,但是用uvm_do_with()随机化就会出现上述的警告,然后生成的是一个空transaction...
求高人指点...
有约束冲突了。或RNG不够强大。
谢谢...确实是有冲突了...刚才检查到....
想知道么? 给我冲点话费帮你解答
给你冲多少话费...?
谢谢...已经搞明白了...
我的理解是这样:在virtual_sequence的task body中,定义你的sequence,用`uvm_do_on(seq,p_sequencer.sqra)进行随机化产生真正的sequence,并且在virtual_sequence的定义中,需要指明`uvm_declare_p_sequencer(virtual_sequencer)。
谢谢....那个已经指明白了..问题在于UVM不支持多层约束,当在transaction中约束一个值等于0,或者在post_rand中约束为0而在virtual_sequence中用uvm_do_with()约束其为1时就会出现这样的警告...
学习了