两分钟介绍:
学习了协议的基本内容,根据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部分)
项目中验证环境:
文章来源:https://www.toymoban.com/news/detail-519066.html
mon只采集,不输出(图误) 文章来源地址https://www.toymoban.com/news/detail-519066.html
到了这里,关于ahb2apb bridge验证项目介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!