blob: 6790140ec8cfbcc0727e74e0cd667cda2bff0cd5 (
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
enum signal = {Low, High}
enum enum_single = {SingleConstructor}
type byte = bits(8)
type b32 = bits(32)
type b64 = bits(64)
register R64 : b64
register R32 : b32
register R8 : byte
register SIGNALREG : signal
struct TestStruct = {
field1 : bits(2),
field2 : byte,
field3 : bool
}
register SREG : TestStruct
register OREG : option(byte)
val main : unit -> unit effect {rreg, wreg}
function main () = {
R8 = 0xFF;
SIGNALREG = Low;
print(if SIGNALREG == Low then "pass" else "fail");
SIGNALREG = High;
print(if SIGNALREG == High then "pass" else "fail");
SREG.field1 = 0b00;
print(if SREG.field1 == 0b00 then "pass" else "fail");
SREG.field1 = 0b11;
print(if SREG.field1 == 0b11 then "pass" else "fail");
print("pass")
}
|