【发布时间】:2016-05-04 02:59:01
【问题描述】:
我正在尝试合成一个加权求和电路,它基本上将实现以下等式,
out=out+a[i]*w[i] ,其中 i=0,1..n
我已经编写了以下代码,但在设计视觉环境中合成会产生如下错误
ELAB-368(错误)%s 网络“%s”或直接连接的网络被驱动 由不止一个来源,并且至少一个来源是一个恒定的网络。
module weighted_sum #(parameter n=10)(input [7:0] a[3:0], input [7:0] w[3:0], output [7:0] out);
assign out=0;
genvar i;
generate
for (i=0;i<n;i=i+1) begin:block1
out=out+a[i]*b[i];
end
endgenerate
endmodule
感谢任何方向。
谢谢 法哈纳
【问题讨论】:
-
什么是
b?out分配给0并且您也在生成块中驾驶out。我假设assign在assign out=out+a[i]*b[i];中有一个错字 -
抱歉打错了。它不在主代码中。
标签: verilog system-verilog weighted-average