-               .cp_req(cp_req), .cp_ack(cp_ack), .cp_busy(cp_busy), .cp_rnw(cp_rnw), .cp_read(cp_read), .cp_write(cp_write));
+               .cp_req(cp_req), .cp_ack(cp_ack), .cp_busy(cp_busy), .cp_rnw(cp_rnw), .cp_read(cp_read), .cp_write(cp_write),
+               .outcpsr(memory_out_cpsr), .outspsr(memory_out_spsr));
+       
+       Terminal terminal(      
+               .clk(clk),
+               .cp_req(cp_req), .cp_insn(cp_insn), .cp_ack(cp_ack_terminal), .cp_busy(cp_busy_terminal), .cp_rnw(cp_rnw),
+               .cp_read(cp_read_terminal), .cp_write(cp_write));
+       
+       Writeback writeback(
+               .clk(clk),
+               .inbubble(bubble_out_memory),
+               .write_reg(memory_out_write_reg), .write_num(memory_out_write_num), .write_data(memory_out_write_data),
+               .cpsr(memory_out_cpsr), .spsr(memory_out_spsr),
+               .regfile_write(regfile_write), .regfile_write_reg(regfile_write_reg), .regfile_write_data(regfile_write_data),
+               .outcpsr(writeback_out_cpsr), .outspsr(writeback_out_spsr), 
+               .jmp(jmp_out_writeback), .jmppc(jmppc_out_writeback));
+       assign writeback_out_backflush = jmp_out_writeback;