两者均不可综合,常用于测试
任务和函数 | 比较点 | 任务 | 函数 |
---|---|---|---|
输入输出 | 可以有任意多个输入输出 | 至少一输入不能有输出和双向端口 | |
触发事件控制 | 任务不能出现always语句;可以包含延时控制语句(#),但只能面向仿真,不能综合 | 函数中不能出现always,#这样的语句,要保证函数执行在零时间内完成 | |
返回值 | 通过输出端口传递返回值 | 通过函数名返回,只有一个返回值 | |
中断 | 可以有disable中断 | 不允许由disable中断 | |
调用 | 任务只能在过程语句中调用,不能在连续赋值语句中调用 | 函数可作为赋值操作的表达式,用于过程赋值和连续赋值语句 | |
调用其他 | 可以调用其他任务和函数,但不能被函数调用 | 只能调用函数,不能调用任务 | |
其他说明 | 任务调用语句作为一条完整的语句出现 | 函数调用语句不能单独作为一条语句,出现只能作为赋值语句的右端操作数 |