#ifdef SYSTEMC
/*
 * $Id: OOO_Engine_Glue_genMealy_retire_valack.cpp 123 2009-06-08 20:43:30Z 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());

    if (PORT_READ(in_NRESET))
      {
    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
