update more test cases to use literal-at-pump
[fleet.git] / ships / Debug.ship
index 0c3120a..b1f1c17 100644 (file)
@@ -1,21 +1,57 @@
 ship: Debug
 
 == Ports ===========================================================
-data  in:   data
+data  in:   in
 
 == Constants ========================================================
 
 == TeX ==============================================================
+\begin{verbatim}
+
+TODO: have some way to log multiple separate streams; use sibling
+      ports to deliver an opcode
+
+TODO: have a way to programmatically read back the output of the debug
+      ship?
+
+\end{verbatim}
 
 == Fleeterpreter ====================================================
 public void service() {
-  if (box_data.dataReadyForShip())
-    ((Interpreter)getFleet()).debug(box_data.removeDataForShip());
+  if (box_in.dataReadyForShip())
+    ((Interpreter)getFleet()).debug(box_in.removeDataForShip());
 }
 
-== ArchSim ==============================================================
+== FleetSim ==============================================================
 
 == FPGA ==============================================================
+`include "macros.v"
+
+module debug (clk, data_debug_data_r, data_debug_data_a, data_debug_data,
+                   data_debug_out_r, data_debug_out_a, data_debug_out );
+  input clk;
+
+  input  data_debug_data_r;
+  output data_debug_data_a;
+  input  [`DATAWIDTH:0] data_debug_data;
+
+  output  data_debug_out_r;
+  input   data_debug_out_a;
+  output  [`DATAWIDTH:0] data_debug_out;
+
+  assign  data_debug_out_r  = data_debug_data_r;
+  assign  data_debug_data_a = data_debug_out_a;
+  assign  data_debug_out    = data_debug_data;
+
+endmodule
+
+== Test ================================================================
+#expect 25
+
+#ship debug : Debug
+
+25: sendto debug.in;
+debug.in: take, deliver;
 
 == Contributors =========================================================
 Adam Megacz <megacz@cs.berkeley.edu>