source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Meta_Predictor_Glue/include/Parameters.h @ 48

Last change on this file since 48 was 48, checked in by rosiere, 17 years ago

Modification des Makefile : pas de creation inutile de shell

File size: 3.5 KB
Line 
1#ifndef morpheo_behavioural_core_multi_front_end_front_end_prediction_unit_direction_meta_predictor_meta_predictor_glue_Parameters_h
2#define morpheo_behavioural_core_multi_front_end_front_end_prediction_unit_direction_meta_predictor_meta_predictor_glue_Parameters_h
3
4/*
5 * $Id$
6 *
7 * [ Description ]
8 *
9 */
10
11#include "Common/include/Debug.h"
12#include "Behavioural/include/Parameters.h"
13#include <math.h>
14
15namespace morpheo {
16namespace behavioural {
17namespace core {
18namespace multi_front_end {
19namespace front_end {
20namespace prediction_unit {
21namespace direction {
22
23namespace meta_predictor {
24namespace meta_predictor_glue {
25
26
27  class Parameters : public morpheo::behavioural::Parameters
28  {
29    //-----[ fields ]------------------------------------------------------------
30  public : const bool     _have_meta_predictor               ;
31
32  public : const bool     _predictor_0_have_bht              ;
33  public : const uint32_t _predictor_0_bht_size_shifter      ;
34  public : const bool     _predictor_0_have_pht              ;
35  public : const uint32_t _predictor_0_pht_size_counter      ;
36
37  public : const bool     _predictor_1_have_bht              ;
38  public : const uint32_t _predictor_1_bht_size_shifter      ;
39  public : const bool     _predictor_1_have_pht              ;
40  public : const uint32_t _predictor_1_pht_size_counter      ;
41
42  public : const bool     _predictor_2_have_bht              ;
43  public : const uint32_t _predictor_2_bht_size_shifter      ;
44  public : const bool     _predictor_2_have_pht              ;
45  public : const uint32_t _predictor_2_pht_size_counter      ;
46
47  public : const uint32_t _nb_prediction                     ;
48  public : const uint32_t _nb_branch_complete                ;
49
50  public : const uint32_t _size_history                      ;
51
52  public : const uint32_t _shift_0;
53  public : const uint32_t _shift_1;
54  public : const uint32_t _shift_2;
55  public : const uint32_t _shift_3;
56  public : const uint32_t _shift_4;
57  public : const uint32_t _shift_5;
58  public : const uint32_t _shift_6;
59
60    //-----[ methods ]-----------------------------------------------------------
61  public : Parameters  (bool     have_meta_predictor               ,
62                        bool     predictor_0_have_bht              ,
63                        uint32_t predictor_0_bht_size_shifter      ,
64                        bool     predictor_0_have_pht              ,
65                        uint32_t predictor_0_pht_size_counter      ,
66                        bool     predictor_1_have_bht              ,
67                        uint32_t predictor_1_bht_size_shifter      ,
68                        bool     predictor_1_have_pht              ,
69                        uint32_t predictor_1_pht_size_counter      ,
70                        bool     predictor_2_have_bht              ,
71                        uint32_t predictor_2_bht_size_shifter      ,
72                        bool     predictor_2_have_pht              ,
73                        uint32_t predictor_2_pht_size_counter      ,
74                        uint32_t nb_prediction                     ,
75                        uint32_t nb_branch_complete                );
76  public : Parameters  (Parameters & param) ;
77  public : ~Parameters () ;
78
79  public : string msg_error (void);
80
81  public :        string   print      (uint32_t depth);
82  public : friend ostream& operator<< (ostream& output_stream,
83                                       morpheo::behavioural::core::multi_front_end::front_end::prediction_unit::direction::meta_predictor::meta_predictor_glue::Parameters & x);
84  };
85
86}; // end namespace meta_predictor_glue
87}; // end namespace meta_predictor
88
89}; // end namespace core
90}; // end namespace multi_front_end
91}; // end namespace front_end
92}; // end namespace prediction_unit
93}; // end namespace direction
94
95
96}; // end namespace behavioural
97}; // end namespace morpheo             
98
99#endif
Note: See TracBrowser for help on using the repository browser.