他们绝对被允许执行任务,但我无法找到,如果他们被允许参加任务。
提前感谢您的帮助。
答案 0 :(得分:2)
是的,函数中允许fork...join_none
。
如果fork
块与join_none
匹配,则只能在函数中使用。原因是函数必须在零时间内执行。因为fork...join_none
将被生成一个单独的线程/进程,所以该函数仍然可以在零时间内完成。
IEEE 1800-2012部分 13.4.4函数调用产生的后台进程
清楚地说明了这一点。函数应无延迟执行。因此,调用函数的进程应立即返回。在一个函数内应允许不阻止的语句;具体而言,应允许在函数内部使用非阻塞赋值,事件触发器,时钟驱动器和
fork - join_none
构造。
答案 1 :(得分:0)
我的模拟工具允许fork...join_none
功能,但会发出警告,fork...join
(可能fork...join_any
)将转换为begin...end
。我无法在标准中找到关于此的任何内容,这很可能是我没有得到严格编译错误的原因。
请注意,因为不同的模拟器供应商可能会实施不同的规则。在函数中的两个大3模拟器fork...join_none
肯定有效。 fork...join/join_any
在函数的上下文中没有意义,所以我会完全避免它。