ship: Debug == Ports =========================================================== 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_in.dataReadyForShip()) ((Interpreter)getFleet()).debug(box_in.removeDataForShip()); } == FleetSim ============================================================== == FPGA ============================================================== module debug (clk, rst, 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 rst; 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: set word= 25; deliver; == Contributors ========================================================= Adam Megacz