summaryrefslogtreecommitdiff
path: root/tests/sva/basic01.sv
blob: 74ab9343035d8e7dea13ae521a05e9e476021e86 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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