/*
 * $Id$
 *
 * [ Description ]
 * 
 */

#include "Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_unit_Glue/include/Ifetch_unit_Glue.h"

namespace morpheo                    {
namespace behavioural {
namespace core {
namespace multi_front_end {
namespace front_end {
namespace ifetch_unit {
namespace ifetch_unit_glue {


#undef  FUNCTION
#define FUNCTION "Ifetch_unit_Glue::deallocation"
  void Ifetch_unit_Glue::deallocation (void)
  {
    log_printf(FUNC,Ifetch_unit_Glue,FUNCTION,"Begin");

    if (_usage & USE_SYSTEMC)
      {
	delete     in_CLOCK ;
	delete     in_NRESET;

	delete    out_ICACHE_REQ_VAL         ;
	delete     in_ICACHE_REQ_ADDRESS_VAL ;
	delete    out_ICACHE_REQ_QUEUE_VAL   ;
	delete     in_ICACHE_REQ_ACK         ;
	delete    out_ICACHE_REQ_ADDRESS_ACK ;
	delete     in_ICACHE_REQ_QUEUE_ACK   ;
	delete    out_ICACHE_REQ_TYPE        ;
	
	delete     in_EVENT_VAL              ;
	delete    out_EVENT_ADDRESS_VAL      ;
	delete    out_EVENT_QUEUE_VAL        ;
	delete    out_EVENT_ACK              ;
	delete     in_EVENT_ADDRESS_ACK      ;
	delete     in_EVENT_QUEUE_ACK        ;
      }

    // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    

    delete _component;

    log_printf(FUNC,Ifetch_unit_Glue,FUNCTION,"End");
  };

}; // end namespace ifetch_unit_glue
}; // end namespace ifetch_unit
}; // end namespace front_end
}; // end namespace multi_front_end
}; // end namespace core

}; // end namespace behavioural
}; // end namespace morpheo              
