clk clk reset reset done done instr[8:0] instr[8:0] enable enable write_index[1:0] write_index[1:0] op0_idx[1:0] op0_idx[1:0] op1_idx[1:0] op1_idx[1:0] write_data[8:0] write_data[8:0] op0[8:0] op0[8:0] op1[8:0] op1[8:0] decOut[3:0] decOut[3: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] op_idx op_idx AddrIn[8:0] AddrIn[8:0] AddrOut[8:0] AddrOut[8:0] progC_out[8:0] progC_out[8:0] result_m[8:0] result_m[8:0] cout cout FU[2:0] FU[2:0]