|
发表于 2014-12-31 15:15:26
|
显示全部楼层
回复 1# xiaoyeah
这个问题的根本原因是,在uvm_do_with(trans,{trans.cmd_type == cmd_type})中,uvm优先搜索的域是在trans中搜索cmd_type, 所以换句话说,这个约束是一个无效约束,这句话等同于uvm_do_with(trans,{trans.cmd_type == trans.cmd_type}),这是一个恒成立的问题,所以压根就没有对cmd_type做出约束。因此,如果要有效约束,应该将cmd_type的名字换成另外一个,譬如这样写uvm_do_with(trans,{trans.cmd_type == cmd_type_val}),然后在tran的域中搜不到cmd_type_val这个变量值,然后在从外边得到这个变量值,从而实现有效约束 |
|