clk clk reset reset done done instr[8:0] instr[8:0] AddrOut[8:0] AddrOut[8:0] r0_out[8:0] r0_out[8:0] r1_out[8:0] r1_out[8:0] r2_out[8:0] r2_out[8:0] r3_out[8:0] r3_out[8:0] r0_out[8:0] r0_out[8:0] r1_out[8:0] r1_out[8:0] r2_out[8:0] r2_out[8:0] r3_out[8:0] r3_out[8:0] memory[15:0][8:0] memory[15:0][8:0]