APB Timer验证环境搭建——学习笔记(2)

验证环境初步搭建(2)

1、创建timer config

        首先了解为什么要定义cfg呢?

        (1)当验证环境比较复杂的时候,对于任何一个agent的配置,一般不会通过单一的变量做传递,通常会把这些用来影响控制agent的这些变量封装在config class里面;

        (2)当有多个agent的时候,那每一个agent可能都会有它对应的config class 或者config object,一般agent被嵌套在env中,然后environment又被上层environment嵌套,这种层次化的结构,意味着config也应该具有层次化;

        (3)为了结构层次化对应,timer的cfg要嵌套apb的cfg,timer的env要嵌套apb的agent;

2、定义env中

        (1)也需要cfg配置信息。一般顶层由传递;

3、base_test

        (1)从顶层获取vif,随后传递给cfg的vif,紧接着传递给env,最后例化cfg和env;

4、tb

        (1)接口连接好,传递interface,由于目前只是搭建验证环境的简单框架,只需把apb_if传递给apb_mst,timer_if传递给test;

5、定义好Makefile,把integration_test run起来;

        (1)integration_virt_seq继承base_virtual_sequence,因为base_test已经通过p_sequencer挂载到了env中的virt_sqr,所以integration_test也会完成挂载和数据的发送;integration_virt_seq分别通过挂载的方式和rgm的方式完成数据发送。其中挂载的时候调用VIP中的ahp_master_single_write_seq和ahp_master_single_read_seq完成对value寄存器的读写访问。其中rgm的访问,通过调用uvm_reg_write和uvm_reg_read完成对Reload寄存器的读写访问,此外通过mirror动作读回PID和CID的寄存器地址信息,然后通过配置mirror中UVM_CHECK(默认是UVM_NO_CHECK)参数进行数据比较;

        以上完成了基本环境的搭建和对相关寄存器的读写。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

听个响吧~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值