【发布时间】:2011-08-04 09:29:02
【问题描述】:
我正在尝试在 verilog 中实现 FatICA 算法。我已经编写了整个代码,直到模拟它没有显示错误,但是当我尝试合成代码时,它给出了一个错误,指出“”;“期待而不是”。””
我正在使用四个浮点模块进行算术计算,并且我已经生成了 1000 个 sum、sqrt ... 等实例,使用 for 循环进行中间计算。以下是生成代码
genvar s;
generate
for(s=1;s<=4000;s=(s+1))
begin:cov_mul_ins
Float32Mul cov_mul (.CLK(clk),
.nRST(1'b1),
.leftArg(dummy_14),
.rightArg(dummy_15),
.loadArgs(1'b1)
);
end
endgenerate
现在我正在使用点运算符访问各个实例
for(d=1;d<=2;d=(d+1))
begin
for(e=1;e<=2;e=(e+1))
begin
for(c=1;c<=1000;c=(c+1))
begin
if((d==1)&&(e==1))
begin
dummy_14=centered_data_copy[d][c];
dummy_15=Parent.centered_data_float_trans[c][e];
#10 ***cov_mul_ins[c].cov_mul***(.CLK(clk),
.nRST(1'b1),
.leftArg(dummy_14),
.rightArg(dummy_15),
.loadArgs(1'b1),
.product(cov_temp[c][1])
);
如果有人能指出我所犯的错误,我将不胜感激。谢谢!
【问题讨论】:
-
@osgx 我认为生成语句中没有错误,但我不确定我是否以正确的方式访问实例化模块。我尝试在网络上搜索它但没有找到任何东西.然后,在 samir palnitkar 的书中有一个例子,它有类似的数组实例化,所以我照做了。在模拟时它没有显示任何错误,但在合成时它给出了错误。
标签: verilog