— Variables on the left-hand side of assignments within
an always_comb procedure, including variables from the
contents of a called function, shall not
be written to by any other processes, whereas always @* permits multiple processes to write to the same
variable.
—
Statements
in an always_comb shall not include those that
block, have blocking timing or event controls, or fork..join statements.
The always_ff block
imposes the restriction that only one event control
is allowed it contains one and only one event
control and no blocking timing controls. Variables on the left-hand side of assignments within
an always_ff procedure, including variables
from the contents of a called function, shall not be written to by any other
process. Software tools can perform additional
checks to warn if the behavior within an always_ff procedure does not represent sequential logic.