Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/src/Parameters.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/src/Parameters.cpp	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/src/Parameters.cpp	(revision 146)
@@ -150,4 +150,5 @@
   uint32_t             ** lsu_pht_size_counter                          ,//[nb_load_store_unit][1]
   uint32_t             ** lsu_pht_nb_counter                            ,//[nb_load_store_unit][1]
+  Tpht_scheme_t        ** lsu_pht_scheme                                ,//[nb_load_store_unit][1]
   uint32_t              * nb_bypass_memory                              ,//[nb_load_store_unit]
   uint32_t              * nb_cache_port                                 ,//[nb_load_store_unit]
@@ -189,4 +190,5 @@
   uint32_t             ** dir_pht_nb_counter                            ,//[nb_front_end][3]
   uint32_t             ** dir_pht_size_address_share                    ,//[nb_front_end][3]
+  Tpht_scheme_t        ** dir_pht_scheme                                ,//[nb_front_end][3]
 
   // OOO_Engine
@@ -312,4 +314,5 @@
     _lsu_pht_size_counter                    = lsu_pht_size_counter                    ;
     _lsu_pht_nb_counter                      = lsu_pht_nb_counter                      ;
+    _lsu_pht_scheme                          = lsu_pht_scheme                          ;
     _nb_bypass_memory                        = nb_bypass_memory                        ;
     _nb_cache_port                           = nb_cache_port                           ;
@@ -346,4 +349,5 @@
     _dir_pht_nb_counter                      = dir_pht_nb_counter                      ;
     _dir_pht_size_address_share              = dir_pht_size_address_share              ;
+    _dir_pht_scheme                          = dir_pht_scheme                          ;
 
     _nb_ooo_engine                           = nb_ooo_engine                           ;
@@ -1355,4 +1359,8 @@
     ALLOC3(_ooo_engine_size_store_queue                   ,uint32_t         ,_nb_ooo_engine,_nb_rename_unit[it1],_ooo_engine_nb_load_store_unit[it1][it2]);
     ALLOC3(_ooo_engine_size_load_queue                    ,uint32_t         ,_nb_ooo_engine,_nb_rename_unit[it1],_ooo_engine_nb_load_store_unit[it1][it2]);
+    ALLOC3(_ooo_engine_speculative_commit_predictor_scheme,Tpredictor_t     ,_nb_ooo_engine,_nb_rename_unit[it1],_ooo_engine_nb_load_store_unit[it1][it2]);
+    ALLOC4(_ooo_engine_lsu_pht_size_counter               ,uint32_t         ,_nb_ooo_engine,_nb_rename_unit[it1],_ooo_engine_nb_load_store_unit[it1][it2],1);
+    ALLOC4(_ooo_engine_lsu_pht_nb_counter                 ,uint32_t         ,_nb_ooo_engine,_nb_rename_unit[it1],_ooo_engine_nb_load_store_unit[it1][it2],1);
+    ALLOC4(_ooo_engine_lsu_pht_scheme                     ,Tpht_scheme_t    ,_nb_ooo_engine,_nb_rename_unit[it1],_ooo_engine_nb_load_store_unit[it1][it2],1);
     ALLOC3(_ooo_engine_nb_inst_memory                     ,uint32_t         ,_nb_ooo_engine,_nb_rename_unit[it1],_ooo_engine_nb_load_store_unit[it1][it2]);
     ALLOC3(_ooo_engine_link_load_store_unit_with_context  ,uint32_t         ,_nb_ooo_engine,_ooo_engine_nb_front_end[it1],_ooo_engine_nb_context[it1][it2]);
@@ -1365,7 +1373,14 @@
               uint32_t num_load_store_unit = _list_load_store_unit_with_rename_unit[i][j][k];
               
