source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/include/test.h @ 53

Last change on this file since 53 was 53, checked in by rosiere, 17 years ago
  • Banc de registre multi banc
  • Banc de registre générique.
File size: 1.3 KB
Line 
1/*
2 * $Id$
3 *
4 * [ Description ]
5 *
6 * Test "RegisterFile"
7 */
8
9#ifdef SYSTEMC
10#include "systemc.h"
11#endif
12
13#include <string>
14#include <iostream>
15#include <sys/time.h>
16
17#include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/RegisterFile_Multi_Banked.h"
18
19using namespace std;
20using namespace morpheo;
21using namespace morpheo::behavioural;
22using namespace morpheo::behavioural::generic;
23using namespace morpheo::behavioural::generic::registerfile;
24
25using namespace morpheo::behavioural::generic::registerfile::registerfile_multi_banked;
26
27void test    (string name,
28              morpheo::behavioural::generic::registerfile::registerfile_multi_banked::Parameters * param);
29
30
31class Time
32{
33private : timeval time_begin;
34// private : timeval time_end;
35 
36public  : Time ()
37  {
38    gettimeofday(&time_begin     ,NULL);
39  };
40
41public  : ~Time ()
42  {
43    cout << *this;
44  };
45
46public  : friend ostream& operator<< (ostream& output_stream,
47                                      const Time & x)
48  {
49    timeval time_end;
50   
51    gettimeofday(&time_end       ,NULL);
52   
53    uint32_t nb_cycles = static_cast<uint32_t>(sc_simulation_time());
54
55    double average = static_cast<double>(nb_cycles) / static_cast<double>(time_end.tv_sec-x.time_begin.tv_sec);
56   
57    output_stream << nb_cycles << "\t(" << average << " cycles / seconds )" << endl;
58
59    return output_stream;
60  }
61};
Note: See TracBrowser for help on using the repository browser.