如何从 Verilog 中的单独模块调用任务?
How to call tasks from a separate module in Verilog?
我是 Verilog 的新手,如果有人能帮助我,我将不胜感激。
我有一个任务写在一个单独的文件中 - "task.v" :
module task_create();
task assign_inp;
reg a,b,c,d;
//details
endtask
endmodule
我有一个调用此任务的模块:
module tb();
`include "task.v"
assign_inp(a,b,c,d);
endmodule
当我执行这个时,我得到这个错误:
Module definition task_create cannot nest into module tb
当我删除 task.v 中的模块和结束模块时,出现此错误:
Task must be contained inside a module
我哪里错了?非常感谢!
您的任务在模块中,因此只能在模块中看到。您可以做的是删除模块包装器并在单独的文件中声明任务。
task assign_inp;
reg a,b,c,d;
//details
endtask
您可以包含该任务,您应该能够看到该任务。
删除模块对我有用。
编辑:您可能需要将 verilog 文件声明为任务的头文件
我是 Verilog 的新手,如果有人能帮助我,我将不胜感激。
我有一个任务写在一个单独的文件中 - "task.v" :
module task_create();
task assign_inp;
reg a,b,c,d;
//details
endtask
endmodule
我有一个调用此任务的模块:
module tb();
`include "task.v"
assign_inp(a,b,c,d);
endmodule
当我执行这个时,我得到这个错误:
Module definition task_create cannot nest into module tb
当我删除 task.v 中的模块和结束模块时,出现此错误:
Task must be contained inside a module
我哪里错了?非常感谢!
您的任务在模块中,因此只能在模块中看到。您可以做的是删除模块包装器并在单独的文件中声明任务。
task assign_inp;
reg a,b,c,d;
//details
endtask
您可以包含该任务,您应该能够看到该任务。
删除模块对我有用。
编辑:您可能需要将 verilog 文件声明为任务的头文件