Digital Design (Verilog) by Peter J. Ashenden & Peter Ashenden