目的:我的目的是想将mem的每一个地址所存的数据全部赋值为“0000_0001”。
出现错误:
在 for 中对数组赋值时会有些不一样的变化
for 按赋值的位宽对步长做调整。这只针对for 中赋值的常数
给你贴点代码和对应的图,帮助你对这东西的理解
reg [3:0] xx;
reg [7:0][7:0] mem_xxx1;
reg [7:0][7:0] mem_xxx2;
reg [7:0][7:0] mem_xxx3;
reg [7:0][7:0] mem_xxx4;
initial
begin
#1000
for(xx=0;xx<4;xx=xx+1)
begin
mem_xxx1[xx] <= 1;
mem_xxx2[xx] <= 12'b0_1111_1111;
mem_xxx3[xx] <= 1'b1;
mem_xxx4[xx] <= xx;
end
end
我用modelsim仿真的,就是“00000001”。所以跟仿真器有关,尽量不要这么用,老老实实该怎么赋值怎么赋值。