1. 验证技术分类
1. 动态验证技术
动态验证技术:依靠仿真器(simulator)来对数字电路进行激励发送和结果检查。常用的,成本低的验证技术
代码覆盖率
功能覆盖率
断言
随机约束
验证语言
主要学习 Verilog 、SystemVerilog 、C/C++
UVM (验证方法学)
2.静态验证技术
静态验证技术又可以分为人工形式验证技术和自动形式验证技术
- 人工形式验证技术:property check 通过断言结合形式验证工具对设计功能进行穷举检查,从数学意义上判断设计的正确性
- 自动形式验证:包括SOC集成连接检查,死锁检测,X语义安全检查,许多其它可自动提取然后正式证明的属性
3.硬件加速 Emulation及FPGA原型开发
Emulation 和 FPGA 原型开发即是在SOC开发中后期系统趋于稳定时,将其作为逻辑功能容器进行原型prototyping 开发
相比于仿真技术,其速度更快
总结:最重要的是动态验证技术中的SV和UVM
课程要求:数字电路、VerilogHDL语言、C/C++语言
2.如何学习SV
- 绿皮书 <<SystemVerilog验证>> Chris Spear
- <<芯片验证漫游指南>> 路桑
- <<UVM 实战>> 张强
- SV语言与其它软件语言重要差别是需要了解其各个语言特性的应用场景
- SV每一个特性都有显著应用方式,须结合实例理解
- QuestaSim仿真器
- UVM类库在线查找手册
- DVT SV/UVM集成开发环境(Win/Linux)
- 入门建议学完绿皮书和V0