📘 UVM 验证 · 实战目录

🧪 30章 · 从入门到项目
什么是UVM?为什么需要UVM?UVM的基本概念与验证平台架构概览。
从零开始搭建一个简单的UVM验证平台,理解uvm_component与uvm_object。
深入理解UVM的树形组织结构,parent-child关系与层次化构建。
掌握uvm_sequence_item的定义,以及sequence如何生成并发送transaction。
详解driver从sequencer获取transaction的机制,TLM接口初探。
学会编写monitor来监测接口信号,并将agent封装为可复用的组件。
实现数据比对的核心——scoreboard,以及如何构建参考模型。
深入剖析UVM的phase执行顺序,build_phase、connect_phase、run_phase等。
掌握UVM工厂模式,利用override实现测试用例的灵活替换。
学会使用uvm_config_db在验证平台中传递配置参数。
从put/get到analysis_port,全面掌握UVM的事务级通信。
sequence的嵌套、同步、以及virtual sequence的使用场景。
理解寄存器模型的作用,构建基本的寄存器模型。
通过寄存器模型进行前门访问和后门访问。
功能覆盖率的定义、收集与分析,如何用覆盖率指导验证进度。
SVA(SystemVerilog Assertion)的基本语法与应用。
在UVM平台中嵌入断言,实现协议检查。
理解objection如何控制仿真结束。
掌握uvm_report_handler,实现日志的分级管理与过滤。
使用callback机制实现非侵入式的功能扩展。
如何在UVM中混合使用Verilog、VHDL与SystemC。
深入理解SystemVerilog的随机化特性,以及如何在UVM中应用。
掌握fork-join、event、semaphore等同步机制在UVM中的应用。
理解UVM中的对象创建、复制、比较与打印机制。
以一个DMA控制器为例,设计完整的UVM验证平台。
以一个I2C控制器为例,设计完整的UVM验证平台。
以一个AXI总线接口为例,设计完整的UVM验证平台。
仿真速度优化、内存优化与调试技巧。
如何设计可重用的验证组件,跨项目复用的最佳实践。
回顾UVM验证平台设计的全流程,探讨UVM的未来发展趋势。