Verilog for Digital Design by Frank Vahid & Roman Lysecky