- 芯片验证调试手册:验证疑难点工作锦囊
- 刘斌
- 255字
- 2023-12-06 18:26:00
2.1.5 struct和struct packed区别在哪里?
非组合型结构体(默认类型)和组合型结构体在赋值方面的差异与“非组合型数组和组合数组”保持一致,且非组合型结构体占据空间要比组合型结构体更多。组合型结构体可以将所有数据直接赋值给一个向量,这方便了数据结构的存储,以及作为比特流(bit stream)传输时的打包和解包之用。
关键词:
struct,struct packed
避坑指南:
如果要做随机化,这两种类型的变量均应声明为rand,且可对非组合型结构体成员单独指定rand属性(即可单独随机化成员),而不能对组合型结构体成员单独指定rand属性(只可以做整体结构随机化)。
参考代码:sv_struct_unpacked_diff_packed.sv


仿真结果:

阅读手记: