You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
`%clock` is an `i1` value (e.g. a module clock); `<edge>` is `posedge`, `negedge`, or `edge`. For example, `ltl.clocked_delay %clk, posedge, %s, 3` means `%s` must hold 3 cycles later on `%clk` rising edges.
178
+
179
+
`ltl.delay` is unclocked and may be resolved by an enclosing `ltl.clock` or by the `InferLTLClocks` pass. `ltl.clock` globally associates a sequence/property with a clock/edge; `ltl.clocked_delay` carries an explicit per-delay clock.
180
+
181
+
Examples:
182
+
183
+
```mlir
184
+
ltl.delay %s, 3
185
+
ltl.delay %s, 3, 0
186
+
ltl.clocked_delay %clk, posedge, %s, 3, 0
187
+
```
188
+
163
189
164
190
### Disable Iff
165
191
@@ -273,13 +299,13 @@ where the `logic_to_int` conversion is only necessary if `%cond` is 4-valued.
273
299
```mlir
274
300
%ds1 = ltl.delay %s1, 1
275
301
%s1s2 = ltl.concat %ds1, %s2 : !ltl.sequence
276
-
```
302
+
```
277
303
278
304
-**`s1 ##[*] s2`**:
279
305
```mlir
280
306
%ds1 = ltl.delay %s1, 0
281
307
%s1s2 = ltl.concat %ds1, %s2 : !ltl.sequence
282
-
```
308
+
```
283
309
284
310
-**`s1 and s2`**:
285
311
```mlir
@@ -369,12 +395,12 @@ ltl.not %s1 : !ltl.sequence
369
395
-**`nexttime p`**:
370
396
```mlir
371
397
ltl.delay %p, 1, 0 : !ltl.sequence
372
-
```
398
+
```
373
399
374
400
-**`nexttime[n] p`**:
375
401
```mlir
376
402
ltl.delay %p, n, 0 : !ltl.sequence
377
-
```
403
+
```
378
404
379
405
-**`s_nexttime p`**: not really distinguishable from the weak version in CIRCT.
380
406
-**`s_nexttime[n] p`**: not really distinguishable from the weak version in CIRCT.
0 commit comments