【IC前端虚拟项目】数据搬运指令处理模块前端实现虚拟项目说明-CSDN博客
在花了大力气完成reference model之后,整个验证环境的搭建就完成了,再多看一下这个结构然后就可以进行sanity_case和通包测试:
关于sanity_case和通包测试我在很多篇文章中说过好多次了在这里就不赘述了,简单讲就是最简单的测试用例。通过sanity_case也可以用例的编写方式以及规划更多用例的测试方向。
几乎所有的case都是基于transaction的随机进行的,而sanity_case自然就是测试最简单的随机情况。mvu的激励源头只有inst,所以在sanity_case里先对inst_transaction进行随机约束:
class sanity_case_inst extends inst_transaction;
`uvm_object_utils(sanity_case_inst)
function new(string name= "sanity_case_inst");
super.new(name);
endfunction
constraint sanity_case_seq_cons{
//inst_type == 4'b1010;
//inst_id =