【发布时间】:2021-06-27 21:59:14
【问题描述】:
在 SV 中,
struct
{
int a;
int b;
} abc, abc1;
abc 和 abc1 是匹配类型,但
struct {int a; int b; } abc2; abc2 与 abc1 不匹配。
即使结构的成员相同,为什么会这样?
【问题讨论】:
标签: system-verilog
在 SV 中,
struct
{
int a;
int b;
} abc, abc1;
abc 和 abc1 是匹配类型,但
struct {int a; int b; } abc2; abc2 与 abc1 不匹配。
即使结构的成员相同,为什么会这样?
【问题讨论】:
标签: system-verilog
1800-2017 SystemVerilog LRM 的 6.22 类型兼容性部分中的规则说明匿名类型只能匹配:
在同一声明语句中声明的对象,没有其他对象 数据类型
一般来说,SystemVerilog 有一个strong typing policy 用于解压缩的结构。这意味着匹配类型的标准是名称本身,而不是查看结构的布局。
【讨论】: