#ifdef SYSTEMC
/*
 * $Id$
 *
 * [ Description ]
 * 
 */

#include "Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Prediction_unit_Glue/include/Prediction_unit_Glue.h"

namespace morpheo                    {
namespace behavioural {
namespace core {
namespace multi_front_end {
namespace front_end {
namespace prediction_unit {
namespace prediction_unit_glue {


#undef  FUNCTION
#define FUNCTION "Prediction_unit_Glue::genMealy_update"
  void Prediction_unit_Glue::genMealy_update (void)
  {
    log_begin(Prediction_unit_Glue,FUNCTION);

//     for (uint32_t i=0; i<_param->_nb_inst_branch_update; i++)
//       {
// 	Tcontrol_t btb_ack     = PORT_READ(in_UPDATE_BTB_ACK [i]);
// 	Tcontrol_t dir_ack     = PORT_READ(in_UPDATE_DIR_ACK [i]);
// 	Tcontrol_t ras_ack     = PORT_READ(in_UPDATE_RAS_ACK [i]);
// 	Tcontrol_t upt_val     = PORT_READ(in_UPDATE_UPT_VAL [i]);

// 	Tcontrol_t need_btb = PORT_READ(in_UPDATE_UPT_BTB_VAL [i]);
// 	Tcontrol_t need_dir = PORT_READ(in_UPDATE_UPT_DIR_VAL [i]);
// 	Tcontrol_t need_ras = PORT_READ(in_UPDATE_UPT_RAS_VAL [i]);
	
// 	PORT_WRITE(out_UPDATE_BTB_VAL [i], (upt_val and need_btb and
// 					    (not need_dir or (need_dir and dir_ack)) and
// 					    (not need_ras or (need_ras and ras_ack))));

// 	PORT_WRITE(out_UPDATE_DIR_VAL [i], (upt_val and need_dir and
// 					    (not need_btb or (need_btb and btb_ack)) and
// 					    (not need_ras or (need_ras and ras_ack))));

// 	PORT_WRITE(out_UPDATE_RAS_VAL [i], (upt_val and need_ras and
// 					    (not need_btb or (need_btb and btb_ack)) and
// 					    (not need_dir or (need_dir and dir_ack))));

// 	PORT_WRITE(out_UPDATE_UPT_ACK [i], ((not need_btb or (need_btb and btb_ack)) and
// 					    (not need_dir or (need_dir and dir_ack)) and
// 					    (not need_ras or (need_ras and ras_ack))));
//       }

    log_end(Prediction_unit_Glue,FUNCTION);
  };

}; // end namespace prediction_unit_glue
}; // end namespace prediction_unit
}; // end namespace front_end
}; // end namespace multi_front_end
}; // end namespace core

}; // end namespace behavioural
}; // end namespace morpheo              
#endif
