RAL brief intro

RAL model 就是RALF 规定的最高的hierarchy, 一般为sys 或者block。RAL model中定义了field的backdoor和frontdoor操作:peek, poke, read, write.

下图展示了RAL的env

 

 

 

 

RAL BFM

 

 

synopsys AE recommand that in vmm_rw_xactor, we use an output channel instead of BFM handler, 这样使得层次更清晰。由此会出现多个channel (RAL channel, generator channel)输入到BFM中,我们可以使用vmm_scheduler加以灵活的实现。

但是个人觉得使用BFM 的handler可以直接对BFM的channel进行操作,有效地插入transaction。

 

vmm_rw_access 由vmm_data扩展而来,定义了一些读写操作必须的成员,如kind, addr, data。 RAL的RWXactor,由vmm_rw_xactor扩展而来。它接受RAL过来的vmm_rw_access数据包,在execute_single函数中把这个数据包变成BFM channel能够传递的格式。至于RAL的环境说明如下:vmm_ral_env类从vmm_env派生出来。我们只需要用在原来环境的基础上,用vmm_ral_env 替代 vmm_env. 在vmm_ral_env里面做一些额外的工作,

1) 例化ral_model 并在构造函数里面直接注册 ( ral.set_model)

2) 例化RAL RWXactor, 并注册在build的时侯注册(ral.add_xactor), 注意add_xactor函数在add vmm_rw_xactor 后自动start这个xactor,所以我们在env中看不到启动RAL RWXactor。

3) 用定义hw_reset取代reset_dut达到RAL能反复reset dut。

如何使用预定义的testcase?

1)  `define RAL_TB_ENV  tb_env

2)   vcs .....   $VCS_HOME/etc/vmm/sv/RAL/tests/hw_reset.sv

 

Backdoor Access

peek/poke : backdoor直接零时间访问,不影响register semantics,

backdoor read/write 直接零时间访问,但会象front-door一样影响register semantics

 

 Access Path

vmm_ral::BFM, vmm_ral::BACKDOOR, vmm_ral::DEFAULT. 

可以设定default access path是哪一种 env.ral_model.default_access=vmm_ral::BACKDOOR

 

HDL path

提一点,   register MODER[3] ( ethreg%d.MODER_0.DataOut );   //这里 %d将被array index 代替。

 

multi-physical interface 譬如DUT同时拥有AHB和PCI接口,各个接口有自己的memory映射,那么我们需要引入domain的概念,RALF如下:

 

 access 这些register的时候要指明domain, 如下

 

由上可以看出每个domain拥有自己的vmm_rw_access_channel. 同样add_xactor(vmm_rw_xactor, domain)时也要指明domain.

 

 

multi-protocol with same interface,定义多个domain, 每个domain 拥有自己的transactor,但是BFM的handler指向同一个。如下:

 

 

register remap。这时候还是给每套register mapping 定义一个domain。

 

如果design中的register分散在各个零碎的module中,那么可以考虑在给register写hdl_path时全部带上各个module的instance。 如果两个rail,就机械的写出两个block。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值