source: trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Statistics.h @ 71

Last change on this file since 71 was 71, checked in by rosiere, 16 years ago

Modification of Statisctics
Add a new systemC component : Load_Store_Queue (tested with one benchmark and one configuration). Store don't supported the Data Buss Error (Load is supported)

File size: 1.9 KB
Line 
1#ifdef STATISTICS
2
3#ifndef morpheo_behavioural_Statistics_h
4#define morpheo_behavioural_Statistics_h
5
6/*
7 * $Id$
8 *
9 * [ Description ]
10 *
11 */
12
13#include <stdint.h>
14#include <iostream>
15#include "Behavioural/include/Environnement.h"
16#include "Behavioural/include/Parameters_Statistics.h"
17#include "Common/include/Average.h"
18#include "Common/include/Percent.h"
19
20namespace morpheo              {
21namespace behavioural          {
22
23  class Statistics
24  {
25    // -----[ fields ]----------------------------------------------------
26  protected : const std::string                  _name;
27  protected : const Parameters_Statistics * _parameters_statistics;
28
29  protected :       uint32_t _nb_statistics;         // nb period ...
30  protected :       uint32_t _period_current;        // nb cycle in current period
31
32    // -----[ methods ]---------------------------------------------------
33  public    :                  Statistics          (std::string                  name                 ,
34                                                    Parameters_Statistics * parameters_statistics);
35  public    : virtual          ~Statistics         ();
36
37  protected : uint32_t         compute_cycle_begin (uint32_t num_statistics);   
38  protected : uint32_t         compute_cycle_end   (uint32_t num_statistics, uint32_t nb_cycle);
39
40  public    : virtual std::string   print_body          (uint32_t depth) = 0;
41  public    : virtual std::string   print               (uint32_t depth) = 0;
42  public    : void             generate_file       (std::string   stat );
43  public    : void             generate_file       (void);
44
45  private   : template <class Counters, class Parameters_Counters> void save        (Counters ** &, Parameters_Counters parameters);
46  protected : template <class Counters, class Parameters_Counters> void test_if_save(Counters ** &, Parameters_Counters parameters);
47  };
48
49}; // end namespace behavioural         
50}; // end namespace morpheo             
51
52#endif
53#endif
Note: See TracBrowser for help on using the repository browser.