[ Team LiB ] Sequential and Parallel Blocks Block statements are used to group multiple statements to act together as one. In previous examples, we used keywords begin and end to group multiple statements. | Team LiB Sequential and Parallel Blocks Block statements are used to group multiple statements to act together as one. In previous examples we used keywords begin and end to group multiple statements. Thus we used sequential blocks where the statements in the block execute one after another. In this section we discuss the block types sequential blocks and parallel blocks. We also discuss three special features of blocks named blocks disabling named blocks and nested blocks. Block Types There are two types of blocks sequential blocks and parallel blocks. Sequential blocks The keywords begin and end are used to group statements into sequential blocks. Sequential blocks have the following characteristics The statements in a sequential block are processed in the order they are specified. A statement is executed only after its preceding statement completes execution except for nonblocking assignments with intra-assignment timing control . If delay or event control is specified it is relative to the simulation time when the previous statement in the block completed execution. We have used numerous examples of sequential blocks in this book. Two more examples of sequential blocks are given in Example 7-26. Statements in the sequential block execute in order. In Illustration 1 the final values are x 0 y 1 z 1 w 2 at simulation time 0. In Illustration 2 the final values are the same except that the simulation time is 35 at the end of the block. Example 7-26 Sequential Blocks Illustration 1 Sequential block without delay reg x y reg 1 0 z w initial begin x 1 b0 y 1 b1 z x y w y x end Illustration 2 Sequential blocks with delay. reg x y reg 1 0 z w initial begin x 1 b0 completes at simulation time 0 5 y 1 b1 completes at simulation time 5 10 z x y completes at simulation time 15 20 w y x completes at simulation time 35 end Parallel blocks Parallel blocks specified by keywords fork and join provide interesting simulation features. Parallel blocks have the following