A SystemVerilog Primer