#ifdef SYSTEMC
#ifndef morpheo_behavioural_Simulation_h
#define morpheo_behavioural_Simulation_h

/*
 * $Id: Simulation.h 124 2009-06-17 12:11:25Z rosiere $
 *
 * [ Description ]
 * 
 */

#include "Common/include/Debug.h"
#include "Behavioural/include/Model.h"
#include <stdint.h>
#include <systemc.h>
#include <vector>

namespace morpheo              {
namespace behavioural          {

  extern bool                _simulation_stop_exception;
  extern double              _simulation_nb_cycle;
  extern double              _simulation_nb_instruction;
  extern std::vector<double> _simulation_nb_instruction_commited;
  extern bool                _simulation_file_with_date;
  extern bool                _simulation_file_with_pid ;
  
  extern Model               _model;

  bool simulation_test_end (void);
  void simulation_init     (double nb_cycle,
                            double denug_nb_cycle,
                            double nb_instruction,
                            bool   file_with_date,
                            bool   file_with_pid);
}; // end namespace behavioural          
}; // end namespace morpheo              

#endif
#endif
