Digital Systems Design using Verilog