Sequence of evaluation in the following non blocking code?
I assume there is a begin/end around the three assigment statements. Otherwise the code is legal. 

Because you are using non-blocking assignments (NBA) in your first example, A has the old value throughout the current time step. If you have 2 NBA to the same variable in the same timestep, the last one wins. So at the end of the timestep, A has the value A+1. After 5 cycles, it has the value A+5 Since you didn't specify how A gets initialized, that's the best answer you can get. Also realize that your code (enclosed by a single begin/end)is equivalent to

always @ (posedge clk) A &lt;= 1;
always @ (posedge clk) A &lt;= A+1;
always @ (posedge clk) B &lt;= A+1;


In the second example when executing A&lt;=A+1, A already is already updated to its new value, 1, so A would be 2. Note that blocking delays would not be allowed in synthesizable code.