- 在verilog中,for 与 generate for 都可综合。建议在RTL代码中尽量不要使用for,因为其综合出来的电路面积很大,且非常浪费资源(资源复用性很差)。当然for在testbench中就可随意使用了。
- for语句可在其块内部添加延时(#10),实现与时钟边沿对齐的累加、累减或其他操作。
- 很明显,除非特别需要generate for特性的地方,如重复端口例化,其与for都可以用计数器+if的方式代替。
- generate for块与always块:前者能包含后者,后者不能包含前者。
genvar i;
generate for(i = 0; i < 10; i = i + 1)begin
always@()begin
<语句>
end
end
endgenerate