clk clk rst rst pc_F[31:0] pc_F[31:0] UNSIGNEDDECRADIX pc4_F[31:0] pc4_F[31:0] UNSIGNEDDECRADIX instr_F[31:0] instr_F[31:0] UNSIGNEDDECRADIX next_pc_F[31:0] next_pc_F[31:0] UNSIGNEDDECRADIX PC_En PC_En IF_ID_En IF_ID_En IF_ID_Clr IF_ID_Clr pc_D[31:0] pc_D[31:0] UNSIGNEDDECRADIX pc4_D[31:0] pc4_D[31:0] UNSIGNEDDECRADIX instr_D[31:0] instr_D[31:0] UNSIGNEDDECRADIX rs1_D[4:0] rs1_D[4:0] UNSIGNEDDECRADIX rs2_D[4:0] rs2_D[4:0] UNSIGNEDDECRADIX rd_D[4:0] rd_D[4:0] UNSIGNEDDECRADIX imm_D[31:0] imm_D[31:0] UNSIGNEDDECRADIX regA_D[31:0] regA_D[31:0] UNSIGNEDDECRADIX regB_D[31:0] regB_D[31:0] UNSIGNEDDECRADIX we_reg_D we_reg_D we_mem_D we_mem_D mem_to_reg_D mem_to_reg_D alu_src_D alu_src_D branch_D branch_D alu_op_D[3:0] alu_op_D[3:0] UNSIGNEDDECRADIX Branch_Taken Branch_Taken branch_target_D[31:0] branch_target_D[31:0] UNSIGNEDDECRADIX ID_ForwardA[1:0] ID_ForwardA[1:0] UNSIGNEDDECRADIX ID_ForwardB[1:0] ID_ForwardB[1:0] UNSIGNEDDECRADIX cmp_A[31:0] cmp_A[31:0] UNSIGNEDDECRADIX cmp_B[31:0] cmp_B[31:0] UNSIGNEDDECRADIX ID_EX_Clr ID_EX_Clr pc_E[31:0] pc_E[31:0] UNSIGNEDDECRADIX pc4_E[31:0] pc4_E[31:0] UNSIGNEDDECRADIX regA_E[31:0] regA_E[31:0] UNSIGNEDDECRADIX regB_E[31:0] regB_E[31:0] UNSIGNEDDECRADIX imm_E[31:0] imm_E[31:0] UNSIGNEDDECRADIX rs1_E[4:0] rs1_E[4:0] UNSIGNEDDECRADIX rs2_E[4:0] rs2_E[4:0] UNSIGNEDDECRADIX rd_E[4:0] rd_E[4:0] UNSIGNEDDECRADIX we_reg_E we_reg_E we_mem_E we_mem_E mem_to_reg_E mem_to_reg_E alu_src_E alu_src_E branch_E branch_E alu_op_E[3:0] alu_op_E[3:0] UNSIGNEDDECRADIX EX_ForwardA[1:0] EX_ForwardA[1:0] UNSIGNEDDECRADIX EX_ForwardB[1:0] EX_ForwardB[1:0] UNSIGNEDDECRADIX alu_A[31:0] alu_A[31:0] UNSIGNEDDECRADIX alu_B_temp[31:0] alu_B_temp[31:0] UNSIGNEDDECRADIX alu_B[31:0] alu_B[31:0] UNSIGNEDDECRADIX alu_res_E[31:0] alu_res_E[31:0] UNSIGNEDDECRADIX alu_zero_E alu_zero_E alu_res_M[31:0] alu_res_M[31:0] UNSIGNEDDECRADIX regB_M[31:0] regB_M[31:0] UNSIGNEDDECRADIX pc4_M[31:0] pc4_M[31:0] UNSIGNEDDECRADIX rd_M[4:0] rd_M[4:0] UNSIGNEDDECRADIX we_reg_M we_reg_M we_mem_M we_mem_M mem_to_reg_M mem_to_reg_M mem_data_M[31:0] mem_data_M[31:0] UNSIGNEDDECRADIX alu_res_W[31:0] alu_res_W[31:0] UNSIGNEDDECRADIX mem_data_W[31:0] mem_data_W[31:0] UNSIGNEDDECRADIX pc4_W[31:0] pc4_W[31:0] UNSIGNEDDECRADIX rd_W[4:0] rd_W[4:0] UNSIGNEDDECRADIX we_reg_W we_reg_W mem_to_reg_W mem_to_reg_W write_data_W[31:0] write_data_W[31:0] UNSIGNEDDECRADIX