非法分配模式。元素的数量 (1) 与类型的宽度 (2) 不匹配。在系统verilog中
Illegal assignment pattern. the number of elements (1) does not match with type's wirth (2). in system verilog
我附上了它。
module top;
reg [1:0] arr;
reg [2:0] arr_asgn;
assign arr = {'{ default: arr_asgn[2] }};
endmodule
这在语法上是不正确的。您在连接 {}
中有一个 assigment pattern
。那里没有分配上下文。您必须移除外部括号:
assign arr = '{ default: arr_asgn[2] };
这在语法上是不正确的。当您尝试将二维数组分配给一维压缩数组时。根据 LRM,右侧应该是这样的二维。
arr[1:0][1:0];
assign arr = '{'{default:1}, '{default:0} }
或者应该是
assign arr = '{default:1}
我附上了它。
module top;
reg [1:0] arr;
reg [2:0] arr_asgn;
assign arr = {'{ default: arr_asgn[2] }};
endmodule
这在语法上是不正确的。您在连接 {}
中有一个 assigment pattern
。那里没有分配上下文。您必须移除外部括号:
assign arr = '{ default: arr_asgn[2] };
这在语法上是不正确的。当您尝试将二维数组分配给一维压缩数组时。根据 LRM,右侧应该是这样的二维。
arr[1:0][1:0];
assign arr = '{'{default:1}, '{default:0} }
或者应该是
assign arr = '{default:1}