在Verilog中我们对线程(即独立运行的程序,分为父线程和子线程)的使用有:
1、begin--end块 (顺序执行)
2、fork----join块 (并行执行)
而在SV中又增加了两种新的创建线程的方法:
1、fork join_any:只要有一个子线程优先完成就跳出fork join_any块,执行父线程。
2、fork join_none:直接跳出fork join_none块,执行父线程。
介于大家都对此有一定了解程度,那我就直接说重点:
1、fork join_any和fork join_none影响的都是父线程的执行。
2、delay的优先级最高,所有顺序都是按照时序执行。只有当delay相同时才会显现出fork join_any和fork join_none的区别,才会遵守上文所说规则。
有写不对的地方希望大家批评指正!