systemverilog fork join入坑问题1

  error code
fork 
    ...
join_any
disable fork;

  如果需要在fork-join_any后使用disbale fork,为了防止误杀线程,需要添加fork begin - join将原代码保住

  right code
fork begin
    fork 
      ...
    join_any
    disable fork;
  end
join

比如在task中存在disable fork,且tash_inst被并行执行两次

fork
  task_inst(0);
  task_inst(1);
join

其中task_int(0)早于task_inst(1)完成,那么当调用task_inst(0)完成时,会将task_inst(1)误杀

原文地址:https://www.cnblogs.com/dreamCll/p/14852732.html