Using SystemVerilog for ASIC and FPGA Design