这是有问题的代码:
function automatic [31:0] W;
input [6:0] param;
W = (param<16) ? 32'b0 : W(param-7);
endfunction
基本上,iverilog (Icarus Verilog) 只是给了我一个Segmentation fault: 11 vvp svsim
错误。
我尝试了一些调试,它似乎不喜欢递归,即使我有一个递归锚。
不过,从内部调用函数不是问题。也测试过。
任何帮助表示赞赏!
编辑:
这里我有一段代码调用此函数失败:
always @(negedge clk) begin
t1 <= W(j);
end