Verilog中任务的调用
Verilog中任务的调用
你的include语句是放在module ****();的上面还是下面?
Verilog中任务的调用
放在模块的最上面一行.但问题的关键是task.v本身编译就通不过.
我的task.v文件如下:
//*************************************************************
//********Define multiplier and adder interface****************
//*************************************************************
task Mult1;
input [15:0]in1;
input [15:0]in2;
output [15:0]a;
output [15:0]b;
output latch;
reg [15:0]a;
reg [15:0]b;
reg latch;
begin
a=in1;
b=in2;
latch=1'b1;
end
endtask
需要调用这个任务的模块如下:
`include "task.v"
module dsp(******);
*****
endmodule
Verilog中任务的调用
改成:
module dsp(****);
`include "task.v"
*****
endmodule
Verilog中任务的调用
放上放下有什么区别?
Verilog中任务的调用
楼上说得有问题把?怎么能这样放?
Verilog中任务的调用
是不是应该把那个模块的程序代码也应该放进去
还是和vhdl一样,可以调用其他模块
我现在就在开发一个系统设计,其中很多模块设计
怎么具体去调用
Verilog中任务的调用
写成task.h吧
Verilog中任务的调用
把路径写完整,或是放在同一个目录.如果是用modelsim注意放在仿真的目录.
`include
应放在MODULE前面.
Verilog中任务的调用
task应该放在module里面,放在外面编译肯定通不过。
为什么要用task呢?据说task不可综合。
verilog dsp.v task.v
task Mult1;
input [15:0]in1;
input [15:0]in2;
output [15:0]a;
output [15:0]b;
output latch;
reg [15:0]a;
reg [15:0]b;
reg latch;
always@(in1 or in2)
begin
a= #1 in1;
b= #1 in2;
latch= #1 1'b1;
end
endtask