VERILOG2125: Blocking and non-blocking assignments should not be mixed in the same “always” block
Summary
| Reliability | Security | Maintainability | Code attribute | Effort to fix | Tags |
|---|---|---|---|---|---|
| HIGH | - | - | Intentionality | Logical | 20min | synthesis, vscode, simulation, linter |
Description
Blocking and non-blocking assignments should not be mixed in the same always block.
Noncompliant code example
always @* begin y = 0; z <= 1; end
Compliant solution
always @* begin y = 0; z = 1; end
Articles & blog posts
Parameters
No parameters.