get rid of ChainControls
[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:           set ilc=*;  recv, deliver;
14 memory.inAddrRead:  set ilc=*;  recv, deliver;
15
16 // send write-completion tokens to the fifo output
17 memory.out:
18   set ilc=4;  collect, send token to fifo.out;
19   set ilc=*;  collect, send to debug.in;
20
21 memory.inAddrWrite: set word= 1; deliver;
22 memory.inDataWrite: set word= 11; deliver;
23
24 memory.inAddrWrite:  set word= 2; deliver;
25 memory.inDataWrite:  set word= 12; deliver;
26
27 memory.inAddrWrite:  set word= 3; deliver;
28 memory.inDataWrite:  set word= 13; deliver;
29
30 memory.inAddrWrite:  set word= 4; deliver;
31 memory.inDataWrite:  set word= 14; deliver;
32
33 // when the write-completion tokens accumulate, unleash
34 // the read addresses
35 fifo.out:
36   set ilc=4;  recv token;
37   set ilc=4;  collect, send to memory.inAddrRead;
38
39 fifo.in:
40   set word= 4; deliver;
41   set word= 3; deliver;
42   set word= 2; deliver;
43   set word= 1; deliver;
44
45
46