/src/iceshim.v
/* This adapts the icestick I/O to work with the project module */
`default_nettype none
module iceshim(
input wire [7:0] port0,
output wire [7:0] port1,
inout wire [7:0] port2, // the 0th bit is stolen by rst, 1st bit is external clock
output wire [4:0] leds,
input wire clk
);
wire [7:0] uio_in;
wire [7:0] uio_out;
wire [7:0] uio_oe;
//assign port2[0] = uio_oe[0] ? uio_out[0] : 1'bZ;
//assign port2[1] = uio_oe[1] ? uio_out[1] : 1'bZ;
assign port2[2] = uio_oe[2] ? uio_out[2] : 1'bZ;
assign port2[3] = uio_oe[3] ? uio_out[3] : 1'bZ;
assign port2[4] = uio_oe[4] ? uio_out[4] : 1'bZ;
assign port2[5] = uio_oe[5] ? uio_out[5] : 1'bZ;
assign port2[6] = uio_oe[6] ? uio_out[6] : 1'bZ;
assign port2[7] = uio_oe[7] ? uio_out[7] : 1'bZ;
//assign uio_in[0] = port2[0];
//assign uio_in[1] = port2[1];
assign uio_in[2] = port2[2];
assign uio_in[3] = port2[3];
assign uio_in[4] = port2[4];
assign uio_in[5] = port2[5];
assign uio_in[6] = port2[6];
assign uio_in[7] = port2[7];
assign leds[2:0] = uio_out[6:4];
tt_um_bytex64_munch user_module(
.ui_in(port0),
.uo_out(port1),
.uio_in(uio_in),
.uio_out(uio_out),
.uio_oe(uio_oe),
.ena(1),
.clk(port2[1]),
.rst_n(port2[0])
);
endmodule