// ships required in order to run this code #ship debug : Debug #ship dscratch : Dscratch #ship fifo : Fifo // dumb configurations debug.data: [*] take, deliver; dscratch.write_addr: [*] take, deliver; dscratch.write_data: [*] take, deliver; dscratch.read_addr: [*] take, deliver; fifo.in: [*] take, deliver; // addresses and values to initialize the dscratch with 1: sendto dscratch.write_addr; 2: sendto dscratch.write_addr; 3: sendto dscratch.write_addr; 4: sendto dscratch.write_addr; 11: sendto dscratch.write_data; 12: sendto dscratch.write_data; 13: sendto dscratch.write_data; 14: sendto dscratch.write_data; // send write-completion tokens to the fifo output dscratch.write_done: [*] take, sendto fifo.out; // when the write-completion tokens accumulate, unleash // the read addresses fifo.out: [4] wait; [4] take, sendto dscratch.read_addr; // read addresses 4: sendto fifo.in; 3: sendto fifo.in; 2: sendto fifo.in; 1: sendto fifo.in; // data read from dscratch goes to the debug ship dscratch.read_data: [*] take, sendto debug.data;