How to write 'a signal should never have certain value before it attains some other value' in SystemVerilog assertion?
Such a condition requires a state machine, and cannot be done with simple assertions alone. You need to build the state machine, and then make an assertion that certain transitions cannot occur within that state machine.