年前的时候被分配了一些以前从没接触过的工作,用UVM配合组内同事验证本组内开发的RTL kernel。相信做IP验证工作的人来说肯定不陌生。可是对于纯在FPGA上做RTL的人,是第一次听说。
接到这个任务的时候就疯狂看了看相关的资料,先后看了《UVM实战卷1》和《systemerilog验证测试平台编写指南》,其实也都是一边开发一边看,又不懂的就翻翻看。
比较方便的是上一版组内的RTL kernel有过以前的验证人员给开发过得UVM环境,不过需要针对这个进行修改。
现在的RTL需要在下图的基础上添加AXI stream接口。
(1)lite口负责对DUT先关寄存器进行配置
(2)axi_mm口负责对ddr内部数据进行读写,是dut和uvm空间进行数据交换的主要模块。
(3)axi stream接口,没有在图上画出来,也是和UVM通信的部分
本项目中基本上用到了UVM提供的众多功能。
在后面的实现过程中,会详细介绍每一部分具体的实现方式,以及是怎么进行montor监测,分成陆续章节来介绍。