1. 验证环境结构
- 测试平台(testbench)是整个验证系统的总称
- 它包括验证结构中的各个组件、组件之间的连接关系、测试平台的配置和控制
- 从系统的意义来讲,它还包括编译仿真的流程、结果分析报告和覆盖率量化
- 我们主要关注验证平台的结构和组件部分,他们可以产生设计所需要的各种输入,也会在此基础上进行设计功能的检查
2. 测试平台结构图
- 各个组件之间是相互独立的
- 验证组件与设计之间需要连接
- 验证组件之间也需要进行通信
- 验证环境也需要时钟和复位信号的驱动
3. 验证语言应用趋势
- SystemVerilog 成为主流动态验证语言
- Verilog 和C/C++ 系统级验证,算法模型验证
- UVM 验证方法学基础类库应用
4. 验证结构的层次
- 设计是由多个层次构成的,无论是物理分区例如FPGA/ASIC,还是逻辑分区例如合成单元/核心子系统
- 验证也可以按照不同的级别来安排目标
- 每个验证级别都有最合适的验证目标
- 较小的模块更容易验证,因为它们提供更大的可控性和可观察性
- 对于它们,很容易设置条件和状态组合,并观察其反应是否符合预期
- 由小模块组成的子系统,则需要以较低的可控性和可观察性为代价去验证
- 因此,不同级别的验证有着不同的验证重心
- 任何层次的待验设计,都应该具备相对稳定的接口和预期的功能
- 理想情况下,每个子系统或者模块,都应该有自己的硬件描述文档
- 如果接口或者功能不断变化,那么测试平台也将一同发生变化,这会严重影响验证的进度
- 对于设计稳定性的要求,一般是先期待其接口稳定下来,再使得功能可以稳定下来