| |
Monitoring DUT Activity
analysis部分进行判断的过程始于观察被测设备(DUT)中的响应活动。这是通过一个或多个monitor完成的,这些monitor通过虚拟接口观察DUT上的信号电平活动。monitor将信号级活动转换为TLM事务,并使用连接到目标组件的analysis ports将事务传输到感兴趣的分析组件。这些目标组件捕获事务并执行分析。
Scoreboards
这些分析组件收集monitor发送的事务,并对收集的事务执行特定的分析活动。记分板组件确定设备是否正常运行。最佳记分板架构将其任务分为两个关注领域:预测和评估。预测模型(有时称为“黄金参考模型”)接收与DUT相同的激励流并产生已知的良好响应事务流。然后记分板对预测的活动与实际观察的DUT上的活动进行评估。
当存在一个预期流和一个实际流时,常用的评估技术是使用比较器,该比较器可以比较假定按顺序到达事务或无序到达的事务。
Coverage Objects
覆盖率信息用于回答“我们是否已完成测试?” 和“我们做了足够的测试吗?”。Coverage objects是收集器,它们与monitor的分析端口有签署联系并且将观察到的活动采样到SystemVerilog功能覆盖构造中。将每个测试用例的数据输入共享覆盖数据库,该数据库用于确定整体验证进度。
Metric Analyzers
Metric Analyzers监视和记录非功能行为,例如时序/性能和功率利用率。他们的架构通常是标准的。根据他们观察到的事务流的数量,它们作为uvm_subscriber被执行或与analysis exports一起被执行。他们可以在run_phase期间和/或在post_run_phase期间执行持续计算。
Analysis Reporting
所有数据在仿真期间被收集。大多数analysis随着仿真运行的同时动态进行,但有些analysis在run phase结束后就完成了。UVM为此提供了三个阶段:extract_phase,check_phase和report_phase。这些阶段允许组件可选地提取运行期间收集的相关数据,执行检查,然后最终生成有关所执行的所有analysis的报告,无论是在仿真运行期间还是仿真运行后。