Verilog HDL - A Guide To Digital Design And Synthesis