added "mem" ship
[fleet.git] / contrib / demo.fleet
1 #include "contrib/demo.ships"
2
3 // values and addresses to write
4 1: sendto mem.write_addr;
5 2: sendto mem.write_addr;
6 3: sendto mem.write_addr;
7 9: sendto mem.write_data;
8 8: sendto mem.write_data;
9 7: sendto mem.write_data;
10
11 // memory write ports accept the values
12 mem.write_addr:  [*] take, deliver;
13 mem.write_data:  [*] take, deliver;
14
15 // once all three are written, cue the fifo
16 mem.write_done:
17   [3] take;
18   ack fifo.out;
19
20 // meanwhile, the fifo is sitting on a set of read addresses
21 fifo.in: [*] take, deliver;
22 1: sendto fifo.in;
23 2: sendto fifo.in;
24 3: sendto fifo.in;
25 1: sendto fifo.in;
26 1: sendto fifo.in;
27 1: sendto fifo.in;
28
29 // when it gets the ack, it issues them all to the memory read unit
30 fifo.out:
31   wait;
32   [*] take, sendto mem.read_addr;
33
34 // values read from memory go to debug (which accepts them)
35 mem.read_addr:   [*] take, deliver;
36 mem.read_data:   [*] take, sendto debug.data;
37 debug.data:      [*] take, deliver;
38