01
仿真加速概述
为什么需要仿真加速?传统仿真 vs 加速仿真的对比,加速验证的核心挑战。
加速对比
02
算法验证基础
算法模型与RTL模型的差异,定点化与浮点化,算法验证的精度要求。
算法精度
03
联调环境搭建
SV与C/C++的DPI接口,SystemVerilog DPI 基础用法,数据交互的握手协议。
DPI环境
04
事务级建模(TLM)
TLM 2.0 基础概念,Generic Payload 的使用,阻塞与非阻塞传输。
TLM事务
05
参考模型(Reference Model)构建
如何用C/C++构建黄金模型,数据比对策略,自动比对框架。
黄金模型比对
06
Scoreboard 设计
基于TLM的Scoreboard架构,数据流追踪,错误报告与日志管理。
Scoreboard日志
07
覆盖率驱动的加速验证
功能覆盖率与代码覆盖率,覆盖率收集的加速技巧,覆盖率驱动的回归测试。
覆盖率回归
08
断言(Assertion)在加速中的应用
SVA基础,形式化属性检查,断言与加速器的协同工作。
断言SVA
09
内存建模与一致性检查
Memory模型抽象,Cache一致性协议验证,内存访问冲突检测。
内存一致性
10
总线协议验证(AXI为例)
AXI协议基础,Outstanding交易处理,乱序传输的验证难点。
AXI总线
11
DMA控制器验证
DMA传输模式,描述符链管理,带宽与延迟分析。
DMA带宽
12
中断与异常处理验证
中断控制器模型,中断优先级仲裁,异常注入测试。
中断异常
13
低功耗验证
Power Domain划分,UPF/CPF基础,低功耗仿真的加速技巧。
低功耗UPF
14
多核/多处理器验证
Cache Coherency协议,内存屏障指令,原子操作验证。
多核Cache
15
虚拟平台(Virtual Platform)构建
基于QEMU/SystemC的虚拟原型,软硬件协同仿真。
虚拟平台QEMU
16
硬件加速器(Emulation/FPGA)基础
Emulator架构,FPGA原型验证,软硬件接口适配。
EmulationFPGA
17
基于Emulation的调试技术
波形抓取,信号探针,断点与单步调试。
调试波形
18
性能分析
仿真性能瓶颈定位,并行仿真技术,多线程与多进程加速。
性能并行
19
回归测试自动化
回归测试框架设计,测试用例优先级排序,失败用例自动重跑。
回归自动化
20
持续集成(CI)与验证
Jenkins/GitLab CI集成,自动化构建与测试,报告生成。
CIJenkins
21
验证计划(Verification Plan)管理
需求分解,验证点提取,进度追踪。
验证计划管理
22
UVM在加速中的应用
UVM Sequence与Driver的适配,UVM与TLM的桥接,UVM寄存器模型加速。
UVM寄存器
23
随机化与约束求解
SystemVerilog随机化基础,约束求解器的加速技巧,定向测试与随机测试结合。
随机化约束
24
形式化验证入门
形式化验证 vs 动态仿真,属性检查,模型检查基础。
形式化属性
25
安全验证
安全启动流程验证,侧信道攻击防护验证,安全隔离机制检查。
安全隔离
26
AI/ML加速器验证
神经网络算子验证,数据流映射,精度与性能权衡。
AIML
27
验证IP(VIP)开发
自定义VIP架构,协议检查器,事务生成器。
VIP协议
28
跨时钟域(CDC)验证
CDC问题分类,同步器设计,CDC验证工具使用。
CDC同步
29
复位与电源管理验证
复位序列验证,电源状态切换,数据保持与丢失检查。
复位电源
30
综合项目实战
从需求到交付的完整流程,团队协作与代码管理,项目复盘与经验总结。
实战项目