+++ /dev/null
-ship: Execute
-
-== Ports ===========================================================
-data in: in
-
-== Constants ========================================================
-== TeX ==============================================================
-== Fleeterpreter ====================================================
- public void service() {
- //throw new Error("the Execute ship is only for FPGA simulations");
- }
-
-== FleetSim ==============================================================
-== FPGA ==============================================================
-`include "macros.v"
-
-module execute (clk, in_r, in_a_, in_d,
- ihorn_r_, ihorn_a, ihorn_d_,
- dhorn_r_, dhorn_a, dhorn_d_
- );
- input clk;
-
- `input(in_r, in_a, in_a_, [(`DATAWIDTH-1):0], in_d)
- `output(ihorn_r, ihorn_r_, ihorn_a, [(`INSTRUCTION_WIDTH-1):0], ihorn_d_)
- `defreg(ihorn_d_, [(`INSTRUCTION_WIDTH-1):0], ihorn_d)
- `output(dhorn_r, dhorn_r_, dhorn_a, [(`PACKET_WIDTH-1):0], dhorn_d_)
- `defreg(dhorn_d_, [(`PACKET_WIDTH-1):0], dhorn_d)
-
- reg ihorn_full;
- reg dhorn_full;
-
- always @(posedge clk) begin
- if (ihorn_full) begin
- `onwrite(ihorn_r, ihorn_a)
- ihorn_full = 0;
- end
- end else if (dhorn_full) begin
- `onwrite(dhorn_r, dhorn_a)
- dhorn_full = 0;
- end
- end else begin
- `onread(in_r, in_a)
- case (in_d[(`INSTRUCTION_WIDTH-1):(`INSTRUCTION_WIDTH-2)])
- 0: begin
- ihorn_full = 1;
- ihorn_d = in_d;
- end
- //01:
- 2: begin
- dhorn_full = 1;
- `packet_data(dhorn_d) = in_d[23:0];
- `packet_dest(dhorn_d) = in_d[34:24];
- end
- //11:
- endcase
- end
- end
- end
-
-
-endmodule
-
-
-== Test ==============================================================================
-#skip
-#ship debug : Debug
-#expect 0
-
-
-== Contributors =========================================================
-Adam Megacz <megacz@cs.berkeley.edu>
+++ /dev/null
-ship: Halt
-
-== Ports ===========================================================
-token in: in
-
-== Constants ========================================================
-
-== TeX ==============================================================
-
-== Fleeterpreter ====================================================
-public void service() {
- if (!box_in.dataReadyForShip()) return;
- box_in.removeDataForShip();
- // FIXME
- // ((Interpreter)getInterpreter()).halt = true;
- // Log.println(ANSI.yellow(" HALT: ====== halt ship got a token; halting the fleet ======"));
-}
-
-== FleetSim ==============================================================
-
-== FPGA ==============================================================
-// not implemented FIXME
-
-== Test ==============================================================================
-#skip
-#ship debug : Debug
-#expect 0
-
-
-
-== Contributors =========================================================
-Adam Megacz <megacz@cs.berkeley.edu>
-