SystemVerilog Assertions and Functional Coverage