ahb2apb bridge验证项目介绍

这篇博客介绍了如何使用UVM验证框架对AHB-APB桥接器进行验证。作者详细阐述了验证计划的制定,包括测试点分解、验证组件的设置(如ahb_mst_agt和apb_slv_agt)、scb的设计以及断言的使用。在验证过程中,通过配置库(config_db)传递接口,并利用UVM的phase机制进行仿真。此外,还提到了在apb_slv_agt中添加is_active标志以增强VIP的可重用性,并遵循逐步增加复杂性的测试策略进行调试。

两分钟介绍:

        学习了协议的基本内容,根据spec功能描述与协议来制定验证计划,进行测试点分解。采用了常规的UVM验证框架,(ahb2apb桥接器两端为ahb的slv与apb的mst)在DUT两侧放了两个agent:ahb_mst_agt和apb_slv_agt, 分别包括了sqr, drv和mon。在agt,DUT的同一层次添加了scb,没有做ref mdl,把比较的方法放在了scb里,之后做了顶层env,tb,以及interface,将if通过多次config_db的set,get方式从tb传到agt,再到drv,这过程包括了将TB硬接口到UVM环境vif的传递。通过UVM的phase机制进行仿真,通过port端口drv向sqr发出item的请求(他们之间pot无需声明但要connect),seq中的body的task产生相应的随机item,通过sqr发送给drv,驱动到总线上送入DUT,然后两个agt中的mon都采样到scb。后面在TB中对apb active,ahb的rsp与ready等加入了断言并成功。

 在apb_slv_agt里添加了is_active的标记,在后期作集成时能够对sqr和drv进行限制,来实现vip/uvc的可重用性。

首先用简单case进行环境调试,在各个testcase的run phase里将seq挂载到sqr用start方式开始运行。(验证中先用简单case调试环境,再用随机case覆盖大部分点,最后用定向case击中corner部分)

项目中验证环境:

mon只采集,不输出(图误) 

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值