6.7 Known issues

Verilog integers are 32 bit wide
Usually, Verilog integers are 32 bit wide. In contrast, Python is moving toward integers with undefined width. Python int and long variables are mapped to Verilog integers; so for values wider than 32 bit this mapping is incorrect.

Synthesis pragmas are specified as Verilog comments.
The recommended way to specify synthesis pragmas in Verilog is through attribute lists. However, the Icarus simulator doesn't support them for case statements (to specify parallel_case and full_case pragmas). Therefore, the old but deprecated method of synthesis pragmas in Verilog comments is still used.

Inconsistent place of the sensitivity list inferred from always_comb.
The semantics of always_comb, both in Verilog and MyHDL, is to have an implicit sensitivity list at the end of the code. However, this may not be synthesizable. Therefore, the inferred sensitivity list is put at the top of the corresponding always block. This may cause inconsistent behavior at the start of the simulation. The workaround is to create events at time 0.

Non-blocking assignments to task arguments don't work.
Non-blocking (signal) assignments to task arguments don't work for an as yet unknown reason.

About this document