@@ -48,6 +48,23 @@ hw.module @AssertEnableFalse(in %a : i1) {
4848 verif.assert %a if %false : i1
4949}
5050
51+ // CHECK-LABEL: @AssertEnableFalseLabeled
52+ hw.module @AssertEnableFalseLabeled (in %a : i1 ) {
53+ %false = hw.constant false
54+ // CHECK: verif.assert %true label "foo" : i1
55+ // CHECK-NOT: if
56+ verif.assert %a if %false label " foo" : i1
57+ }
58+
59+ // CHECK-LABEL: @AssertEnableFalseBooleanConstantTrueLabeled
60+ hw.module @AssertEnableFalseBooleanConstantTrueLabeled () {
61+ %false = hw.constant false
62+ %prop = ltl.boolean_constant true
63+ // CHECK: [[PROP:%.+]] = ltl.boolean_constant true
64+ // CHECK: verif.assert [[PROP]] label "foo" : !ltl.property
65+ verif.assert %prop if %false label " foo" : !ltl.property
66+ }
67+
5168// CHECK-LABEL: @AssertBooleanConstantTrue
5269hw.module @AssertBooleanConstantTrue () {
5370 %prop = ltl.boolean_constant true
@@ -56,6 +73,14 @@ hw.module @AssertBooleanConstantTrue() {
5673 // CHECK: hw.output
5774}
5875
76+ // CHECK-LABEL: @AssertBooleanConstantTrueLabeled
77+ hw.module @AssertBooleanConstantTrueLabeled () {
78+ %prop = ltl.boolean_constant true
79+ // CHECK: [[PROP:%.+]] = ltl.boolean_constant true
80+ // CHECK: verif.assert [[PROP]] label "foo" : !ltl.property
81+ verif.assert %prop label " foo" : !ltl.property
82+ }
83+
5984// CHECK-LABEL: @AssertHWConstantTrue
6085hw.module @AssertHWConstantTrue () {
6186 %true = hw.constant true
@@ -64,6 +89,13 @@ hw.module @AssertHWConstantTrue() {
6489 // CHECK: hw.output
6590}
6691
92+ // CHECK-LABEL: @AssertHWConstantTrueLabeled
93+ hw.module @AssertHWConstantTrueLabeled () {
94+ %true = hw.constant true
95+ // CHECK: verif.assert %true label "foo" : i1
96+ verif.assert %true label " foo" : i1
97+ }
98+
6799// CHECK-LABEL: @AssertEnableTrue
68100hw.module @AssertEnableTrue (in %a : i1 ) {
69101 %true = hw.constant true
@@ -92,6 +124,14 @@ hw.module @AssumeEnableFalse(in %a : i1) {
92124 verif.assume %a if %false : i1
93125}
94126
127+ // CHECK-LABEL: @AssumeEnableFalseLabeled
128+ hw.module @AssumeEnableFalseLabeled (in %a : i1 ) {
129+ %false = hw.constant false
130+ // CHECK: verif.assume %true label "foo" : i1
131+ // CHECK-NOT: if
132+ verif.assume %a if %false label " foo" : i1
133+ }
134+
95135// CHECK-LABEL: @AssumeBooleanConstantTrue
96136hw.module @AssumeBooleanConstantTrue () {
97137 %prop = ltl.boolean_constant true
@@ -100,6 +140,14 @@ hw.module @AssumeBooleanConstantTrue() {
100140 // CHECK: hw.output
101141}
102142
143+ // CHECK-LABEL: @AssumeBooleanConstantTrueLabeled
144+ hw.module @AssumeBooleanConstantTrueLabeled () {
145+ %prop = ltl.boolean_constant true
146+ // CHECK: [[PROP:%.+]] = ltl.boolean_constant true
147+ // CHECK: verif.assume [[PROP]] label "foo" : !ltl.property
148+ verif.assume %prop label " foo" : !ltl.property
149+ }
150+
103151// CHECK-LABEL: @AssumeHWConstantTrue
104152hw.module @AssumeHWConstantTrue () {
105153 %true = hw.constant true
@@ -108,6 +156,13 @@ hw.module @AssumeHWConstantTrue() {
108156 // CHECK: hw.output
109157}
110158
159+ // CHECK-LABEL: @AssumeHWConstantTrueLabeled
160+ hw.module @AssumeHWConstantTrueLabeled () {
161+ %true = hw.constant true
162+ // CHECK: verif.assume %true label "foo" : i1
163+ verif.assume %true label " foo" : i1
164+ }
165+
111166// CHECK-LABEL: @AssumeEnableTrue
112167hw.module @AssumeEnableTrue (in %a : i1 ) {
113168 %true = hw.constant true
@@ -192,6 +247,13 @@ hw.module @ClockedAssertEnableFalse(in %clock : i1, in %a : i1) {
192247 verif.clocked_assert %a if %false , posedge %clock : i1
193248}
194249
250+ // CHECK-LABEL: @ClockedAssertEnableFalseLabeled
251+ hw.module @ClockedAssertEnableFalseLabeled (in %clock : i1 , in %a : i1 ) {
252+ %false = hw.constant false
253+ // CHECK: verif.clocked_assert %true, posedge %false label "foo" : i1
254+ verif.clocked_assert %a if %false , posedge %clock label " foo" : i1
255+ }
256+
195257// CHECK-LABEL: @ClockedAssertBooleanConstantTrue
196258hw.module @ClockedAssertBooleanConstantTrue (in %clock : i1 ) {
197259 %prop = ltl.boolean_constant true
@@ -200,6 +262,14 @@ hw.module @ClockedAssertBooleanConstantTrue(in %clock : i1) {
200262 // CHECK: hw.output
201263}
202264
265+ // CHECK-LABEL: @ClockedAssertBooleanConstantTrueLabeled
266+ hw.module @ClockedAssertBooleanConstantTrueLabeled (in %clock : i1 ) {
267+ %prop = ltl.boolean_constant true
268+ // CHECK: [[PROP:%.+]] = ltl.boolean_constant true
269+ // CHECK: verif.clocked_assert [[PROP]], posedge %false label "foo" : !ltl.property
270+ verif.clocked_assert %prop , posedge %clock label " foo" : !ltl.property
271+ }
272+
203273// CHECK-LABEL: @ClockedAssertHWConstantTrue
204274hw.module @ClockedAssertHWConstantTrue (in %clock : i1 ) {
205275 %true = hw.constant true
@@ -208,6 +278,13 @@ hw.module @ClockedAssertHWConstantTrue(in %clock : i1) {
208278 // CHECK: hw.output
209279}
210280
281+ // CHECK-LABEL: @ClockedAssertHWConstantTrueLabeled
282+ hw.module @ClockedAssertHWConstantTrueLabeled (in %clock : i1 ) {
283+ %true = hw.constant true
284+ // CHECK: verif.clocked_assert %true, posedge %false label "foo" : i1
285+ verif.clocked_assert %true , posedge %clock label " foo" : i1
286+ }
287+
211288//===----------------------------------------------------------------------===//
212289// ClockedAssumeOp
213290//===----------------------------------------------------------------------===//
@@ -229,6 +306,13 @@ hw.module @ClockedAssumeEnableFalse(in %clock : i1, in %a : i1) {
229306 verif.clocked_assume %a if %false , posedge %clock : i1
230307}
231308
309+ // CHECK-LABEL: @ClockedAssumeEnableFalseLabeled
310+ hw.module @ClockedAssumeEnableFalseLabeled (in %clock : i1 , in %a : i1 ) {
311+ %false = hw.constant false
312+ // CHECK: verif.clocked_assume %true, posedge %false label "foo" : i1
313+ verif.clocked_assume %a if %false , posedge %clock label " foo" : i1
314+ }
315+
232316// CHECK-LABEL: @ClockedAssumeBooleanConstantTrue
233317hw.module @ClockedAssumeBooleanConstantTrue (in %clock : i1 ) {
234318 %prop = ltl.boolean_constant true
@@ -237,6 +321,14 @@ hw.module @ClockedAssumeBooleanConstantTrue(in %clock : i1) {
237321 // CHECK: hw.output
238322}
239323
324+ // CHECK-LABEL: @ClockedAssumeBooleanConstantTrueLabeled
325+ hw.module @ClockedAssumeBooleanConstantTrueLabeled (in %clock : i1 ) {
326+ %prop = ltl.boolean_constant true
327+ // CHECK: [[PROP:%.+]] = ltl.boolean_constant true
328+ // CHECK: verif.clocked_assume [[PROP]], posedge %false label "foo" : !ltl.property
329+ verif.clocked_assume %prop , posedge %clock label " foo" : !ltl.property
330+ }
331+
240332// CHECK-LABEL: @ClockedAssumeHWConstantTrue
241333hw.module @ClockedAssumeHWConstantTrue (in %clock : i1 ) {
242334 %true = hw.constant true
@@ -245,6 +337,13 @@ hw.module @ClockedAssumeHWConstantTrue(in %clock : i1) {
245337 // CHECK: hw.output
246338}
247339
340+ // CHECK-LABEL: @ClockedAssumeHWConstantTrueLabeled
341+ hw.module @ClockedAssumeHWConstantTrueLabeled (in %clock : i1 ) {
342+ %true = hw.constant true
343+ // CHECK: verif.clocked_assume %true, posedge %false label "foo" : i1
344+ verif.clocked_assume %true , posedge %clock label " foo" : i1
345+ }
346+
248347//===----------------------------------------------------------------------===//
249348// ClockedCoverOp
250349//===----------------------------------------------------------------------===//
0 commit comments