AHBRAM验证框架

本文详细介绍了AHBRAM模块验证项目的验证框架,包括UVM启动过程、接口传递方式、验证环境搭建以及测试用例设计。重点讲解了UVM如何启动,通过uvm_config_db配置接口,以及自定义VIP、agent、driver、monitor、sequencer和scoreboard的角色和交互。此外,还阐述了不同测试用例的实现策略,如base_test、diff_haddr_test、diff_hsize_test、haddr_word_unaligned_test和reset_w2r_test。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

针对AHBRAM模块验证项目,整理验证框架的搭建方法。

1、UVM是如何启动的

首先要明白uvm平台怎么启动。

在pkg.sv中,通过import uvm_pkg::*;来导入uvm_pkg文件,自动创建uvm_root所例化的对象uvm_top。UVM顶层的类会调用run_test()方法充当UVM世界的核心角色,通过uvm_top调用run_test()方法。

在tb中run_test();启动UVM验证平台,run_test语句会创建一个case实例,得到正确的testname。这里可以指定test名称,也可以在编译时通过加上TETNAME=xxx来指定测试用例。

run_test结束后依次执行uvm_test容器中各个component组件中的phase机制,按照顺序:

 在run_phase()中,objection机制仿真挂起,通过start启动sequence(每个sequence都有一个body任务,当一个sequence启动后会自动执行body任务),等到sequence发送完毕关闭objection,结束run_phase()。注:uvm_objection提供component和sequence共享的计数器,当所有参与到objection机制中的组件都drop_objection时,计数器清零,才满足run_pha

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值