这是一个用于说明的示例。在 SystemVerilog 中,它具有数组分配模式和结构分配模式语法。不管这里的 union 构造是打包还是解包,不管它是否可合成,它是赋值模式的有效用法吗?如果是, union 应该是什么值x
?
typedef struct {
int a;
byte b;
union packed {
int c;
bit [31:0] d;
} x;
} S;
module top (s);
output S s;
assign s = '{int:2, default:1};
endmodule
如果不是,是否意味着我必须为解压结构逐个字段指定初始值?
initial begin
s.a = 2;
s.b = 1;
s.x.c = 2;
end