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

#include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/RegisterFile_Multi_Banked_Glue/include/RegisterFile_Multi_Banked_Glue.h"

namespace morpheo                    {
namespace behavioural {
namespace generic {
namespace registerfile{
namespace registerfile_multi_banked {
namespace registerfile_multi_banked_glue {

  
  void RegisterFile_Multi_Banked_Glue::genMealy_read_in (void)
  {
    log_printf(FUNC,RegisterFile_Multi_Banked_Glue,"genMealy_read_in","Begin");
    
    for (uint32_t l=0; l<_param._nb_port_read; l++)
      {
	uint32_t num_bank = PORT_READ(in_READ_IN_ADDRESS [l])>>_param._shift_address;

// 	(*(out_READ_IN_ACK  [l])) (*(in_READ_IN_ADDRESS [i][j]));
// 	(*(out_READ_IN_DATA [l])) (*(in_READ_IN_ADDRESS [i][j]));

// 	for (uint32_t i=0; i<_param._nb_bank; i++)
// 	  for (uint32_t j=0; j<_param._nb_port_read_by_bank; j++)
// 	    {
// 	      (*(out_READ_IN_ACK  [l])) (*(in_READ_OUT_ACK      [i][j]));
// 	      (*(out_READ_IN_DATA [l])) (*(in_READ_OUT_DATA     [i][j]));
// 	      for (uint32_t k=0; k<_param._nb_port_select_by_bank_read_port[j]; k++)
// 		{
// 		  (*(out_READ_IN_ACK  [l])) (*(in_READ_SELECT_ACK [i][j][k]));
// 		  (*(out_READ_IN_DATA [l])) (*(in_READ_SELECT_ACK [i][j][k]));
// 		}
// 	    }
      }


    log_printf(FUNC,RegisterFile_Multi_Banked_Glue,"genMealy_read_in","End");
  };

}; // end namespace registerfile_multi_banked_glue
}; // end namespace registerfile_multi_banked
}; // end namespace registerfile
}; // end namespace generic
}; // end namespace behavioural
}; // end namespace morpheo              
#endif
