2017-07-22 05:31:08 -05:00
|
|
|
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) );
|
2017-07-27 04:42:05 -05:00
|
|
|
`ifdef FAIL
|
2017-07-22 05:31:08 -05:00
|
|
|
a_wr: assert property ( @(posedge clock) write |-> ready );
|
2017-07-27 04:42:05 -05:00
|
|
|
`else
|
|
|
|
a_wr: assert property ( @(posedge clock) write |=> ready );
|
|
|
|
`endif
|
2017-07-22 05:31:08 -05:00
|
|
|
endmodule
|