Principles of verilog digital design. (2022)