1.创建流程
2.创建一个寄存器基类要extends uvm_reg,然后创建寄存器的域
3.调用`uvm_object_utils()注册基类
4.创建DUT存储器模型
5.封装到一起组成一整个寄存器
6.为实现前门操作创建转换器
uvm_sequence_item reg2bus可以返回一个sequence_item数据类型,可以将寄存器类型的事务转换为sequencer可以接受的事务
bus2reg转化过程相反,将总线上的事务转换为寄存器类型的事务
7.在env中声明寄存器和转换器的句柄,在build里实例化寄存器模型,调用lock锁用寄存器模型
8.在scoreboard中进行访问,使用API访问寄存器,在sb中例化寄存器,在env中对寄存器赋值
寄存器模型的基本数据结构
访问模式仅供参考
寄存器模型API
1.write&read
2.peek&poke(back door模式)peek/poke不会模拟寄存器的行文而是直接操作(与write/read区别)
3.randomize&updata&mirror
寄存器模型的另一种结构
内建寄存器测试sequences
内建coverage
1.什么是UVM RAL
2.RAL的工作原理
3.如何构建寄存器模型
4.如何将寄存器模型嵌入测试平台中
5.使用寄存器模型进行API访问
标签:创建,模型,API,uvm,寄存器,UVM From: https://www.cnblogs.com/hc-zheng/p/17932807.html