基于UVM的学习与实现APB定时器的参考与覆盖模型
发布时间
阅读量:
阅读量
timer_subscriber功能实现
设计思路首先在于完成父类timer_subscriber的实现,该类用于封装计分板与覆盖率模型共有的逻辑部分。
timer_subscriber所需完成的逻辑内容包括:
- scb与cgm均需通过analysis port与apb的monitor进行连接,因此必须实现analysis imp以及对应的write函数
- 由monitor传输至管道中的信息包含单次传输的地址数据及读写类型,需要设置一个临时变量用于暂存这些数据。将信息的暂存操作与初始事件(timer_regacc_e)的触发相结合,即可构建完整的write函数
uvm_analysis_imp #(apb_transfer, timer_subscriber) apb_trans_observed_imp;
uvm_reg_bus_op rop; // 暂存信息的结构
virtual function write(apb transfer tr);
uvm_reg r;
r = rgm.map.get_reg_by_offset(tr.addr);
if(r!=null)begin
timer_regacc_e.trigger(r); // 初始事件的触发
全部评论 (0)
还没有任何评论哟~
