AHB_timer模块的scoreboard怎么写

1.信号收集:

subscriber负责从ahb_mst_monitor那里监听transaction(通过tlm),内置了rgm,在write()函数里识别transaction里的地址,然后根据这个地址去rgm里对应相应的寄存器,捕捉寄存器内值的变化去trigger event;(将event都放在用protected声明的event_pool里面,这样scoreboard里的event就可以和coverage model里的分开)

scoreboard继承于subscriber,因此scoreboard内部可以使用subscriber内部的event_pool,同时可以复用do_listen_event()函数。因此数据收集如下:

通过do_listen_event()函数从subscriber监听事件的触发情况,根据触发的事件、transaction和寄存器模型中值来配置ref model内定义的变量。

2.ref model:

根据ref model内定义的变量去模拟timer的计数行为:@(posedge vif.clk iff cfg.scbenable && timer_enable)的时候,观察当前计数值counter,如果counter等于1且中断寄存器打开,则中断值置1,如果counter等于0则把初始值赋给counter,如果counter是其它值的话则counter减一;

3.do_differing:

使用forever语句持续比较ref model里面的counter值和vif上的counter值,如果他们之间的差大于规定的最大误差值则报错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值