在verilog语言中的数组声明如下:
reg [31:0] bianshi_pra [27:0];
在verilog中,always块中没有办法对整个数组直接赋值,因此在rst赋初值时只对数组第一个数进行赋值。bianshi_pra [fifo_data_cnt],数组的index可以是变量。
但是不可以写成bianshi_pra [fifo_data_cnt :fifo_data_cnt +n]的形式。
always@(posedge clk or negedge rst_n)
begin
if(!rst_n)
begin
bianshi_pra[0] <= 'b0;
end
else if((fifo_data_in_rd_en)&&(fifo_data_cnt <= 15'd27))
begin
bianshi_pra [fifo_data_cnt] <= fifo_data_in_dout;
end
end