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

#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/include/Parameters.h"

namespace morpheo {
namespace behavioural {
namespace core {
namespace multi_execute_loop {
namespace execute_loop {
namespace register_unit {
namespace register_unit_glue {


#undef  FUNCTION
#define FUNCTION "Register_unit_Glue::Parameters"
  Parameters::Parameters (const uint32_t   nb_ooo_engine        ,
			  const uint32_t   size_general_data    ,
			  const uint32_t   size_special_data    ,
			  const uint32_t   nb_gpr_read          ,
			  const uint32_t   nb_spr_read          ,    
			  const uint32_t   nb_gpr_write         ,
			  const uint32_t   nb_spr_write         ,
			  const uint32_t * nb_inst_insert_rob   ,
			  const uint32_t * nb_inst_retire_rob   ):
    _nb_ooo_engine        (nb_ooo_engine    ),
    _size_general_data    (size_general_data),
    _size_special_data    (size_special_data),
    _nb_gpr_read          (nb_gpr_read      ),
    _nb_spr_read          (nb_spr_read      ),    
    _nb_gpr_write         (nb_gpr_write     ),
    _nb_spr_write         (nb_spr_write     ),
    _nb_inst_insert_rob   (nb_inst_insert_rob),
    _nb_inst_retire_rob   (nb_inst_retire_rob),
    _have_port_ooo_engine_id (nb_ooo_engine>1)
  {
    log_printf(FUNC,Register_unit_Glue,FUNCTION,"Begin");
    test();
    log_printf(FUNC,Register_unit_Glue,FUNCTION,"End");
  };
  
#undef  FUNCTION
#define FUNCTION "Register_unit_Glue::Parameters (copy)"
  Parameters::Parameters (Parameters & param):
    _nb_ooo_engine        (param._nb_ooo_engine    ),
    _size_general_data    (param._size_general_data),
    _size_special_data    (param._size_special_data),
    _nb_gpr_read          (param._nb_gpr_read      ),
    _nb_spr_read          (param._nb_spr_read      ),    
    _nb_gpr_write         (param._nb_gpr_write     ),
    _nb_spr_write         (param._nb_spr_write     ),
    _nb_inst_insert_rob   (param._nb_inst_insert_rob),
    _nb_inst_retire_rob   (param._nb_inst_retire_rob),
    _have_port_ooo_engine_id (param._have_port_ooo_engine_id)
  {
    log_printf(FUNC,Register_unit_Glue,FUNCTION,"Begin");
    test();
    log_printf(FUNC,Register_unit_Glue,FUNCTION,"End");
  };

#undef  FUNCTION
#define FUNCTION "Register_unit_Glue::~Parameters"
  Parameters::~Parameters () 
  {
    log_printf(FUNC,Register_unit_Glue,FUNCTION,"Begin");
    log_printf(FUNC,Register_unit_Glue,FUNCTION,"End");
  };

}; // end namespace register_unit_glue
}; // end namespace register_unit
}; // end namespace execute_loop
}; // end namespace multi_execute_loop
}; // end namespace core

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