视频版:
https://www.bilibili.com/video/av839767912
课程前准备
建议准备仿真软件,熟悉VCS的同学可以直接使用VCS,不熟悉的同学建议直接再win平台的Questa就行了。
使用Questa前期不用打开GUI,不需要看波形,questa的图形界面还是有点卡的。
首先来看第一节课的代码
module lab1 ();
import uvm_pkg::*;
`include "uvm_macros.svh"
initial begin
`uvm_info("lab1.1","hello uvm!",UVM_NONE)
end
endmodule
从头开始看,只要使用了UVM,就必须写开头的两行。import语句导入UVM的包,而include语句则包含了一系列宏定义。由于SV的局限性,不得不借用宏的形式实现一些功能。总之,就像JAVA八股文一样,UVM的基本书写也是一样的八股,但是这只是指代码基本框架的八股,验证背后的内容依然要与业务紧密结合。
我们遇到的第一个宏就是uvm_info,用于打印信息
uvm_info使用时需要传递三个参数,分别是ID, MSG,