Verilog 2001 by Stuart Sutherland