【SV_线程】

线程

  • 相比Verilog,SV引入了两种新的创建线程的方法——使用fork...join_nonefork...join_any语句,三者对比如下图所示

【SV_线程】_第1张图片

  • fork ...join: 父线程被阻塞,直到这个分支产生的所有子线程完成才继续执行父线程;
  • fork...join_any: 父线程被阻塞,直到由此分支产生的任何一个线程完成才继续父线程(子线程同时继续执行);
  • fork...join_none: 父线程继续与fork产生的所有子线程同时执行。 生成的子线程不会开始执行,直到父线程执行阻塞语句或终止;

如果看到这里还是有些模糊,我们继续向下看看三种线程运动起来的情况

【SV_线程】_第2张图片
【SV_线程】_第3张图片
【SV_线程】_第4张图片

是不是清晰了很多

你可能感兴趣的:(#,基础知识,fpga开发)