7c16fa2549cc815df7f28035366fb1ed9bf878ad
[fleet.git] / tests / memory / memory-test.fleet
1 // output ///////////////////////////////////////////////////////////////////
2 #expect 14
3 #expect 13
4 #expect 12
5 #expect 11
6
7 // program //////////////////////////////////////////////////////////////////
8 #ship debug        : Debug
9 #ship memory       : Memory
10 #ship fifo         : Fifo
11
12 // dumb configurations
13 debug.in:           [*] take, deliver;
14 memory.inAddrRead:  [*] take, deliver;
15
16 // send write-completion tokens to the fifo output
17 memory.out:
18   [4] take, notify fifo.out;
19   [*] take, sendto debug.in;
20
21 memory.inAddrWrite: literal 1; deliver;
22 memory.inDataWrite: literal 11; deliver;
23
24 memory.inAddrWrite:  literal 2; deliver;
25 memory.inDataWrite:  literal 12; deliver;
26
27 memory.inAddrWrite:  literal 3; deliver;
28 memory.inDataWrite:  literal 13; deliver;
29
30 memory.inAddrWrite:  literal 4; deliver;
31 memory.inDataWrite:  literal 14; deliver;
32
33 // when the write-completion tokens accumulate, unleash
34 // the read addresses
35 fifo.out:
36   [4] wait;
37   [4] take, sendto memory.inAddrRead;
38
39 fifo.in:
40   literal 4; deliver;
41   literal 3; deliver;
42   literal 2; deliver;
43   literal 1; deliver;
44
45
46