source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Stage_1_Ifetch/Predictor/Meta_Predictor/Two_Level_Branch_Predictor/Two_Level_Branch_Predictor_Glue/include/Parameters.h @ 2

Last change on this file since 2 was 2, checked in by kane, 17 years ago

Import Morpheo

File size: 2.3 KB
Line 
1#ifndef morpheo_behavioural_stage_1_ifetch_predictor_meta_predictor_two_level_branch_predictor_two_level_branch_predictor_glue_Parameters_h
2#define morpheo_behavioural_stage_1_ifetch_predictor_meta_predictor_two_level_branch_predictor_two_level_branch_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 two_level_branch_predictor {
21namespace two_level_branch_predictor_glue {
22
23
24  class Parameters : public morpheo::behavioural::Parameters
25  {
26    //-----[ fields ]------------------------------------------------------------
27  public : const bool     _have_bht              ;
28  public : const uint32_t _bht_size_history      ;
29  public : const uint32_t _bht_size_address      ;
30  public : const bool     _have_pht              ;
31  public : const uint32_t _pht_size_address      ;
32  public : const uint32_t _pht_size_address_share;
33  public : const uint32_t _size_address          ;
34  public : const uint32_t _nb_prediction         ;
35  public : const uint32_t _nb_branch_complete    ;
36  public : const uint32_t _pht_size_address_shift;
37
38    //-----[ methods ]-----------------------------------------------------------
39  public : Parameters  (bool     have_bht              ,
40                        uint32_t bht_size_history      ,
41                        uint32_t bht_size_address      ,
42                        bool     have_pht              ,
43                        uint32_t pht_size_address      ,
44                        uint32_t pht_size_address_share,
45                        uint32_t size_address          ,
46                        uint32_t nb_prediction         ,
47                        uint32_t nb_branch_complete    );
48
49  public : Parameters  (Parameters & param) ;
50  public : ~Parameters () ;
51
52  public : string msg_error (void);
53
54  public :        string   print      (uint32_t depth);
55  public : friend ostream& operator<< (ostream& output_stream,
56                                       morpheo::behavioural::stage_1_ifetch::predictor::meta_predictor::two_level_branch_predictor::two_level_branch_predictor_glue::Parameters & x);
57  };
58
59}; // end namespace two_level_branch_predictor_glue
60}; // end namespace two_level_branch_predictor
61}; // end namespace meta_predictor
62}; // end namespace predictor
63}; // end namespace stage_1_ifetch
64
65}; // end namespace behavioural
66}; // end namespace morpheo             
67
68#endif
Note: See TracBrowser for help on using the repository browser.