module top (input logic clock, ctrl); logic read = 0, write = 0, ready = 0; always @(posedge clock) begin read <= !ctrl; write <= ctrl; ready <= write; end a_rw: assert property ( @(posedge clock) !(read && write) ); `ifdef FAIL a_wr: assert property ( @(posedge clock) write |-> ready ); `else a_wr: assert property ( @(posedge clock) write |=> ready ); `endif endmodule