验证工程师将首先创建一个称为验证计划的东西,详细说明RTL模拟中需要测试的设计的每个特性,以及每个测试如何创建针对特定特性的独立场景。
例如,如果有一个外设需要配置其寄存器,以便启动AXI总线事务,那么我们将进行不同的测试,以不同的方式配置这些寄存器,并实现良好的覆盖率。
这些是直接测试,其中每个测试都执行特定任务以完成某些任务。
复杂的设计有许多scenarios 和许多corner cases,通过随机测试可以更好地验证,并且花费更少的精力和时间。以上面的相同示例为例,每次使用不同的种子运行测试时,测试将使用随机值配置外围寄存器,从而实现每次运行的不同场景。这将确保我们找到角落案例并发现任何隐藏的bug。