本文主要是介绍UVM:7.8.2 get_reg_by_offset 函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.建立寄存器模型后,可以直接通过层次引用访问寄存器:
2.还可以使用get_reg_by_offset 函数通过寄存器地址得到uvm_reg 指针,在调用此uvm_reg的read 或者write 进行读写操作:
1)如果像7.4.1 使用了寄寄存器模型,从最顶层的reg_block 的 get_reg_by_offset 也可以得到子reg_block 的寄存器。
2)假如buf_blk 的地址偏移是‘h1000,其中有偏移为’h3的寄存器(实际物理地址‘h1003),可直接p_rm.get_reg_by_offset('h1003),不必使用p_rm.buf_blk.get_reg_by_offset(’h3)。
3)无论大端小端,addrs[0] 是LSB 对应地址。
4)对于7.3.2DUT中的counter(DUT是大端),addrs[0] 存放的是‘h6;如果是小端,是’h5。
这篇关于UVM:7.8.2 get_reg_by_offset 函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!