task和function均可在module、interface、package和class中定义,并实现一些功能。function执行后须即刻返回,无法内置阻塞等待语句,在声明时需指定返回值(包括void)。task执行后无须即刻返回,可以内置阻塞等待语句(wait、#、@),返回数值只能依靠参数列表中的参数。
关键词:
task,function
避坑指南:
function可以调用function,但不建议调用task(因为task可能内置阻塞等待语句);task既可以调用task,也可以调用function。
参考代码: sv_function_task.sv
阅读手记: