SystemVerilog 浅拷贝,你一定要知道的事

195 阅读1分钟

从标题来看,内容与SystemVerilog的拷贝有关,既然是拷贝,为什么叫浅拷贝呢 ?本文来聊一聊什么是SystemVerilog的浅拷贝,其现象是什么,并且举例说明我们应该如何使用它。

什么是浅拷贝 ?

浅拷贝,英文名为 shallow copy,顾名思义,copy是浅层次的,不彻底的。一言以蔽之:对象的拷贝,对于SystemVerilog 常用的数据类型(例如int型)则会正常拷贝,对于class数据类型,拷贝则只是copy其引用。

为了很好的说明浅拷贝,举个栗子

  1. class p2s_tr,有成员变量 int data.
    在这里插入图片描述
  2. class p2s_item,内含p2s_tr,即其中例化了 p2s_tr.
    在这里插入图片描述
  3. 在sequence中,做了如下步骤:
    1)create p2s_item,其名字为 req,并打印其内容
    2)create p2s_item,其名字为 req