#ifdef SYSTEMC /* * $Id: OOO_Engine_Glue_genMealy_retire_valack.cpp 88 2008-12-10 18:31:39Z rosiere $ * * [ Description ] * */ /* #include "Behavioural/Core/Multi_OOO_Engine/OOO_Engine/OOO_Engine_Glue/include/OOO_Engine_Glue.h" namespace morpheo { namespace behavioural { namespace core { namespace multi_ooo_engine { namespace ooo_engine { namespace ooo_engine_glue { #undef FUNCTION #define FUNCTION "OOO_Engine_Glue::genMealy_retire_valack" void OOO_Engine_Glue::genMealy_retire_valack (void) { log_begin(OOO_Engine_Glue,FUNCTION); log_function(OOO_Engine_Glue,FUNCTION,_name.c_str()); uint32_t x=0; for (uint32_t i=0; i<_param->_nb_rename_unit; ++i) for (uint32_t j=0; j<_param->_nb_inst_retire[i]; ++j) { Tcontrol_t ACK = PORT_READ(in_RETIRE_ACK [x] ); Tcontrol_t RENAME_UNIT_ACK = PORT_READ(in_RETIRE_RENAME_UNIT_ACK [i][j]); Tcontrol_t COMMIT_UNIT_VAL = PORT_READ(in_RETIRE_COMMIT_UNIT_VAL [i][j]); Tcontrol_t VAL = (RENAME_UNIT_ACK and COMMIT_UNIT_VAL ); Tcontrol_t RENAME_UNIT_VAL = (ACK and COMMIT_UNIT_VAL ); Tcontrol_t COMMIT_UNIT_ACK = (ACK and RENAME_UNIT_ACK ); PORT_WRITE(out_RETIRE_VAL [x] , VAL ); PORT_WRITE(out_RETIRE_RENAME_UNIT_VAL [i][j], RENAME_UNIT_VAL); PORT_WRITE(out_RETIRE_COMMIT_UNIT_ACK [i][j], COMMIT_UNIT_ACK); x ++; } log_end(OOO_Engine_Glue,FUNCTION); }; }; // end namespace ooo_engine_glue }; // end namespace ooo_engine }; // end namespace multi_ooo_engine }; // end namespace core }; // end namespace behavioural }; // end namespace morpheo */ #endif