// output ///////////////////////////////////////////////////////////////////
-#skip
#expect 14
#expect 13
#expect 12
#ship fifo : Fifo
// dumb configurations
-debug.in: [*] take, deliver;
-memory.inAddr: [*] take, deliver;
-memory.inData: [*] take, deliver;
-fifo.in: [*] take, deliver;
-
-// addresses and values to initialize the memory with
-1: sendto memory.inAddr.write;
-2: sendto memory.inAddr.write;
-3: sendto memory.inAddr.write;
-4: sendto memory.inAddr.write;
-11: sendto memory.inData;
-12: sendto memory.inData;
-13: sendto memory.inData;
-14: sendto memory.inData;
+debug.in: [*] take, deliver;
+memory.inAddrRead: [*] take, deliver;
// send write-completion tokens to the fifo output
memory.out:
- [4] take, notify fifo.out;
+ load repeat counter with 4; take, notify fifo.out;
[*] take, sendto debug.in;
+memory.inAddrWrite: literal 1; deliver;
+memory.inDataWrite: literal 11; deliver;
+
+memory.inAddrWrite: literal 2; deliver;
+memory.inDataWrite: literal 12; deliver;
+
+memory.inAddrWrite: literal 3; deliver;
+memory.inDataWrite: literal 13; deliver;
+
+memory.inAddrWrite: literal 4; deliver;
+memory.inDataWrite: literal 14; deliver;
+
// when the write-completion tokens accumulate, unleash
// the read addresses
fifo.out:
- [4] wait;
- [4] take, sendto memory.inAddr.read;
-
-// read addresses
-4: sendto fifo.in;
-3: sendto fifo.in;
-2: sendto fifo.in;
-1: sendto fifo.in;
+ load repeat counter with 4; wait;
+ load repeat counter with 4; take, sendto memory.inAddrRead;
+
+fifo.in:
+ literal 4; deliver;
+ literal 3; deliver;
+ literal 2; deliver;
+ literal 1; deliver;
+
+