Fundamentals of Digital Logic with Verilog Design