Parameters 是否可以在';生成';在verilog中?

Parameters 是否可以在';生成';在verilog中?,parameters,verilog,increment,Parameters,Verilog,Increment,我对生成代码有疑问,我的代码是: parameter m=1; generate for(i=0; i<m; i=i+1) :loopstart begin statements; end endgenerate 参数m=1; 生成 对于(i=0;i而不是i++使用i=i+1 还有..忘记C.这个问题似乎是因为不支持指数而产生的。它们是: 2**0 => 1 2**1 => 2 2**2 => 4 注意: 关于否:(我错误地在这里输入了i++。我在程序中

我对生成代码有疑问,我的代码是:

parameter m=1;

generate 
 for(i=0; i<m; i=i+1) :loopstart
 begin
  statements;
 end
endgenerate
参数m=1;
生成

对于(i=0;i而不是
i++
使用
i=i+1


还有..忘记C.

这个问题似乎是因为不支持指数而产生的。它们是:

2**0 => 1
2**1 => 2
2**2 => 4
注意:


关于否:(我错误地在这里输入了i++。我在程序中正确地输入了它。我已经解决了它。我在我循环上面的另一个循环中取了m,并做了m=m*2,谢谢大家:)@Nandhini请发布一个答案,描述你是如何解决这个问题的@Andy:我必须在“生成”中的for循环中为j=0,1,2做m=2^j等等,这样m=1,2,4,…。相反,我做的是从循环中删除j,只在for循环中取变量m并为(m=1;condition;m=m*2)编写代码。这样就可以了。
2**0 => 1
2**1 => 2
2**2 => 4
always @(m)
 m <= m*2; // (or m << 1)
logic [31:0] m = 0;
logic [31:0] power_two_m;
always @* begin
  power_two_m = 2**m;
  power_two_m = 1 << m;
end