yosys/tests/sva/basic05.sv

20 lines
413 B
Systemverilog

module top (input logic clock, ctrl);
logic read, write, ready;
demo uut (
.clock(clock),
.ctrl(ctrl)
);
assign read = uut.read;
assign write = uut.write;
assign ready = uut.ready;
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