source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit_statistics_declaration.cpp @ 75

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

Update all component (except front_end) to :

  • new statistics model
  • no namespace std
File size: 2.3 KB
Line 
1#ifdef STATISTICS
2/*
3 * $Id$
4 *
5 * [ Description ]
6 *
7 */
8
9#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/include/Functionnal_unit.h"
10
11namespace morpheo {
12namespace behavioural {
13namespace core {
14namespace multi_execute_loop {
15namespace execute_loop {
16namespace multi_execute_unit {
17namespace execute_unit {
18namespace functionnal_unit {
19
20
21#undef  FUNCTION
22#define FUNCTION "Functionnal_unit::statistics_declaration"
23  void Functionnal_unit::statistics_declaration (morpheo::behavioural::Parameters_Statistics * param_statistics)
24  {
25    log_printf(FUNC,Functionnal_unit,FUNCTION,"Begin");
26
27    _stat = new Stat (static_cast<std::string>(_name),
28                      "Functionnal_unit",
29                      param_statistics);
30
31    _stat_use_functionnal_unit         = _stat->create_variable("use_functionnal_unit");
32    _stat_average_use_functionnal_unit = _stat->create_counter ("average_use_functionnal_unit", "" , "Average by cycle of the functionnal_unit occupation.");
33    _stat_percent_use_functionnal_unit = _stat->create_counter ("percent_use_functionnal_unit", "%", "Percent of functionnal_unit usage.");
34
35    _stat->create_expr("average_use_functionnal_unit", "/ use_functionnal_unit cycle"      , false);
36    _stat->create_expr("percent_use_functionnal_unit", "* average_use_functionnal_unit 100", false);
37
38    _stat_sum_delay                    = _stat->create_variable("sum_delay");
39    _stat_average_delay                = _stat->create_counter ("average_delay"               , "" , "Average by operation of the delay.");
40    _stat_sum_latence                  = _stat->create_variable("sum_latence");
41    _stat_average_latence              = _stat->create_counter ("average_latence"             , "" , "Average by operation of the latence.");
42
43    _stat->create_expr("average_delay"               , "/ sum_delay   use_functionnal_unit", false);
44    _stat->create_expr("average_latence"             , "/ sum_latence use_functionnal_unit", false);
45
46    log_printf(FUNC,Functionnal_unit,FUNCTION,"End");
47  };
48
49}; // end namespace functionnal_unit
50}; // end namespace execute_unit
51}; // end namespace multi_execute_unit
52}; // end namespace execute_loop
53}; // end namespace multi_execute_loop
54}; // end namespace core
55
56}; // end namespace behavioural
57}; // end namespace morpheo             
58#endif
Note: See TracBrowser for help on using the repository browser.