🧪 UVM·序列化与工厂
深度解析 · 30章
🎒 友好色系
1
UVM世界初探
什么是UVM?为什么需要UVM?基本架构与核心思想
2
工厂模式基础
设计模式中的工厂模式,简单工厂、工厂方法与抽象工厂的区别
3
UVM工厂初体验
uvm_component与uvm_object,工厂注册宏
4
深入工厂注册机制
factory工作原理,内部表结构与字符串查找
5
类型覆盖(Override)机制
set_type_override_by_type / set_inst_override_by_type 优先级
6
工厂覆盖实战
替换driver/monitor,实现复用与扩展
7
create方法揭秘
type_id::create()背后发生了什么?为什么推荐create?
8
自定义工厂策略
重载uvm_factory,实现自定义对象创建逻辑
9
序列化基础
什么是序列化?do_print/do_copy/do_compare
10
uvm_object序列化方法
pack, unpack, pack_bytes, unpack_bytes
11
uvm_sequence_item序列化
field automation宏,uvm_field_*系列详解
12
field automation宏实战
uvm_field_int/string/object,自动print/copy/compare
13
自定义序列化
手动实现do_pack, do_unpack, do_print
14
序列化与TLM
TLM通信中传递序列化数据
15
uvm_packer详解
字节序、对齐、自定义打包策略
16
序列化在寄存器模型中的应用
uvm_reg序列化,前门/后门访问差异
17
工厂与序列化的结合
创建可配置sequence_item,通过工厂覆盖改变字段
18
配置数据库与工厂
通过config_db传递工厂覆盖参数
19
多态与工厂
UVM利用多态实现动态创建,虚函数作用
20
工厂覆盖的陷阱
覆盖不生效?冲突?调试技巧
21
序列化性能优化
大数据量传输瓶颈,减少序列化开销
22
uvm_object的clone方法
深拷贝与浅拷贝,clone vs create+copy
23
uvm_component的序列化
层次结构序列化,do_print在component中使用
24
UVM1.2与1.1工厂差异
新版本工厂改进,uvm_coreservice_t作用
25
工厂模式在VIP开发中的应用
设计可配置VIP,用户通过工厂覆盖定制
26
序列化在测试用例重放中的应用
记录事务、保存文件、回放验证
27
UVM recording机制
uvm_tr_stream / uvm_tr_database,与序列化关系
28
跨语言序列化
SystemVerilog与C/C++交互,DPI-C传递序列化数据
29
UVM序列化与压缩
使用zlib压缩序列化数据,减少存储空间
30
综合实战
构建支持工厂覆盖和序列化的完整UVM环境