Logic Design and Verification Using SystemVerilog (Revised)