1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
module top ( input clk, input a, b, c, d ); default clocking @(posedge clk); endclocking assert property ( a |=> b throughout (c ##1 d) ); `ifndef FAIL assume property ( a |=> b && c ); assume property ( b && c |=> b && d ); `endif endmodule