-              _ooo_engine_size_store_queue [i][j][k] = _size_store_queue[num_load_store_unit];
-              _ooo_engine_size_load_queue  [i][j][k] = _size_load_queue [num_load_store_unit];
-              _ooo_engine_nb_inst_memory   [i][j][k] = _nb_inst_memory  [num_load_store_unit];
+              _ooo_engine_size_store_queue                    [i][j][k] = _size_store_queue                    [num_load_store_unit];
+              _ooo_engine_size_load_queue                     [i][j][k] = _size_load_queue                     [num_load_store_unit];
+              _ooo_engine_speculative_commit_predictor_scheme [i][j][k] = _speculative_commit_predictor_scheme [num_load_store_unit];
+	      for (uint32_t l=0; l<1; ++l)
+		{
+		  _ooo_engine_lsu_pht_size_counter [i][j][k][l] = _lsu_pht_size_counter [num_load_store_unit][l];
+		  _ooo_engine_lsu_pht_nb_counter   [i][j][k][l] = _lsu_pht_nb_counter   [num_load_store_unit][l];
+		  _ooo_engine_lsu_pht_scheme       [i][j][k][l] = _lsu_pht_scheme       [num_load_store_unit][l];
+		}
+              _ooo_engine_nb_inst_memory                      [i][j][k] = _nb_inst_memory                      [num_load_store_unit];
             }
 
@@ -1673,6 +1688,6 @@
                                                                                 ,_nb_execute_loop,_execute_loop_nb_load_store_unit[it1]);
     ALLOC2(_execute_loop_speculative_commit_predictor_scheme       ,Tpredictor_t,_nb_execute_loop,_execute_loop_nb_load_store_unit[it1]);
-    ALLOC3(_execute_loop_lsu_pht_size_counter                      ,uint32_t    ,_nb_execute_loop,_execute_loop_nb_load_store_unit[it1],1);
-    ALLOC3(_execute_loop_lsu_pht_nb_counter                        ,uint32_t    ,_nb_execute_loop,_execute_loop_nb_load_store_unit[it1],1);
+    // ALLOC3(_execute_loop_lsu_pht_size_counter                      ,uint32_t    ,_nb_execute_loop,_execute_loop_nb_load_store_unit[it1],1);
+    // ALLOC3(_execute_loop_lsu_pht_nb_counter                        ,uint32_t    ,_nb_execute_loop,_execute_loop_nb_load_store_unit[it1],1);
     ALLOC2(_execute_loop_nb_bypass_memory                          ,uint32_t    ,_nb_execute_loop,_execute_loop_nb_load_store_unit[it1]);
     ALLOC2(_execute_loop_nb_cache_port                             ,uint32_t    ,_nb_execute_loop,_execute_loop_nb_load_store_unit[it1]);
@@ -1695,9 +1710,9 @@
           _execute_loop_speculative_load                    [i][j] = _speculative_load                    [num_load_store_unit];
           _execute_loop_speculative_commit_predictor_scheme [i][j] = _speculative_commit_predictor_scheme [num_load_store_unit];
-          for (uint32_t k=0; k<1; ++k)
-            {
-          _execute_loop_lsu_pht_size_counter             [i][j][k] = _lsu_pht_size_counter                [num_load_store_unit][k];
-          _execute_loop_lsu_pht_nb_counter               [i][j][k] = _lsu_pht_nb_counter                  [num_load_store_unit][k];
-            }
+          // for (uint32_t k=0; k<1; ++k)
+          //   {
+          // _execute_loop_lsu_pht_size_counter             [i][j][k] = _lsu_pht_size_counter                [num_load_store_unit][k];
+          // _execute_loop_lsu_pht_nb_counter               [i][j][k] = _lsu_pht_nb_counter                  [num_load_store_unit][k];
+          //   }
           _execute_loop_nb_bypass_memory                    [i][j] = _nb_bypass_memory                    [num_load_store_unit];
           _execute_loop_nb_cache_port                       [i][j] = _nb_cache_port                       [num_load_store_unit];
@@ -2115,4 +2130,5 @@
         _dir_pht_nb_counter                     [i],
         _dir_pht_size_address_share             [i],
+        _dir_pht_scheme                         [i],
         _front_end_ras_size_queue               [i],
         _front_end_upt_size_queue               [i],
