内容
UVM - 统一的验证方法学
UVM演进
什么是验证?
验证计划
验证目标
RTL代码覆盖率
功能覆盖率
功能覆盖率和代码覆盖率的关系
覆盖率驱动的验证CDV
验证阶段
- 随机大量测试加定向边界测试
UVM提供了哪些内容
UVM基础类库和宏定义
UVM编码原则
更多的测试案例和更少的代码
- 随机化测试一定要使用随机的seed
SoC UVM验证平台架构
封装便于重用
- 一个协议总线一般封装为一个agent
- 从上到下进行例化
UVM架构具有可扩展性
- passive agent - 只有monitor进行采样,不会进行驱动
- active agent - 既有driver和monitor,可以采样和驱动数据
UVM架构组件
- 扩展组件,使用继承的方式进行扩展
UVM组件执行过程
第一个UVM示例
编译UVM验证平台并仿真
UVM源码库
UVM仿真流程
UVM消息服务
- $fatal - 会调用$finish
UVM组件的父子关系
UVM组件的逻辑层次
UVM组件的phaze执行
- final也是自顶向下执行的
- 各个组件的相同的phaze是并行执行的
- 各个phaze是串行执行的
- 从components扩展出来的类才有phaze的概念