假设有如下的DUT:
这个DUT相当的简单,它只有一个寄存器version,要为其建造register model。首先要从uvm_reg派生一个通用的寄存器类:
在new函数中,要把这个寄存器的宽度作为参数传递给super.new函数。这里的宽度并不是说这个寄存器的有效宽度,而是说这个寄存器中总共的位数。如对于一个16位的寄存器,其中可能只使用了8位,那么这里要填写的是16位,而不是8位。这个数字一般与系统总线的宽度一样。super.new中另外一个参数是否要加入coverage的支持,这里选择即UVM_NO_COVERAGE,即不支持。