文章目录
1.验证概述:
- 本质:尽最大可能找出设计的bug
- UVM针对大型ASIC设计
- FPGA 验证类型分为静态验证和动态验证,其中静态验证包括文档审查、代码审查、跨时钟域检查、静态时序分析和逻辑等效性检查(形式验证); 动态验证包括功能仿真、时序仿真和板级验证。这些验证类型实现了 FPGA 软件的全生命周期覆盖。静态验证一般由测试工具自动完成,人工分析结果,耗时较少; 功能仿真、时序仿真需要人工搭建测试平台,编写测试用例,分析仿真结果,耗时占整个验证周期的 70% ~80% 。
2.如何实现验证
- 测试向量文件: 以模拟的方式验证设计的正确性,以源的方式来激励设计的逻辑模块。
- 验证三要素:
- 灌入激励,产生输入信号;
- 收集响应,收集输出信号;
- 做比较,比较结果;
- 验证语言的发展:
- Verilog testbench(适用于简单模块)
- C/C++ 高级语言但是存在兼容性问题,没有时序的概念,存在不便
- System Verilog 与Verilog完全兼容,偏向高级语言(存在类、函数、数组等概念)