[uvm]分而治之(Hierarchical Sequences),处理复杂事物的绝对准则

上帝说这世界上的东西都太复杂,于是就有了分层,让专业的“Task”做专业的事情。

针对数字IC验证复杂的输入场景也是一样,也需要分而治之。
[uvm]分而治之(Hierarchical Sequences),处理复杂事物的绝对准则_第1张图片
上面是2012 年,Mentor针对功能验证的一个研究结果,我们目前功能验证的绝大部分时间都花费在了Debug(DUT的bug/验证环境的bug/测试用例的bug)。

而在UVM验证环境中最复杂的就是不同场景的激励生成,所以对sequence的控制会决定测试用例构造和仿真调试的难易程度。让验证工程师的生活更美好,必须要擅长处理复杂场景的验证环境搭建。
类似于自动挡汽车的驾驶流程,简单的操作即可驱车前进,原因就是在汽车内部这些简单的命令被转换为较小的任务。这里的任务也可以分为“需要变化的”和“不需要变化”。

很自然的,在我们日常生活中,需要变化的或者说需要配置的参数仅仅是速度和方向而已。自动驾驶需要解决的就是在大多数使用场景下不需要再手动配置速度和方向参数,同时在特殊场景下提供手动再配置的开关。

再回到“层次化sequences”的话题,如下图所示:

你可能感兴趣的:(uvm)