系列文章目录
注意事项
- UVM寄存器模型实现方式大部分都是范式,可以先理解其使用方法。感兴趣的可以深入源码更进一步的学习
- 有些概念为了方便理解,可能不是很严谨
- 文章中所有代码依据寄存器表单,请依据寄存器表单理解代码
基本概念
寄存器,寄存器域,寄存器表单的概念传送门:
寄存器模型基本原理
说明:下面所说的基本概念先不涉及寄存器模型嵌套,关于嵌套后续有专门章节进行说明
uvm_reg_field:寄存器域
uvm_reg:寄存器,一个寄存器可以包含多个uvm_reg_field
uvm_reg_block:一个uvm_reg_block可以包含多个uvm_reg,通常与寄存器表单对应
uvm_reg_map:包含base_addr,offset等信息
创建简单的寄存器模型
创建uvm_reg类
class uart_data extends uvm_reg;
rand uvm_reg_field overrun