入门UVM验证方法学

时间:2024-03-19 15:44:24

1 验证的本质:尽可能的找出设计的bug;

入门UVM验证方法学

2 测试向量文件

测试文件(testbench)以模拟的方式来验证逻辑时序的正确性,以源的方式来激励用户编写的逻辑功能模块;
入门UVM验证方法学

3 验证的3要素

(1)灌激励:输入信号
(2)集响应:输出信号
(3)作比较:比较
入门UVM验证方法学

4 验证平台的发展

Verilog -> C/C++ -> System C -> System Verilog( 有高级语音的兼容性,时序的兼容)
入门UVM验证方法学

5 验证方法学(UVM)

(1)制定了一种标准的规范
(2)提供底层库
这些方法 :
1:通用 -> 可重用性
2:高效 -> 随机性 解决 :Regression (回归) 、 coverage(覆盖率)
入门UVM验证方法学

6 验证平台的发展

入门UVM验证方法学

7 简单的UVM平台

入门UVM验证方法学

8 完整UVM的验证平台

入门UVM验证方法学
1 DUT 和UVM直接的通信需要interface;

2 UVM的各个Component(组件) 之间采用基于TLM的发送通过数据包的方式通信;

3 Sequence和sequencer 启动方式包括:自启动和手动启动;

9 UVM树

入门UVM验证方法学

10 UVM运行的机制

Phase机制:(阶段)

1.模块直接是并行的
2.模块内是串行的的
入门UVM验证方法学
在之前SV的篇章中,读者可以看到,传统的硬件设计模型在仿真开始前,已经完成例化和连接了;而SV的软件部分,类的例化则需要在仿真开始后完成。虽然类的例化通过调用构建函数new()来实现,但是单单通过new()函数无法解决一个重要的问题,那就是验证环境层次化时,需要保证例化的先后关系,以及在确立了各个组件均完成例化后的连接。此外,如果需要实现高级功能,例如顶层到底层的配置时,也无法在底层组件例化之前,提前完成配置逻辑。因此,UVM的验证环境构建中,引入了phase机制,通过该机制,可以很清晰地将UVM仿真的阶段层次化。这里的层次化,不单单是对于各个phase的先后顺序,而且处于同一phase中的层次化组件之间的phase也有先后关系。本文将从机制和应用方面介绍phase概念,最后就UVM仿真的开始和结束方式进行阐述。

phase执行机制

如果暂时抛开phase的机制剖析,对于UVM组件的开发者而言,他们主要关心各个phase之间执行的先后顺序。在完成各个phase虚方法的实现之后,UVM环境会按照phase的顺序分别调用这些方法。

首先来看一看,UVM的phase有哪些?
入门UVM验证方法学

参考文献:
【1】https://blog.csdn.net/bleauchat/article/details/89365676