【IC前端虚拟项目】数据搬运指令处理模块前端实现虚拟项目说明-CSDN博客
到目前为止关于环境的准备工作都已经完成了,甚至验证环境的大体结构我们也已经画好了,再来看一下:
于是乎呢就可以大张旗鼓的开始咱们验证环境的搭建了!看上面这个结构图,里面除了mvu作为DUT,其他部分都是需要验证来搭建的,所以验证的代码工作量还是不小的。搭建验证环境的整体思路一般有两个:
1.自上而下:就是先写harness、base_test、mvu_env等顶层结构,再慢慢填充agent、rm、model等其他组件;
2.自下而上:就是先写agent、rm、model等其他组件,而后再一层一层的向上封装env、base_test、harness;
就我自己而言,因为有gen_uvm_agent和gen_uvm_tb两个工具在手,同时也习惯于先打好地基看到波形和组件行为,清理组件存在的问题之后再向上组织,所以优先的选择必然是自下而上的搭建方式。所以,这一篇就是agent的组织。
什么事agent呢?可以简单的理解为一个针对一组接口(比如axi_aw)而形成的独立的驱动、采样和组织比对的验证组件。比如我们看上一个虚拟项目的整体结构图,会