824f9e6d82fdede5c135b22f6678de53cb7e03ce
[fleet.git] / contrib / demo.f0
1
2 main(x -> out) =
3   alu :: Alu2
4   debug :: Debug
5   fifo1 :: Fifo
6   fifo2 :: Fifo
7   { 0, 1, 2 } --> fifo1.in
8   { 0, 3, 4 } --> fifo2.in
9   fifo1.out   --> alu.inOp, alu.in1, alu.in2
10   alu.out     --> debug.in
11   ;;
12   fifo2.out   --> alu.inOp, alu.in1, alu.in2
13   alu.out     --> debug.in
14   while alu.out > 3 {
15     3 --> debug.in
16   }
17
18 /*
19 double(a -> out) =
20   alu :: Alu2
21   a       --> alu.in1, alu.in2
22   0       --> alu.inOp
23   alu.out --> out
24
25
26 half(a -> out) =
27   shift :: Shift
28   a            --> shift.in
29   1            --> shift.inAmount
30   shift.out    --> out
31
32 thrice(a -> out) =
33   alu :: Alu2
34   a         -->    alu.in1, alu.in2, alu.in2
35   0         -[2]-> alu.inOp
36   { alu.out -->    alu.in2
37     alu.out -->    alu.out
38   }
39 */