#undef FUNCTION #define FUNCTION "Load_store_unit::" #ifdef SYSTEMC /* * $Id$ * * [ Description ] * */ #include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/include/Load_store_unit.h" namespace morpheo { namespace behavioural { namespace core { namespace multi_execute_loop { namespace execute_loop { namespace multi_execute_unit { namespace execute_unit { namespace load_store_unit { #undef FUNCTION #define FUNCTION "Load_store_unit::deallocation" void Load_store_unit::deallocation (void) { log_printf(FUNC,Load_store_unit,FUNCTION,"Begin"); //#if defined(STATISTICS) or defined(VHDL_TESTBENCH) delete in_CLOCK ; //#endif delete in_NRESET; delete in_MEMORY_IN_VAL ; delete out_MEMORY_IN_ACK ; if (_param->_have_port_context_id) delete in_MEMORY_IN_CONTEXT_ID ; if (_param->_have_port_front_end_id) delete in_MEMORY_IN_FRONT_END_ID ; if (_param->_have_port_ooo_engine_id) delete in_MEMORY_IN_OOO_ENGINE_ID ; if (_param->_have_port_packet_id) delete in_MEMORY_IN_PACKET_ID ; delete in_MEMORY_IN_OPERATION ; delete in_MEMORY_IN_TYPE ; delete in_MEMORY_IN_STORE_QUEUE_PTR_WRITE; if (_param->_have_port_load_queue_ptr) delete in_MEMORY_IN_LOAD_QUEUE_PTR_WRITE ; delete in_MEMORY_IN_HAS_IMMEDIAT; delete in_MEMORY_IN_IMMEDIAT ; delete in_MEMORY_IN_DATA_RA ; delete in_MEMORY_IN_DATA_RB ; delete in_MEMORY_IN_DATA_RC ; delete in_MEMORY_IN_WRITE_RD ; delete in_MEMORY_IN_NUM_REG_RD ; delete in_MEMORY_IN_WRITE_RE ; delete in_MEMORY_IN_NUM_REG_RE ; delete out_MEMORY_OUT_VAL ; delete in_MEMORY_OUT_ACK ; if (_param->_have_port_context_id) delete out_MEMORY_OUT_CONTEXT_ID; if (_param->_have_port_front_end_id) delete out_MEMORY_OUT_FRONT_END_ID; if (_param->_have_port_ooo_engine_id) delete out_MEMORY_OUT_OOO_ENGINE_ID; if (_param->_have_port_packet_id) delete out_MEMORY_OUT_PACKET_ID ; // delete out_MEMORY_OUT_OPERATION ; delete out_MEMORY_OUT_TYPE ; delete out_MEMORY_OUT_WRITE_RD ; delete out_MEMORY_OUT_NUM_REG_RD; delete out_MEMORY_OUT_DATA_RD ; delete out_MEMORY_OUT_WRITE_RE ; delete out_MEMORY_OUT_NUM_REG_RE; delete out_MEMORY_OUT_DATA_RE ; delete out_MEMORY_OUT_EXCEPTION ; delete out_MEMORY_OUT_NO_SEQUENCE; delete out_MEMORY_OUT_ADDRESS ; delete out_DCACHE_REQ_VAL ; delete in_DCACHE_REQ_ACK ; if (_param->_have_port_dcache_context_id) delete out_DCACHE_REQ_CONTEXT_ID; delete out_DCACHE_REQ_PACKET_ID ; delete out_DCACHE_REQ_ADDRESS ; delete out_DCACHE_REQ_TYPE ; delete out_DCACHE_REQ_WDATA ; delete in_DCACHE_RSP_VAL ; delete out_DCACHE_RSP_ACK ; if (_param->_have_port_dcache_context_id) delete in_DCACHE_RSP_CONTEXT_ID; delete in_DCACHE_RSP_PACKET_ID ; delete in_DCACHE_RSP_RDATA ; delete in_DCACHE_RSP_ERROR ; delete [] out_BYPASS_MEMORY_VAL ; if (_param->_have_port_ooo_engine_id) delete [] out_BYPASS_MEMORY_OOO_ENGINE_ID; delete [] out_BYPASS_MEMORY_NUM_REG ; delete [] out_BYPASS_MEMORY_DATA ; // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ delete _component; delete [] _store_queue ; delete [] _load_queue ; delete _speculative_access_queue_control ; delete [] _speculative_access_queue ; log_printf(FUNC,Load_store_unit,FUNCTION,"End"); }; }; // end namespace load_store_unit }; // end namespace execute_unit }; // end namespace multi_execute_unit }; // end namespace execute_loop }; // end namespace multi_execute_loop }; // end namespace core }; // end namespace behavioural }; // end namespace morpheo #endif