get register by address instead of name

Following is the example that can map the address(from SVID generator) with the register in RAL Model.

 

 

    vmm_ral_reg      ral_reg[];

    bit[7:0]         addr;

 

    //get RAL model

    ral_sys.SVIDReg0.get_registers(ral_reg);

 

    //search address, match with the expected addr

    foreach(ral_reg[i]) begin

      addr=ral_reg[i].get_address_in_system();

      //if match, access the register via RAL

      if(addr==8'h08) begin

        ral_reg[i].read(stat,rdata);

      end

end

 

=================== another way=================

myreg=ral_sys.svidReg1.get_reg_by_offset(trans.payload);
     if(myreg==null) begin
       `vmm_warning(log,$psprintf("GETREG1 with Reserved address=%0h",trans.payload));
     end
     else begin
        myreg.peek(stat,rdata);
     end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值