"error: Enable of unknown task" : 在 iverilog 中是什么意思?



我用谷歌搜索了错误,但我没有发现任何有用的东西。 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

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

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

那行不通。

最新更新