`include "macros.v"
module inbox(clk,
- instr_r, instr_a_, instr_d,
- fabric_in_r, fabric_in_a_, fabric_in_d,
- fabric_out_r_, fabric_out_a, fabric_out_d_,
- ship_r_, ship_a, ship_d_);
+ instr_r, instr_a_, instr_d,
+ fabric_in_r, fabric_in_a_, fabric_in_d,
+ fabric_out_r_, fabric_out_a, fabric_out_d_,
+ ship_r_, ship_a, ship_d_
+ );
+
input clk;
- `input(instr_r, instr_a, instr_a_, [(`INSTRUCTION_WIDTH-1):0], instr_d)
-// `input(fabric_in_r, fabric_in_a, fabric_in_a_, [`DATAWIDTH:0], fabric_in_d)
- `output(fabric_out_r, fabric_out_r_, fabric_out_a, [(`PACKET_WIDTH-1):0], fabric_out_d_)
+ output fabric_in_a_;
+ input fabric_in_r;
+ input [(`DATAWIDTH-1):0] fabric_in_d;
+ //`input(fabric_in_r, fabric_in_a, fabric_in_a_, [(`DATAWIDTH-1):0], fabric_in_d)
+ `output(fabric_out_r, fabric_out_r_, fabric_out_a, [(`PACKET_WIDTH-1):0], fabric_out_d_)
+ `defreg(fabric_out_d_, [(`PACKET_WIDTH-1):0], fabric_out_d)
+ `output(ship_r, ship_r_, ship_a, [(`DATAWIDTH-1):0], ship_d_)
+ reg [(`PACKET_WIDTH-1):0] ship_d;
+ assign ship_d_ = `packet_data(ship_d);
+
+ `input(instr_r, instr_a, instr_a_, [(`INSTRUCTION_WIDTH-1):0], instr_d)
+
+ wire fabric_in_a0_;
+ reg fabric_in_a0;
+ assign fabric_in_a0_ = fabric_in_a0;
+
+ `define token_in_r fabric_in_r0
+ `define token_in_a fabric_in_a0
+ `define token_in_d fabric_in_d0
+
+ `define data_out_r ship_r
+ `define data_out_a ship_a
+ `define data_out_d ship_d
- input fabric_in_r;
- output fabric_in_a_;
- input [(`PACKET_WIDTH-1):0] fabric_in_d;
+ `define token_out_r fabric_out_r
+ `define token_out_a fabric_out_a
+ `define token_out_d fabric_out_d
- output ship_r_;
- input ship_a;
- output [(`DATAWIDTH-1):0] ship_d_;
- wire [(`DATAWIDTH-1):0] fabric_in_data;
+ `define data_in_d `packet_data(fabric_in_d0)
+ `define data_in_a fabric_in_a0
+ `define data_in_r fabric_in_r0
- assign fabric_in_data = `packet_data(fabric_in_d);
+ wire [(`PACKET_WIDTH-1):0] fabric_in_d0;
- fifo4 dfifo(clk, fabric_in_r, fabric_in_a_, fabric_in_data,
- ship_r_, ship_a, ship_d_);
+ fifo4 dfifo(clk, fabric_in_r, fabric_in_a_, fabric_in_d,
+ fabric_in_r0, fabric_in_a0_, fabric_in_d0);
+ `include "box.inc"
endmodule