/* * $Id: Parameters.cpp 145 2010-10-13 18:15:51Z rosiere $ * * [ Description ] * */ #include "Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/include/Parameters.h" #include "Common/include/Max.h" namespace morpheo { namespace behavioural { namespace core { namespace multi_ooo_engine { namespace ooo_engine { namespace rename_unit { namespace register_translation_unit { namespace register_address_translation_unit { #undef FUNCTION #define FUNCTION "Register_Address_Translation_unit::Parameters" Parameters::Parameters (uint32_t nb_front_end , uint32_t * nb_context ,//[nb_front_end] uint32_t nb_general_register , uint32_t nb_special_register , Trat_scheme_t rat_scheme , uint32_t nb_inst_insert , uint32_t nb_inst_retire , uint32_t ** nb_branch_speculated,//[nb_front_end][nb_context] bool is_toplevel) { log_printf(FUNC,Register_Address_Translation_unit,FUNCTION,"Begin"); _nb_front_end = nb_front_end ; _nb_context = nb_context ; _nb_general_register = nb_general_register ; _nb_special_register = nb_special_register ; _rat_scheme = rat_scheme ; _nb_inst_insert = nb_inst_insert ; _nb_inst_retire = nb_inst_retire ; _nb_branch_speculated = nb_branch_speculated; _max_nb_context = max(_nb_context, _nb_front_end); _max_nb_branch_speculated= max(_nb_branch_speculated, _nb_front_end, _nb_context); test(); if (is_toplevel) { _size_front_end_id = log2(_nb_front_end ); _size_context_id = log2(_max_nb_context ); _size_general_register = log2(_nb_general_register); _size_special_register = log2(_nb_special_register); _size_depth = log2(max(_nb_branch_speculated,_nb_front_end,_nb_context)); _have_port_front_end_id = _size_front_end_id>0; _have_port_context_id = _size_context_id >0; _have_port_depth = _size_depth >0; copy(); } log_printf(FUNC,Register_Address_Translation_unit,FUNCTION,"End"); }; // #undef FUNCTION // #define FUNCTION "Register_Address_Translation_unit::Parameters (copy)" // Parameters::Parameters (Parameters & param) // { // log_printf(FUNC,Register_Address_Translation_unit,FUNCTION,"Begin"); // test(); // log_printf(FUNC,Register_Address_Translation_unit,FUNCTION,"End"); // }; #undef FUNCTION #define FUNCTION "Register_Address_Translation_unit::~Parameters" Parameters::~Parameters (void) { log_printf(FUNC,Register_Address_Translation_unit,FUNCTION,"Begin"); log_printf(FUNC,Register_Address_Translation_unit,FUNCTION,"End"); }; #undef FUNCTION #define FUNCTION "Register_Address_Translation_unit::copy" void Parameters::copy (void) { log_printf(FUNC,Register_Address_Translation_unit,FUNCTION,"Begin"); log_printf(FUNC,Register_Address_Translation_unit,FUNCTION,"End"); }; }; // end namespace register_address_translation_unit }; // end namespace register_translation_unit }; // end namespace rename_unit }; // end namespace ooo_engine }; // end namespace multi_ooo_engine }; // end namespace core }; // end namespace behavioural }; // end namespace morpheo