a. 基于事务级的验证框架
UVM 是一个 事务级(TBV, Transaction Based Verification)的验证模型框架,解决了用低层次的信号比特或比特向量的形式带来效率较低的问题。
在事务级的验证中,低层次的信号活动被抽象成一个事务操作,这样可以通过高层次事务操作来描述各种验证场景。具体来说就是其测试激励可以定义类似于数据帧这样的抽象层次的事务。基于事务的验证大大改善了验证的效率。
b. 激励随机生成
在一个验证平台中,需要定义好输入 transaction 的结构和约束。结构包括transaction 中包括哪些内容,约束包括长度约束和值约束。
在验证过程中 UVM可以根据定义的结构和内容自动生成随机化的 transaction。只要随机化的种子相同,则每次生成 transaction 序列也是相同的,但是序列中每一个 transaction 是不同的。
约束随机激励测试能够覆盖大部分的代码和功能,检查出大部分的错误,但是对于想要进行更高质量的验证则需要添加直接测试,即手动生成 transaction。
c. 自动化比较和覆盖率统计分析
能够自动检查仿真输出和预期是否一致、能够自动完成代码覆盖率统计、状态覆盖率检查、状态变迁覆盖率等。
END
作者:验证哥布林
原文链接:https://mp.weixin.qq.com/s/k6nJE7sQRr6Ux_W8UhgtGg
微信公众号:
推荐阅读
更多IC设计技术干货请关注IC设计技术专栏