顺序块和并行块

顺序块和并行块,顾名思义,顺序块就是在这个块开始之后语句按顺序一条一条执行,上一条执行完才能执行下一条,若上一条语句产生了死循环,那么下一条语句就不可能再执行,这个块就永远不会结束。而并行块就是这个块开始的时候,块中所有的语句同时执行。

顺序块的格式: 

begin
    <...>
end

并行块的格式:

fork
    <...>
join

用法举例:

  

begin
    #50 Clk = 1;
    #50 Clk = 0;
    #50 Clk = 1;
    #50 Clk = 0;
end

fork
    #50   Clk = 1;
    #100  Clk = 0;
    #150  Clk = 1;
    #200  Clk = 0;
join

这两段代码的作用是一样的,都是产生2个周期的Clk。顺序块在开始之后,延时50个时间单位Clk翻转为1,再延时50个时间单位后,Clk翻转为0...

而并行块开始执行之后,4条语句同一时刻开始执行,不同点是第一条语句在开始时刻之后第50个时间单位时执行,而第二条语句在开始时刻之后的第100个时间单位去执行...

原文地址:https://www.cnblogs.com/kl2blog/p/6581167.html