Changeset 88 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/src/Decod_deallocation.cpp
- Timestamp:
- Dec 10, 2008, 7:31:39 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/src/Decod_deallocation.cpp
r86 r88 7 7 8 8 #include "Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/include/Decod.h" 9 #include "Behavioural/include/Allocation.h" 9 10 10 11 namespace morpheo { … … 27 28 delete in_CLOCK ; 28 29 delete in_NRESET; 30 31 DELETE2_SIGNAL( in_IFETCH_VAL , _param->_nb_context, _param->_nb_inst_fetch[it1],1); 32 DELETE2_SIGNAL(out_IFETCH_ACK , _param->_nb_context, _param->_nb_inst_fetch[it1],1); 33 DELETE2_SIGNAL( in_IFETCH_INSTRUCTION, _param->_nb_context, _param->_nb_inst_fetch[it1],_param->_size_instruction); 34 35 DELETE1_SIGNAL(in_IFETCH_CONTEXT_ID , _param->_nb_context,_param->_size_context_id ); 36 DELETE1_SIGNAL(in_IFETCH_ADDRESS , _param->_nb_context,_param->_size_instruction_address ); 37 // DELETE1_SIGNAL(in_IFETCH_ADDRESS_NEXT , _param->_nb_context,_param->_size_instruction_address ); 38 DELETE1_SIGNAL(in_IFETCH_INST_IFETCH_PTR , _param->_nb_context,_param->_size_inst_ifetch_ptr ); 39 DELETE1_SIGNAL(in_IFETCH_BRANCH_STATE , _param->_nb_context,_param->_size_branch_state ); 40 DELETE1_SIGNAL(in_IFETCH_BRANCH_UPDATE_PREDICTION_ID, _param->_nb_context,_param->_size_depth ); 41 DELETE1_SIGNAL(in_IFETCH_EXCEPTION , _param->_nb_context,_param->_size_exception_ifetch); 29 42 30 delete [] in_IFETCH_VAL ; 31 delete [] out_IFETCH_ACK ; 32 delete [] in_IFETCH_INSTRUCTION ; 33 if (_param->_have_port_context_id) 34 delete [] in_IFETCH_CONTEXT_ID ; 35 delete [] in_IFETCH_ADDRESS ; 36 // delete [] in_IFETCH_ADDRESS_NEXT ; 37 if (_param->_have_port_inst_ifetch_ptr) 38 delete [] in_IFETCH_INST_IFETCH_PTR ; 39 delete [] in_IFETCH_BRANCH_STATE ; 40 if (_param->_have_port_branch_update_prediction_id) 41 delete [] in_IFETCH_BRANCH_UPDATE_PREDICTION_ID ; 43 DELETE1_SIGNAL(out_DECOD_VAL ,_param->_nb_inst_decod,1); 44 DELETE1_SIGNAL( in_DECOD_ACK ,_param->_nb_inst_decod,1); 45 DELETE1_SIGNAL(out_DECOD_CONTEXT_ID ,_param->_nb_inst_decod,_param->_size_context_id ); 46 DELETE1_SIGNAL(out_DECOD_DEPTH ,_param->_nb_inst_decod,_param->_size_depth ); 47 DELETE1_SIGNAL(out_DECOD_TYPE ,_param->_nb_inst_decod,_param->_size_type ); 48 DELETE1_SIGNAL(out_DECOD_OPERATION ,_param->_nb_inst_decod,_param->_size_operation ); 49 DELETE1_SIGNAL(out_DECOD_NO_EXECUTE ,_param->_nb_inst_decod,1 ); 50 DELETE1_SIGNAL(out_DECOD_IS_DELAY_SLOT,_param->_nb_inst_decod,1 ); 51 DELETE1_SIGNAL(out_DECOD_ADDRESS ,_param->_nb_inst_decod,_param->_size_instruction_address ); 52 DELETE1_SIGNAL(out_DECOD_HAS_IMMEDIAT ,_param->_nb_inst_decod,1 ); 53 DELETE1_SIGNAL(out_DECOD_IMMEDIAT ,_param->_nb_inst_decod,_param->_size_general_data ); 54 DELETE1_SIGNAL(out_DECOD_READ_RA ,_param->_nb_inst_decod,1 ); 55 DELETE1_SIGNAL(out_DECOD_NUM_REG_RA ,_param->_nb_inst_decod,_param->_size_general_register_logic); 56 DELETE1_SIGNAL(out_DECOD_READ_RB ,_param->_nb_inst_decod,1 ); 57 DELETE1_SIGNAL(out_DECOD_NUM_REG_RB ,_param->_nb_inst_decod,_param->_size_general_register_logic); 58 DELETE1_SIGNAL(out_DECOD_READ_RC ,_param->_nb_inst_decod,1 ); 59 DELETE1_SIGNAL(out_DECOD_NUM_REG_RC ,_param->_nb_inst_decod,_param->_size_special_register_logic); 60 DELETE1_SIGNAL(out_DECOD_WRITE_RD ,_param->_nb_inst_decod,1 ); 61 DELETE1_SIGNAL(out_DECOD_NUM_REG_RD ,_param->_nb_inst_decod,_param->_size_general_register_logic); 62 DELETE1_SIGNAL(out_DECOD_WRITE_RE ,_param->_nb_inst_decod,1 ); 63 DELETE1_SIGNAL(out_DECOD_NUM_REG_RE ,_param->_nb_inst_decod,_param->_size_special_register_logic); 64 DELETE1_SIGNAL(out_DECOD_EXCEPTION_USE,_param->_nb_inst_decod,_param->_size_exception_use ); 65 DELETE1_SIGNAL(out_DECOD_EXCEPTION ,_param->_nb_inst_decod,_param->_size_exception_decod ); 42 66 43 delete [] out_DECOD_VAL ; 44 delete [] in_DECOD_ACK ; 45 if (_param->_have_port_context_id) 46 delete [] out_DECOD_CONTEXT_ID ; 47 if (_param->_have_port_depth) 48 delete [] out_DECOD_DEPTH ; 49 delete [] out_DECOD_TYPE ; 50 delete [] out_DECOD_OPERATION ; 51 delete [] out_DECOD_IS_DELAY_SLOT ; 52 delete [] out_DECOD_ADDRESS ; 53 delete [] out_DECOD_HAS_IMMEDIAT ; 54 delete [] out_DECOD_IMMEDIAT ; 55 delete [] out_DECOD_READ_RA ; 56 delete [] out_DECOD_NUM_REG_RA ; 57 delete [] out_DECOD_READ_RB ; 58 delete [] out_DECOD_NUM_REG_RB ; 59 delete [] out_DECOD_READ_RC ; 60 delete [] out_DECOD_NUM_REG_RC ; 61 delete [] out_DECOD_WRITE_RD ; 62 delete [] out_DECOD_NUM_REG_RD ; 63 delete [] out_DECOD_WRITE_RE ; 64 delete [] out_DECOD_NUM_REG_RE ; 65 delete [] out_DECOD_EXCEPTION_USE ; 67 DELETE1_SIGNAL(out_PREDICT_VAL ,_param->_nb_inst_decod,1); 68 DELETE1_SIGNAL( in_PREDICT_ACK ,_param->_nb_inst_decod,1); 69 DELETE1_SIGNAL(out_PREDICT_CONTEXT_ID ,_param->_nb_inst_decod,_param->_size_context_id ); 70 DELETE1_SIGNAL(out_PREDICT_MATCH_INST_IFETCH_PTR ,_param->_nb_inst_decod,1 ); 71 DELETE1_SIGNAL(out_PREDICT_BRANCH_STATE ,_param->_nb_inst_decod,_param->_size_branch_state ); 72 DELETE1_SIGNAL(out_PREDICT_BRANCH_UPDATE_PREDICTION_ID,_param->_nb_inst_decod,_param->_size_depth ); 73 DELETE1_SIGNAL(out_PREDICT_BRANCH_CONDITION ,_param->_nb_inst_decod,_param->_size_branch_condition); 74 // DELETE1_SIGNAL(out_PREDICT_BRANCH_STACK_WRITE ,_param->_nb_inst_decod,1 ); 75 DELETE1_SIGNAL(out_PREDICT_BRANCH_DIRECTION ,_param->_nb_inst_decod,1 ); 76 DELETE1_SIGNAL(out_PREDICT_ADDRESS_SRC ,_param->_nb_inst_decod,_param->_size_instruction_address ); 77 DELETE1_SIGNAL(out_PREDICT_ADDRESS_DEST ,_param->_nb_inst_decod,_param->_size_instruction_address ); 78 // DELETE1_SIGNAL( in_PREDICT_CAN_CONTINUE ,_param->_nb_inst_decod,1 ); 66 79 67 delete [] out_PREDICT_VAL ; 68 delete [] in_PREDICT_ACK ; 69 if (_param->_have_port_context_id) 70 delete [] out_PREDICT_CONTEXT_ID ; 71 delete [] out_PREDICT_BRANCH_STATE ; 72 delete [] out_PREDICT_MATCH_INST_IFETCH_PTR ; 73 if (_param->_have_port_branch_update_prediction_id) 74 delete [] out_PREDICT_BRANCH_UPDATE_PREDICTION_ID; 75 delete [] out_PREDICT_BRANCH_CONDITION ; 76 // delete [] out_PREDICT_BRANCH_STACK_WRITE ; 77 delete [] out_PREDICT_BRANCH_DIRECTION ; 78 delete [] out_PREDICT_ADDRESS_SRC ; 79 delete [] out_PREDICT_ADDRESS_DEST ; 80 // delete [] in_PREDICT_CAN_CONTINUE ; 80 DELETE1_SIGNAL(in_CONTEXT_DECOD_ENABLE, _param->_nb_context,1); 81 DELETE1_SIGNAL(in_CONTEXT_DEPTH , _param->_nb_context,_param->_size_depth); 81 82 82 delete [] in_CONTEXT_DECOD_ENABLE ; 83 if (_param->_have_port_depth) 84 delete [] in_CONTEXT_DEPTH ; 83 DELETE_SIGNAL (out_CONTEXT_EVENT_VAL ,1); 84 DELETE_SIGNAL ( in_CONTEXT_EVENT_ACK ,1); 85 DELETE_SIGNAL (out_CONTEXT_EVENT_CONTEXT_ID ,_param->_size_context_id ); 86 DELETE_SIGNAL (out_CONTEXT_EVENT_DEPTH ,_param->_size_depth ); 87 DELETE_SIGNAL (out_CONTEXT_EVENT_TYPE ,_param->_size_event_type ); 88 DELETE_SIGNAL (out_CONTEXT_EVENT_IS_DELAY_SLOT,1 ); 89 DELETE_SIGNAL (out_CONTEXT_EVENT_ADDRESS ,_param->_size_instruction_address); 90 DELETE_SIGNAL (out_CONTEXT_EVENT_ADDRESS_EPCR ,_param->_size_instruction_address); 85 91 86 delete out_CONTEXT_EVENT_VAL ; 87 delete in_CONTEXT_EVENT_ACK ; 88 if (_param->_have_port_context_id) 89 delete out_CONTEXT_EVENT_CONTEXT_ID ; 90 delete out_CONTEXT_EVENT_TYPE ; 91 delete out_CONTEXT_EVENT_IS_DELAY_SLOT ; 92 delete out_CONTEXT_EVENT_ADDRESS ; 93 delete out_CONTEXT_EVENT_ADDRESS_EPCR ; 92 93 94 delete reg_CONTEXT_ADDRESS_PREVIOUS ; 95 delete [] reg_CONTEXT_IS_DELAY_SLOT ; 96 97 delete [] internal_CONTEXT_HAVE_TRANSACTION ; 98 delete [] internal_CONTEXT_ADDRESS_PREVIOUS ; 99 delete [] internal_CONTEXT_IS_DELAY_SLOT ; 100 101 #ifdef STATISTICS 102 delete [] internal_DECOD_VAL; 103 #endif 94 104 } 95 105 96 106 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 97 delete reg_CONTEXT_ADDRESS_PREVIOUS ; 98 delete reg_CONTEXT_IS_DELAY_SLOT ; 107 delete _priority; 99 108 100 delete internal_CONTEXT_HAVE_TRANSACTION ;101 delete internal_CONTEXT_ADDRESS_PREVIOUS ;102 delete internal_CONTEXT_IS_DELAY_SLOT ;103 109 104 110 const uint32_t nb_opcod_type = 14;
Note: See TracChangeset
for help on using the changeset viewer.