如何修复矢量分配 (vlog-13069) 错误
How to fix vector assignment (vlog-13069) error
我的变量声明如下:
output [6:0] dout_7seg_3, dout_7seg_2, dout_7seg_1, dout_7seg_0;
wire [6:0] dout_7seg [3:0];
我尝试通过如下编码将每个 dout_7seg_i
分配给 dout_7seg [i]
:
assign dout_7seg_3 = dout_7seg [6:0][3];
我得到这样的错误结果:
Error: (vlog-13069) "[": syntax error, unexpected '[', expecting ';' or ','.
我也尝试过使用 generate
块:
genvar i;
generate for (i = 0; i<7; i = i+1) begin
assign dout_7seg_3 = dout_7seg [i:0][3]; //I wanted to code like dout_7seg_i = dout_7seg [6:0][i]
end
endgenerate
也有相同的
vlog-13069 error
你能帮我解决这些错误吗?
你打乱了索引的顺序。它应该如下所示:
assign dout_7seg_3 = dout_7seg [3][6:0];
打包维度放在最后。
由于您要分配所有 7 位,因此无需使用压缩范围 ([6:0]
)。只需使用:
assign dout_7seg_3 = dout_7seg[3];
assign dout_7seg_2 = dout_7seg[2];
assign dout_7seg_1 = dout_7seg[1];
assign dout_7seg_0 = dout_7seg[0];
我的变量声明如下:
output [6:0] dout_7seg_3, dout_7seg_2, dout_7seg_1, dout_7seg_0;
wire [6:0] dout_7seg [3:0];
我尝试通过如下编码将每个 dout_7seg_i
分配给 dout_7seg [i]
:
assign dout_7seg_3 = dout_7seg [6:0][3];
我得到这样的错误结果:
Error: (vlog-13069) "[": syntax error, unexpected '[', expecting ';' or ','.
我也尝试过使用 generate
块:
genvar i;
generate for (i = 0; i<7; i = i+1) begin
assign dout_7seg_3 = dout_7seg [i:0][3]; //I wanted to code like dout_7seg_i = dout_7seg [6:0][i]
end
endgenerate
也有相同的
vlog-13069 error
你能帮我解决这些错误吗?
你打乱了索引的顺序。它应该如下所示:
assign dout_7seg_3 = dout_7seg [3][6:0];
打包维度放在最后。
由于您要分配所有 7 位,因此无需使用压缩范围 ([6:0]
)。只需使用:
assign dout_7seg_3 = dout_7seg[3];
assign dout_7seg_2 = dout_7seg[2];
assign dout_7seg_1 = dout_7seg[1];
assign dout_7seg_0 = dout_7seg[0];