设计者常需要在程序的多个不同地方实现同样的功能,这就有必要将这些公共的部分提取出来,将其组成子程序,然后在有需要的地方调用这些子程序。
一、任何和函数的区别
函数 | 任务 |
---|---|
函数能调用另一个函数,但不能调用另一个任务 | 任务能调用另一个任务,也能调用另一个函数 |
函数总是在仿真时刻0就开始执行 | 任务可以在非零仿真时刻进行 |
函数一定不能包含任何延迟、事件或者时序控制声明语句 | 任务可以包含延迟、事件或者时序控制声明语句 |
函数至少有一个输入变量,函数可以有多个输入变量 | 任务可以没有或者有多个输入、输出和双向变量 |
函数只能返回一个值,函数不能有输出或者双向变量 | 任务不返回任何值,任务可以通过输出或双向变量传递多个值 |
二、任务
任务使用关键字task和endtask进行声明,如果子程序满足以下任意一个条件,则必须使用任务而不能使用函数: </