a7946f50aed5de23b3c29c6e1c069209b9f90200
[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
15 /*
16 double(a -> out) =
17   alu :: Alu2
18   a       --> alu.in1, alu.in2
19   0       --> alu.inOp
20   alu.out --> out
21
22
23 half(a -> out) =
24   shift :: Shift
25   a            --> shift.in
26   1            --> shift.inAmount
27   shift.out    --> out
28
29 thrice(a -> out) =
30   alu :: Alu2
31   a         -->    alu.in1, alu.in2, alu.in2
32   0         -[2]-> alu.inOp
33   { alu.out -->    alu.in2
34     alu.out -->    alu.out
35   }
36 */