/* * $Id: Address_management_deallocation.cpp 88 2008-12-10 18:31:39Z rosiere $ * * [ Description ] * */ #include "Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Address_management/include/Address_management.h" namespace morpheo { namespace behavioural { namespace core { namespace multi_front_end { namespace front_end { namespace ifetch_unit { namespace address_management { #undef FUNCTION #define FUNCTION "Address_management::deallocation" void Address_management::deallocation (void) { log_printf(FUNC,Address_management,FUNCTION,"Begin"); if (usage_is_set(_usage,USE_SYSTEMC)) { delete in_CLOCK ; delete in_NRESET; delete out_ADDRESS_VAL ; delete in_ADDRESS_ACK ; delete out_ADDRESS_INSTRUCTION_ADDRESS ; delete [] out_ADDRESS_INSTRUCTION_ENABLE ; if (_param->_have_port_inst_ifetch_ptr) delete out_ADDRESS_INST_IFETCH_PTR ; delete out_ADDRESS_BRANCH_STATE ; if (_param->_have_port_depth) delete out_ADDRESS_BRANCH_UPDATE_PREDICTION_ID; delete out_PREDICT_VAL ; delete in_PREDICT_ACK ; delete out_PREDICT_PC_PREVIOUS ; delete out_PREDICT_PC_CURRENT ; delete out_PREDICT_PC_CURRENT_IS_DS_TAKE ; delete in_PREDICT_PC_NEXT ; delete in_PREDICT_PC_NEXT_IS_DS_TAKE ; delete [] in_PREDICT_INSTRUCTION_ENABLE ; if (_param->_have_port_inst_ifetch_ptr) delete in_PREDICT_INST_IFETCH_PTR ; delete in_PREDICT_BRANCH_STATE ; if (_param->_have_port_depth) delete in_PREDICT_BRANCH_UPDATE_PREDICTION_ID; delete in_EVENT_VAL ; delete out_EVENT_ACK ; delete in_EVENT_ADDRESS ; delete in_EVENT_ADDRESS_NEXT ; delete in_EVENT_ADDRESS_NEXT_VAL ; delete in_EVENT_IS_DS_TAKE ; // ~~~~~[ Internal ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if (usage_is_set(_usage,USE_SYSTEMC)) { delete reg_PC_CURRENT_INSTRUCTION_ENABLE; delete reg_PC_NEXT_INSTRUCTION_ENABLE ; } } // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ delete _component; log_printf(FUNC,Address_management,FUNCTION,"End"); }; }; // end namespace address_management }; // end namespace ifetch_unit }; // end namespace front_end }; // end namespace multi_front_end }; // end namespace core }; // end namespace behavioural }; // end namespace morpheo