从标题来看,内容与SystemVerilog的拷贝有关,既然是拷贝,为什么叫浅拷贝呢 ?本文来聊一聊什么是SystemVerilog的浅拷贝,其现象是什么,并且举例说明我们应该如何使用它。
什么是浅拷贝 ?
浅拷贝,英文名为 shallow copy,顾名思义,copy是浅层次的,不彻底的。一言以蔽之:对象的拷贝,对于SystemVerilog 常用的数据类型(例如int型)则会正常拷贝,对于class数据类型,拷贝则只是copy其引用。
为了很好的说明浅拷贝,举个栗子
- class p2s_tr,有成员变量 int data.
- class p2s_item,内含p2s_tr,即其中例化了 p2s_tr.
- 在sequence中,做了如下步骤:
1)create p2s_item,其名字为 req,并打印其内容
2)create p2s_item,其名字为 req