【SV中的多线程fork...join/join_any/join_none】

SV中fork_join/fork_join_any/fork_join_none

  • 1 一目了然
    • 1.1 fork...join
    • 1.2 fork...join_any
    • 1.3 fork...join_none
  • 2 总结

SV中fork_join和fork_join_any和fork_join_none;
Note: fork_join在Verilog中也有,只有其他的两个是SV中独有的;

1 一目了然

1.1 fork…join

等所有并行线程执行完之后–再继续;
【SV中的多线程fork...join/join_any/join_none】_第1张图片

直接看图和testbench代码 仿真测试结果是最直接有效的理解手段;

1.2 fork…join_any

等任意一个并行线程执行完毕之后–再继续;
【SV中的多线程fork...join/join_any/join_none】_第2张图片

1.3 fork…join_none

不用等并行线程,直接执行父线程;

【SV中的多线程fork...join/join_any/join_none】_第3张图片

2 总结

fork join/join_any/join_none多线程使用再测试中是非常有用的;

你可能感兴趣的:(systemVerilog,多线程)