|
From: Martin W. <mai...@ma...> - 2016-04-08 08:09:54
|
Alan Manuel Gloria wrote: > In particular, always_comb is not precisely the same as always@*; > always_comb executes its contents at startup immediately, then blocks on > sensitivity list. So instead of always@* begin foo; bar; end, it's more > like always begin foo; bar; @*; end This hack is because constant wires > and parameters might not trigger @*, leading to an RTL-vs-gate mismatch > during simulation startup if you use always@*. That's not too hard to implement. What will take more work will be the differences in the implied sensitivity list - in particular the sensitivity to the contents of called functions. Then there's the additional checks for delays and multiple assignments... Martin |