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>