11 wire a_fell; assign a_fell = $fell(a, @(posedge clk));
12 wire a_rose; assign a_rose = $rose(a, @(posedge clk));
13 wire a_stable; assign a_stable = $stable(a, @(posedge clk));
15 wire b_fell; assign b_fell = $fell(b, @(posedge clk));
16 wire b_rose; assign b_rose = $rose(b, @(posedge clk));
17 wire b_stable; assign b_stable = $stable(b, @(posedge clk));
19 wire c_fell; assign c_fell = $fell(c, @(posedge clk));
20 wire c_rose; assign c_rose = $rose(c, @(posedge clk));
21 wire c_stable; assign c_stable = $stable(c, @(posedge clk));
23 always @(posedge clk) begin
24 counter <= counter + 1;
28 assert property ( $fell(a) && !$rose(a) && !$stable(a));
29 assert property (!$fell(b) && $rose(b) && !$stable(b));
30 assert property (!$fell(c) && !$rose(c) && $stable(c));
31 a <= 1; b <= 1; c <= 1;
33 1: begin a <= 0; b <= 1; c <= 'x; end
35 assert property ( $fell(a) && !$rose(a) && !$stable(a));
36 assert property (!$fell(b) && !$rose(b) && $stable(b));
37 assert property (!$fell(c) && !$rose(c) && !$stable(c));
38 a <= 0; b <= 0; c <= 0;
40 3: begin a <= 0; b <= 1; c <= 'x; end
42 assert property (!$fell(a) && !$rose(a) && $stable(a));
43 assert property (!$fell(b) && $rose(b) && !$stable(b));
44 assert property (!$fell(c) && !$rose(c) && !$stable(c));
45 a <= 'x; b <= 'x; c <= 'x;
47 5: begin a <= 0; b <= 1; c <= 'x; counter <= 0; end