Hi,friend
Reading the veriligHDL book introducing the excution machenism about "=" and "<=" ;
From the software repect , how the VerilogHDL Compiler is working? decided by the Compiler itself.
For "=" :
Compiler excution start:
1st step : excute the b=a; time 0 -> 5(assume)
2nd step : excute the c=b; time 5 -> 10(assume)
3st step : excute the d =c; time 10 ->15(assume)
Compiler excution finished!
Ok, at time 15 d=a; The Compiler will give the last result :
d value given by a. <--------------
VS
For "<="
At the same time
excution start: posedge clk ,time 0
b<=a; time 0-6
c<=b; time 0-6
d<=c; time 0-6
excution finished! time 6
Now the Compiler need to considering these following cases:
b value given by a ;<------
c value given by b ;<------
d value given by c ;<------
The above analysis is considered from the behavior of the Compiler.
Of course, the behavior of the above Compiler is designed justly for verilogHDL used for describing the didital logical circuit.
The behavior of the Compiler will be reflected to the hardware, and it just needing 1 and 3 store cells for the "=" and "<=" case separately.
@ qieda, i thought it had syntax error at firstly, and now i see. It will be synthesied as a DFF . Good!