@@ -387,9 +387,7 @@ module SampleValueBuiltins #() (
387387 // CHECK-NEXT: [[C2_INT:%.+]] = moore.logic_to_int [[C2]] : l1
388388 // CHECK-NEXT: [[CURRENT:%.+]] = moore.to_builtin_int [[C2_INT]] : i1
389389 // CHECK-NEXT: [[PAST:%.+]] = ltl.past [[CURRENT]], 1 : i1
390- // CHECK-NEXT: [[TRUE:%.+]] = hw.constant true
391- // CHECK-NEXT: [[NOTPAST:%.+]] = comb.xor [[PAST]], [[TRUE]] : i1
392- // CHECK-NEXT: [[NOTPASTANDCURRENT:%.+]] = ltl.and [[CURRENT]], [[NOTPAST]] : i1, i1
390+ // CHECK-NEXT: [[ROSE:%.+]] = comb.icmp ult [[PAST]], [[CURRENT]] : i1
393391 rising_clk : assert property (@ (posedge clk_i) clk_i | => $rose (clk_i));
394392 // CHECK: moore.procedure always {
395393 // CHECK-NEXT: [[C:%.+]] = moore.read [[CLKWIRE]] : <l1>
@@ -399,8 +397,7 @@ module SampleValueBuiltins #() (
399397 // CHECK-NEXT: [[C2_INT:%.+]] = moore.logic_to_int [[C2]] : l1
400398 // CHECK-NEXT: [[CURRENT:%.+]] = moore.to_builtin_int [[C2_INT]] : i1
401399 // CHECK-NEXT: [[PAST:%.+]] = ltl.past [[CURRENT]], 1 : i1
402- // CHECK-NEXT: [[NOTCURRENT:%.+]] = ltl.not [[CURRENT]] : i1
403- // CHECK-NEXT: [[PASTANDNOTCURRENT:%.+]] = ltl.and [[NOTCURRENT]], [[PAST]] : !ltl.property, i1
400+ // CHECK-NEXT: [[FELL:%.+]] = comb.icmp ugt [[PAST]], [[CURRENT]] : i1
404401 falling_clk : assert property (@ (posedge clk_i) clk_i | => $fell (clk_i));
405402 // CHECK: moore.procedure always {
406403 // CHECK-NEXT: [[C:%.+]] = moore.read [[CLKWIRE]] : <l1>
@@ -410,11 +407,7 @@ module SampleValueBuiltins #() (
410407 // CHECK-NEXT: [[C2_INT:%.+]] = moore.logic_to_int [[C2]] : l1
411408 // CHECK-NEXT: [[CURRENT:%.+]] = moore.to_builtin_int [[C2_INT]] : i1
412409 // CHECK-NEXT: [[PAST:%.+]] = ltl.past [[CURRENT]], 1 : i1
413- // CHECK-NEXT: [[NOTPAST:%.+]] = ltl.not [[PAST]] : i1
414- // CHECK-NEXT: [[NOTCURRENT:%.+]] = ltl.not [[CURRENT]] : i1
415- // CHECK-NEXT: [[PASTANDCURRENT:%.+]] = ltl.and [[CURRENT]], [[PAST]] : i1, i1
416- // CHECK-NEXT: [[NOTPASTANDNOTCURRENT:%.+]] = ltl.and [[NOTCURRENT]], [[NOTPAST]] : !ltl.property, !ltl.property
417- // CHECK-NEXT: [[STABLE:%.+]] = ltl.or [[PASTANDCURRENT]], [[NOTPASTANDNOTCURRENT]] : i1, !ltl.property
410+ // CHECK-NEXT: [[STABLE:%.+]] = comb.icmp eq [[PAST]], [[CURRENT]] : i1
418411 stable_clk : assert property (@ (posedge clk_i) clk_i | => $stable (clk_i));
419412 // CHECK: moore.procedure always {
420413 // CHECK-NEXT: [[C:%.+]] = moore.read [[CLKWIRE]] : <l1>
@@ -424,7 +417,7 @@ module SampleValueBuiltins #() (
424417 // CHECK-NEXT: [[C2_INT:%.+]] = moore.logic_to_int [[C2]] : l1
425418 // CHECK-NEXT: [[CURRENT:%.+]] = moore.to_builtin_int [[C2_INT]] : i1
426419 // CHECK-NEXT: [[PAST:%.+]] = ltl.past [[CURRENT]], 1 : i1
427- // CHECK-NEXT: [[STABLE :%.+]] = comb.icmp ne [[PAST]], [[CURRENT]] : i1
420+ // CHECK-NEXT: [[CHANGED :%.+]] = comb.icmp ne [[PAST]], [[CURRENT]] : i1
428421 changed_clk : assert property (@ (posedge clk_i) clk_i | => $changed (clk_i));
429422 // CHECK: moore.procedure always {
430423 // CHECK-NEXT: [[C:%.+]] = moore.read [[CLKWIRE]] : <l1>
0 commit comments