Verilog HDL中的任务和函数比较

两者均不可综合,常用于测试

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

你可能感兴趣的:(FPGA,VerilogHDL)