【问题标题】:ERROR :near "initial": syntax error, unexpected initial [duplicate]错误:靠近“初始”:语法错误,意外的初始[重复]
【发布时间】:2021-01-17 14:56:43
【问题描述】:

这是我的代码,我得到这个编译错误:

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

【问题讨论】:

    标签: compiler-errors verilog system-verilog vlsi


    【解决方案1】:

    您需要使用endfunction 关键字关闭function。这类似于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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-12
      • 1970-01-01
      • 2018-08-17
      • 2021-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多