A Practical Guide for SystemVerilog Assertions