在verilog中,函数和任务均用来描述共同的代码段,并且在模式内任意位置被调用,提高代码效率,让代码更加的直观,提高代码可读性。但是在实际使用的过程中,函数和任务也存在诸多的不同,下面将对而这进行对比,方便学习理解。
比较 | 函数 | 任务 |
---|---|---|
输入 | 函数至少需要包含一个输入,端口类型不能包含inout类型 | 任务可以没有或者有多个输入,且端口声明可以为inout类型 |
输出 | 函数无输出 | 任务可以没有或者有多个输出 |
返回值 | 函数有至少一个返回值 | 任务无返回值 |
仿真时间 | 函数从零时刻开始执行 | 任务可以在非零时刻执行 |
时序逻辑 | 函数不包含时序逻辑 | 任务不能出现always语句,但是可以使用延时之类的语句 |
调用 | 函数可以调用函数但是不能调用任务 | 任务可以调用任务和函数 |
语法规范 | 函数只能出现在赋值语句的右端 | 任务可以作为单独的语句出现 |
全部0条评论
快来发表一下你的评论吧 !