-1

我用谷歌搜索了错误,但没有发现任何有用的信息。Verilog 代码:

`timescale 1us/1ns
module ShadyModule;
reg [3:0] num1,num2;
reg [4:0] res;
`include "ShadyTask.v"
initial
begin
    num1 = 5;
    num2 = 10;
    $monitor ("num1= %d, num2=%d",num1,num2);
    ShadyTask(num1,num2,res);
end


endmodule

ShadyTask.v文件包含:

task ShadyTask;
    input[3:0] num1,num2;
    output[4:0] sum;
    begin
        sum = num1+num2;
    end
endtask
4

1 回答 1

-1

我有同样的问题并基于解决了。确保 ShadyTask.v 不在模块内。如果您提供的是整个文件,它应该可以正常工作。但如果是

module ShadyTaskModule;
  task ShadyTask;
    input[3:0] num1,num2;
    output[4:0] sum;
    begin
        sum = num1+num2;
    end
  endtask
endmodule

那是行不通的。

于 2020-02-12T08:29:29.050 回答