FPGA Systems Design and Practice: Design, Synthesis, Verification, and Prototyping in Verilog HDL