文章目录
1.验证方法学概述
1.1验证情况概述
- 验证结构的复用和代码的复用很难;
- 原有HDL缺乏随机约束和功能覆盖率;
- EDA公司开发出平台限定性语言 Specman/e和Vera;
1.2 SV
- 从2002年的SV3.0标准逐步发展成为IEEE-1800 SV2017标准;
- SV的核心是面向对象、随机约束、线程通信、功能覆盖率收集等;
1.3 UVM
- UVM1.0在2011年发布,目前用的是UVM1.2;
- UVM在eRM、AVM、OVM的基础上发展的;
- 所有验证方法学的目的都在于提供一些可重用的类,减轻项目之间水平复用和垂直复用的工作量;
- UVM提供了一套可靠的验证框架;面向所有的数字设计,从模块级到芯片级、从ASIC到FPGA;
- UVM自定义的框架构建类和测试类能够帮助验证人员减轻环境构建的负担,将更多的精力集中在制订验证计划和创建测试场景;
2 类库地图
2.1类库地图概述
- 在SV中,验证环境整体的构建是从底层模块的验证组件搭建到通信和测试激励生成;这些元素无论是软件对象的创建、访问、修改、配置,还是组件之间的通信等都是通过用户自定义的方式来实现的;
- UVM将验证过程中可以重用和标准化的部分都规定在其方法学的类库中,通过标准化的方式减轻构建环境的负担;
- 验证环境的共同需求是:1、组件的创建和访问 2、环境的结构创建、组件之间的连接和运行 3、不同阶段的顺序安排 4、激励的生成、传递和控制 5、测试的报告机制;
- 在组件通信中,UVM提供了功能丰富的TLM(transaction level model)接口,从而保证相邻组件的通信不再通过显式句柄引用,而是独立于组件的通信方式;
- 对于测试序列sequence的生成和传输也是利用TLM传输在sequence和driver之间完成;
- UVM的报告机制可以将来自于不同组件、不同级别的信息并且加以过滤,最终生成测试报告;