#ifdef SYSTEMC
#ifndef morpheo_behavioural_Simulation_h
#define morpheo_behavioural_Simulation_h

/*
 * $Id: Simulation.h 88 2008-12-10 18:31:39Z rosiere $
 *
 * [ Description ]
 * 
 */

#include "Common/include/Debug.h"

#include <stdint.h>
#include <systemc.h>
#include <vector>

namespace morpheo              {
namespace behavioural          {

extern double                _simulation_nb_cycle;
// extern double                _simulation_nb_instruction;
// extern std::vector<double> * _simulation_nb_instruction_commited;

  // Warning, now no mutek to protect this variable

//   class Simulation
//   {
//   private : const  uint32_t _num_context;

//   public  :  Simulation (void);
//   public  : ~Simulation (void);
//   public  : void end_cycle (double nb_instruction_commited);
//   };

  bool simulation_test_end (void);
  void simulation_init     (double nb_cycle,
                            double nb_instruction);

}; // end namespace behavioural          
}; // end namespace morpheo              

#endif
#endif
