== 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_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;
+ assign out_d_ = in_d;
+ assign out_r_ = in_r;
- input data_debug_data_r;
- output data_debug_data_a;
- input [`DATAWIDTH:0] data_debug_data;
+ always @(posedge clk) begin
+ if (!rst) begin
+ `reset
+ end else begin
+ `flush
+ in_a <= out_a;
+ end
+ end
- output data_debug_out_r;
- input data_debug_out_a;
- output [`DATAWIDTH:0] data_debug_out;
+== Test ================================================================
+#expect 25
- 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;
+#ship debug : Debug
-endmodule
+debug.in:
+ set word= 25;
+ deliver;
== Contributors =========================================================
Adam Megacz <megacz@cs.berkeley.edu>