Digital Design and Synthesis with Verilog HDL