AMBA_APB_SRAM
项目来源
https://github.com/courageheart/AMBA_APB_SRAM
DUT
接口
该dut的功能很简单,只是提供寄存器读写
测试平台结构梳理
平台特色
- 未使用refm
cfg文件管理
env_cfg
设置了一个env_cfg组件,在其实例化时将agent_cfg(本平台只有一个agent)也完成了实例化:
- 变量赋值
在base_test的build phase中,对env_cfg、agent_cfg中的变量进行了赋值并set到全局:
agent cfg
- 例化位置
如前所述,在env_cfg的new中实例化 - 传递通路
在env中,将agent_cfg set到全局:
agent
dut只涉及一个agent,apb_master,该agent的功能是读写寄存器:
sequence设计
base_sequence
base_seq内容很简单,定义了其他sequence共用的变量addr、data,以及一个trans。其他子类sequence均继承自该seq:
子类sequence
子类seq以如下为例,内容也很简单,用于驱动bus对寄存器做读写:
覆盖率收集
核心组件
在apb agent中,实例化了cov_mon:
在cov_mon中,每收到一次写,都会调用一次sample函数刷新覆盖率数据:
收集通道:
apb monitor的port会往该cov_mon送覆盖率信息数据: