+-------------------------------------------+--------------------------------------------+
|任务可以有input、output和inout,数量不限; | 函数只有input参数,且至少有一个input |
|-------------------------------------------+--------------------------------------------|
|任务可以包含有时序控制(如延时等); | 函数不能包含有任何延迟,仿真时间为0; |
|-------------------------------------------+--------------------------------------------|
|任务可以用disable中断; | 函数不允许disable、wait语句; |
|-------------------------------------------+--------------------------------------------|
|任务可以通过I/O端口实现值传递; | 函数名即输出变量名,通过函数返回值; |
|-------------------------------------------+--------------------------------------------|
|任务可以调用其他任务和函数; | 函数只能调用其他函数,不能调用任务; |
|-------------------------------------------+--------------------------------------------|
|任务可以定义自己的仿真时间单位; | 函数只能与主模块共用一个仿真时间单位; |
|-------------------------------------------+--------------------------------------------|
|任务能支持多种目的,能计算多个结果值,结 | 函数通过一个返回一个值来响应输入信号的值。|
|果值只能通过被调用的任务的输出端口输出或 | |
|总线端口送出; | |
|-------------------------------------------+--------------------------------------------|
| | 函数中不能有wire型变量。 |
+-------------------------------------------+--------------------------------------------+