Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Configuration/src/Configuration.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Configuration/src/Configuration.cpp	(revision 139)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Configuration/src/Configuration.cpp	(revision 146)
@@ -82,4 +82,5 @@
       std::cout << header();
 
+#ifdef STATISTICS
     //--------------------------------------------------
     // Parameters_Statistics
@@ -87,4 +88,5 @@
     _param_statistics = new Parameters_Statistics (fromString<uint64_t>(_simulator->getParam("statistics_cycle_start")),
                                                    fromString<uint64_t>(_simulator->getParam("statistics_period")));
+#endif
 
     //--------------------------------------------------
@@ -133,5 +135,7 @@
     delete _instance;
 //  simulation_destroy();
+#ifdef STATISTICS
     delete _param_statistics;
+#endif
 
     log_end(Configuration,FUNCTION);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Configuration/src/Configuration_getParamStatistics.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Configuration/src/Configuration_getParamStatistics.cpp	(revision 139)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Configuration/src/Configuration_getParamStatistics.cpp	(revision 146)
@@ -1,2 +1,3 @@
+#ifdef STATISTICS
 /*
  * $Id$
@@ -22,2 +23,3 @@
 }; // end namespace behavioural
 }; // end namespace morpheo              
+#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Configuration/src/Instance.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Configuration/src/Instance.cpp	(revision 139)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Configuration/src/Instance.cpp	(revision 146)
@@ -116,4 +116,5 @@
         DELETE1(_param->_nb_inst_issue                          ,_param->_nb_ooo_engine);
         DELETE1(_param->_nb_rename_unit                         ,_param->_nb_ooo_engine); 
+        DELETE2(_param->_dir_pht_scheme                         ,_param->_nb_front_end,3);
         DELETE2(_param->_dir_pht_size_address_share             ,_param->_nb_front_end,3);
         DELETE2(_param->_dir_pht_nb_counter                     ,_param->_nb_front_end,3);
@@ -138,4 +139,5 @@
         DELETE1(_param->_nb_cache_port                          ,_param->_nb_load_store_unit);
         DELETE1(_param->_nb_bypass_memory                       ,_param->_nb_load_store_unit);
+        DELETE2(_param->_lsu_pht_scheme                         ,_param->_nb_load_store_unit,1);
         DELETE2(_param->_lsu_pht_nb_counter                     ,_param->_nb_load_store_unit,1);
         DELETE2(_param->_lsu_pht_size_counter                   ,_param->_nb_load_store_unit,1);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Configuration/src/Instance_fromInternalStructure.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Configuration/src/Instance_fromInternalStructure.cpp	(revision 139)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Configuration/src/Instance_fromInternalStructure.cpp	(revision 146)
@@ -178,17 +178,18 @@
     // load_store_unit
     //-----------------------------------------------------
-    ALLOC1(_param->_size_store_queue                   ,uint32_t    ,_param->_nb_load_store_unit);
-    ALLOC1(_param->_size_load_queue                    ,uint32_t    ,_param->_nb_load_store_unit);
-    ALLOC1(_param->_size_speculative_access_queue      ,uint32_t    ,_param->_nb_load_store_unit);
-    ALLOC1(_param->_nb_store_queue_bank                ,uint32_t    ,_param->_nb_load_store_unit);
-    ALLOC1(_param->_nb_load_queue_bank                 ,uint32_t    ,_param->_nb_load_store_unit);
-    ALLOC1(_param->_nb_port_check                      ,uint32_t    ,_param->_nb_load_store_unit);
+    ALLOC1(_param->_size_store_queue                   ,uint32_t     ,_param->_nb_load_store_unit);
+    ALLOC1(_param->_size_load_queue                    ,uint32_t     ,_param->_nb_load_store_unit);
+    ALLOC1(_param->_size_speculative_access_queue      ,uint32_t     ,_param->_nb_load_store_unit);
+    ALLOC1(_param->_nb_store_queue_bank                ,uint32_t     ,_param->_nb_load_store_unit);
+    ALLOC1(_param->_nb_load_queue_bank                 ,uint32_t     ,_param->_nb_load_store_unit);
+    ALLOC1(_param->_nb_port_check                      ,uint32_t     ,_param->_nb_load_store_unit);
     ALLOC1(_param->_speculative_load                   ,core::multi_execute_loop::execute_loop::Tspeculative_load_t,_param->_nb_load_store_unit);
-    ALLOC1(_param->_speculative_commit_predictor_scheme,Tpredictor_t,_param->_nb_load_store_unit);
-    ALLOC2(_param->_lsu_pht_size_counter               ,uint32_t    ,_param->_nb_load_store_unit,1);
-    ALLOC2(_param->_lsu_pht_nb_counter                 ,uint32_t    ,_param->_nb_load_store_unit,1);
-    ALLOC1(_param->_nb_bypass_memory                   ,uint32_t    ,_param->_nb_load_store_unit);
-    ALLOC1(_param->_nb_cache_port                      ,uint32_t    ,_param->_nb_load_store_unit);
-    ALLOC1(_param->_nb_inst_memory                     ,uint32_t    ,_param->_nb_load_store_unit);
+    ALLOC1(_param->_speculative_commit_predictor_scheme,Tpredictor_t ,_param->_nb_load_store_unit);
+    ALLOC2(_param->_lsu_pht_size_counter               ,uint32_t     ,_param->_nb_load_store_unit,1);
+    ALLOC2(_param->_lsu_pht_nb_counter                 ,uint32_t     ,_param->_nb_load_store_unit,1);
+    ALLOC2(_param->_lsu_pht_scheme                     ,Tpht_scheme_t,_param->_nb_load_store_unit,1);
+    ALLOC1(_param->_nb_bypass_memory                   ,uint32_t     ,_param->_nb_load_store_unit);
+    ALLOC1(_param->_nb_cache_port                      ,uint32_t     ,_param->_nb_load_store_unit);
+    ALLOC1(_param->_nb_inst_memory                     ,uint32_t     ,_param->_nb_load_store_unit);
 
     for (uint32_t i=0; i<_param->_nb_load_store_unit; ++i)
@@ -220,6 +221,7 @@
           {
           //log_printf(INFO,Configuration,FUNCTION,_("PREDICTOR [%d][%d]"),i,j);
-        _param->_lsu_pht_size_counter             [i][j] = fromString<uint32_t    > (getParam("lsu_pht_size_counter"               ,"load_store_unit",toString(i).c_str(),"predictor",toString(j).c_str(), ""));
-        _param->_lsu_pht_nb_counter               [i][j] = fromString<uint32_t    > (getParam("lsu_pht_nb_counter"                 ,"load_store_unit",toString(i).c_str(),"predictor",toString(j).c_str(), ""));
+        _param->_lsu_pht_size_counter             [i][j] = fromString<uint32_t     > (getParam("lsu_pht_size_counter"               ,"load_store_unit",toString(i).c_str(),"predictor",toString(j).c_str(), ""));
+        _param->_lsu_pht_nb_counter               [i][j] = fromString<uint32_t     > (getParam("lsu_pht_nb_counter"                 ,"load_store_unit",toString(i).c_str(),"predictor",toString(j).c_str(), ""));
+        _param->_lsu_pht_scheme                   [i][j] = fromString<Tpht_scheme_t> (getParam("lsu_pht_scheme"                     ,"load_store_unit",toString(i).c_str(),"predictor",toString(j).c_str(), ""));
           }
 
@@ -309,21 +311,22 @@
     // front_end
     //-----------------------------------------------------
-    ALLOC1(_param->_nb_context                    ,uint32_t    ,_param->_nb_front_end);
-    ALLOC1(_param->_nb_decod_unit                 ,uint32_t    ,_param->_nb_front_end);
-    ALLOC1(_param->_nb_inst_branch_predict        ,uint32_t    ,_param->_nb_front_end);
-    ALLOC1(_param->_nb_inst_branch_decod          ,uint32_t    ,_param->_nb_front_end);
-    ALLOC1(_param->_nb_inst_branch_update         ,uint32_t    ,_param->_nb_front_end);
-    ALLOC1(_param->_btb_size_queue                ,uint32_t    ,_param->_nb_front_end);
-    ALLOC1(_param->_btb_associativity             ,uint32_t    ,_param->_nb_front_end);
-    ALLOC1(_param->_btb_size_counter              ,uint32_t    ,_param->_nb_front_end);
-    ALLOC1(_param->_btb_victim_scheme             ,Tvictim_t   ,_param->_nb_front_end);
-    ALLOC1(_param->_dir_predictor_scheme          ,Tpredictor_t,_param->_nb_front_end);
-    ALLOC2(_param->_dir_have_bht                  ,bool        ,_param->_nb_front_end,3);
-    ALLOC2(_param->_dir_bht_size_shifter          ,uint32_t    ,_param->_nb_front_end,3);
-    ALLOC2(_param->_dir_bht_nb_shifter            ,uint32_t    ,_param->_nb_front_end,3);
-    ALLOC2(_param->_dir_have_pht                  ,bool        ,_param->_nb_front_end,3);
-    ALLOC2(_param->_dir_pht_size_counter          ,uint32_t    ,_param->_nb_front_end,3);
-    ALLOC2(_param->_dir_pht_nb_counter            ,uint32_t    ,_param->_nb_front_end,3);
-    ALLOC2(_param->_dir_pht_size_address_share    ,uint32_t    ,_param->_nb_front_end,3);
+    ALLOC1(_param->_nb_context                    ,uint32_t     ,_param->_nb_front_end);
+    ALLOC1(_param->_nb_decod_unit                 ,uint32_t     ,_param->_nb_front_end);
+    ALLOC1(_param->_nb_inst_branch_predict        ,uint32_t     ,_param->_nb_front_end);
+    ALLOC1(_param->_nb_inst_branch_decod          ,uint32_t     ,_param->_nb_front_end);
+    ALLOC1(_param->_nb_inst_branch_update         ,uint32_t     ,_param->_nb_front_end);
+    ALLOC1(_param->_btb_size_queue                ,uint32_t     ,_param->_nb_front_end);
+    ALLOC1(_param->_btb_associativity             ,uint32_t     ,_param->_nb_front_end);
+    ALLOC1(_param->_btb_size_counter              ,uint32_t     ,_param->_nb_front_end);
+    ALLOC1(_param->_btb_victim_scheme             ,Tvictim_t    ,_param->_nb_front_end);
+    ALLOC1(_param->_dir_predictor_scheme          ,Tpredictor_t ,_param->_nb_front_end);
+    ALLOC2(_param->_dir_have_bht                  ,bool         ,_param->_nb_front_end,3);
+    ALLOC2(_param->_dir_bht_size_shifter          ,uint32_t     ,_param->_nb_front_end,3);
+    ALLOC2(_param->_dir_bht_nb_shifter            ,uint32_t     ,_param->_nb_front_end,3);
+    ALLOC2(_param->_dir_have_pht                  ,bool         ,_param->_nb_front_end,3);
+    ALLOC2(_param->_dir_pht_size_counter          ,uint32_t     ,_param->_nb_front_end,3);
+    ALLOC2(_param->_dir_pht_nb_counter            ,uint32_t     ,_param->_nb_front_end,3);
+    ALLOC2(_param->_dir_pht_size_address_share    ,uint32_t     ,_param->_nb_front_end,3);
+    ALLOC2(_param->_dir_pht_scheme                ,Tpht_scheme_t,_param->_nb_front_end,3);
 
     for (uint32_t i=0; i<_param->_nb_front_end; ++i)
@@ -356,11 +359,12 @@
           //log_printf(INFO,Configuration,FUNCTION,_("PREDICTOR [%d][%d]"),i,j);
 
-        _param->_dir_have_bht               [i][j] = fromString<bool        >(getParam("dir_have_bht"              ,"front_end",toString(i).c_str(),"predictor",toString(j).c_str(), ""));
-        _param->_dir_bht_size_shifter       [i][j] = fromString<uint32_t    >(getParam("dir_bht_size_shifter"      ,"front_end",toString(i).c_str(),"predictor",toString(j).c_str(), ""));
-        _param->_dir_bht_nb_shifter         [i][j] = fromString<uint32_t    >(getParam("dir_bht_nb_shifter"        ,"front_end",toString(i).c_str(),"predictor",toString(j).c_str(), ""));
-        _param->_dir_have_pht               [i][j] = fromString<bool        >(getParam("dir_have_pht"              ,"front_end",toString(i).c_str(),"predictor",toString(j).c_str(), ""));
-        _param->_dir_pht_size_counter       [i][j] = fromString<uint32_t    >(getParam("dir_pht_size_counter"      ,"front_end",toString(i).c_str(),"predictor",toString(j).c_str(), ""));
-        _param->_dir_pht_nb_counter         [i][j] = fromString<uint32_t    >(getParam("dir_pht_nb_counter"        ,"front_end",toString(i).c_str(),"predictor",toString(j).c_str(), ""));
-        _param->_dir_pht_size_address_share [i][j] = fromString<uint32_t    >(getParam("dir_pht_size_address_share","front_end",toString(i).c_str(),"predictor",toString(j).c_str(), ""));
+        _param->_dir_have_bht               [i][j] = fromString<bool         >(getParam("dir_have_bht"              ,"front_end",toString(i).c_str(),"predictor",toString(j).c_str(), ""));
+        _param->_dir_bht_size_shifter       [i][j] = fromString<uint32_t     >(getParam("dir_bht_size_shifter"      ,"front_end",toString(i).c_str(),"predictor",toString(j).c_str(), ""));
+        _param->_dir_bht_nb_shifter         [i][j] = fromString<uint32_t     >(getParam("dir_bht_nb_shifter"        ,"front_end",toString(i).c_str(),"predictor",toString(j).c_str(), ""));
+        _param->_dir_have_pht               [i][j] = fromString<bool         >(getParam("dir_have_pht"              ,"front_end",toString(i).c_str(),"predictor",toString(j).c_str(), ""));
+        _param->_dir_pht_size_counter       [i][j] = fromString<uint32_t     >(getParam("dir_pht_size_counter"      ,"front_end",toString(i).c_str(),"predictor",toString(j).c_str(), ""));
+        _param->_dir_pht_nb_counter         [i][j] = fromString<uint32_t     >(getParam("dir_pht_nb_counter"        ,"front_end",toString(i).c_str(),"predictor",toString(j).c_str(), ""));
+        _param->_dir_pht_size_address_share [i][j] = fromString<uint32_t     >(getParam("dir_pht_size_address_share","front_end",toString(i).c_str(),"predictor",toString(j).c_str(), ""));
+        _param->_dir_pht_scheme             [i][j] = fromString<Tpht_scheme_t>(getParam("dir_pht_scheme"            ,"front_end",toString(i).c_str(),"predictor",toString(j).c_str(), ""));
           }
       }   
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Configuration/src/Parameter_definition_test.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Configuration/src/Parameter_definition_test.cpp	(revision 139)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Configuration/src/Parameter_definition_test.cpp	(revision 146)
@@ -8,4 +8,5 @@
 #include "Behavioural/Configuration/include/Parameter_definition.h"
 #include "Behavioural/include/Stat_binary_tree.h"
+#include "Behavioural/include/Stat_type.h"
 #include "Common/include/FromString.h"
 
