source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Stage_1_Ifetch/Predictor/Meta_Predictor/Meta_Predictor_Glue/include/Parameters.h @ 4

Last change on this file since 4 was 4, checked in by rosiere, 17 years ago
File size: 3.0 KB
Line 
1#ifndef morpheo_behavioural_stage_1_ifetch_predictor_meta_predictor_meta_predictor_glue_Parameters_h
2#define morpheo_behavioural_stage_1_ifetch_predictor_meta_predictor_meta_predictor_glue_Parameters_h
3
4/*
5 * $Id$
6 *
7 * [ Description ]
8 *
9 */
10
11#include "Include/Debug.h"
12#include "Behavioural/include/Parameters.h"
13#include <math.h>
14
15namespace morpheo {
16namespace behavioural {
17namespace stage_1_ifetch {
18namespace predictor {
19namespace meta_predictor {
20namespace meta_predictor_glue {
21
22
23  class Parameters : public morpheo::behavioural::Parameters
24  {
25    //-----[ fields ]------------------------------------------------------------
26  public : const bool     _have_meta_predictor               ;
27
28  public : const bool     _predictor_0_have_bht              ;
29  public : const uint32_t _predictor_0_bht_size_shifter      ;
30  public : const bool     _predictor_0_have_pht              ;
31  public : const uint32_t _predictor_0_pht_size_counter      ;
32
33  public : const bool     _predictor_1_have_bht              ;
34  public : const uint32_t _predictor_1_bht_size_shifter      ;
35  public : const bool     _predictor_1_have_pht              ;
36  public : const uint32_t _predictor_1_pht_size_counter      ;
37
38  public : const bool     _predictor_2_have_bht              ;
39  public : const uint32_t _predictor_2_bht_size_shifter      ;
40  public : const bool     _predictor_2_have_pht              ;
41  public : const uint32_t _predictor_2_pht_size_counter      ;
42
43  public : const uint32_t _nb_prediction                     ;
44  public : const uint32_t _nb_branch_complete                ;
45
46  public : const uint32_t _size_history                      ;
47
48    //-----[ methods ]-----------------------------------------------------------
49  public : Parameters  (bool     have_meta_predictor               ,
50                        bool     predictor_0_have_bht              ,
51                        uint32_t predictor_0_bht_size_shifter      ,
52                        bool     predictor_0_have_pht              ,
53                        uint32_t predictor_0_pht_size_counter      ,
54                        bool     predictor_1_have_bht              ,
55                        uint32_t predictor_1_bht_size_shifter      ,
56                        bool     predictor_1_have_pht              ,
57                        uint32_t predictor_1_pht_size_counter      ,
58                        bool     predictor_2_have_bht              ,
59                        uint32_t predictor_2_bht_size_shifter      ,
60                        bool     predictor_2_have_pht              ,
61                        uint32_t predictor_2_pht_size_counter      ,
62                        uint32_t nb_prediction                     ,
63                        uint32_t nb_branch_complete                );
64  public : Parameters  (Parameters & param) ;
65  public : ~Parameters () ;
66
67  public : string msg_error (void);
68
69  public :        string   print      (uint32_t depth);
70  public : friend ostream& operator<< (ostream& output_stream,
71                                       morpheo::behavioural::stage_1_ifetch::predictor::meta_predictor::meta_predictor_glue::Parameters & x);
72  };
73
74}; // end namespace meta_predictor_glue
75}; // end namespace meta_predictor
76}; // end namespace predictor
77}; // end namespace stage_1_ifetch
78
79}; // end namespace behavioural
80}; // end namespace morpheo             
81
82#endif
Note: See TracBrowser for help on using the repository browser.