例如,我有下面的代码。我们可以在可综合的 verilog 中的生成 block 内分配连线吗?我们可以在可综合的verilog中的generate block 内使用赋值语句吗?
genvar i;
generate
for (i = 0; i < W; i=i+1) begin:m
wire [2:0] L;
assign L[1:0] = { a[i], b[i] };
end
endgenerate
最佳答案
是的。有可能的。生成语句只是合成器的代码生成器指令。基本上,它只是循环展开。这是如果循环可以静态地阐述的话。也就是说,循环执行的次数应该在编译时就可以确定。
genvar i;
generate
for (i = 0; i < 2 ; i++) {
assign x[i] = i;}
endgenerate
unrolls into
assign x[0] = 0;
assign x[1] = 1;
关于verilog - 在可综合的verilog中,我们可以在生成 block 中使用赋值语句吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21083361/