1.为7.1.1的DUT建立寄存器模型。只有一个寄存器invert。首先从uvm_reg 派生一个invert 类:
1)new函数中,invert 的宽度作为参数传给super.new。不是有效宽度,而是这个寄存器总共的位数。
2)另一个参数是是否加入覆盖率的支持。这个不支持。
3)派生自uvm_reg的类都有一个build 函数。和build_phase不同,他不会自动执行,需要手工调用。都是在这里例化,之后调用data.configure配置。意义如下:
4)第四个参数表示此字段的存取方式。UVM提供如下25种:
2.第一好寄存器后,需要在由reg_block 派生的类中将其例化:
1)每个由uvm_reg_block 派生的类也要定义一个build 函数,在其中实现所有寄存器的例化。
2)一个uvm_reg_block 对应一个uvm_reg_map,default_map系统已经声明,只需在build中例化,调用create_map。
第一个参数是名字。
第二个参数是基地址。