【UVM源码学习】uvm_comparer

简介: 【UVM源码学习】uvm_comparer

uvm_comparer是个基类,提供了对象object比较的策略,比较结果(比较次数、成功与否)保存在comparer object中。uvm_object::compare及uvm_object::do_compare即调用了uvm_comparer对两个uvm_object类型的参数进行比较。uvm_comparer中主要实现了以下几个方法:


image.png



uvm_recursion_policy_enum,对对象进行复制的复制策略,有VUM_DEFAULT_POLICY、UVM_DEEP、UVM_SHALLOW、UVM_REFERENCE四种——默认策略就是没有策略;UVM_DEEP指深层复制,调用uvm_object::copy实现复制;


UVM_SHALLOW采用SystemVerilog的copy进行复制;UVM_REFERENCE只复制object handle。



目录
相关文章
|
测试技术 Shell 开发者
UVM与验证环境一文通
UVM与验证环境一文通
1268 0
|
网络性能优化
【AXI】解读AXI协议的额外信号(QOS信号,REGION信号,与USER信号)
【AXI】解读AXI协议的额外信号(QOS信号,REGION信号,与USER信号)
【AXI】解读AXI协议的额外信号(QOS信号,REGION信号,与USER信号)
|
缓存 Linux
PCIe地址转换服务(ATS)详解2
PCIe地址转换服务(ATS)详解
3106 0
PCIe地址转换服务(ATS)详解2
|
9月前
|
网络虚拟化 数据安全/隐私保护 数据中心
以太网协议(IEEE 802.3)
本文介绍了以太网协议的基本概念和关键技术,包括协议层次(物理层、数据链路层)、以太网帧结构(前导码、MAC地址、FCS等)、MAC地址类型(单播、多播、广播)、物理层标准(如10BASE-T)、冲突管理(CSMA/CD与全双工模式)以及网络设备(Hub、Switch)。此外,还探讨了扩展功能(VLAN、PoE)、性能参数(MTU、帧长度)及高速以太网的演进(从10Mbps到100Gbps),并解答了一些典型问题。
2056 9
|
测试技术 Python
分支覆盖 (Branch Coverage)
分支覆盖 (Branch Coverage) 是一种软件测试覆盖率评估方法,能够测量代码中每个分支的执行情况,即代码中每个条件语句 (if-else 语句) 的所有可能分支是否都被执行过。
4509 1
|
前端开发 Python
【前端验证】通用型顺序比对的uvm scoreboard组件编写
【前端验证】通用型顺序比对的uvm scoreboard组件编写
636 0
|
芯片
芯片验证 | UVM的objection机制
芯片验证 | UVM的objection机制
686 1
|
索引
【UVM源码学习】uvm_packer
【UVM源码学习】uvm_packer
1511 0
|
编译器 API C语言
芯片验证 | 理解SystemVerilog DPI并不难
芯片验证 | 理解SystemVerilog DPI并不难
1458 0