update test cases to am33
[fleet.git] / ships / Debug.ship
index 0c3120a..e1af16d 100644 (file)
@@ -1,21 +1,62 @@
 ship: Debug
 
 == Ports ===========================================================
-data  in:   data
+data  in:   in
 
 == Constants ========================================================
 
 == TeX ==============================================================
 
+This ship is used for debugging.  It has only one port, {\tt in}.
+Programmers should send debug report values to this port.  How such
+values are reported back to the programmer doing the debugging is left
+unspecified.
+
+\subsection*{To Do}
+
+Provide an {\tt inOp} port and use opcode ports \cite{am25} to
+effectively allow multiple independent ``debug streams''
+
+Provide a way to programmatically read back the output of the debug
+ship.
+
 == 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
+
+debug.in:
+  literal 25;
+  deliver;
 
 == Contributors =========================================================
 Adam Megacz <megacz@cs.berkeley.edu>