Accellera最近发布的UVM可能会改变验证的未来,因为验证方法似乎在这个UVM中得到巩固。本专栏将提供关于这种新的验证方法的简单教程。本教程不是关注AXI,OCP或其他系统总线,而是基于jelly-bean生成器(DUT)的假设示例。TB将以受限制的随机方式生成许多jelly-bean风味,并且该系统将评估可口风味。这里不需要任何系统总线的知识。
下面描述下教程中使用的验证组件。
上图显示了验证组件的关系。 jelly_bean_taster是被测试设计(DUT)模块。
jelly_bean_sequencer将创建jelly-bean食谱并将它们发送给jelly_bean_driver。从配方中提供的信息中,driver创建 jelly-bean。driver将 jelly-bean通过 jelly-bean接口(jelly_bean_if)传递给jelly_bean_taster,这会检查 jelly-bean的味道。
同时,随着 jelly-bean的创建,jelly_bean_monitor将捕获最近生产的 jelly-bean的味道和颜色。该信息将传递给 jelly-bean功能覆盖收集器,称为jelly_bean_fc_subscriber。subscriber根据其颜色和风味记录和总计 jelly-bean。
jelly_bean_scoreboard是一个组件,用于检查jelly_bean_taster是否正确响应。记分牌从jelly_bean_monitor获取信息。
下图显示了类图中的验证组件。浅蓝色方框表示UVM基本类库中的类,而较暗的方框表示本教程中创建的类。
虽然这篇文章在这里结束,但下一篇将展示 jelly-bean食谱的结构。
你可以从github上下载源码
EDA Playground上查看或者运行代码
也可以加我的二维码参与讨论学习更多关于UVM的内容