blob: 9e666a145ba94dc76025c82a743a1d2aa20dbc7c (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
type t1 = enum { True, False, Error };
node #pragma kcg expand #end
mm(clock clk: t1; v: int when (clk match True)) returns(r: int)
var lr: int;
let
lr = 0 -> pre r;
r = merge(clk;
v;
lr when (clk match False);
-1 when (clk match Error));
tel
node test(i: int) returns (a, b, c: int; exit: bool)
var clock clk: t1;
let
exit = i >= 30;
clk = if i mod 5 = 0 then True else if i mod 9 = 8 then Error else False;
a = mm(clk, i when (clk match True));
b = if clk = True then 1 else 0;
c = if clk = Error then 1 else 0;
tel
|