verilog:向量分配/(vlog-13069)错误

问题描述 投票:1回答:2

我的变量声明如下:

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];

我得到这样的错误结果:

错误:(vlog-13069)“ [”:语法错误,意外的'[',期望';'或','。

我也尝试使用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错误

您能帮我解决这些错误吗?

verilog system-verilog modelsim
2个回答
0
投票
将每个dout_7seg_i分配给dout_7seg [i]

由于分配了全部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];

0
投票

您弄乱了索引的顺序。它应如下所示:

assign dout_7seg_3 = dout_7seg [3][6:0];

包装尺寸排在最后。

© www.soinside.com 2019 - 2024. All rights reserved.