问题描述
这是我的代码,我得到这个编译错误:
ERROR :near "initial": 语法错误,意外的初始
我该如何解决这个错误?
module pract_wildcardequality();
logic [3:0] a,b;
function void wildcradd(a,b);
begin
if(a==?b)
$monitor ("a %d",a==?b);
else
$monitor ("a else %d",a==?b);
end
initial begin
wildcardd(4'b010x,4'b0101);
end
//end
endmodule
解决方法
您需要使用 function
关键字关闭 endfunction
。这类似于 endmodule
关键字。
我还修复了导致另一个编译错误的拼写错误:我将您的函数调用从 wildcardd
更改为 wildcradd
。我不确定您想要哪个名称,但它们必须匹配。
module pract_wildcardequality();
logic [3:0] a,b;
function void wildcradd(a,b);
begin
if(a==?b)
$monitor ("a %d",a==?b);
else
$monitor ("a else %d",a==?b);
end
endfunction
initial begin
wildcradd(4'b010x,4'b0101);
end
endmodule