我试图理解为什么我们在verilog中使用generate和for循环.
一起使用generate和for循环:
reg [3:0] temp;
genvar i;
generate
for (i = 0; i < 3 ; i = i + 1) begin:
always @(posedge sysclk) begin
temp[i] <= 1'b0;
end
end
endgenerate
Run Code Online (Sandbox Code Playgroud)
仅用于循环:
reg [3:0] temp;
genvar i;
always @(posedge sysclk) begin
for (i = 0; i < 3 ; i = i + 1) begin:
temp[i] <= 1'b0;
end
end
Run Code Online (Sandbox Code Playgroud)
我正在考虑这两个片段基本上会产生相同的结果,即temp [0]到temp [10]等于值0.在这种情况下,使用generate语句我们看到的区别/优势是什么?
verilog ×1