- Modulus, exponent, arithmetic shift, case equality are non-synthesizable
- Incomplete branches are non-synthesizable
- Mixed edge/level signal are non-synthesizable ⇒ do not use
- incomplete if-else statement (mux)
- also implies the statement with redundant branch (i.e.,
y = y
) - add extra level (latch)
- also implies the statement with redundant branch (i.e.,
- Two ways to avoid latch
- initialize reg
- complete branch