UVM中的regmodel建模(三)

时间:2021-01-28 10:14:33

总结一下UVM中的寄存器访问实现:

后门访问通过add_hdl_path命令来添加寄存器路径,并扩展uvm_reg_backdoor基类,定义read与write函数,最后在uvm_reg_block类中

      通过set_backdoor()来将相应的寄存器与它对应的后门访问的读写函数对应起来。其中read和write函数以路径名来直接操作。

 

前门访问通过总线操作来实现,在其中有uvm_adapter的扩展类,扩展了函数reg2bus和bus2reg,并在uvm_reg扩展类中用default_map

      命令添加指定的sequencer和adapter。这样便可以正确的在write函数中调用reg2bus,在read函数中调用bus2reg,并调用相应的

      sequencer来发送transaction。reg2bus函数,以ref的方式接收uvm_reg_bus_op类型的reg_transction,最后返回一个

      bus_transaction类型的transaction。bus2reg函数,接收input的uvm_sequence_item,送出output的ref的uvm_reg_bus_op类型

      的transaction。所以这两个函数,只是完成transaction形式的改变。

 

先这样,以后再补充。