source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Stage_1_Ifetch/Predictor/Meta_Predictor/Two_Level_Branch_Predictor/Branch_History_Table/src/Parameters.cpp @ 2

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

Import Morpheo

File size: 2.6 KB
Line 
1/*
2 * $Id$
3 *
4 * [ Description ]
5 *
6 */
7
8#include "Behavioural/Stage_1_Ifetch/Predictor/Meta_Predictor/Two_Level_Branch_Predictor/Branch_History_Table/include/Parameters.h"
9
10namespace morpheo {
11namespace behavioural {
12namespace stage_1_ifetch {
13namespace predictor {
14namespace meta_predictor {
15namespace two_level_branch_predictor {
16namespace branch_history_table {
17
18
19  Parameters::Parameters (uint32_t size_shifter      ,
20                          uint32_t nb_shifter        ,
21                          uint32_t nb_prediction     ,
22                          uint32_t nb_branch_complete) :
23    _size_shifter       (size_shifter      ),
24    _nb_shifter         (nb_shifter        ),
25    _nb_prediction      (nb_prediction     ),
26    _nb_branch_complete (nb_branch_complete)
27  {
28    _param_shifter = new morpheo::behavioural::generic::shifter::Parameters (size_shifter       ,
29                                                                             nb_branch_complete ,
30                                                                             1                  ,
31                                                                             morpheo::behavioural::generic::shifter::without_rotate     ,
32                                                                             morpheo::behavioural::generic::shifter::internal_left_shift,
33                                                                             morpheo::behavioural::generic::shifter::external_completion),
34    _param_registerfile = new morpheo::behavioural::generic::registerfile::Parameters (nb_prediction      ,
35                                                                                       nb_branch_complete ,
36                                                                                       nb_shifter         ,
37                                                                                       size_shifter       );
38   
39    test();
40  };
41 
42  Parameters::Parameters (Parameters & param) :
43    _size_shifter       (param._size_shifter      ),
44    _nb_shifter         (param._nb_shifter        ),
45    _nb_prediction      (param._nb_prediction     ),
46    _nb_branch_complete (param._nb_branch_complete)
47  {
48    _param_shifter = new morpheo::behavioural::generic::shifter::Parameters (param._size_shifter       ,
49                                                                             param._nb_branch_complete ,
50                                                                             1                         ,
51                                                                             morpheo::behavioural::generic::shifter::without_rotate     ,
52                                                                             morpheo::behavioural::generic::shifter::internal_left_shift,
53                                                                             morpheo::behavioural::generic::shifter::external_completion,
54                                                                             true),
55
56    _param_registerfile = new morpheo::behavioural::generic::registerfile::Parameters (param._nb_prediction      ,
57                                                                                       param._nb_branch_complete ,
58                                                                                       param._nb_shifter         ,
59                                                                                       param._size_shifter       );
60     
61
62
63    test();
64  };
65
66  Parameters::~Parameters () 
67  {
68    delete _param_shifter;
69    delete _param_registerfile;
70  };
71
72}; // end namespace branch_history_table
73}; // end namespace two_level_branch_predictor
74}; // end namespace meta_predictor
75}; // end namespace predictor
76}; // end namespace stage_1_ifetch
77}; // end namespace behavioural
78}; // end namespace morpheo             
Note: See TracBrowser for help on using the repository browser.