我构建了一个 8*2bits 数组来表示 Verilog 中的一块内存
reg [1:0] m [0:7]
该存储器有一个复位信号,如果复位为1,则该存储器中的所有位都应重置为0。但是我不知道如何以简洁的方式设置m的所有位,因为如果有数百个内存中有数千位,下面的方式显然是不可行的。
always@(posedge clk or posedge reset)
begin
if (reset)
begin
m[0]<=2'b00;
m[1]<=2'b00;
m[2]<=2'b00;
m[3]<=2'b00;
m[4]<=2'b00;
m[5]<=2'b00;
m[6]<=2'b00;
m[7]<=2'b00;
end
else
....
end
Use a for
loop:
integer i;
always@(posedge clk or posedge reset)
begin
if (reset)
begin
for (i=0; i<8; i=i+1) m[i] <= 2'b00;
end
else
....
end
IEEE Std 1800-2012(第 12.7.1 节)对此进行了描述for循环, 例如)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)