Advanced Chip Design, Practical Examples in Verilog