@@ -2131,52 +2147,56 @@
     _param_ooo_engine [i] = new core::multi_ooo_engine::ooo_engine::Parameters 
       (
-       _ooo_engine_nb_front_end                      [i],
-       _ooo_engine_nb_context                        [i],
-       _nb_rename_unit                               [i],
-       _ooo_engine_nb_execute_loop                   [i],
-       _ooo_engine_nb_inst_decod                     [i],
-       _ooo_engine_nb_inst_insert                    [i],
-       _ooo_engine_nb_inst_retire                    [i],
-//     _nb_inst_issue                                [i],
-       _ooo_engine_nb_inst_execute                   [i],
-       _nb_inst_reexecute                            [i],
-       _nb_inst_commit                               [i],
-       _nb_inst_branch_complete                      [i],
-       _ooo_engine_nb_branch_speculated              [i],
-       _size_nb_inst_decod                              ,
-       _nb_rename_unit_select                        [i],
-       _nb_execute_loop_select                       [i],
-       _size_general_data                               ,
-       _size_special_data                               ,
-       _ooo_engine_link_rename_unit_with_front_end   [i],
-       _size_re_order_buffer                         [i],
-       _nb_re_order_buffer_bank                      [i],
-       _retire_ooo_scheme                            [i],
-       _commit_priority                              [i],
-       _commit_load_balancing                        [i],
-       _size_issue_queue                             [i],
-       _issue_queue_scheme                           [i],
-       _nb_issue_queue_bank                          [i],
-       _issue_priority                               [i],
-       _issue_load_balancing                         [i],
-//     _ooo_engine_table_routing                     [i],
-//     _ooo_engine_table_issue_type                  [i],
-       _size_reexecute_queue                         [i],
-       _ooo_engine_rename_select_priority            [i],
-       _ooo_engine_rename_select_load_balancing      [i],
-       _ooo_engine_rename_select_nb_front_end_select [i],
-       _ooo_engine_nb_general_register               [i],
-       _ooo_engine_nb_special_register               [i],
-       _ooo_engine_rat_scheme                        [i],
-       _ooo_engine_nb_reg_free                       [i],
-       _ooo_engine_nb_rename_unit_bank               [i],
-//     _ooo_engine_size_read_counter                 [i],
-       _ooo_engine_nb_load_store_unit                [i],
-       _ooo_engine_size_store_queue                  [i],
-       _ooo_engine_size_load_queue                   [i],
-       _ooo_engine_nb_inst_memory                    [i],
-       _ooo_engine_link_load_store_unit_with_context [i],
-       _ooo_engine_implement_group                   [i],
-       _nb_thread                                       ,
+       _ooo_engine_nb_front_end                       [i],
+       _ooo_engine_nb_context                         [i],
+       _nb_rename_unit                                [i],
+       _ooo_engine_nb_execute_loop                    [i],
+       _ooo_engine_nb_inst_decod                      [i],
+       _ooo_engine_nb_inst_insert                     [i],
+       _ooo_engine_nb_inst_retire                     [i],
+//     _nb_inst_issue                                 [i],
+       _ooo_engine_nb_inst_execute                    [i],
+       _nb_inst_reexecute                             [i],
+       _nb_inst_commit                                [i],
+       _nb_inst_branch_complete                       [i],
+       _ooo_engine_nb_branch_speculated               [i],
+       _size_nb_inst_decod                               ,
+       _nb_rename_unit_select                         [i],
+       _nb_execute_loop_select                        [i],
+       _size_general_data                                ,
+       _size_special_data                                ,
+       _ooo_engine_link_rename_unit_with_front_end    [i],
+       _size_re_order_buffer                          [i],
+       _nb_re_order_buffer_bank                       [i],
+       _retire_ooo_scheme                             [i],
+       _commit_priority                               [i],
+       _commit_load_balancing                         [i],
+       _size_issue_queue                              [i],
+       _issue_queue_scheme                            [i],
+       _nb_issue_queue_bank                           [i],
+       _issue_priority                                [i],
+       _issue_load_balancing                          [i],
+//     _ooo_engine_table_routing                      [i],
+//     _ooo_engine_table_issue_type                   [i],
+       _size_reexecute_queue                          [i],
+       _ooo_engine_rename_select_priority             [i],
+       _ooo_engine_rename_select_load_balancing       [i],
+       _ooo_engine_rename_select_nb_front_end_select  [i],
+       _ooo_engine_nb_general_register                [i],
+       _ooo_engine_nb_special_register                [i],
+       _ooo_engine_rat_scheme                         [i],
+       _ooo_engine_nb_reg_free                        [i],
+       _ooo_engine_nb_rename_unit_bank                [i],
+//     _ooo_engine_size_read_counter                  [i],
+       _ooo_engine_nb_load_store_unit                 [i],
+       _ooo_engine_size_store_queue                   [i],
+       _ooo_engine_size_load_queue                    [i],
+       _ooo_engine_speculative_commit_predictor_scheme[i],
+       _ooo_engine_lsu_pht_size_counter               [i],
+       _ooo_engine_lsu_pht_nb_counter                 [i],
+       _ooo_engine_lsu_pht_scheme                     [i],
+       _ooo_engine_nb_inst_memory                     [i],
+       _ooo_engine_link_load_store_unit_with_context  [i],
+       _ooo_engine_implement_group                    [i],
+       _nb_thread                                        ,
        _ooo_engine_translate_num_context_to_num_thread[i]
        );
