/* * $Id$ * * [ Description ] * */ #include "Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_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 { #undef FUNCTION #define FUNCTION "Register_translation_unit::Parameters" Parameters::Parameters (uint32_t nb_front_end , uint32_t * nb_context , uint32_t nb_general_register , uint32_t nb_special_register , uint32_t nb_inst_insert , uint32_t nb_inst_retire , uint32_t nb_reg_free , uint32_t nb_bank , uint32_t size_read_counter ) { log_printf(FUNC,Register_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; _nb_inst_insert = nb_inst_insert ; _nb_inst_retire = nb_inst_retire ; _nb_reg_free = nb_reg_free ; _nb_bank = nb_bank ; _size_read_counter = size_read_counter ; uint32_t max_nb_context = max(nb_context, nb_front_end); _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); _have_port_front_end_id = _size_front_end_id>0; _have_port_context_id = _size_context_id >0; uint32_t nb_thread = 0; for (uint32_t i=0; i