/*
 * $Id: top_deallocation.cpp 113 2009-04-14 18:39:12Z rosiere $
 *
 * [ Description ]
 * 
 * Test
 */
#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/SelfTest/include/top.h"
#include "Behavioural/include/Allocation.h"

void top::deallocation (void)
{
#ifdef SYSTEMC
  delete             in_CLOCK;
  DELETE0_SC_SIGNAL( in_NRESET);
  DELETE0_SC_SIGNAL( in_WRITE_QUEUE_IN_VAL           );
  DELETE0_SC_SIGNAL(out_WRITE_QUEUE_IN_ACK           );
  DELETE0_SC_SIGNAL( in_WRITE_QUEUE_IN_CONTEXT_ID    );
  DELETE0_SC_SIGNAL( in_WRITE_QUEUE_IN_FRONT_END_ID  );
  DELETE0_SC_SIGNAL( in_WRITE_QUEUE_IN_OOO_ENGINE_ID );
  DELETE0_SC_SIGNAL( in_WRITE_QUEUE_IN_PACKET_ID     );
//DELETE0_SC_SIGNAL( in_WRITE_QUEUE_IN_OPERATION     );
//DELETE0_SC_SIGNAL( in_WRITE_QUEUE_IN_TYPE          );
  DELETE0_SC_SIGNAL( in_WRITE_QUEUE_IN_WRITE_RD      );
  DELETE0_SC_SIGNAL( in_WRITE_QUEUE_IN_NUM_REG_RD    );
  DELETE0_SC_SIGNAL( in_WRITE_QUEUE_IN_DATA_RD       );
  DELETE0_SC_SIGNAL( in_WRITE_QUEUE_IN_WRITE_RE      );
  DELETE0_SC_SIGNAL( in_WRITE_QUEUE_IN_NUM_REG_RE    );
  DELETE0_SC_SIGNAL( in_WRITE_QUEUE_IN_DATA_RE       );
  DELETE0_SC_SIGNAL( in_WRITE_QUEUE_IN_EXCEPTION     );
  DELETE0_SC_SIGNAL( in_WRITE_QUEUE_IN_NO_SEQUENCE   );
  DELETE0_SC_SIGNAL( in_WRITE_QUEUE_IN_ADDRESS       );
  DELETE0_SC_SIGNAL(out_WRITE_QUEUE_OUT_VAL          );
  DELETE0_SC_SIGNAL( in_WRITE_QUEUE_OUT_ACK          );
  DELETE0_SC_SIGNAL(out_WRITE_QUEUE_OUT_CONTEXT_ID   );
  DELETE0_SC_SIGNAL(out_WRITE_QUEUE_OUT_FRONT_END_ID );
  DELETE0_SC_SIGNAL(out_WRITE_QUEUE_OUT_OOO_ENGINE_ID);
  DELETE0_SC_SIGNAL(out_WRITE_QUEUE_OUT_PACKET_ID    );
//DELETE0_SC_SIGNAL(out_WRITE_QUEUE_OUT_OPERATION    );
//DELETE0_SC_SIGNAL(out_WRITE_QUEUE_OUT_TYPE         );
  DELETE0_SC_SIGNAL(out_WRITE_QUEUE_OUT_FLAGS        );
  DELETE0_SC_SIGNAL(out_WRITE_QUEUE_OUT_EXCEPTION    );
  DELETE0_SC_SIGNAL(out_WRITE_QUEUE_OUT_NO_SEQUENCE  );
  DELETE0_SC_SIGNAL(out_WRITE_QUEUE_OUT_ADDRESS      );
  DELETE0_SC_SIGNAL(out_WRITE_QUEUE_OUT_DATA         );
  DELETE1_SC_SIGNAL(out_GPR_WRITE_VAL                , _param->_nb_gpr_write);
  DELETE1_SC_SIGNAL( in_GPR_WRITE_ACK                , _param->_nb_gpr_write);
  DELETE1_SC_SIGNAL(out_GPR_WRITE_OOO_ENGINE_ID      , _param->_nb_gpr_write);
  DELETE1_SC_SIGNAL(out_GPR_WRITE_NUM_REG            , _param->_nb_gpr_write);
  DELETE1_SC_SIGNAL(out_GPR_WRITE_DATA               , _param->_nb_gpr_write);
  DELETE1_SC_SIGNAL(out_SPR_WRITE_VAL                , _param->_nb_spr_write);
  DELETE1_SC_SIGNAL( in_SPR_WRITE_ACK                , _param->_nb_spr_write);
  DELETE1_SC_SIGNAL(out_SPR_WRITE_OOO_ENGINE_ID      , _param->_nb_spr_write);
  DELETE1_SC_SIGNAL(out_SPR_WRITE_NUM_REG            , _param->_nb_spr_write);
  DELETE1_SC_SIGNAL(out_SPR_WRITE_DATA               , _param->_nb_spr_write);
  DELETE1_SC_SIGNAL(out_BYPASS_WRITE_OOO_ENGINE_ID   , _param->_nb_bypass_write);
  DELETE1_SC_SIGNAL(out_BYPASS_WRITE_GPR_VAL         , _param->_nb_bypass_write);
  DELETE1_SC_SIGNAL(out_BYPASS_WRITE_GPR_NUM_REG     , _param->_nb_bypass_write);
  DELETE1_SC_SIGNAL(out_BYPASS_WRITE_GPR_DATA        , _param->_nb_bypass_write);
  DELETE1_SC_SIGNAL(out_BYPASS_WRITE_SPR_VAL         , _param->_nb_bypass_write);
  DELETE1_SC_SIGNAL(out_BYPASS_WRITE_SPR_NUM_REG     , _param->_nb_bypass_write);
  DELETE1_SC_SIGNAL(out_BYPASS_WRITE_SPR_DATA        , _param->_nb_bypass_write);
#endif

  delete component;
#ifdef STATISTICS
  delete _param_stat;
#endif
}
