summaryrefslogtreecommitdiff
path: root/test/smt/basic_1.sat.sail
blob: a4c796607c6e3ee0f2281174c4e977601352baaa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
default Order dec

$include <flow.sail>
$include <arith.sail>
$include <vector_dec.sail>

enum E = A | B | C

struct S = {
  field1 : bits(8),
  field2 : bits(16),
  field3 : E
}

register R1 : bits(16)
register R2 : bits(8)

$property
function prop(x: bool) -> bool = {
  if x then {
    R1 = 0x007F
  } else {
    R1 = 0xFFFF
  };
  R1 == sail_zero_extend(R2, 16)
}