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