- reg [2:0] op = 0;
-
- assign led = uart_ptr;
-
- chip chip (.clk(clk), .op(op), .I(I), .io_pin(0), .CS(CS), .mem_in(mem_in), .mem_out(mem_out), .mem_write(mem_write));
-
- wire received;
- wire [7:0] rx_byte;
- reg transmit = 0;
- reg [7:0] tx_byte;
-
- uart uart (.clk(clk), .rx(uart_rx), .tx(uart_tx), .received(received), .transmit(transmit), .tx_byte(tx_byte), .rx_byte(rx_byte));
-
- reg [15:0] rom_I [0:5];
- reg [7:0] rom_mem_addr [0:5];
- reg [2:0] rom_op [0:5];
- reg rom_CS [0:5];
-
- reg [2:0] state = 0;
-
- always @ (posedge clk) begin
- if (received) begin
- from_uart[uart_ptr] <= rx_byte;
- uart_ptr <= uart_ptr + 1;
- end
-
- if (uart_ptr == 4) begin
- op <= op_from_uart;
- uart_ptr <= 0;
- state <= 1;
- end
-
- if (state == 1) begin
- transmit <= 1;
- tx_byte <= mem_in;
- state <= 2;
- end
-
- if (state == 2) begin
- transmit <= 0;
- state <= 0;
- end
-
- if (op != 0) begin
- op <= 0;
- end
- end