1.1 验证环境
从上图环境框图可以看出,该环境结构和典型UVM环境结构基本一致,由TB, TEST, ENV, Agent及内部的sequencer,driver,monitor等组件构成,特别的地方是在TB层有一个PreloadHex的initial块来支持纯C测试用例。还有一点和模块级别UVM环境不一样的是MCU作为一个小型SoC芯片,该环境复用已有的一些UVC,比如APB, UART, SPI, IIC等。对于环境的文件目录及结构,如下图所示,可参照环境中REAMDE文件。
1.2 环境配置
•design用于存放设计文件(各个数字ip等)design下面存放各个模块的ip,里边也有一些spec文件,common文件夹下面放置了一些文件和macro文件夹,macro文件夹下面有一些数字IP要使用的宏文件
•ver存放验证环境及测试用例
•mcu_lib也是存放的一些数字ip
•target连接ver内ctest,用来跑仿真以及测试用例
•doc用来存放测试文档,验证过程中写的文本
ver目录下主要文件夹介绍:
•uvm_tb是验证人员要用的uvm环境:
•uvm_tb/sim是编译仿真目录;
•uvm_tb/tools是跑回归所在目录;
•uvm_tb/Ctest/tests目录下面是测试用例;
•uvm_tb/dut目录中mcu.lst文件中放置了所有的设计文件;
•st是验证使用c语言仿真环境;
•st/sim是c环境编译仿真目录;
•st/model目录下面存放着一些model,可供某些特定的ip使用;
•st/tests目录下面是测试用例
1.3 环境冒烟测试
仿真工具启动路径:
hello为例介绍
1、进入target目录下;
2、mkdir sim,mkdir regression;
3、进入sim目录下(仿真目录),执行命令如下:
4、在sim下面可以启动仿真:run.csh hello
5、进入regression目录下(回归目录),执行命令如下:
6、在regression目录下可以启动回归验证。
测试通过,环境配置成功
1.4 总结
•该验证环境支持makfile和cshell脚本进行编译和仿真。
•使用c shell脚本的命令:run.csh hello
•使用makefile脚本:如下图所示,makfile支持的命令有help,clean, gen_hex, elab, run, rung, wave, all等,各个命令对应的操作如help里的介绍所示,执行命令例如:make all cTestName=hello