我的问题很相似。我有一个由8个元素组成的向量数组,每个元素有7位。所以我宣布了
wire [6 : 0][0 : 7] out_wire;
reg [6 : 0] [0 : 7] disp_data ;
reg [6 : 0] out_disp; // Output register
现在我想要移动每个向量,就像这样
disp_data = { out_wire[1 : 6], out_wire[0] } ;
并在某种情况下将out_disp分配给此
out_disp = disp_data[0] ; Or disp_data[1] etc
我正在使用Xilinx ISE 14.7。但每当我尝试合成时,都会给出foll错误:
expecting 'IDENTIFIER', found '['
unexpected token: '['
我想我已经按照上面参考链接中的步骤进行操作了。我也参考了参考手册。但没用。我正在使用Verilog 2001.如果我错过了一些非常基本的东西,请道歉。
此处的相关代码:
always @ (posedge tick_stable, posedge tick_shift)
begin
if (tick_shift)
begin
disp_data = { out_reg[1 : 6], out_reg[0] } ;
end
else
begin
case (sel_reg)
0 :
begin
out_disp = disp_data[0] ;
enable_reg = en_z ;
end
1 :
begin
out_disp = disp_data[1] ;
enable_reg = en_f ;
end
2 :
begin
out_disp = disp_data[2] ;
enable_reg = en_s ;
end
3 :
begin
out_disp = disp_data[3] ;
enable_reg = en_t ;
end
default
begin
out_disp = 7'b1110111 ;
enable_reg = 4'b0000 ;
end
endcase
end
end