Digital Logic Design Using Verilog: Coding and RTL Synthesis