我有一个用于Gram schmidt进程的系统verilog代码。我有一个模块(rough_projectionvector)的所有单独投影,然后每次都将这些单独的投影添加到projectionssum并再次更新此投影,即我正在实现这一点 projectionssum + =个人预测;
然后在minuesvector模块中我只从vectorin [i]中减去projectionssum值。 我需要在减法后将projectionum更新为零,这样当我在sumloop模块中再次使用它时,它从0值开始,但是当我这样做时,我得到上述错误。
您能否建议我如何将此投影更新为零?
logic [63:0] projectionssum[0:2];
logic [63:0] individualprojections[0:2];
initial begin
projectionssum[0]=64'b0;
projectionssum[1]=64'b0;
projectionssum[2]=64'b0;
end
generate
for (i=0; i<2; i=i+1) begin: loop_one
rough_normalizevector nv(vectorin[i],normalizedout[i]);
for (k=0; k<i; k=k+1) begin:loop_two
rough_projectvector pv(vectorin[i], normalizedout[k] ,individualprojections);
rough_sumloop as(individualprojections,projectionssum,projectionssum);
end
rough_minuesvector mv(vectorin[i],projectionssum,subtractedout[i]);
zero egs(madezero,projectionssum); //updating the projectionssum value to be 0
end