我有一个使用递归的代码,
module mult(a,b,c)
generate
always @(*) begin
/* a few calculations */
if(x < 10)
flag = 1;
else
flag = 0;
end
if( flag == 1)
mult(x,y,z);
else
z = x*y;
endgenerate
endmodule
但是,此代码返回一个错误,指出标志不是常量。我知道人们不能通过使用寄存器、电线或整数在 always 块之外使用 if-else。但是,还有其他方法可以实现代码吗?
递归似乎只在 generate 块中起作用,但在 always 块之外。