Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/SelfTest/src/main.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/SelfTest/src/main.cpp	(revision 128)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/SelfTest/src/main.cpp	(revision 146)
@@ -9,5 +9,5 @@
 #include "Behavioural/Custom/include/Custom_example.h"
 
-#define NB_PARAMS 13+7*3
+#define NB_PARAMS 13+8*3
 
 void usage (int argc, char * argv[])
@@ -43,4 +43,5 @@
   err (_(" * dir_pht_nb_counter            [3]                          (uint32_t             )\n"));
   err (_(" * dir_pht_size_address_share    [3]                          (uint32_t             )\n"));
+  err (_(" * dir_pht_scheme                [3]                          (Tpht_scheme_t        )\n"));
   err (_(" * ras_size_queue                [nb_context]                 (uint32_t             )\n"));
   err (_(" * upt_size_queue                [nb_context]                 (uint32_t             )\n"));
@@ -134,26 +135,29 @@
   Tvictim_t            _btb_victim_scheme                 = fromString<Tvictim_t        >(argv[x++]);
   Tpredictor_t         _dir_predictor_scheme              = fromString<Tpredictor_t     >(argv[x++]);
-  bool               * _dir_have_bht                      = new bool    [3];
-  uint32_t           * _dir_bht_size_shifter              = new uint32_t[3];
-  uint32_t           * _dir_bht_nb_shifter                = new uint32_t[3];
-  bool               * _dir_have_pht                      = new bool    [3];
-  uint32_t           * _dir_pht_size_counter              = new uint32_t[3];
-  uint32_t           * _dir_pht_nb_counter                = new uint32_t[3];
-  uint32_t           * _dir_pht_size_address_share        = new uint32_t[3];
-
-  for (uint32_t i=0; i<3; i++)
-    _dir_have_bht               [i] = fromString<bool    >(argv[x++]);
-  for (uint32_t i=0; i<3; i++)
-    _dir_bht_size_shifter       [i] = fromString<uint32_t>(argv[x++]);
-  for (uint32_t i=0; i<3; i++)
-    _dir_bht_nb_shifter         [i] = fromString<uint32_t>(argv[x++]);
-  for (uint32_t i=0; i<3; i++)
-    _dir_have_pht               [i] = fromString<bool    >(argv[x++]);
-  for (uint32_t i=0; i<3; i++)
-    _dir_pht_size_counter       [i] = fromString<uint32_t>(argv[x++]);
-  for (uint32_t i=0; i<3; i++)
-    _dir_pht_nb_counter         [i] = fromString<uint32_t>(argv[x++]);
-  for (uint32_t i=0; i<3; i++)
-    _dir_pht_size_address_share [i] = fromString<uint32_t>(argv[x++]);
+  bool               * _dir_have_bht                      = new bool          [3];
+  uint32_t           * _dir_bht_size_shifter              = new uint32_t      [3];
+  uint32_t           * _dir_bht_nb_shifter                = new uint32_t      [3];
+  bool               * _dir_have_pht                      = new bool          [3];
+  uint32_t           * _dir_pht_size_counter              = new uint32_t      [3];
+  uint32_t           * _dir_pht_nb_counter                = new uint32_t      [3];
+  uint32_t           * _dir_pht_size_address_share        = new uint32_t      [3];
+  Tpht_scheme_t      * _dir_pht_scheme                    = new Tpht_scheme_t [3];
+
+  for (uint32_t i=0; i<3; i++)
+    _dir_have_bht               [i] = fromString<bool         >(argv[x++]);
+  for (uint32_t i=0; i<3; i++)
+    _dir_bht_size_shifter       [i] = fromString<uint32_t     >(argv[x++]);
+  for (uint32_t i=0; i<3; i++)
+    _dir_bht_nb_shifter         [i] = fromString<uint32_t     >(argv[x++]);
+  for (uint32_t i=0; i<3; i++)
+    _dir_have_pht               [i] = fromString<bool         >(argv[x++]);
+  for (uint32_t i=0; i<3; i++)
+    _dir_pht_size_counter       [i] = fromString<uint32_t     >(argv[x++]);
+  for (uint32_t i=0; i<3; i++)
+    _dir_pht_nb_counter         [i] = fromString<uint32_t     >(argv[x++]);
+  for (uint32_t i=0; i<3; i++)
+    _dir_pht_size_address_share [i] = fromString<uint32_t     >(argv[x++]);
+  for (uint32_t i=0; i<3; i++)
+    _dir_pht_scheme             [i] = fromString<Tpht_scheme_t>(argv[x++]);
 
   uint32_t           * _ras_size_queue                    = new uint32_t [_nb_context];
@@ -211,4 +215,5 @@
          _dir_pht_nb_counter                  ,
          _dir_pht_size_address_share          ,
+         _dir_pht_scheme                      ,
          _ras_size_queue                      ,
          _upt_size_queue                      ,
@@ -253,4 +258,5 @@
   delete [] _dir_pht_nb_counter                  ;
   delete [] _dir_pht_size_address_share          ;
+  delete [] _dir_pht_scheme                      ;
   delete [] _ufpt_size_queue                   ;
   delete [] _upt_size_queue                    ;
