-`include "macros.v"
-
-// fifo *ship*: a 16-deep word-wide fifo
-module fifo (clk,
- in_r, in_a, in_d,
- out_r, out_a, out_d);
-
- input clk;
- input in_r;
- input out_a;
- output in_a;
- output out_r;
- input [(`DATAWIDTH-1):0] in_d;
- output [(`DATAWIDTH-1):0] out_d;
-
- wire [(`DATAWIDTH-1):0] d12;
- wire [(`DATAWIDTH-1):0] d23;
- wire [(`DATAWIDTH-1):0] d34;
-
- fifo4 s1(clk, in_r, in_a, in_d, r12, a12, d12);
- fifo4 s2(clk, r12, a12, d12, r23, a23, d23);
- fifo4 s3(clk, r23, a23, d23, r34, a34, d34);
- fifo4 s4(clk, r34, a34, d34, out_r, out_a, out_d);
-
-endmodule
+
+// 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;
+
+