【发布时间】:2015-11-10 01:31:14
【问题描述】:
我想设计一个波纹进位加法器,它将添加 n 位 A 和 B 数。在添加之前,我想检查任何输入是否为零。如果任何值为零,我想返回另一个输入作为输出。 我的脚本类似于以下内容-
module RCA #(parameter n=10) (input [n-1:0] A, input [n-1:0] B,output [n-1:0] R);
wire [n-1:0] r1;
wire [n:0] carry;
assign carry[0]=0;
genvar i;
generate
for (i=0;i<n;i=i+1) begin:ripple_block
FA fa(.a(p[i]),.b(q[i]),.s(r1[i]),.cout(carry[i+1]));
end
endgenerate
if (p==0) begin:a1
assign R=q;
end
if (q==0) begin:a2
assign R=p;
end
else begin:a3
assign R=r1;
end
endmodule
我收到了错误
"Elaboration time unknown or bad value encountered for generate if-statement condition
expression. Please make sure it is elaboration time constant."
请帮我找出脚本中的错误。
谢谢 法哈纳
【问题讨论】: