You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is legal, as long as you remember that "always @(a|b)" isn't the same as "always @(a or b)".
This came up before in Bug #934 but was not resolved. It sounded like this would need deep changes to Verilator. But would it not be possible to do it by a simple transformation? I.e. any time you see
always @(expr1 or ...) ..
and an expression is not simple, just introduce an assign:
assign tmp1234 = expr1;
always @(tmp1234 ...)
This is exactly the transformation you would do at the source level if working around this Verilator limitation. So there would be no impact on Verilator's simulation engine. Unless I'm missing something?
The text was updated successfully, but these errors were encountered:
Original Redmine Comment
Author Name: Wilson Snyder (@wsnyder)
Original Date: 2019-05-01T22:32:34Z
Verilator doesn't really do anything with sensitivity lists except posedge/negedge handling; it basically is following synthesis rules, not event simulator rules. If you add the wire as you suggest it will act just as if it's in an "always @*", which is unlikely to be what you want.
Author Name: Al Grant
Original Redmine Issue: 1425 from https://www.veripool.org
Items in sensitivity lists can be expressions:
This is legal, as long as you remember that "always @(a|b)" isn't the same as "always @(a or b)".
This came up before in Bug #934 but was not resolved. It sounded like this would need deep changes to Verilator. But would it not be possible to do it by a simple transformation? I.e. any time you see
and an expression is not simple, just introduce an assign:
This is exactly the transformation you would do at the source level if working around this Verilator limitation. So there would be no impact on Verilator's simulation engine. Unless I'm missing something?
The text was updated successfully, but these errors were encountered: