Advertisement

基于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)

还没有任何评论哟~