1 // output ///////////////////////////////////////////////////////////////////
4 // program //////////////////////////////////////////////////////////////////
7 #ship bitfifo : BitFifo
10 // dumb configurations
11 debug.in: [*] take, deliver;
12 memory.inAddrRead: [*] take, deliver;
13 memory.inAddrWrite: [*] take, deliver;
14 memory.inDataWrite: [*] take, deliver;
17 fifo.in: deliver, notify fifo.out;
20 fifo.in: literal 5263;
21 fifo.out: wait, take, sendto debug.in;
24 literal 0; deliver; // six bits of leading zero (to wash out the codebag size)
25 literal FRED; deliver; // FRED = { address_of_fred[31], size_of_fred[6] }
27 // strip off bottom 6 bits
29 literal BitFifo.inOp[take=6]; deliver;
30 literal BitFifo.inOp[take=37]; deliver;
32 literal BitFifo.outOp[take=37]; deliver;
34 bitfifo.out: take, sendto memory.inAddrRead;
36 // value read out will be the instruction at FRED
37 memory.out: take, send;