@@ -2218,6 +2238,6 @@
          _execute_loop_speculative_load                           [i],
          _execute_loop_speculative_commit_predictor_scheme        [i],
-         _execute_loop_lsu_pht_size_counter                       [i],
-         _execute_loop_lsu_pht_nb_counter                         [i],
+         // _execute_loop_lsu_pht_size_counter                       [i],
+         // _execute_loop_lsu_pht_nb_counter                         [i],
          _execute_loop_nb_bypass_memory                           [i],
          _execute_loop_nb_cache_port                              [i],
@@ -2392,6 +2412,6 @@
     DELETE2(_execute_loop_nb_cache_port                             ,_nb_execute_loop,_execute_loop_nb_load_store_unit[it1]);
     DELETE2(_execute_loop_nb_bypass_memory                          ,_nb_execute_loop,_execute_loop_nb_load_store_unit[it1]);
-    DELETE3(_execute_loop_lsu_pht_nb_counter                        ,_nb_execute_loop,_execute_loop_nb_load_store_unit[it1],1);
-    DELETE3(_execute_loop_lsu_pht_size_counter                      ,_nb_execute_loop,_execute_loop_nb_load_store_unit[it1],1);
+    // DELETE3(_execute_loop_lsu_pht_nb_counter                        ,_nb_execute_loop,_execute_loop_nb_load_store_unit[it1],1);
+    // DELETE3(_execute_loop_lsu_pht_size_counter                      ,_nb_execute_loop,_execute_loop_nb_load_store_unit[it1],1);
     DELETE2(_execute_loop_speculative_commit_predictor_scheme       ,_nb_execute_loop,_execute_loop_nb_load_store_unit[it1]);
     DELETE2(_execute_loop_speculative_load                          ,_nb_execute_loop,_execute_loop_nb_load_store_unit[it1]);
@@ -2423,4 +2443,8 @@
     DELETE3(_ooo_engine_link_load_store_unit_with_context           ,_nb_ooo_engine,_ooo_engine_nb_front_end[it1],_ooo_engine_nb_context[it1][it2]);
     DELETE3(_ooo_engine_nb_inst_memory                              ,_nb_ooo_engine,_nb_rename_unit[it1],_ooo_engine_nb_load_store_unit[it1][it2]);
+    DELETE4(_ooo_engine_lsu_pht_scheme                              ,_nb_ooo_engine,_nb_rename_unit[it1],_ooo_engine_nb_load_store_unit[it1][it2],1);
+    DELETE4(_ooo_engine_lsu_pht_nb_counter                          ,_nb_ooo_engine,_nb_rename_unit[it1],_ooo_engine_nb_load_store_unit[it1][it2],1);
+    DELETE4(_ooo_engine_lsu_pht_size_counter                        ,_nb_ooo_engine,_nb_rename_unit[it1],_ooo_engine_nb_load_store_unit[it1][it2],1);
+    DELETE3(_ooo_engine_speculative_commit_predictor_scheme         ,_nb_ooo_engine,_nb_rename_unit[it1],_ooo_engine_nb_load_store_unit[it1][it2]);
     DELETE3(_ooo_engine_size_load_queue                             ,_nb_ooo_engine,_nb_rename_unit[it1],_ooo_engine_nb_load_store_unit[it1][it2]);
     DELETE3(_ooo_engine_size_store_queue                            ,_nb_ooo_engine,_nb_rename_unit[it1],_ooo_engine_nb_load_store_unit[it1][it2]);
