Re: Initial Statement
The initial statement is not synthesizable. It is used only in simulation. In the testbench, initial statement is used to force the initial test cases for a simulation,ie, when the simulation starts what values the signals drive is determined by the initial statement.
It is always better to use non-blocking statements in the initial block as we want all the signals in the initial block to get their initial values when simulation starts. You can also use blocking statements to determine the order in which the signals get their initial values.