The Verilog Golden Reference Guide on page 12 warns against unsynthesisable always
blocks, and gives templates to be followed to reduce the chances of inadvertently creating unsynthesisable always
blocks. However, the guide does not explain why, and in which situations, an always
block is not synthesisable.
What are the most common reasons for an always
block to not be synthesisable?