ship: Fifo == Ports =========================================================== data in: in data out: out == Constants ======================================================== == TeX ============================================================== The {\tt Fifo} ship is a simple fifo. Word-sized delivered to the {\tt in} port are enqueued into the fifo, and values which arrive at the end of the fifo are provided to the {\tt out} port. The internal capacity of the fifo is unspecified, but guaranteed to be at least 16 words. == Fleeterpreter ==================================================== private Queue fifo = new LinkedList(); public void service() { if (box_in.dataReadyForShip()) { fifo.add(box_in.removeDataForShip()); } if (box_out.readyForDataFromShip() && fifo.size() > 0) { box_out.addDataFromShip(fifo.remove()); } } == FleetSim ============================================================== == FPGA ============================================================== // not used == Test ================================================================= // expected output #expect 9 // ships required in order to run this code #ship debug : Debug #ship fifo : Fifo debug.in: set ilc=*; recv, deliver; fifo.in: set word= 9; deliver; set ilc=63; recv, deliver; set ilc=37; recv, deliver; fifo.out: set ilc=63; collect, send to fifo.in; set ilc=36; collect, send to fifo.in; collect, send to debug.in; == Contributors ========================================================= Adam Megacz