![芯片验证调试手册:验证疑难点工作锦囊](https://wfqqreader-1252317822.image.myqcloud.com/cover/927/47548927/b_47548927.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.1.5 struct和struct packed区别在哪里?
非组合型结构体(默认类型)和组合型结构体在赋值方面的差异与“非组合型数组和组合数组”保持一致,且非组合型结构体占据空间要比组合型结构体更多。组合型结构体可以将所有数据直接赋值给一个向量,这方便了数据结构的存储,以及作为比特流(bit stream)传输时的打包和解包之用。
关键词:
struct,struct packed
避坑指南:
如果要做随机化,这两种类型的变量均应声明为rand,且可对非组合型结构体成员单独指定rand属性(即可单独随机化成员),而不能对组合型结构体成员单独指定rand属性(只可以做整体结构随机化)。
参考代码:sv_struct_unpacked_diff_packed.sv
![](https://epubservercos.yuewen.com/563682/26947507002660206/epubprivate/OEBPS/Images/txt002_5.jpg?sign=1739248990-Ika0M8wBosnjrQmmQfQLkkAOYt1uedou-0-116f42d4ff4ef314fba982480a93e87a)
![](https://epubservercos.yuewen.com/563682/26947507002660206/epubprivate/OEBPS/Images/txt002_6.jpg?sign=1739248990-yKx94PwB5HJhIGNviafs2tPJp0gB2JA3-0-52407c05543238dc752a77dbb7273d6c)
仿真结果:
![](https://epubservercos.yuewen.com/563682/26947507002660206/epubprivate/OEBPS/Images/txt002_7.jpg?sign=1739248990-gh1pyiRwN2lCaOqWEET15SrLve4y3TnF-0-cd5ed7346ecb8925b38aad6fc88b0572)
阅读手记: