目录
set_type_override() 和 set_inst_override()
1 验证方法学概述
UVM就是一种验证方法学,所有的验证方法学服务目的都在于提供一些可以重用的类来减轻在项目之间水平复用和垂直复用的工作量,而同时对于验证新人又能提供一套可靠的框架,摆脱搭建房子构思图纸的苦恼。
UVM面向所有数字设计,涵盖了从模块级到芯片级,ASIC到FPGA,以及控制逻辑、数据通路到处理器验证的全部场景。
UVM的框架构建类和测试类能够减轻环境构建的负担,进而将更多的精力集中在如何制定验证计划和创建测试场景
2 类库地图
概述
在SV中,验证环境整体的构建,是从底层模块的验证组件的搭建到通信和激励的生成,该过程对象的创建、访问、修改、配置和数据通信都是通过用户自定义的方式来实现的。
UVM验证方法学,就是将验证过程中可以重用和标准化的部分都规定在其方法学的类库中,通过标准化的方式减轻验证人员构架环境的负担。
那么哪些是构建验证环境的共同需求(可以重用和标准化部分):
1组件的创建与访问
2环境的结构创建、组件之间的连接和运行
3不同阶段的顺序安排
4激励的生成、传递和控制
5测试的报告机制
类库地图
根据UVM的核心机制,可以分为十大类库:
1核心基类:提供了最底层的支持,包括一些基本方法如拷贝、创建、比较和打印;同时在此 基础上发展了支持UVM特性的各个相关类群。
2工厂类:提供了注册环境组件、创建组件和覆盖组件类型的方法。
3事务类和序列类:用来规定TLM传输管道中的数据类型和数据生成方式。
4结构创建类:与环境组件类一起构建验证结构,同时包含phase机制
5环境组件类:构成验证结构的主要部分,通过计划和连接形成结构层次关系。
6通信管道类:与事务接口类共同实现组件之间的通信和存储。
7信息报告类:报告信息的规范化,便于整体的控制和过滤。
8寄存器模型类:用来完成对寄存器和存储器的建模、访问和验证。
9线程同步类:比sv中的同步方法更方便,同时包含的信