随笔分类 - uvm reg modle
摘要:寄存器模型的建立reg_model 1.1 把uvm_reg_field加入到uvm_reg中, 例1 class my_reg extends uvm_reg; rand uvm_reg_field data; virtual function void build(); data = uvm_r
阅读全文
摘要:uvm_reg_indirect_data是一个间接数据访问抽象类。对用于间接访问寄存器数组的寄存器的行为进行建模,由第二个 ~address~ 寄存器索引。不应直接实例化此类。应使用特定于类型的类扩展来提供 工厂启用的构造函数并指定 ~n_bits~ 和覆盖模型。 class uvm_reg_in
阅读全文
摘要:1.1 uvm_reg_file的作用 uvm_reg_field, uvm_reg与uvm_reg_block三者的组合已经能够组成一个可以使用的寄存器模型; uvm_reg_file的引入主要用于区分不同的hdl路径; 1.2 uvm_reg_file特点 (1) uvm_reg_file是一个
阅读全文
摘要:资料来源: (1)SystemVerilo | UVM | 精讲RAL寄存器模型基础 (qq.com) (2)路科课程; 注1:在验证的过程中,寄存器的验证排在了验证清单的前列(因为其他测试都不可避免的需要涉及到寄存器的配置); 注2:环境可以通过读出寄存器的状态,获取硬件当前的状况;环境也可可以通
阅读全文
摘要:资料来源: (1) 《Practical UVM step by step with IEEE》 注1: reg_model内有一个镜像值,需要确保镜像值和DUT内的寄存器值同步;无论是通过前门还是后门的方式对DUT内寄存器进行访问,reg_model内的镜像值都需要被更新,这个过程称为predic
阅读全文
摘要:资料来源: (1) 《uvm cookbook》 1. register seq 1.1 register check seq (1) reset test:根据get_reset方法获取reset值,并调用register.read方法获取read value,比较reset值和read valu
阅读全文
摘要:参考资料: (1) 《Practical UVM step by step with IEEE》 (2) 《UVM实战-张强》 1. uvc内使用regmodel //示例1:reference model中使用reg model; class my_model extends uvm_compon
阅读全文
摘要:前言 (1) 该篇文章的前提: (a) register model已经创建; (b) register adapter已经创建; (2) 该篇文章的主要内容: (a) 在顶层env中,实例化register model; (b) 锁定register model,不允许进一步的变动; (c) 建立
阅读全文
摘要:1. 寄存器模型的reset (1) 每一个register model被继承到验证平台后,都必须进行reset操作,这样才能保证每个寄存器的值等于我们设置的初始值. (2) register model并不会自动的进行reset操作,必须显式的调用reset函数进行复位操作. 1.1 uvm_re
阅读全文
摘要:参考资料: (1) UVM——RAL模型运用之三(uvm_reg的访问方法介绍) - 灰信网(软件开发博客聚合) (freesion.com) 1. 简介 (1) uvm_reg_field使用四个属性来存储各种寄存器字段值,分别为value, m_mirrored, m_desired和m_res
阅读全文
摘要:1. XatomicX (1) 当要访问互斥的资源时,即只允许一个进程访问,其他进程必须在此进行访问完成之后才能访问,可以使用XatomicX(1) + access the resource +XatomicX(0)实现; (2) read, write, poke, peek, mirror等操
阅读全文