Cblock
Transform simple, purely combinational always and
always_comb blocks into corresponding assign statements, replacing
registers with wiring.
Some basic criteria for treating an always block as
combinational:
Subtopics
- Vl-stmt-cblock-p
- Recognizer for very restricted statements that we (potentially)
support in combinational always blocks; i.e., the valid guts for always
@@(a or b or ...) guts.
- Cblock-path-checking
- How we check whether all of the variables assigned to in an always
block are, indeed, assigned to in all paths. In other words: how we know that
we don't need to infer a latch.
- Cblock-expression-building
- Convert a combinational always block into assignments.
- Vl-stmt-cblock-lvalexprs
- Collect expressions used in left-hand side positions.
- Vl-stmt-cblock-rvalexprs
- Collect expressions used in right-hand side positions (and
if-statement conditions.)
- Vl-classic-control->exprs
- Simply get, e.g., (a b c ...) from @@(a or b or c or ...)
- Vl-classic-control-p
- Recognize Verilog-1995 style @(a or b or c or ...) sensitivity lists.
- Vl-star-control-p
- Recognize Verilog-2001 style @(*) sensitivity lists.