Assertion-Based Verification using SystemVerilog