task和function说明语句的不同点
1,函数只能与主模块共用同一个仿真时间单位,而任务可以定义自己的仿真时间单位;
2,函数不能启动任务,而任务能启动其他任务和函数;
3,函数最少有一个输入变量,而人物可以没有或有多个任何类型的变量;
4,函数返回一个值,而任务不返回值。
task说明语句
如果传给任务的变量值和任务完成后接受结果的变量已定义,就可以用一条语句启动任务。任务完成后控制就传回启动过程。如果任务内部有定时控制,则启动的时间可以与控制返回的时间不同。任务可以启动其他的任务,其他的任务又可以启动别的任务,且数量没有限制。
任务的定义:
task :
port and data type;
statement_1;
statement_2;
.....
endtask
任务的调用:
(port1, port2, ...);
eg. task my_task;
input a, b;
inout c;
output d, e;
.....
c = foo1; //赋初始值
d = foo2; //对任务的输出变量赋值
e = foo3;
endtask
任务调用:
my_task(v, w, x, y, z);
阅读(1701) | 评论(1) | 转发(0) |