寄存器(RAL)模型中的mirror实现读操作

本文探讨了在寄存器(RAL)模型中,如何利用mirror方法执行读操作,并强调其在检查一致性方面的优势。mirror方法与read方法类似,但当设置为UVM_CHECK时,会对比读取值与DUT的值,若不一致则发出警告。这为验证过程提供了额外的检查层。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在寄存器读操作中,除了了使用read方法,peek方法,还可以使用mirror方法,mirror方法最大的好处可以进行check,也就是说如果read的值value与RAL中的现有的镜像值不一致的话,可以报出相应的信息。

task uvm_reg::mirror(output uvm_status_e       status,
                     input  uvm_check_e        check = UVM_NO_CHECK,
                     input  uvm_door_e         path = UVM_DEFAULT_DOOR,
                     input  uvm_reg_map        map = null,
                     input  uvm_sequence_base  parent = null,
                     input  int                prior = -1,
                     input  uvm_object         extension = null,
                     input  string             fname = "",
                     input  int                lineno = 0);
   uvm_reg_data_t  v;
   uvm_reg_data_t  exp;
   uvm_reg_backdoor bkdr = get_backdoor();

   XatomicX(1);
   m_fname = fname;
   m_lineno = lineno;


   if (path == UVM_DEFAULT_DOOR)
     path = m_parent.get_default_door();

   if (path == UVM_BACKDOOR && (bkdr != null || has_
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值