Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Context_State/SelfTest/config_min.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Context_State/SelfTest/config_min.cfg	(revision 144)
+++ 	(revision )
@@ -1,9 +1,0 @@
-Context_State
-1	1	+1	# nb_context
-1	1	+1	# nb_decod_unit
-1	1	+1	# nb_inst_branch_complete
-1	1	+1	# nb_inst_branch_speculated     [0] [nb_context]
-32	32	+1	# size_general_data		
-1	1	+1	# size_inst_decod               [0] [nb_decod_unit]
-1	1	+1	# size_inst_commit
-0	0	+1	# link_context_to_decod_unit    [0] [nb_context]
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Context_State/SelfTest/config_mono_context.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Context_State/SelfTest/config_mono_context.cfg	(revision 144)
+++ 	(revision )
@@ -1,9 +1,0 @@
-Context_State
-1	1	+1	# nb_context
-1	1	*4	# nb_decod_unit
-1	4	*4	# nb_inst_branch_complete
-1	4	*2	# nb_inst_branch_speculated     [0] [nb_context]
-32	32	+1	# size_general_data		
-1	4	*4	# size_inst_decod               [0] [nb_decod_unit]
-1	4	*4	# size_inst_commit
-0	0	+1	# link_context_to_decod_unit    [0] [nb_context]
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Context_State/SelfTest/config_multi_context.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Context_State/SelfTest/config_multi_context.cfg	(revision 144)
+++ 	(revision )
@@ -1,26 +1,0 @@
-Context_State
-8	8	+1	# nb_context
-4	4	*4	# nb_decod_unit
-2	2	*4	# nb_inst_branch_complete
-6	6	+1	# nb_inst_branch_speculated     [0] [nb_context]
-3	3	+1	# nb_inst_branch_speculated     [1] [nb_context]
-2	2	+1	# nb_inst_branch_speculated     [2] [nb_context]
-1	1	+1	# nb_inst_branch_speculated     [3] [nb_context]
-8	8	+1	# nb_inst_branch_speculated     [4] [nb_context]
-4	4	+1	# nb_inst_branch_speculated     [5] [nb_context]
-2	2	+1	# nb_inst_branch_speculated     [6] [nb_context]
-1	1	+1	# nb_inst_branch_speculated     [7] [nb_context]
-32	32	+1	# size_general_data		
-4	4	*4	# size_inst_decod               [0] [nb_decod_unit]
-1	1	*4	# size_inst_decod               [1] [nb_decod_unit]
-2	2	*4	# size_inst_decod               [2] [nb_decod_unit]
-4	4	*4	# size_inst_decod               [3] [nb_decod_unit]
-8	8	*4	# size_inst_commit
-0	0	+1	# link_context_to_decod_unit    [0] [nb_context]
-1	1	+1	# link_context_to_decod_unit    [1] [nb_context]
-2	2	+1	# link_context_to_decod_unit    [2] [nb_context]
-3	3	+1	# link_context_to_decod_unit    [3] [nb_context]
-0	0	+1	# link_context_to_decod_unit    [4] [nb_context]
-1	1	+1	# link_context_to_decod_unit    [5] [nb_context]
-2	2	+1	# link_context_to_decod_unit    [6] [nb_context]
-3	3	+1	# link_context_to_decod_unit    [7] [nb_context]
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Context_State/SelfTest/configuration/config_min.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Context_State/SelfTest/configuration/config_min.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Context_State/SelfTest/configuration/config_min.gen	(revision 145)
@@ -0,0 +1,9 @@
+Context_State
+1	1	+1	# nb_context
+1	1	+1	# nb_decod_unit
+1	1	+1	# nb_inst_branch_complete
+1	1	+1	# nb_inst_branch_speculated     [0] [nb_context]
+32	32	+1	# size_general_data		
+1	1	+1	# size_inst_decod               [0] [nb_decod_unit]
+1	1	+1	# size_inst_commit
+0	0	+1	# link_context_to_decod_unit    [0] [nb_context]
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Context_State/SelfTest/configuration/config_mono_context.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Context_State/SelfTest/configuration/config_mono_context.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Context_State/SelfTest/configuration/config_mono_context.gen	(revision 145)
@@ -0,0 +1,9 @@
+Context_State
+1	1	+1	# nb_context
+1	1	*4	# nb_decod_unit
+1	4	*4	# nb_inst_branch_complete
+1	4	*2	# nb_inst_branch_speculated     [0] [nb_context]
+32	32	+1	# size_general_data		
+1	4	*4	# size_inst_decod               [0] [nb_decod_unit]
+1	4	*4	# size_inst_commit
+0	0	+1	# link_context_to_decod_unit    [0] [nb_context]
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Context_State/SelfTest/configuration/config_multi_context.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Context_State/SelfTest/configuration/config_multi_context.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Context_State/SelfTest/configuration/config_multi_context.gen	(revision 145)
@@ -0,0 +1,26 @@
+Context_State
+8	8	+1	# nb_context
+4	4	*4	# nb_decod_unit
+2	2	*4	# nb_inst_branch_complete
+6	6	+1	# nb_inst_branch_speculated     [0] [nb_context]
+3	3	+1	# nb_inst_branch_speculated     [1] [nb_context]
+2	2	+1	# nb_inst_branch_speculated     [2] [nb_context]
+1	1	+1	# nb_inst_branch_speculated     [3] [nb_context]
+8	8	+1	# nb_inst_branch_speculated     [4] [nb_context]
+4	4	+1	# nb_inst_branch_speculated     [5] [nb_context]
+2	2	+1	# nb_inst_branch_speculated     [6] [nb_context]
+1	1	+1	# nb_inst_branch_speculated     [7] [nb_context]
+32	32	+1	# size_general_data		
+4	4	*4	# size_inst_decod               [0] [nb_decod_unit]
+1	1	*4	# size_inst_decod               [1] [nb_decod_unit]
+2	2	*4	# size_inst_decod               [2] [nb_decod_unit]
+4	4	*4	# size_inst_decod               [3] [nb_decod_unit]
+8	8	*4	# size_inst_commit
+0	0	+1	# link_context_to_decod_unit    [0] [nb_context]
+1	1	+1	# link_context_to_decod_unit    [1] [nb_context]
+2	2	+1	# link_context_to_decod_unit    [2] [nb_context]
+3	3	+1	# link_context_to_decod_unit    [3] [nb_context]
+0	0	+1	# link_context_to_decod_unit    [4] [nb_context]
+1	1	+1	# link_context_to_decod_unit    [5] [nb_context]
+2	2	+1	# link_context_to_decod_unit    [6] [nb_context]
+3	3	+1	# link_context_to_decod_unit    [7] [nb_context]
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Context_State/include/Types.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Context_State/include/Types.h	(revision 144)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Context_State/include/Types.h	(revision 145)
@@ -32,4 +32,5 @@
       CONTEXT_STATE_KO_MISS_BRANCH_ADDR                , // update address manager
       CONTEXT_STATE_KO_MISS_BRANCH_WAITEND             , // wait end of event (miss branch)
+      CONTEXT_STATE_KO_MISS_BRANCH_INACCURATE          , // wait end of event (miss branch)
       CONTEXT_STATE_KO_MISS_LOAD_ADDR                  , // update address manager
       CONTEXT_STATE_KO_MISS_LOAD_WAITEND               , // wait end of event (miss load))
@@ -69,4 +70,5 @@
       case morpheo::behavioural::core::multi_front_end::front_end::context_state::CONTEXT_STATE_KO_MISS_BRANCH_ADDR                 : return "context_state_ko_miss_branch_addr"                ; break;
       case morpheo::behavioural::core::multi_front_end::front_end::context_state::CONTEXT_STATE_KO_MISS_BRANCH_WAITEND              : return "context_state_ko_miss_branch_waitend"             ; break;
+      case morpheo::behavioural::core::multi_front_end::front_end::context_state::CONTEXT_STATE_KO_MISS_BRANCH_INACCURATE           : return "context_state_ko_miss_branch_inaccurate"          ; break;
       case morpheo::behavioural::core::multi_front_end::front_end::context_state::CONTEXT_STATE_KO_MISS_LOAD_AND_BRANCH_WAIT_UPDATE : return "context_state_ko_miss_load_and_branch_wait_update"; break;
       case morpheo::behavioural::core::multi_front_end::front_end::context_state::CONTEXT_STATE_KO_MISS_LOAD_AND_BRANCH_ADDR        : return "context_state_ko_miss_load_and_branch_addr"       ; break;
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Context_State/src/Context_State_statistics_allocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Context_State/src/Context_State_statistics_allocation.cpp	(revision 144)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Context_State/src/Context_State_statistics_allocation.cpp	(revision 145)
@@ -40,14 +40,13 @@
     for (uint32_t i=0; i<_param->_nb_context; ++i)
       {
-        _stat_nb_cycle_state_ok                      [i] = _stat->create_counter("nb_cycle_state_ok_"                     +toString(i),"",toString(_("Number of cycle in state ok                      (context %d)"),i));
-        _stat_nb_cycle_state_ko_excep                [i] = _stat->create_counter("nb_cycle_state_ko_excep_"               +toString(i),"",toString(_("Number of cycle in state ko_excep                (context %d)"),i));
-        _stat_nb_cycle_state_ko_miss_branch          [i] = _stat->create_counter("nb_cycle_state_ko_miss_branch_"         +toString(i),"",toString(_("Number of cycle in state ko_miss_branch          (context %d)"),i));
-        _stat_nb_cycle_state_ko_miss_load            [i] = _stat->create_counter("nb_cycle_state_ko_miss_load_"           +toString(i),"",toString(_("Number of cycle in state ko_miss_load            (context %d)"),i));
-        _stat_nb_cycle_state_ko_miss_load_and_branch [i] = _stat->create_counter("nb_cycle_state_ko_miss_load_and_branch_"+toString(i),"",toString(_("Number of cycle in state ko_miss_load_and_branch (context %d)"),i));
-        _stat_nb_cycle_state_ko_msync                [i] = _stat->create_counter("nb_cycle_state_ko_msync_"               +toString(i),"",toString(_("Number of cycle in state ko_msync                (context %d)"),i));
-        _stat_nb_cycle_state_ko_psync                [i] = _stat->create_counter("nb_cycle_state_ko_psync_"               +toString(i),"",toString(_("Number of cycle in state ko_psync                (context %d)"),i));
-        _stat_nb_cycle_state_ko_csync                [i] = _stat->create_counter("nb_cycle_state_ko_csync_"               +toString(i),"",toString(_("Number of cycle in state ko_csync                (context %d)"),i));
-        _stat_nb_cycle_state_ko_spr                  [i] = _stat->create_counter("nb_cycle_state_ko_spr_"                 +toString(i),"",toString(_("Number of cycle in state ko_spr                  (context %d)"),i));
-
+        _stat_nb_cycle_state_ok                      [i] = _stat->create_variable("nb_cycle_state_ok_"                     +toString(i));
+        _stat_nb_cycle_state_ko_excep                [i] = _stat->create_variable("nb_cycle_state_ko_excep_"               +toString(i));
+        _stat_nb_cycle_state_ko_miss_branch          [i] = _stat->create_variable("nb_cycle_state_ko_miss_branch_"         +toString(i));
+        _stat_nb_cycle_state_ko_miss_load            [i] = _stat->create_variable("nb_cycle_state_ko_miss_load_"           +toString(i));
+        _stat_nb_cycle_state_ko_miss_load_and_branch [i] = _stat->create_variable("nb_cycle_state_ko_miss_load_and_branch_"+toString(i));
+        _stat_nb_cycle_state_ko_msync                [i] = _stat->create_variable("nb_cycle_state_ko_msync_"               +toString(i));
+        _stat_nb_cycle_state_ko_psync                [i] = _stat->create_variable("nb_cycle_state_ko_psync_"               +toString(i));
+        _stat_nb_cycle_state_ko_csync                [i] = _stat->create_variable("nb_cycle_state_ko_csync_"               +toString(i));
+        _stat_nb_cycle_state_ko_spr                  [i] = _stat->create_variable("nb_cycle_state_ko_spr_"                 +toString(i));
 
         _stat->create_expr_percent("percent_state_ok_"                     +toString(i),"nb_cycle_state_ok_"                     +toString(i),"cycle",toString(_("Percent of cycle in state ok                      (context %d)"),i));
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Context_State/src/Context_State_transition.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Context_State/src/Context_State_transition.cpp	(revision 144)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Context_State/src/Context_State_transition.cpp	(revision 145)
@@ -33,4 +33,5 @@
   (((state == CONTEXT_STATE_KO_MISS_BRANCH_ADDR                ) or  \
     (state == CONTEXT_STATE_KO_MISS_BRANCH_WAITEND             ) or  \
+    (state == CONTEXT_STATE_KO_MISS_BRANCH_INACCURATE          ) or  \
     (state == CONTEXT_STATE_KO_MISS_BRANCH_WAIT_UPDATE         ))?PRIORITY_MISS_BRANCH: \
    ((state == EVENT_TYPE_EXCEPTION)?PRIORITY_EXCEPTION:                           \
@@ -112,4 +113,11 @@
 //                  state = CONTEXT_STATE_OK;
                     state = CONTEXT_STATE_KO_MISS_BRANCH_ADDR;
+                  break;
+                }
+              case CONTEXT_STATE_KO_MISS_BRANCH_INACCURATE :
+                {
+                  if (inst_all == 0)
+//                  state = CONTEXT_STATE_OK;
+                    state = CONTEXT_STATE_OK;
                   break;
                 }
@@ -321,12 +329,8 @@
                       if (can_continue)
                         reg_STATE                [i] =  CONTEXT_STATE_KO_MISS_BRANCH_ADDR;
-                      else
-                        {
-// #if (MANAGE_EVENT == MANAGE_EVENT_NO_WAIT)
-//                           reg_STATE                [i] =  CONTEXT_STATE_KO_MISS_BRANCH_ADDR;
-// #else
-                          reg_STATE                [i] =  CONTEXT_STATE_KO_MISS_BRANCH_WAITEND;
-// #endif
-                        }
+                      else 
+                        // cf UPT : dest_val = direction, accurate depend of jump type (e.g. jr is inacurate)
+                        // reg_STATE                [i] =  CONTEXT_STATE_KO_MISS_BRANCH_WAITEND;
+                        reg_STATE                [i] =  CONTEXT_STATE_KO_MISS_BRANCH_INACCURATE;
 
                       reg_EVENT_ADDRESS          [i] = PORT_READ(in_BRANCH_EVENT_ADDRESS_SRC  [i])+1; // address delay slot
@@ -647,4 +651,5 @@
                         case CONTEXT_STATE_KO_MISS_BRANCH_ADDR             :
                         case CONTEXT_STATE_KO_MISS_BRANCH_WAITEND          :
+                        case CONTEXT_STATE_KO_MISS_BRANCH_INACCURATE       :
                         case CONTEXT_STATE_KO_MISS_LOAD_AND_BRANCH_ADDR    :
                         case CONTEXT_STATE_KO_MISS_LOAD_AND_BRANCH_WAITEND :
@@ -752,4 +757,5 @@
           case CONTEXT_STATE_KO_EXCEP_SPR                       : (*_stat_nb_cycle_state_ko_excep                [i])++; break;
 
+          case CONTEXT_STATE_KO_MISS_BRANCH_INACCURATE          : 
           case CONTEXT_STATE_KO_MISS_BRANCH_WAIT_UPDATE         : 
           case CONTEXT_STATE_KO_MISS_BRANCH_ADDR                : 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/SelfTest/config_min.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/SelfTest/config_min.cfg	(revision 144)
+++ 	(revision )
@@ -1,9 +1,0 @@
-Decod
-1	1	*4	# nb_context           
-1	1	*4	# nb_inst_fetch                 [0] [nb_context]
-1	1	*4	# nb_inst_decod        
-1	1	*2	# nb_branch_speculated          [0] [nb_context]
-1	1	*2	# nb_context_select    
-32	32	*2	# size_general_data    
-1	1	+1	# priority             
-1	1	+1	# load_balancing       
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/SelfTest/config_mono_context.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/SelfTest/config_mono_context.cfg	(revision 144)
+++ 	(revision )
@@ -1,9 +1,0 @@
-Decod
-1	1	*4	# nb_context           
-4	16	*4	# nb_inst_fetch                 [0] [nb_context]
-1	4 	*4	# nb_inst_decod         
-1	1	*2	# nb_branch_speculated          [0] [nb_context]
-1	1	*2	# nb_context_select    
-32	32	*2	# size_general_data    
-1	1	+1	# priority             
-1	1	+1	# load_balancing       
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/SelfTest/config_multi_context.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/SelfTest/config_multi_context.cfg	(revision 144)
+++ 	(revision )
@@ -1,15 +1,0 @@
-Decod
-4	4	*4	# nb_context           
-1	1	*4	# nb_inst_fetch                 [0] [nb_context]
-2	2	*4	# nb_inst_fetch                 [1] [nb_context]
-4	4	*4	# nb_inst_fetch                 [2] [nb_context]
-8	8	*4	# nb_inst_fetch                 [3] [nb_context]
-1	8	*2	# nb_inst_decod        
-1	1	*2	# nb_branch_speculated          [0] [nb_context]
-0	0	*2	# nb_branch_speculated          [1] [nb_context]
-1	1	*2	# nb_branch_speculated          [2] [nb_context]
-2	2	*2	# nb_branch_speculated          [3] [nb_context]
-1	4	*2	# nb_context_select    
-32	32	*2	# size_general_data    
-1	1	+1	# priority             
-1	1	+1	# load_balancing       
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/SelfTest/configuration/config_min.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/SelfTest/configuration/config_min.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/SelfTest/configuration/config_min.gen	(revision 145)
@@ -0,0 +1,9 @@
+Decod
+1	1	*4	# nb_context           
+1	1	*4	# nb_inst_fetch                 [0] [nb_context]
+1	1	*4	# nb_inst_decod        
+1	1	*2	# nb_branch_speculated          [0] [nb_context]
+1	1	*2	# nb_context_select    
+32	32	*2	# size_general_data    
+1	1	+1	# priority             
+1	1	+1	# load_balancing       
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/SelfTest/configuration/config_mono_context.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/SelfTest/configuration/config_mono_context.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/SelfTest/configuration/config_mono_context.gen	(revision 145)
@@ -0,0 +1,9 @@
+Decod
+1	1	*4	# nb_context           
+4	16	*4	# nb_inst_fetch                 [0] [nb_context]
+1	4 	*4	# nb_inst_decod         
+1	1	*2	# nb_branch_speculated          [0] [nb_context]
+1	1	*2	# nb_context_select    
+32	32	*2	# size_general_data    
+1	1	+1	# priority             
+1	1	+1	# load_balancing       
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/SelfTest/configuration/config_multi_context.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/SelfTest/configuration/config_multi_context.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/SelfTest/configuration/config_multi_context.gen	(revision 145)
@@ -0,0 +1,15 @@
+Decod
+4	4	*4	# nb_context           
+1	1	*4	# nb_inst_fetch                 [0] [nb_context]
+2	2	*4	# nb_inst_fetch                 [1] [nb_context]
+4	4	*4	# nb_inst_fetch                 [2] [nb_context]
+8	8	*4	# nb_inst_fetch                 [3] [nb_context]
+1	8	*2	# nb_inst_decod        
+1	1	*2	# nb_branch_speculated          [0] [nb_context]
+0	0	*2	# nb_branch_speculated          [1] [nb_context]
+1	1	*2	# nb_branch_speculated          [2] [nb_context]
+2	2	*2	# nb_branch_speculated          [3] [nb_context]
+1	4	*2	# nb_context_select    
+32	32	*2	# size_general_data    
+1	1	+1	# priority             
+1	1	+1	# load_balancing       
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/src/Decod_genMealy.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/src/Decod_genMealy.cpp	(revision 144)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/src/Decod_genMealy.cpp	(revision 145)
@@ -71,4 +71,5 @@
     std::list<generic::priority::select_t> * select = _priority->select();
     std::list<generic::priority::select_t>::iterator it=select->begin();
+
     for (uint32_t i=0; i<_param->_nb_inst_decod; i++)
       {
@@ -76,13 +77,14 @@
 
         bool ifetch_val = false;
-	while ((it != select->end())    and  // have a no scanned "slot_in" ?
+
+	while ((it != select->end())    and  // have a no scanned instruction from ifetch_unit ?
 // 	       (decod_val [i] == false) and  // have not a previous selected entry?
                (ifetch_val    == false) and  // not find ifetch instruction valid
-	       (context_event_val == false)) // Have not a context_event (spr_access, exception, ...)
+	       (context_event_val == false)) // Have not a context_event (spr_access, exception, ...) (ONCE CONTEXT PER CYCLE (context state moore easy))
 	  {
 // 	    predict_val [i] = false;
 
-	    Tcontext_t x = it->grp;
-	    uint32_t   y = it->elt;
+	    Tcontext_t x = it->grp; // num_front_end
+	    uint32_t   y = it->elt; // num_instruction
 
             log_printf(TRACE,Decod,FUNCTION,"    * IFETCH [%d][%d]",x,y);    
@@ -102,4 +104,5 @@
 		Tgeneral_data_t addr = PORT_READ(in_IFETCH_ADDRESS [x][y]);
 
+                // Read instruction and set default value
 		_decod_instruction->_instruction        = PORT_READ(in_IFETCH_INSTRUCTION [x][y]);
 		_decod_instruction->_context_id         = x;
@@ -132,13 +135,11 @@
 		_decod_instruction->_branch_direction   = 0; // not necessary
 		_decod_instruction->_event_type         = EVENT_TYPE_NONE; // not necessary
-		
-
-
-                // Test IFetch exception
+
+                // Test if ifetch_unit have an exception (per example : IBERR)
                 Texception_t ifetch_exception = PORT_READ(in_IFETCH_EXCEPTION [x][y]);
 
                 if (ifetch_exception == EXCEPTION_IFETCH_NONE)
                   {
-                    // Decod !
+                    // No exception, can Decod !
                     log_printf(TRACE,Decod,FUNCTION,"      * address                : %.8x (%.8x)",addr,(addr<<2));
                     log_printf(TRACE,Decod,FUNCTION,"      * is_delay_slot          : %d",internal_CONTEXT_IS_DELAY_SLOT [x]);
@@ -150,5 +151,11 @@
                 else
                   {
-                    // No decod : nop
+                    // Exception : transform this instruction in a nop
+                    //  * INSTRUCTION_TLB  
+                    //  * INSTRUCTION_PAGE 
+                    //  * BUS_ERROR        
+
+                    log_printf(TRACE,Decod,FUNCTION,"      * exception -> change instruction in a l.nop");
+                    
                     instruction_l_nop (_decod_instruction, _decod_param[x]);
 
@@ -156,7 +163,4 @@
                     _decod_instruction->_exception     = exception_ifetch_to_exception_decod(ifetch_exception);
                     
-                    // INSTRUCTION_TLB  
-                    // INSTRUCTION_PAGE 
-                    // BUS_ERROR        
                     if (_decod_instruction->_is_delay_slot)
                       _decod_instruction->_address_next       = _decod_instruction->_address_previous;
@@ -167,13 +171,23 @@
                   }
 
-		Ttype_t      type      = _decod_instruction->_type;
-                // Depth current. If have decod a branch and i can continue : depth = depth_next
-                Tdepth_t     depth     = (_param->_have_port_depth)?PORT_READ(in_CONTEXT_DEPTH [x]):0;
-                // Tcontrol_t   save_rat  = internal_CONTEXT_SAVE_RAT [x];
-                Tcontrol_t   no_execute = _decod_instruction->_no_execute;
-
+		Ttype_t             type             = _decod_instruction->_type;
+                Tdepth_t            depth            = (_param->_have_port_depth)?PORT_READ(in_CONTEXT_DEPTH [x]):0;
+                Tbranch_condition_t branch_condition = _decod_instruction->_branch_condition;
+                
+                // Save RAT if instruction is a branch and is conditionnal (not l.j and not l.jal)
+
+              //Tcontrol_t          save_rat         = internal_CONTEXT_SAVE_RAT [x];
+                // Tcontrol_t          save_rat         = ((type == TYPE_BRANCH) and 
+                //                                         not ((branch_condition==BRANCH_CONDITION_NONE_WITHOUT_WRITE_STACK) or
+                //                                              (branch_condition==BRANCH_CONDITION_NONE_WITH_WRITE_STACK)));
+
+                Tcontrol_t          save_rat         = ((type == TYPE_BRANCH) and 
+                                                        not (branch_condition==BRANCH_CONDITION_NONE_WITHOUT_WRITE_STACK));
+
+                // FIXME : depth+1 valid ???????
                 if ((_param->_nb_branch_speculated[x] > 0) and have_decod_branch [x])
                   depth = (depth+1)%_param->_nb_branch_speculated[x];
-                
+
+                // Write output
 		if (_param->_have_port_context_id)
 		PORT_WRITE(out_DECOD_CONTEXT_ID    [i], x);
@@ -185,16 +199,10 @@
 		PORT_WRITE(out_DECOD_TYPE          [i], type);
 		PORT_WRITE(out_DECOD_OPERATION     [i], _decod_instruction->_operation     );
- 		PORT_WRITE(out_DECOD_NO_EXECUTE    [i], no_execute);
+ 		PORT_WRITE(out_DECOD_NO_EXECUTE    [i], _decod_instruction->_no_execute    );
 		PORT_WRITE(out_DECOD_IS_DELAY_SLOT [i], _decod_instruction->_is_delay_slot );
-		// PORT_WRITE(out_DECOD_SAVE_RAT      [i], save_rat);
-                PORT_WRITE(out_DECOD_SAVE_RAT      [i], ((type == TYPE_BRANCH) and not no_execute));
+                PORT_WRITE(out_DECOD_SAVE_RAT      [i], save_rat);
 #ifdef DEBUG
  		PORT_WRITE(out_DECOD_ADDRESS       [i], addr);
 #endif
-//                 if ((type == TYPE_BRANCH) and
-//                     ((_decod_instruction->_branch_condition = BRANCH_CONDITION_FLAG_SET) or
-//                      (_decod_instruction->_branch_condition = BRANCH_CONDITION_FLAG_UNSET)))
-//                 PORT_WRITE(out_DECOD_ADDRESS_NEXT  [i], _decod_instruction->_address+2);
-//                 else
                 PORT_WRITE(out_DECOD_ADDRESS_NEXT  [i], _decod_instruction->_address_next  );
 		PORT_WRITE(out_DECOD_HAS_IMMEDIAT  [i], _decod_instruction->_has_immediat  );
@@ -206,5 +214,5 @@
 		PORT_WRITE(out_DECOD_READ_RC       [i], _decod_instruction->_read_rc       );
 		PORT_WRITE(out_DECOD_NUM_REG_RC    [i], _decod_instruction->_num_reg_rc    );
-		PORT_WRITE(out_DECOD_WRITE_RD      [i],(_decod_instruction->_num_reg_rd!=0)?_decod_instruction->_write_rd:0);
+		PORT_WRITE(out_DECOD_WRITE_RD      [i],(_decod_instruction->_num_reg_rd!=0)?_decod_instruction->_write_rd:0); // don't write in RD if RD=0
 		PORT_WRITE(out_DECOD_NUM_REG_RD    [i], _decod_instruction->_num_reg_rd    );
 		PORT_WRITE(out_DECOD_WRITE_RE      [i], _decod_instruction->_write_re      );
@@ -224,11 +232,9 @@
                     log_printf(TRACE,Decod,FUNCTION,"        * predict_val       : %d",ifetch_ack [x][y]);
                     log_printf(TRACE,Decod,FUNCTION,"        * predict_ack       : %d",PORT_READ(in_PREDICT_ACK [i]));
-                                                         
 		    log_printf(TRACE,Decod,FUNCTION,"        * address src       : %.8x (%.8x)",_decod_instruction->_address     ,_decod_instruction->_address     <<2);
 		    log_printf(TRACE,Decod,FUNCTION,"        * address dest      : %.8x (%.8x)",_decod_instruction->_address_next,_decod_instruction->_address_next<<2);
                     
-                    // test if have already decod an branch : one branch per context
-		    predict_val [i]     = not have_decod_branch [x] and ifetch_ack  [x][y] // and decod_val [i]
-		      ;
+                    // test if have already decod an branch : ONCE BRANCH PER CONTEXT
+		    predict_val [i]     = not have_decod_branch [x] and ifetch_ack  [x][y]; // and decod_val [i]
                     decod_val   [i]    &= not have_decod_branch [x] and PORT_READ(in_PREDICT_ACK [i]);// predict_ack and fetch_val and decod_enable 		    
                     ifetch_ack  [x][y] &= not have_decod_branch [x] and PORT_READ(in_PREDICT_ACK [i]);// predict_ack and fetch_val and decod_enable and decod_ack
@@ -252,5 +258,5 @@
 		if (_param->_have_port_depth)
                 PORT_WRITE(out_PREDICT_BRANCH_UPDATE_PREDICTION_ID [i],PORT_READ(in_IFETCH_BRANCH_UPDATE_PREDICTION_ID [x][y]));
-		PORT_WRITE(out_PREDICT_BRANCH_CONDITION            [i],_decod_instruction->_branch_condition  );
+		PORT_WRITE(out_PREDICT_BRANCH_CONDITION            [i],branch_condition);
 // 		PORT_WRITE(out_PREDICT_BRANCH_STACK_WRITE          [i],_decod_instruction->_branch_stack_write);
 		PORT_WRITE(out_PREDICT_BRANCH_DIRECTION            [i],_decod_instruction->_branch_direction  );
@@ -266,6 +272,5 @@
 		    // speculative jump at the exception handler
 		    // if type = TYPE_BRANCH, also event_type == EVENT_TYPE_NONE
-		    context_event_val   = ifetch_ack  [x][y] // and decod_val [i]
-		      ;
+		    context_event_val   = ifetch_ack  [x][y]; // and decod_val [i]
 		    decod_val   [i]    &= PORT_READ(in_CONTEXT_EVENT_ACK);// context_event_ack and fetch_val and decod_enable 		  
 		    ifetch_ack  [x][y] &= PORT_READ(in_CONTEXT_EVENT_ACK);// context_event_ack and fetch_val and decod_enable and decod_ack
@@ -277,5 +282,4 @@
                     CONTEXT_EVENT_ADDRESS       = _decod_instruction->_address;
                     CONTEXT_EVENT_ADDRESS_EPCR  = _decod_instruction->_address_next ;
-                
 		  }
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/SelfTest/config_min.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/SelfTest/config_min.cfg	(revision 144)
+++ 	(revision )
@@ -1,7 +1,0 @@
-Decod_queue
-1	1	+1	# nb_context       
-1	1	*4	# nb_inst_decod    
-1	1	*4	# size_queue       
-0       1       +1      # queue_scheme
-32	32	+1	# size_general_data
-1	1	+1	# nb_branch_speculated [0] [nb_context]
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/SelfTest/config_mono_context.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/SelfTest/config_mono_context.cfg	(revision 144)
+++ 	(revision )
@@ -1,7 +1,0 @@
-Decod_queue
-1	1	+1	# nb_context       
-1	8	*2	# nb_inst_decod    
-8	16	*2	# size_queue       
-0       1       +1      # queue_scheme
-32	32	+1	# size_general_data
-1	2	+1	# nb_branch_speculated [0] [nb_context]
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/SelfTest/config_multi_context.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/SelfTest/config_multi_context.cfg	(revision 144)
+++ 	(revision )
@@ -1,10 +1,0 @@
-Decod_queue
-4	4	+1	# nb_context       
-4	4	*4	# nb_inst_decod    
-16	16	*4	# size_queue       
-0       1       +1      # queue_scheme
-32	32	+1	# size_general_data
-2	2	+1	# nb_branch_speculated [0] [nb_context]
-4	4	+1	# nb_branch_speculated [1] [nb_context]
-1	1	+1	# nb_branch_speculated [2] [nb_context]
-8	8	+1	# nb_branch_speculated [3] [nb_context]
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/SelfTest/configuration/config_min.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/SelfTest/configuration/config_min.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/SelfTest/configuration/config_min.gen	(revision 145)
@@ -0,0 +1,7 @@
+Decod_queue
+1	1	+1	# nb_context       
+1	1	*4	# nb_inst_decod    
+1	1	*4	# size_queue       
+0       1       +1      # queue_scheme
+32	32	+1	# size_general_data
+1	1	+1	# nb_branch_speculated [0] [nb_context]
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/SelfTest/configuration/config_mono_context.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/SelfTest/configuration/config_mono_context.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/SelfTest/configuration/config_mono_context.gen	(revision 145)
@@ -0,0 +1,7 @@
+Decod_queue
+1	1	+1	# nb_context       
+1	8	*2	# nb_inst_decod    
+8	16	*2	# size_queue       
+0       1       +1      # queue_scheme
+32	32	+1	# size_general_data
+1	2	+1	# nb_branch_speculated [0] [nb_context]
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/SelfTest/configuration/config_multi_context.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/SelfTest/configuration/config_multi_context.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod_queue/SelfTest/configuration/config_multi_context.gen	(revision 145)
@@ -0,0 +1,10 @@
+Decod_queue
+4	4	+1	# nb_context       
+4	4	*4	# nb_inst_decod    
+16	16	*4	# size_queue       
+0       1       +1      # queue_scheme
+32	32	+1	# size_general_data
+2	2	+1	# nb_branch_speculated [0] [nb_context]
+4	4	+1	# nb_branch_speculated [1] [nb_context]
+1	1	+1	# nb_branch_speculated [2] [nb_context]
+8	8	+1	# nb_branch_speculated [3] [nb_context]
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/SelfTest/config_min.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/SelfTest/config_min.cfg	(revision 144)
+++ 	(revision )
@@ -1,11 +1,0 @@
-Decod_unit
-1	1	+1	# nb_context                   
-1	1	+1	# nb_inst_fetch                [0][nb_context]
-1	1	+1	# nb_inst_decod                
-1	1	+1	# size_queue                   
-0	1	+1	# queue_scheme
-32	32	+1	# size_general_data            
-1	1	+1	# nb_branch_speculated         [0][nb_context]
-1	1	+1	# nb_context_select            
-1	1	+1	# select_priority              
-1	1	+1	# select_load_balancing        
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/SelfTest/config_mono_context.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/SelfTest/config_mono_context.cfg	(revision 144)
+++ 	(revision )
@@ -1,11 +1,0 @@
-Decod_unit
-1	1	+1	# nb_context                   
-4	8	*2 	# nb_inst_fetch                [0][nb_context]
-1	4	*4	# nb_inst_decod                
-4	16	*4	# size_queue                   
-0	1	+1	# queue_scheme
-32	32	+1	# size_general_data            
-1	1	*4	# nb_branch_speculated         [0][nb_context]
-1	1	+1	# nb_context_select            
-1	1	+1	# select_priority              
-1	1	+1	# select_load_balancing        
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/SelfTest/config_multi_context.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/SelfTest/config_multi_context.cfg	(revision 144)
+++ 	(revision )
@@ -1,17 +1,0 @@
-Decod_unit
-4	4	+1	# nb_context                   
-4	4	*4	# nb_inst_fetch                [0][nb_context]
-2	2	*4	# nb_inst_fetch                 [1][nb_context]
-1	1	*4	# nb_inst_fetch                 [2][nb_context]
-8	8	*4	# nb_inst_fetch                 [3][nb_context]
-1	8 	*4	# nb_inst_decod                 
-16	16	*4	# size_queue                    
-0	1	+1	# queue_scheme
-32	32	+1	# size_general_data             
-1	1	*4	# nb_branch_speculated          [0][nb_context]
-2	2	*4	# nb_branch_speculated          [1][nb_context]
-1	1	*4	# nb_branch_speculated          [2][nb_context]
-4	4	*4	# nb_branch_speculated          [3][nb_context]
-1	4	*4	# nb_context_select            
-1	1	+1	# select_priority              
-1	1	+1	# select_load_balancing        
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/SelfTest/configuration/config_min.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/SelfTest/configuration/config_min.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/SelfTest/configuration/config_min.gen	(revision 145)
@@ -0,0 +1,11 @@
+Decod_unit
+1	1	+1	# nb_context                   
+1	1	+1	# nb_inst_fetch                [0][nb_context]
+1	1	+1	# nb_inst_decod                
+1	1	+1	# size_queue                   
+0	1	+1	# queue_scheme
+32	32	+1	# size_general_data            
+1	1	+1	# nb_branch_speculated         [0][nb_context]
+1	1	+1	# nb_context_select            
+1	1	+1	# select_priority              
+1	1	+1	# select_load_balancing        
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/SelfTest/configuration/config_mono_context.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/SelfTest/configuration/config_mono_context.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/SelfTest/configuration/config_mono_context.gen	(revision 145)
@@ -0,0 +1,11 @@
+Decod_unit
+1	1	+1	# nb_context                   
+4	8	*2 	# nb_inst_fetch                [0][nb_context]
+1	4	*4	# nb_inst_decod                
+4	16	*4	# size_queue                   
+0	1	+1	# queue_scheme
+32	32	+1	# size_general_data            
+1	1	*4	# nb_branch_speculated         [0][nb_context]
+1	1	+1	# nb_context_select            
+1	1	+1	# select_priority              
+1	1	+1	# select_load_balancing        
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/SelfTest/configuration/config_multi_context.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/SelfTest/configuration/config_multi_context.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/SelfTest/configuration/config_multi_context.gen	(revision 145)
@@ -0,0 +1,17 @@
+Decod_unit
+4	4	+1	# nb_context                   
+4	4	*4	# nb_inst_fetch                [0][nb_context]
+2	2	*4	# nb_inst_fetch                 [1][nb_context]
+1	1	*4	# nb_inst_fetch                 [2][nb_context]
+8	8	*4	# nb_inst_fetch                 [3][nb_context]
+1	8 	*4	# nb_inst_decod                 
+16	16	*4	# size_queue                    
+0	1	+1	# queue_scheme
+32	32	+1	# size_general_data             
+1	1	*4	# nb_branch_speculated          [0][nb_context]
+2	2	*4	# nb_branch_speculated          [1][nb_context]
+1	1	*4	# nb_branch_speculated          [2][nb_context]
+4	4	*4	# nb_branch_speculated          [3][nb_context]
+1	4	*4	# nb_context_select            
+1	1	+1	# select_priority              
+1	1	+1	# select_load_balancing        
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Front_end_Glue/SelfTest/config-context_1-decod_unit_1.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Front_end_Glue/SelfTest/config-context_1-decod_unit_1.cfg	(revision 144)
+++ 	(revision )
@@ -1,10 +1,0 @@
-Front_end_Glue
-1	1	+1	# nb_context                     
-1	1	+1	# nb_decod_unit                  
-1	1	+1	# nb_inst_decod              [0] [nb_decod_unit]
-1	1	+1	# nb_inst_branch_complete        
-0	0	+1	# link_context_to_decod_unit [0] [nb_context]
-30	30	+1	# size_address                   
-2	2	+1	# size_depth                 [0] [nb_context]
-4	4	+1	# nb_branch_speculated       [0] [nb_context]
-4       4       +1      # size_nb_inst_decod
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Front_end_Glue/SelfTest/config-context_4-decod_unit_1.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Front_end_Glue/SelfTest/config-context_4-decod_unit_1.cfg	(revision 144)
+++ 	(revision )
@@ -1,19 +1,0 @@
-Front_end_Glue
-4	4	+1	# nb_context                     
-1	1	+1	# nb_decod_unit                  
-1	1	+1	# nb_inst_decod              [0] [nb_decod_unit]
-1	1	+1	# nb_inst_branch_complete        
-0	0	+1	# link_context_to_decod_unit [0] [nb_context]
-0	0	+1	# link_context_to_decod_unit [1] [nb_context]
-0	0	+1	# link_context_to_decod_unit [2] [nb_context]
-0	0	+1	# link_context_to_decod_unit [3] [nb_context]
-30	30	+1	# size_address                   
-2	2	+1	# size_depth                 [0] [nb_context]
-0	0	+1	# size_depth                 [1] [nb_context]
-1	1	+1	# size_depth                 [2] [nb_context]
-3	3	+1	# size_depth                 [3] [nb_context]
-4	4	+1	# nb_branch_speculated       [0] [nb_context]
-1	1	+1	# nb_branch_speculated       [1] [nb_context]
-2	2	+1	# nb_branch_speculated       [2] [nb_context]
-8	8	+1	# nb_branch_speculated       [3] [nb_context]
-4       4       +1      # size_nb_inst_decod
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Front_end_Glue/SelfTest/config-context_4-decod_unit_2-a.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Front_end_Glue/SelfTest/config-context_4-decod_unit_2-a.cfg	(revision 144)
+++ 	(revision )
@@ -1,20 +1,0 @@
-Front_end_Glue
-4	4	+1	# nb_context                     
-2	2	+1	# nb_decod_unit                  
-4	4	+1	# nb_inst_decod              [0] [nb_decod_unit]
-1	1	+1	# nb_inst_decod              [1] [nb_decod_unit]
-1	1	+1	# nb_inst_branch_complete        
-0	0	+1	# link_context_to_decod_unit [0] [nb_context]
-1	1	+1	# link_context_to_decod_unit [1] [nb_context]
-0	0	+1	# link_context_to_decod_unit [2] [nb_context]
-1	1	+1	# link_context_to_decod_unit [3] [nb_context]
-30	30	+1	# size_address                   
-2	2	+1	# size_depth                 [0] [nb_context]
-0	0	+1	# size_depth                 [1] [nb_context]
-1	1	+1	# size_depth                 [2] [nb_context]
-3	3	+1	# size_depth                 [3] [nb_context]
-4	4	+1	# nb_branch_speculated       [0] [nb_context]
-1	1	+1	# nb_branch_speculated       [1] [nb_context]
-2	2	+1	# nb_branch_speculated       [2] [nb_context]
-8	8	+1	# nb_branch_speculated       [3] [nb_context]
-4       4       +1      # size_nb_inst_decod
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Front_end_Glue/SelfTest/config-context_4-decod_unit_2-b.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Front_end_Glue/SelfTest/config-context_4-decod_unit_2-b.cfg	(revision 144)
+++ 	(revision )
@@ -1,20 +1,0 @@
-Front_end_Glue
-4	4	+1	# nb_context                     
-2	2	+1	# nb_decod_unit                  
-4	4	+1	# nb_inst_decod              [0] [nb_decod_unit]
-1	1	+1	# nb_inst_decod              [1] [nb_decod_unit]
-1	1	+1	# nb_inst_branch_complete        
-0	0	+1	# link_context_to_decod_unit [0] [nb_context]
-1	1	+1	# link_context_to_decod_unit [1] [nb_context]
-1	1	+1	# link_context_to_decod_unit [2] [nb_context]
-1	1	+1	# link_context_to_decod_unit [3] [nb_context]
-30	30	+1	# size_address                   
-2	2	+1	# size_depth                 [0] [nb_context]
-0	0	+1	# size_depth                 [1] [nb_context]
-1	1	+1	# size_depth                 [2] [nb_context]
-3	3	+1	# size_depth                 [3] [nb_context]
-4	4	+1	# nb_branch_speculated       [0] [nb_context]
-1	1	+1	# nb_branch_speculated       [1] [nb_context]
-2	2	+1	# nb_branch_speculated       [2] [nb_context]
-8	8	+1	# nb_branch_speculated       [3] [nb_context]
-4       4       +1      # size_nb_inst_decod
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Front_end_Glue/SelfTest/config-context_4-decod_unit_4.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Front_end_Glue/SelfTest/config-context_4-decod_unit_4.cfg	(revision 144)
+++ 	(revision )
@@ -1,22 +1,0 @@
-Front_end_Glue
-4	4	+1	# nb_context                     
-4	4	+1	# nb_decod_unit                  
-2	2	+1	# nb_inst_decod              [0] [nb_decod_unit]
-4	4	+1	# nb_inst_decod              [1] [nb_decod_unit]
-1	1	+1	# nb_inst_decod              [2] [nb_decod_unit]
-8	8	+1	# nb_inst_decod              [3] [nb_decod_unit]
-1	1	+1	# nb_inst_branch_complete        
-1	1	+1	# link_context_to_decod_unit [0] [nb_context]
-0	0	+1	# link_context_to_decod_unit [1] [nb_context]
-3	3	+1	# link_context_to_decod_unit [2] [nb_context]
-2	2	+1	# link_context_to_decod_unit [3] [nb_context]
-30	30	+1	# size_address                   
-2	2	+1	# size_depth                 [0] [nb_context]
-0	0	+1	# size_depth                 [1] [nb_context]
-1	1	+1	# size_depth                 [2] [nb_context]
-3	3	+1	# size_depth                 [3] [nb_context]
-4	4	+1	# nb_branch_speculated       [0] [nb_context]
-1	1	+1	# nb_branch_speculated       [1] [nb_context]
-2	2	+1	# nb_branch_speculated       [2] [nb_context]
-8	8	+1	# nb_branch_speculated       [3] [nb_context]
-4       4       +1      # size_nb_inst_decod
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Front_end_Glue/SelfTest/config-min.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Front_end_Glue/SelfTest/config-min.cfg	(revision 144)
+++ 	(revision )
@@ -1,10 +1,0 @@
-Front_end_Glue
-1	1	+1	# nb_context                     
-1	1	+1	# nb_decod_unit                  
-1	1	+1	# nb_inst_decod              [0] [nb_decod_unit]
-1	1	+1	# nb_inst_branch_complete        
-0	0	+1	# link_context_to_decod_unit [0] [nb_context]
-30	30	+1	# size_address                   
-0	0	+1	# size_depth                 [0] [nb_context]
-1	1	+1	# nb_branch_speculated       [0] [nb_context]
-1       1       +1      # size_nb_inst_decod
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Front_end_Glue/SelfTest/configuration/config-context_1-decod_unit_1.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Front_end_Glue/SelfTest/configuration/config-context_1-decod_unit_1.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Front_end_Glue/SelfTest/configuration/config-context_1-decod_unit_1.gen	(revision 145)
@@ -0,0 +1,10 @@
+Front_end_Glue
+1	1	+1	# nb_context                     
+1	1	+1	# nb_decod_unit                  
+1	1	+1	# nb_inst_decod              [0] [nb_decod_unit]
+1	1	+1	# nb_inst_branch_complete        
+0	0	+1	# link_context_to_decod_unit [0] [nb_context]
+30	30	+1	# size_address                   
+2	2	+1	# size_depth                 [0] [nb_context]
+4	4	+1	# nb_branch_speculated       [0] [nb_context]
+4       4       +1      # size_nb_inst_decod
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Front_end_Glue/SelfTest/configuration/config-context_4-decod_unit_1.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Front_end_Glue/SelfTest/configuration/config-context_4-decod_unit_1.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Front_end_Glue/SelfTest/configuration/config-context_4-decod_unit_1.gen	(revision 145)
@@ -0,0 +1,19 @@
+Front_end_Glue
+4	4	+1	# nb_context                     
+1	1	+1	# nb_decod_unit                  
+1	1	+1	# nb_inst_decod              [0] [nb_decod_unit]
+1	1	+1	# nb_inst_branch_complete        
+0	0	+1	# link_context_to_decod_unit [0] [nb_context]
+0	0	+1	# link_context_to_decod_unit [1] [nb_context]
+0	0	+1	# link_context_to_decod_unit [2] [nb_context]
+0	0	+1	# link_context_to_decod_unit [3] [nb_context]
+30	30	+1	# size_address                   
+2	2	+1	# size_depth                 [0] [nb_context]
+0	0	+1	# size_depth                 [1] [nb_context]
+1	1	+1	# size_depth                 [2] [nb_context]
+3	3	+1	# size_depth                 [3] [nb_context]
+4	4	+1	# nb_branch_speculated       [0] [nb_context]
+1	1	+1	# nb_branch_speculated       [1] [nb_context]
+2	2	+1	# nb_branch_speculated       [2] [nb_context]
+8	8	+1	# nb_branch_speculated       [3] [nb_context]
+4       4       +1      # size_nb_inst_decod
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Front_end_Glue/SelfTest/configuration/config-context_4-decod_unit_2-a.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Front_end_Glue/SelfTest/configuration/config-context_4-decod_unit_2-a.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Front_end_Glue/SelfTest/configuration/config-context_4-decod_unit_2-a.gen	(revision 145)
@@ -0,0 +1,20 @@
+Front_end_Glue
+4	4	+1	# nb_context                     
+2	2	+1	# nb_decod_unit                  
+4	4	+1	# nb_inst_decod              [0] [nb_decod_unit]
+1	1	+1	# nb_inst_decod              [1] [nb_decod_unit]
+1	1	+1	# nb_inst_branch_complete        
+0	0	+1	# link_context_to_decod_unit [0] [nb_context]
+1	1	+1	# link_context_to_decod_unit [1] [nb_context]
+0	0	+1	# link_context_to_decod_unit [2] [nb_context]
+1	1	+1	# link_context_to_decod_unit [3] [nb_context]
+30	30	+1	# size_address                   
+2	2	+1	# size_depth                 [0] [nb_context]
+0	0	+1	# size_depth                 [1] [nb_context]
+1	1	+1	# size_depth                 [2] [nb_context]
+3	3	+1	# size_depth                 [3] [nb_context]
+4	4	+1	# nb_branch_speculated       [0] [nb_context]
+1	1	+1	# nb_branch_speculated       [1] [nb_context]
+2	2	+1	# nb_branch_speculated       [2] [nb_context]
+8	8	+1	# nb_branch_speculated       [3] [nb_context]
+4       4       +1      # size_nb_inst_decod
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Front_end_Glue/SelfTest/configuration/config-context_4-decod_unit_2-b.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Front_end_Glue/SelfTest/configuration/config-context_4-decod_unit_2-b.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Front_end_Glue/SelfTest/configuration/config-context_4-decod_unit_2-b.gen	(revision 145)
@@ -0,0 +1,20 @@
+Front_end_Glue
+4	4	+1	# nb_context                     
+2	2	+1	# nb_decod_unit                  
+4	4	+1	# nb_inst_decod              [0] [nb_decod_unit]
+1	1	+1	# nb_inst_decod              [1] [nb_decod_unit]
+1	1	+1	# nb_inst_branch_complete        
+0	0	+1	# link_context_to_decod_unit [0] [nb_context]
+1	1	+1	# link_context_to_decod_unit [1] [nb_context]
+1	1	+1	# link_context_to_decod_unit [2] [nb_context]
+1	1	+1	# link_context_to_decod_unit [3] [nb_context]
+30	30	+1	# size_address                   
+2	2	+1	# size_depth                 [0] [nb_context]
+0	0	+1	# size_depth                 [1] [nb_context]
+1	1	+1	# size_depth                 [2] [nb_context]
+3	3	+1	# size_depth                 [3] [nb_context]
+4	4	+1	# nb_branch_speculated       [0] [nb_context]
+1	1	+1	# nb_branch_speculated       [1] [nb_context]
+2	2	+1	# nb_branch_speculated       [2] [nb_context]
+8	8	+1	# nb_branch_speculated       [3] [nb_context]
+4       4       +1      # size_nb_inst_decod
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Front_end_Glue/SelfTest/configuration/config-context_4-decod_unit_4.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Front_end_Glue/SelfTest/configuration/config-context_4-decod_unit_4.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Front_end_Glue/SelfTest/configuration/config-context_4-decod_unit_4.gen	(revision 145)
@@ -0,0 +1,22 @@
+Front_end_Glue
+4	4	+1	# nb_context                     
+4	4	+1	# nb_decod_unit                  
+2	2	+1	# nb_inst_decod              [0] [nb_decod_unit]
+4	4	+1	# nb_inst_decod              [1] [nb_decod_unit]
+1	1	+1	# nb_inst_decod              [2] [nb_decod_unit]
+8	8	+1	# nb_inst_decod              [3] [nb_decod_unit]
+1	1	+1	# nb_inst_branch_complete        
+1	1	+1	# link_context_to_decod_unit [0] [nb_context]
+0	0	+1	# link_context_to_decod_unit [1] [nb_context]
+3	3	+1	# link_context_to_decod_unit [2] [nb_context]
+2	2	+1	# link_context_to_decod_unit [3] [nb_context]
+30	30	+1	# size_address                   
+2	2	+1	# size_depth                 [0] [nb_context]
+0	0	+1	# size_depth                 [1] [nb_context]
+1	1	+1	# size_depth                 [2] [nb_context]
+3	3	+1	# size_depth                 [3] [nb_context]
+4	4	+1	# nb_branch_speculated       [0] [nb_context]
+1	1	+1	# nb_branch_speculated       [1] [nb_context]
+2	2	+1	# nb_branch_speculated       [2] [nb_context]
+8	8	+1	# nb_branch_speculated       [3] [nb_context]
+4       4       +1      # size_nb_inst_decod
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Front_end_Glue/SelfTest/configuration/config-min.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Front_end_Glue/SelfTest/configuration/config-min.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Front_end_Glue/SelfTest/configuration/config-min.gen	(revision 145)
@@ -0,0 +1,10 @@
+Front_end_Glue
+1	1	+1	# nb_context                     
+1	1	+1	# nb_decod_unit                  
+1	1	+1	# nb_inst_decod              [0] [nb_decod_unit]
+1	1	+1	# nb_inst_branch_complete        
+0	0	+1	# link_context_to_decod_unit [0] [nb_context]
+30	30	+1	# size_address                   
+0	0	+1	# size_depth                 [0] [nb_context]
+1	1	+1	# nb_branch_speculated       [0] [nb_context]
+1       1       +1      # size_nb_inst_decod
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Address_management/SelfTest/configuration.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Address_management/SelfTest/configuration.cfg	(revision 144)
+++ 	(revision )
@@ -1,4 +1,0 @@
-Address_management
-1	8	*2	# nb_instruction               
-30	30 	*2	# size_address                 
-1	4	*4	# size_branch_update_prediction
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Address_management/SelfTest/configuration/configuration.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Address_management/SelfTest/configuration/configuration.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Address_management/SelfTest/configuration/configuration.gen	(revision 145)
@@ -0,0 +1,4 @@
+Address_management
+1	8	*2	# nb_instruction               
+30	30 	*2	# size_address                 
+1	4	*4	# size_branch_update_prediction
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/SelfTest/config_min.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/SelfTest/config_min.cfg	(revision 144)
+++ 	(revision )
@@ -1,5 +1,0 @@
-Ifetch_queue
-1	1 	*2	# _size_queue                   
-1	1	*2	# _nb_instruction               
-1	1	*2	# _size_branch_update_prediction
-32	32	*2	# _size_general_data            
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/SelfTest/configuration.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/SelfTest/configuration.cfg	(revision 144)
+++ 	(revision )
@@ -1,5 +1,0 @@
-Ifetch_queue
-8	16	*2	# _size_queue                   
-1	8	*2	# _nb_instruction               
-1	1	*2	# _size_branch_update_prediction
-32	32	*2	# _size_general_data            
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/SelfTest/configuration/config_min.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/SelfTest/configuration/config_min.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/SelfTest/configuration/config_min.gen	(revision 145)
@@ -0,0 +1,5 @@
+Ifetch_queue
+1	1 	*2	# _size_queue                   
+1	1	*2	# _nb_instruction               
+1	1	*2	# _size_branch_update_prediction
+32	32	*2	# _size_general_data            
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/SelfTest/configuration/configuration.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/SelfTest/configuration/configuration.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/SelfTest/configuration/configuration.gen	(revision 145)
@@ -0,0 +1,5 @@
+Ifetch_queue
+8	16	*2	# _size_queue                   
+1	8	*2	# _nb_instruction               
+1	1	*2	# _size_branch_update_prediction
+32	32	*2	# _size_general_data            
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/src/Ifetch_queue_function_full_assoc_transition.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/src/Ifetch_queue_function_full_assoc_transition.cpp	(revision 144)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/src/Ifetch_queue_function_full_assoc_transition.cpp	(revision 145)
@@ -205,17 +205,20 @@
 	for (uint32_t i=0; i<_param->_size_queue; i++)
 	  {
+            uint32_t index=(i+reg_PTR_READ)%_param->_size_queue;
+
             log_printf(TRACE,Ifetch_queue,FUNCTION,"    * [%d] 0x%.8x (0x%.8x) %d - %d %d %d - %s",
-                       i, 
-                       _queue [i]->_address,
-                       _queue [i]->_address<<2,
-                       _queue [i]->_inst_ifetch_ptr,
-                       _queue [i]->_branch_state,
-                       _queue [i]->_branch_update_prediction_id,
-                       _queue [i]->_exception,
-                       toString(_queue [i]->_state).c_str()
+                       index, 
+                       _queue [index]->_address,
+                       _queue [index]->_address<<2,
+                       _queue [index]->_inst_ifetch_ptr,
+                       _queue [index]->_branch_state,
+                       _queue [index]->_branch_update_prediction_id,
+                       _queue [index]->_exception,
+                       toString(_queue [index]->_state).c_str()
                        );
 	    
-	    for (uint32_t j=0; j<_param->_nb_instruction; j++)
-	      log_printf(TRACE,Ifetch_queue,FUNCTION,"      * %d 0x%.8x", _queue [i]->_instruction_enable[j], _queue [i]->_instruction[j]);
+            if (_queue [index]->_state != IFETCH_QUEUE_STATE_EMPTY)
+              for (uint32_t j=0; j<_param->_nb_instruction; j++)
+                log_printf(TRACE,Ifetch_queue,FUNCTION,"      * %d 0x%.8x (0x%.8x)", _queue [index]->_instruction_enable[j], _queue [index]->_instruction[j],(_queue [index]->_address+j)<<2);
 	  }
 #endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/src/Ifetch_queue_function_no_assoc_transition.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/src/Ifetch_queue_function_no_assoc_transition.cpp	(revision 144)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/src/Ifetch_queue_function_no_assoc_transition.cpp	(revision 145)
@@ -173,17 +173,19 @@
 	for (uint32_t i=0; i<_param->_size_queue; i++)
 	  {
+            uint32_t index=(i+reg_PTR_READ)%_param->_size_queue;
             log_printf(TRACE,Ifetch_queue,FUNCTION,"    * [%d] 0x%.8x (0x%.8x) %d - %d %d %d - %s",
-                       i, 
-                       _queue [i]->_address,
-                       _queue [i]->_address<<2,
-                       _queue [i]->_inst_ifetch_ptr,
-                       _queue [i]->_branch_state,
-                       _queue [i]->_branch_update_prediction_id,
-                       _queue [i]->_exception,
-                       toString(_queue [i]->_state).c_str()
+                       index, 
+                       _queue [index]->_address,
+                       _queue [index]->_address<<2,
+                       _queue [index]->_inst_ifetch_ptr,
+                       _queue [index]->_branch_state,
+                       _queue [index]->_branch_update_prediction_id,
+                       _queue [index]->_exception,
+                       toString(_queue [index]->_state).c_str()
                        );
 	    
-	    for (uint32_t j=0; j<_param->_nb_instruction; j++)
-	      log_printf(TRACE,Ifetch_queue,FUNCTION,"      * %d 0x%.8x", _queue [i]->_instruction_enable[j], _queue [i]->_instruction[j]);
+            if (_queue [index]->_state != IFETCH_QUEUE_STATE_EMPTY)
+              for (uint32_t j=0; j<_param->_nb_instruction; j++)
+                log_printf(TRACE,Ifetch_queue,FUNCTION,"      * %d 0x%.8x (0x%.8x)", _queue [index]->_instruction_enable[j], _queue [index]->_instruction[j],(_queue [index]->_address+j)<<2);
 	  }
 #endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_unit_Glue/SelfTest/configuration.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_unit_Glue/SelfTest/configuration.cfg	(revision 144)
+++ 	(revision )
@@ -1,2 +1,0 @@
-Ifetch_unit_Glue
-30	30	+32	# size_address
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_unit_Glue/SelfTest/configuration/configuration.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_unit_Glue/SelfTest/configuration/configuration.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_unit_Glue/SelfTest/configuration/configuration.gen	(revision 145)
@@ -0,0 +1,2 @@
+Ifetch_unit_Glue
+30	30	+32	# size_address
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/SelfTest/config.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/SelfTest/config.cfg	(revision 144)
+++ 	(revision )
@@ -1,5 +1,0 @@
-Ifetch_unit
-8	16	*2	# _size_queue                   
-1	8	*2	# _nb_instruction               
-1	1	*2	# _size_branch_update_prediction
-30	30	*2	# _size_general_data            
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/SelfTest/config_min.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/SelfTest/config_min.cfg	(revision 144)
+++ 	(revision )
@@ -1,5 +1,0 @@
-Ifetch_unit
-1	1	*2	# size_queue                   
-1	1	*2	# nb_instruction               
-1	1	*2	# size_branch_update_prediction
-30	30	*2	# size_general_data            
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/SelfTest/configuration/config.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/SelfTest/configuration/config.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/SelfTest/configuration/config.gen	(revision 145)
@@ -0,0 +1,5 @@
+Ifetch_unit
+8	16	*2	# _size_queue                   
+1	8	*2	# _nb_instruction               
+1	1	*2	# _size_branch_update_prediction
+30	30	*2	# _size_general_data            
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/SelfTest/configuration/config_min.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/SelfTest/configuration/config_min.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/SelfTest/configuration/config_min.gen	(revision 145)
@@ -0,0 +1,5 @@
+Ifetch_unit
+1	1	*2	# size_queue                   
+1	1	*2	# nb_instruction               
+1	1	*2	# size_branch_update_prediction
+30	30	*2	# size_general_data            
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Glue/SelfTest/config.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Glue/SelfTest/config.cfg	(revision 144)
+++ 	(revision )
@@ -1,8 +1,0 @@
-Branch_Target_Buffer_Glue
-1	4	*4	# max_nb_instruction
-4	16	*4	# size_buffer       
-1	4	*4	# associativity     
-32	32	*4	# size_address      
-1	4	*4	# nb_inst_predict   
-1	4	*4	# nb_inst_decod     
-1	4	*4	# nb_inst_update    
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Glue/SelfTest/config_min.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Glue/SelfTest/config_min.cfg	(revision 144)
+++ 	(revision )
@@ -1,8 +1,0 @@
-Branch_Target_Buffer_Glue
-1	1	*4	# max_nb_instruction
-1	1 	*4	# size_buffer       
-1	1	*4	# associativity     
-32	32	*4	# size_address      
-1	1	*4	# nb_inst_predict   
-1	1	*4	# nb_inst_decod     
-1	1	*4	# nb_inst_update    
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Glue/SelfTest/configuration/config.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Glue/SelfTest/configuration/config.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Glue/SelfTest/configuration/config.gen	(revision 145)
@@ -0,0 +1,8 @@
+Branch_Target_Buffer_Glue
+1	4	*4	# max_nb_instruction
+4	16	*4	# size_buffer       
+1	4	*4	# associativity     
+32	32	*4	# size_address      
+1	4	*4	# nb_inst_predict   
+1	4	*4	# nb_inst_decod     
+1	4	*4	# nb_inst_update    
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Glue/SelfTest/configuration/config_min.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Glue/SelfTest/configuration/config_min.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Glue/SelfTest/configuration/config_min.gen	(revision 145)
@@ -0,0 +1,8 @@
+Branch_Target_Buffer_Glue
+1	1	*4	# max_nb_instruction
+1	1 	*4	# size_buffer       
+1	1	*4	# associativity     
+32	32	*4	# size_address      
+1	1	*4	# nb_inst_predict   
+1	1	*4	# nb_inst_decod     
+1	1	*4	# nb_inst_update    
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Register/SelfTest/config_min.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Register/SelfTest/config_min.cfg	(revision 144)
+++ 	(revision )
@@ -1,10 +1,0 @@
-Branch_Target_Buffer_Register
-1	1	+1	# nb_context     
-1 	1  	*2	# nb_instruction [0] [nb_context]
-1 	1	*4	# size_buffer    
-1 	1	*4	# associativity  
-30	30	*2	# size_address   
-2	2	+1	# size_counter   
-1	1	*4	# nb_inst_predict
-1	1	*4	# nb_inst_decod  
-1	1  	*4	# nb_inst_commit 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Register/SelfTest/config_mono_context.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Register/SelfTest/config_mono_context.cfg	(revision 144)
+++ 	(revision )
@@ -1,10 +1,0 @@
-Branch_Target_Buffer_Register
-1	1	+1	# nb_context     
-1 	4   	*2	# nb_instruction [0] [nb_context]
-16	16	*4	# size_buffer    
-2 	16	*4	# associativity  
-30	30	*2	# size_address   
-2	2	+1	# size_counter   
-1	4	*4	# nb_inst_predict
-1	4	*4	# nb_inst_decod  
-1	4  	*4	# nb_inst_commit 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Register/SelfTest/config_multi_context.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Register/SelfTest/config_multi_context.cfg	(revision 144)
+++ 	(revision )
@@ -1,13 +1,0 @@
-Branch_Target_Buffer_Register
-4	4	+1	# nb_context     
-1	1	+1	# nb_instruction [0] [nb_context]
-2	2	+1	# nb_instruction [1] [nb_context]
-4	4	+1	# nb_instruction [2] [nb_context]
-8	8	+1	# nb_instruction [3] [nb_context]
-8 	64	*4	# size_buffer    
-4	8	*2	# associativity  
-30	30	*2	# size_address   
-2	2	+1	# size_counter   
-1	4	*4	# nb_inst_predict
-1	4	*4	# nb_inst_decod  
-1	4	*4	# nb_inst_commit 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Register/SelfTest/configuration/config_min.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Register/SelfTest/configuration/config_min.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Register/SelfTest/configuration/config_min.gen	(revision 145)
@@ -0,0 +1,10 @@
+Branch_Target_Buffer_Register
+1	1	+1	# nb_context     
+1 	1  	*2	# nb_instruction [0] [nb_context]
+1 	1	*4	# size_buffer    
+1 	1	*4	# associativity  
+30	30	*2	# size_address   
+2	2	+1	# size_counter   
+1	1	*4	# nb_inst_predict
+1	1	*4	# nb_inst_decod  
+1	1  	*4	# nb_inst_commit 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Register/SelfTest/configuration/config_mono_context.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Register/SelfTest/configuration/config_mono_context.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Register/SelfTest/configuration/config_mono_context.gen	(revision 145)
@@ -0,0 +1,10 @@
+Branch_Target_Buffer_Register
+1	1	+1	# nb_context     
+1 	4   	*2	# nb_instruction [0] [nb_context]
+16	16	*4	# size_buffer    
+2 	16	*4	# associativity  
+30	30	*2	# size_address   
+2	2	+1	# size_counter   
+1	4	*4	# nb_inst_predict
+1	4	*4	# nb_inst_decod  
+1	4  	*4	# nb_inst_commit 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Register/SelfTest/configuration/config_multi_context.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Register/SelfTest/configuration/config_multi_context.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Register/SelfTest/configuration/config_multi_context.gen	(revision 145)
@@ -0,0 +1,13 @@
+Branch_Target_Buffer_Register
+4	4	+1	# nb_context     
+1	1	+1	# nb_instruction [0] [nb_context]
+2	2	+1	# nb_instruction [1] [nb_context]
+4	4	+1	# nb_instruction [2] [nb_context]
+8	8	+1	# nb_instruction [3] [nb_context]
+8 	64	*4	# size_buffer    
+4	8	*2	# associativity  
+30	30	*2	# size_address   
+2	2	+1	# size_counter   
+1	4	*4	# nb_inst_predict
+1	4	*4	# nb_inst_decod  
+1	4	*4	# nb_inst_commit 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/SelfTest/config_min.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/SelfTest/config_min.cfg	(revision 144)
+++ 	(revision )
@@ -1,11 +1,0 @@
-Branch_Target_Buffer
-1	1	+1	# nb_context     
-1 	1   	*2	# nb_instruction [0] [nb_context]
-1 	1 	*4	# size_buffer    
-1 	1 	*4	# associativity  
-30	30	*2	# size_address   
-2	2	+1	# size_counter   
-1	1	*4	# nb_inst_predict
-1	1	*4	# nb_inst_decod  
-1	1  	*4	# nb_inst_commit 
-3	3	+1	# victim_scheme
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/SelfTest/config_mono_context.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/SelfTest/config_mono_context.cfg	(revision 144)
+++ 	(revision )
@@ -1,11 +1,0 @@
-Branch_Target_Buffer
-1	1	+1	# nb_context     
-1 	4   	*2	# nb_instruction [0] [nb_context]
-16	16	*4	# size_buffer    
-2 	16	*4	# associativity  
-30	30	*2	# size_address   
-2	2	+1	# size_counter   
-1	4	*4	# nb_inst_predict
-1	4	*4	# nb_inst_decod  
-1	4  	*4	# nb_inst_commit 
-3	3	+1	# victim_scheme
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/SelfTest/config_multi_context.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/SelfTest/config_multi_context.cfg	(revision 144)
+++ 	(revision )
@@ -1,14 +1,0 @@
-Branch_Target_Buffer
-4	4	+1	# nb_context     
-1	1	+1	# nb_instruction [0] [nb_context]
-2	2	+1	# nb_instruction [1] [nb_context]
-4	4	+1	# nb_instruction [2] [nb_context]
-8	8	+1	# nb_instruction [3] [nb_context]
-8 	64	*4	# size_buffer    
-4	8	*2	# associativity  
-30	30	*2	# size_address   
-2	2	+1	# size_counter   
-1	4	*4	# nb_inst_predict
-1	4	*4	# nb_inst_decod  
-1	4	*4	# nb_inst_commit 
-3	3	+1	# victim_scheme
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/SelfTest/configuration/config_min.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/SelfTest/configuration/config_min.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/SelfTest/configuration/config_min.gen	(revision 145)
@@ -0,0 +1,11 @@
+Branch_Target_Buffer
+1	1	+1	# nb_context     
+1 	1   	*2	# nb_instruction [0] [nb_context]
+1 	1 	*4	# size_buffer    
+1 	1 	*4	# associativity  
+30	30	*2	# size_address   
+2	2	+1	# size_counter   
+1	1	*4	# nb_inst_predict
+1	1	*4	# nb_inst_decod  
+1	1  	*4	# nb_inst_commit 
+3	3	+1	# victim_scheme
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/SelfTest/configuration/config_mono_context.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/SelfTest/configuration/config_mono_context.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/SelfTest/configuration/config_mono_context.gen	(revision 145)
@@ -0,0 +1,11 @@
+Branch_Target_Buffer
+1	1	+1	# nb_context     
+1 	4   	*2	# nb_instruction [0] [nb_context]
+16	16	*4	# size_buffer    
+2 	16	*4	# associativity  
+30	30	*2	# size_address   
+2	2	+1	# size_counter   
+1	4	*4	# nb_inst_predict
+1	4	*4	# nb_inst_decod  
+1	4  	*4	# nb_inst_commit 
+3	3	+1	# victim_scheme
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/SelfTest/configuration/config_multi_context.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/SelfTest/configuration/config_multi_context.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/SelfTest/configuration/config_multi_context.gen	(revision 145)
@@ -0,0 +1,14 @@
+Branch_Target_Buffer
+4	4	+1	# nb_context     
+1	1	+1	# nb_instruction [0] [nb_context]
+2	2	+1	# nb_instruction [1] [nb_context]
+4	4	+1	# nb_instruction [2] [nb_context]
+8	8	+1	# nb_instruction [3] [nb_context]
+8 	64	*4	# size_buffer    
+4	8	*2	# associativity  
+30	30	*2	# size_address   
+2	2	+1	# size_counter   
+1	4	*4	# nb_inst_predict
+1	4	*4	# nb_inst_decod  
+1	4	*4	# nb_inst_commit 
+3	3	+1	# victim_scheme
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Direction_Glue/SelfTest/configuration.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Direction_Glue/SelfTest/configuration.cfg	(revision 144)
+++ 	(revision )
@@ -1,6 +1,0 @@
-Direction_Glue
-0	8	+1	# predictor_scheme
-1	4	*4	# nb_inst_predict 
-1	4	*4	# nb_inst_update  
-32	32	*4	# size_address    
-1	4	*4	# size_history    
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Direction_Glue/SelfTest/configuration/configuration.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Direction_Glue/SelfTest/configuration/configuration.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Direction_Glue/SelfTest/configuration/configuration.gen	(revision 145)
@@ -0,0 +1,6 @@
+Direction_Glue
+0	8	+1	# predictor_scheme
+1	4	*4	# nb_inst_predict 
+1	4	*4	# nb_inst_update  
+32	32	*4	# size_address    
+1	4	*4	# size_history    
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Meta_Predictor_Glue/SelfTest/config_meta_predictor.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Meta_Predictor_Glue/SelfTest/config_meta_predictor.cfg	(revision 144)
+++ 	(revision )
@@ -1,10 +1,0 @@
-Meta_Predictor_Glue
-4       4       +1 # nb_inst_predict
-4       4       +1 # nb_inst_update
-3	3	+1 # nb_predictor                   
-8	8	+1 # predictor_size_history         [0] [nb_predictor]
-17	17	+1 # predictor_size_history         [1] [nb_predictor]
-4	4	+1 # predictor_size_history         [2] [nb_predictor]
-1	1	+1 # predictor_update_on_prediction [0] [nb_predictor]
-1	1	+1 # predictor_update_on_prediction [1] [nb_predictor]
-0	0	+1 # predictor_update_on_prediction [2] [nb_predictor]
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Meta_Predictor_Glue/SelfTest/config_two_level.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Meta_Predictor_Glue/SelfTest/config_two_level.cfg	(revision 144)
+++ 	(revision )
@@ -1,6 +1,0 @@
-Meta_Predictor_Glue
-4       4       +1 # nb_inst_predict
-4       4       +1 # nb_inst_update
-1	1	+1 # nb_predictor                   
-16	16	+1 # predictor_size_history         [0] [nb_predictor]
-1	1	+1 # predictor_update_on_prediction [0] [nb_predictor]
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Meta_Predictor_Glue/SelfTest/configuration/config_meta_predictor.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Meta_Predictor_Glue/SelfTest/configuration/config_meta_predictor.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Meta_Predictor_Glue/SelfTest/configuration/config_meta_predictor.gen	(revision 145)
@@ -0,0 +1,10 @@
+Meta_Predictor_Glue
+4       4       +1 # nb_inst_predict
+4       4       +1 # nb_inst_update
+3	3	+1 # nb_predictor                   
+8	8	+1 # predictor_size_history         [0] [nb_predictor]
+17	17	+1 # predictor_size_history         [1] [nb_predictor]
+4	4	+1 # predictor_size_history         [2] [nb_predictor]
+1	1	+1 # predictor_update_on_prediction [0] [nb_predictor]
+1	1	+1 # predictor_update_on_prediction [1] [nb_predictor]
+0	0	+1 # predictor_update_on_prediction [2] [nb_predictor]
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Meta_Predictor_Glue/SelfTest/configuration/config_two_level.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Meta_Predictor_Glue/SelfTest/configuration/config_two_level.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Meta_Predictor_Glue/SelfTest/configuration/config_two_level.gen	(revision 145)
@@ -0,0 +1,6 @@
+Meta_Predictor_Glue
+4       4       +1 # nb_inst_predict
+4       4       +1 # nb_inst_update
+1	1	+1 # nb_predictor                   
+16	16	+1 # predictor_size_history         [0] [nb_predictor]
+1	1	+1 # predictor_update_on_prediction [0] [nb_predictor]
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/SelfTest/config-alpha_21264.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/SelfTest/config-alpha_21264.cfg	(revision 144)
+++ 	(revision )
@@ -1,25 +1,0 @@
-Meta_Predictor
-1       1       +1      # nb_inst_predict
-1       1       +1      # nb_inst_update
-30      30      *2      # size_address
-1       1       +1      # predictor_0_have_bht              
-10      10      +1      # predictor_0_bht_size_shifter      
-1024    1024    *2      # predictor_0_bht_nb_shifter
-1       1       +1      # predictor_0_have_pht              
-3       3       +1      # predictor_0_pht_size_counter      
-1024    1024    *2      # predictor_0_pht_nb_counter
-0       0       +1      # predictor_0_pht_size_address_share
-1       1       +1      # predictor_1_have_bht              
-12      12      +1      # predictor_1_bht_size_shifter      
-2       2       *2      # predictor_1_bht_nb_shifter
-1       1       +1      # predictor_1_have_pht              
-2       2       +1      # predictor_1_pht_size_counter      
-4096    4096    *2      # predictor_1_pht_nb_counter
-0       0       +1      # predictor_1_pht_size_address_share
-0       0       +1      # predictor_2_have_bht              
-4       4       +1      # predictor_2_bht_size_shifter      
-256     256     *2      # predictor_2_bht_nb_shifter
-1       1       +1      # predictor_2_have_pht              
-2       2       +1      # predictor_2_pht_size_counter      
-4096    4096    *2      # predictor_2_pht_nb_counter
-0       0       +1      # predictor_2_pht_size_address_share
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/SelfTest/configuration/config-alpha_21264.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/SelfTest/configuration/config-alpha_21264.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/SelfTest/configuration/config-alpha_21264.gen	(revision 145)
@@ -0,0 +1,25 @@
+Meta_Predictor
+1       1       +1      # nb_inst_predict
+1       1       +1      # nb_inst_update
+30      30      *2      # size_address
+1       1       +1      # predictor_0_have_bht              
+10      10      +1      # predictor_0_bht_size_shifter      
+1024    1024    *2      # predictor_0_bht_nb_shifter
+1       1       +1      # predictor_0_have_pht              
+3       3       +1      # predictor_0_pht_size_counter      
+1024    1024    *2      # predictor_0_pht_nb_counter
+0       0       +1      # predictor_0_pht_size_address_share
+1       1       +1      # predictor_1_have_bht              
+12      12      +1      # predictor_1_bht_size_shifter      
+2       2       *2      # predictor_1_bht_nb_shifter
+1       1       +1      # predictor_1_have_pht              
+2       2       +1      # predictor_1_pht_size_counter      
+4096    4096    *2      # predictor_1_pht_nb_counter
+0       0       +1      # predictor_1_pht_size_address_share
+0       0       +1      # predictor_2_have_bht              
+4       4       +1      # predictor_2_bht_size_shifter      
+256     256     *2      # predictor_2_bht_nb_shifter
+1       1       +1      # predictor_2_have_pht              
+2       2       +1      # predictor_2_pht_size_counter      
+4096    4096    *2      # predictor_2_pht_nb_counter
+0       0       +1      # predictor_2_pht_size_address_share
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Two_Level_Branch_Predictor/SelfTest/config_bht_and_pht.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Two_Level_Branch_Predictor/SelfTest/config_bht_and_pht.cfg	(revision 144)
+++ 	(revision )
@@ -1,12 +1,0 @@
-Two_Level_Branch_Predictor
-4       4       *2      # nb_inst_predict       
-4       4       *2      # nb_inst_update        
-30      30      *2      # size_address          
-1       1       +1      # have_bht              
-4       4       *4      # bht_size_shifter      
-16      16      *4      # bht_nb_shifter        
-1	1	+1	# have_pht              
-4	4  	*2	# pht_size_counter      
-32	32	*4	# pht_nb_counter        
-0	2	+1	# pht_size_address_share
-1       1       +1      # update_on_prediction
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Two_Level_Branch_Predictor/SelfTest/config_bht_only.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Two_Level_Branch_Predictor/SelfTest/config_bht_only.cfg	(revision 144)
+++ 	(revision )
@@ -1,12 +1,0 @@
-Two_Level_Branch_Predictor
-4       4       *2      # nb_inst_predict       
-4       4       *2      # nb_inst_update        
-30      30      *2      # size_address          
-1       1       +1      # have_bht              
-1       16      *4      # bht_size_shifter      
-1       16      *4      # bht_nb_shifter        
-0	0	+1	# have_pht              
-0	0	+1	# pht_size_counter      
-0	0	*2	# pht_nb_counter        
-0	0	+1	# pht_size_address_share
-1       1       +1      # update_on_prediction
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Two_Level_Branch_Predictor/SelfTest/config_pht_only.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Two_Level_Branch_Predictor/SelfTest/config_pht_only.cfg	(revision 144)
+++ 	(revision )
@@ -1,12 +1,0 @@
-Two_Level_Branch_Predictor
-4       4       *2      # nb_inst_predict       
-4       4       *2      # nb_inst_update        
-30      30      *2      # size_address          
-0       0       +1      # have_bht              
-0       0       *4      # bht_size_shifter      
-0       0       *4      # bht_nb_shifter        
-1	1	+1	# have_pht              
-1	4  	*2	# pht_size_counter      
-1	16	*4	# pht_nb_counter        
-0	0	+1	# pht_size_address_share
-1       1       +1      # update_on_prediction
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Two_Level_Branch_Predictor/SelfTest/configuration/config_bht_and_pht.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Two_Level_Branch_Predictor/SelfTest/configuration/config_bht_and_pht.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Two_Level_Branch_Predictor/SelfTest/configuration/config_bht_and_pht.gen	(revision 145)
@@ -0,0 +1,12 @@
+Two_Level_Branch_Predictor
+4       4       *2      # nb_inst_predict       
+4       4       *2      # nb_inst_update        
+30      30      *2      # size_address          
+1       1       +1      # have_bht              
+4       4       *4      # bht_size_shifter      
+16      16      *4      # bht_nb_shifter        
+1	1	+1	# have_pht              
+4	4  	*2	# pht_size_counter      
+32	32	*4	# pht_nb_counter        
+0	2	+1	# pht_size_address_share
+1       1       +1      # update_on_prediction
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Two_Level_Branch_Predictor/SelfTest/configuration/config_bht_only.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Two_Level_Branch_Predictor/SelfTest/configuration/config_bht_only.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Two_Level_Branch_Predictor/SelfTest/configuration/config_bht_only.gen	(revision 145)
@@ -0,0 +1,12 @@
+Two_Level_Branch_Predictor
+4       4       *2      # nb_inst_predict       
+4       4       *2      # nb_inst_update        
+30      30      *2      # size_address          
+1       1       +1      # have_bht              
+1       16      *4      # bht_size_shifter      
+1       16      *4      # bht_nb_shifter        
+0	0	+1	# have_pht              
+0	0	+1	# pht_size_counter      
+0	0	*2	# pht_nb_counter        
+0	0	+1	# pht_size_address_share
+1       1       +1      # update_on_prediction
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Two_Level_Branch_Predictor/SelfTest/configuration/config_pht_only.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Two_Level_Branch_Predictor/SelfTest/configuration/config_pht_only.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Two_Level_Branch_Predictor/SelfTest/configuration/config_pht_only.gen	(revision 145)
@@ -0,0 +1,12 @@
+Two_Level_Branch_Predictor
+4       4       *2      # nb_inst_predict       
+4       4       *2      # nb_inst_update        
+30      30      *2      # size_address          
+0       0       +1      # have_bht              
+0       0       *4      # bht_size_shifter      
+0       0       *4      # bht_nb_shifter        
+1	1	+1	# have_pht              
+1	4  	*2	# pht_size_counter      
+1	16	*4	# pht_nb_counter        
+0	0	+1	# pht_size_address_share
+1       1       +1      # update_on_prediction
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/SelfTest/config-alpha_21264.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/SelfTest/config-alpha_21264.cfg	(revision 144)
+++ 	(revision )
@@ -1,26 +1,0 @@
-Direction
-4	8	+1	# _predictor_scheme      
-1       1       +1      # nb_inst_predict
-1       1       +1      # nb_inst_update
-30      30      *2      # size_address
-1       1       +1      # predictor_0_have_bht              
-10      10      +1      # predictor_0_bht_size_shifter      
-1024    1024    *2      # predictor_0_bht_nb_shifter
-1       1       +1      # predictor_0_have_pht              
-3       3       +1      # predictor_0_pht_size_counter      
-1024    1024    *2      # predictor_0_pht_nb_counter
-0       0       +1      # predictor_0_pht_size_address_share
-1       1       +1      # predictor_1_have_bht              
-12      12      +1      # predictor_1_bht_size_shifter      
-2       2       *2      # predictor_1_bht_nb_shifter
-1       1       +1      # predictor_1_have_pht              
-2       2       +1      # predictor_1_pht_size_counter      
-4096    4096    *2      # predictor_1_pht_nb_counter
-0       0       +1      # predictor_1_pht_size_address_share
-0       0       +1      # predictor_2_have_bht              
-4       4       +1      # predictor_2_bht_size_shifter      
-256     256     *2      # predictor_2_bht_nb_shifter
-1       1       +1      # predictor_2_have_pht              
-2       2       +1      # predictor_2_pht_size_counter      
-4096    4096    *2      # predictor_2_pht_nb_counter
-0       0       +1      # predictor_2_pht_size_address_share
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/SelfTest/config_without_meta_predictor.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/SelfTest/config_without_meta_predictor.cfg	(revision 144)
+++ 	(revision )
@@ -1,26 +1,0 @@
-Direction
-0	3	+1	# _predictor_scheme      
-1	4	*4	# _nb_inst_predict       
-1	4	*4	# _nb_inst_update        
-32	32	*2	# _size_address          
-1	1	+1	# _predictor_0_have_bht              
-1	1	+1	# _predictor_0_bht_size_shifter      
-1	1	+1	# _predictor_0_bht_nb_shifter        
-1	1	+1	# _predictor_0_have_pht              
-1	1	+1	# _predictor_0_pht_size_counter      
-1	1	+1	# _predictor_0_pht_nb_counter        
-1	1	+1	# _predictor_0_pht_size_address_share
-1	1	+1	# _predictor_1_have_bht              
-1	1	+1	# _predictor_1_bht_size_shifter      
-1	1	+1	# _predictor_1_bht_nb_shifter        
-1	1	+1	# _predictor_1_have_pht              
-1	1	+1	# _predictor_1_pht_size_counter      
-1	1	+1	# _predictor_1_pht_nb_counter        
-1	1	+1	# _predictor_1_pht_size_address_share
-1	1	+1	# _predictor_2_have_bht              
-1	1	+1	# _predictor_2_bht_size_shifter      
-1	1	+1	# _predictor_2_bht_nb_shifter        
-1	1	+1	# _predictor_2_have_pht              
-1	1	+1	# _predictor_2_pht_size_counter      
-1	1	+1	# _predictor_2_pht_nb_counter        
-1	1	+1	# _predictor_2_pht_size_address_share
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/SelfTest/configuration/config-alpha_21264.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/SelfTest/configuration/config-alpha_21264.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/SelfTest/configuration/config-alpha_21264.gen	(revision 145)
@@ -0,0 +1,26 @@
+Direction
+4	8	+1	# _predictor_scheme      
+1       1       +1      # nb_inst_predict
+1       1       +1      # nb_inst_update
+30      30      *2      # size_address
+1       1       +1      # predictor_0_have_bht              
+10      10      +1      # predictor_0_bht_size_shifter      
+1024    1024    *2      # predictor_0_bht_nb_shifter
+1       1       +1      # predictor_0_have_pht              
+3       3       +1      # predictor_0_pht_size_counter      
+1024    1024    *2      # predictor_0_pht_nb_counter
+0       0       +1      # predictor_0_pht_size_address_share
+1       1       +1      # predictor_1_have_bht              
+12      12      +1      # predictor_1_bht_size_shifter      
+2       2       *2      # predictor_1_bht_nb_shifter
+1       1       +1      # predictor_1_have_pht              
+2       2       +1      # predictor_1_pht_size_counter      
+4096    4096    *2      # predictor_1_pht_nb_counter
+0       0       +1      # predictor_1_pht_size_address_share
+0       0       +1      # predictor_2_have_bht              
+4       4       +1      # predictor_2_bht_size_shifter      
+256     256     *2      # predictor_2_bht_nb_shifter
+1       1       +1      # predictor_2_have_pht              
+2       2       +1      # predictor_2_pht_size_counter      
+4096    4096    *2      # predictor_2_pht_nb_counter
+0       0       +1      # predictor_2_pht_size_address_share
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/SelfTest/configuration/config_without_meta_predictor.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/SelfTest/configuration/config_without_meta_predictor.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/SelfTest/configuration/config_without_meta_predictor.gen	(revision 145)
@@ -0,0 +1,26 @@
+Direction
+0	3	+1	# _predictor_scheme      
+1	4	*4	# _nb_inst_predict       
+1	4	*4	# _nb_inst_update        
+32	32	*2	# _size_address          
+1	1	+1	# _predictor_0_have_bht              
+1	1	+1	# _predictor_0_bht_size_shifter      
+1	1	+1	# _predictor_0_bht_nb_shifter        
+1	1	+1	# _predictor_0_have_pht              
+1	1	+1	# _predictor_0_pht_size_counter      
+1	1	+1	# _predictor_0_pht_nb_counter        
+1	1	+1	# _predictor_0_pht_size_address_share
+1	1	+1	# _predictor_1_have_bht              
+1	1	+1	# _predictor_1_bht_size_shifter      
+1	1	+1	# _predictor_1_bht_nb_shifter        
+1	1	+1	# _predictor_1_have_pht              
+1	1	+1	# _predictor_1_pht_size_counter      
+1	1	+1	# _predictor_1_pht_nb_counter        
+1	1	+1	# _predictor_1_pht_size_address_share
+1	1	+1	# _predictor_2_have_bht              
+1	1	+1	# _predictor_2_bht_size_shifter      
+1	1	+1	# _predictor_2_bht_nb_shifter        
+1	1	+1	# _predictor_2_have_pht              
+1	1	+1	# _predictor_2_pht_size_counter      
+1	1	+1	# _predictor_2_pht_nb_counter        
+1	1	+1	# _predictor_2_pht_size_address_share
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Prediction_unit_Glue/SelfTest/config_mono_context.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Prediction_unit_Glue/SelfTest/config_mono_context.cfg	(revision 144)
+++ 	(revision )
@@ -1,10 +1,0 @@
-Prediction_unit_Glue
-1	1	*4	# nb_context         
-1	1	*4	# nb_decod_unit      
-30	30	+32	# size_address       
-1	4	*2	# nb_instruction  [0] [nb_context]
-1	1	*4	# size_depth      [0] [nb_context]
-4	4	*4	# nb_inst_decod   [0] [nb_decod_unit]
-1	1	*4	# nb_inst_branch_predict     
-4	4	*4	# nb_inst_branch_decod 
-4	4	*4	# nb_inst_branch_update
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Prediction_unit_Glue/SelfTest/config_multi_context.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Prediction_unit_Glue/SelfTest/config_multi_context.cfg	(revision 144)
+++ 	(revision )
@@ -1,16 +1,0 @@
-Prediction_unit_Glue
-4	4	*4	# nb_context         
-1	1	*4	# nb_decod_unit      
-30	30	+32	# size_address       
-1	1	*4	# nb_instruction  [0] [nb_context]
-2	2	*4	# nb_instruction  [1] [nb_context]
-8	8	*4	# nb_instruction  [2] [nb_context]
-4	4	*4	# nb_instruction  [3] [nb_context]
-2	2	*4	# size_depth      [0] [nb_context]
-1	1	*4	# size_depth      [1] [nb_context]
-7	7	*4	# size_depth      [2] [nb_context]
-4	4	*4	# size_depth      [3] [nb_context]
-4	4	*4	# nb_inst_decod   [0] [nb_decod_unit]
-1	4	*4	# nb_inst_branch_predict     
-4	4	*4	# nb_inst_branch_decod 
-4	4	*4	# nb_inst_branch_update
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Prediction_unit_Glue/SelfTest/configuration/config_mono_context.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Prediction_unit_Glue/SelfTest/configuration/config_mono_context.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Prediction_unit_Glue/SelfTest/configuration/config_mono_context.gen	(revision 145)
@@ -0,0 +1,10 @@
+Prediction_unit_Glue
+1	1	*4	# nb_context         
+1	1	*4	# nb_decod_unit      
+30	30	+32	# size_address       
+1	4	*2	# nb_instruction  [0] [nb_context]
+1	1	*4	# size_depth      [0] [nb_context]
+4	4	*4	# nb_inst_decod   [0] [nb_decod_unit]
+1	1	*4	# nb_inst_branch_predict     
+4	4	*4	# nb_inst_branch_decod 
+4	4	*4	# nb_inst_branch_update
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Prediction_unit_Glue/SelfTest/configuration/config_multi_context.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Prediction_unit_Glue/SelfTest/configuration/config_multi_context.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Prediction_unit_Glue/SelfTest/configuration/config_multi_context.gen	(revision 145)
@@ -0,0 +1,16 @@
+Prediction_unit_Glue
+4	4	*4	# nb_context         
+1	1	*4	# nb_decod_unit      
+30	30	+32	# size_address       
+1	1	*4	# nb_instruction  [0] [nb_context]
+2	2	*4	# nb_instruction  [1] [nb_context]
+8	8	*4	# nb_instruction  [2] [nb_context]
+4	4	*4	# nb_instruction  [3] [nb_context]
+2	2	*4	# size_depth      [0] [nb_context]
+1	1	*4	# size_depth      [1] [nb_context]
+7	7	*4	# size_depth      [2] [nb_context]
+4	4	*4	# size_depth      [3] [nb_context]
+4	4	*4	# nb_inst_decod   [0] [nb_decod_unit]
+1	4	*4	# nb_inst_branch_predict     
+4	4	*4	# nb_inst_branch_decod 
+4	4	*4	# nb_inst_branch_update
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Prediction_unit_Glue/src/Prediction_unit_Glue_genMealy_decod.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Prediction_unit_Glue/src/Prediction_unit_Glue_genMealy_decod.cpp	(revision 144)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Prediction_unit_Glue/src/Prediction_unit_Glue_genMealy_decod.cpp	(revision 145)
@@ -78,5 +78,5 @@
           //   * branch was not detected
           Tcontrol_t        miss_decod            = (branch_state == BRANCH_STATE_NONE);
-          Tcontrol_t        can_continue          = false;
+          Tcontrol_t        can_continue          = PORT_READ(in_DECOD_UPT_CAN_CONTINUE [port]);
 
 	  log_printf(TRACE,Prediction_unit_Glue,FUNCTION,"  * DECOD [%d][%d]          : valid",decod_unit,i);
@@ -212,5 +212,6 @@
 		}
 
-              can_continue = false; // need update upt
+              // can_continue = false; // need update upt
+              can_continue &= not take;
 	    }
  	  else
@@ -218,12 +219,5 @@
               log_printf(TRACE,Prediction_unit_Glue,FUNCTION,"    * hit");
 
-              if (branch_state == BRANCH_STATE_SPEC_NTAKE)
-                can_continue = PORT_READ(in_DECOD_UPT_CAN_CONTINUE [port]);
-              else
-                // BRANCH_STATE_NONE       -> miss
-                // BRANCH_STATE_NSPEC_TAKE -> take
-                // BRANCH_STATE_SPEC_TAKE  -> take
-                can_continue = false;
-
+//            can_continue = PORT_READ(in_DECOD_UPT_CAN_CONTINUE [port]);
 // 	      miss_decod = false;
 // 	      // Hit speculation
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Return_Address_Stack/SelfTest/config_mono_context.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Return_Address_Stack/SelfTest/config_mono_context.cfg	(revision 144)
+++ 	(revision )
@@ -1,7 +1,0 @@
-Return_Address_Stack
-1	1	+1	# nb_context     
-2	4	*2	# size_queue     [0]
-32	32	*2	# size_address   
-1	4	*4	# nb_inst_predict
-1	4	*4	# nb_inst_decod  
-1	4	*4	# nb_inst_update 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Return_Address_Stack/SelfTest/config_multi_context.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Return_Address_Stack/SelfTest/config_multi_context.cfg	(revision 144)
+++ 	(revision )
@@ -1,10 +1,0 @@
-Return_Address_Stack
-4	4	+1	# nb_context     
-2	2	*2	# size_queue     [0]
-4	4	*2	# size_queue     [1]
-8	8	*2	# size_queue     [2]
-8 	8 	*2	# size_queue     [3]
-32	32	*2	# size_address   
-1	4	*4	# nb_inst_predict
-1	4	*4	# nb_inst_decod  
-1	4	*4	# nb_inst_update 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Return_Address_Stack/SelfTest/configuration/config_mono_context.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Return_Address_Stack/SelfTest/configuration/config_mono_context.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Return_Address_Stack/SelfTest/configuration/config_mono_context.gen	(revision 145)
@@ -0,0 +1,7 @@
+Return_Address_Stack
+1	1	+1	# nb_context     
+2	4	*2	# size_queue     [0]
+32	32	*2	# size_address   
+1	4	*4	# nb_inst_predict
+1	4	*4	# nb_inst_decod  
+1	4	*4	# nb_inst_update 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Return_Address_Stack/SelfTest/configuration/config_multi_context.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Return_Address_Stack/SelfTest/configuration/config_multi_context.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Return_Address_Stack/SelfTest/configuration/config_multi_context.gen	(revision 145)
@@ -0,0 +1,10 @@
+Return_Address_Stack
+4	4	+1	# nb_context     
+2	2	*2	# size_queue     [0]
+4	4	*2	# size_queue     [1]
+8	8	*2	# size_queue     [2]
+8 	8 	*2	# size_queue     [3]
+32	32	*2	# size_address   
+1	4	*4	# nb_inst_predict
+1	4	*4	# nb_inst_decod  
+1	4	*4	# nb_inst_update 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/SelfTest/config_min.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/SelfTest/config_min.cfg	(revision 144)
+++ 	(revision )
@@ -1,39 +1,0 @@
-Prediction_unit
-1	1	+1 # nb_context                 
-1	1	+1 # nb_decod_unit              
-30	30	+1 # size_address               
-1	1	+1 # nb_instruction             [0] [nb_context]
-1	1	+1 # nb_inst_decod              [0] [nb_decod_unit]
-1	1	+1 # nb_inst_branch_predict     
-1	1	+1 # nb_inst_branch_decod       
-1	1	+1 # nb_inst_branch_update      
-1	1	+1 # nb_inst_branch_complete    
-1	1	+1 # btb_size_queue             
-1	1	+1 # btb_associativity          
-2	2	+1 # btb_size_counter           
-3	3	+1 # btb_victim_scheme          
-1	1	+1 # dir_predictor_scheme       
-1	1	+1 # dir_have_bht               [0] [3]
-1	1	+1 # dir_have_bht               [1] [3]
-1	1	+1 # dir_have_bht               [2] [3]
-1	1	+1 # dir_bht_size_shifter       [0] [3]
-1	1	+1 # dir_bht_size_shifter       [1] [3]
-1	1	+1 # dir_bht_size_shifter       [2] [3]
-1	1	+1 # dir_bht_nb_shifter         [0] [3]
-1	1	+1 # dir_bht_nb_shifter         [1] [3]
-1	1	+1 # dir_bht_nb_shifter         [2] [3]
-1	1	+1 # dir_have_pht               [0] [3]
-1	1	+1 # dir_have_pht               [1] [3]
-1	1	+1 # dir_have_pht               [2] [3]
-1	1	+1 # dir_pht_size_counter       [0] [3]
-1	1	+1 # dir_pht_size_counter       [1] [3]
-1	1	+1 # dir_pht_size_counter       [2] [3]
-1	1	+1 # dir_pht_nb_counter         [0] [3]
-1	1	+1 # dir_pht_nb_counter         [1] [3]
-1	1	+1 # dir_pht_nb_counter         [2] [3]
-1	1	+1 # dir_pht_size_address_share [0] [3]
-1	1	+1 # dir_pht_size_address_share [1] [3]
-1	1	+1 # dir_pht_size_address_share [2] [3]
-2	2	+1 # ras_size_queue             [0] [nb_context]
-1	1	+1 # upt_size_queue             [0] [nb_context]
-1	1	+1 # ufpt_size_queue            [0] [nb_context]
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/SelfTest/config_mono_context.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/SelfTest/config_mono_context.cfg	(revision 144)
+++ 	(revision )
@@ -1,39 +1,0 @@
-Prediction_unit
-1	1	+1 # nb_context                 
-1	1	+1 # nb_decod_unit              
-30	30	+1 # size_address               
-1	4	*4 # nb_instruction             [0] [nb_context]
-1	4	*4 # nb_inst_decod              [0] [nb_decod_unit]
-1	1	+1 # nb_inst_branch_predict     
-2	2	+1 # nb_inst_branch_decod       
-2	2	+1 # nb_inst_branch_update      
-2	2	+1 # nb_inst_branch_complete    
-2	8	*8 # btb_size_queue             
-2	2	+1 # btb_associativity          
-2	2	+1 # btb_size_counter           
-3	3	+1 # btb_victim_scheme          
-1	1	+1 # dir_predictor_scheme       
-1	1	+1 # dir_have_bht               [0] [3]
-1	1	+1 # dir_have_bht               [1] [3]
-1	1	+1 # dir_have_bht               [2] [3]
-1	1	+1 # dir_bht_size_shifter       [0] [3]
-1	1	+1 # dir_bht_size_shifter       [1] [3]
-1	1	+1 # dir_bht_size_shifter       [2] [3]
-1	1	+1 # dir_bht_nb_shifter         [0] [3]
-1	1	+1 # dir_bht_nb_shifter         [1] [3]
-1	1	+1 # dir_bht_nb_shifter         [2] [3]
-1	1	+1 # dir_have_pht               [0] [3]
-1	1	+1 # dir_have_pht               [1] [3]
-1	1	+1 # dir_have_pht               [2] [3]
-1	1	+1 # dir_pht_size_counter       [0] [3]
-1	1	+1 # dir_pht_size_counter       [1] [3]
-1	1	+1 # dir_pht_size_counter       [2] [3]
-1	1	+1 # dir_pht_nb_counter         [0] [3]
-1	1	+1 # dir_pht_nb_counter         [1] [3]
-1	1	+1 # dir_pht_nb_counter         [2] [3]
-1	1	+1 # dir_pht_size_address_share [0] [3]
-1	1	+1 # dir_pht_size_address_share [1] [3]
-1	1	+1 # dir_pht_size_address_share [2] [3]
-4	4	*2 # ras_size_queue             [0] [nb_context]
-4	4	*2 # upt_size_queue             [0] [nb_context]
-2	2	+1 # ufpt_size_queue            [0] [nb_context]
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/SelfTest/config_mono_context_multi_decod.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/SelfTest/config_mono_context_multi_decod.cfg	(revision 144)
+++ 	(revision )
@@ -1,42 +1,0 @@
-Prediction_unit
-1	1	+1 # nb_context                 
-4	4	+1 # nb_decod_unit              
-30	30	+1 # size_address               
-4	4	*4 # nb_instruction             [0] [nb_context]
-4	4	+1 # nb_inst_decod              [0] [nb_decod_unit]
-1	1	+1 # nb_inst_decod              [1] [nb_decod_unit]
-2	2	+1 # nb_inst_decod              [2] [nb_decod_unit]
-8	8	+1 # nb_inst_decod              [3] [nb_decod_unit]
-1	1	+1 # nb_inst_branch_predict     
-1	1	+1 # nb_inst_branch_decod       
-1	1	+1 # nb_inst_branch_update      
-1	1	+1 # nb_inst_branch_complete    
-8	8	*4 # btb_size_queue             
-2	2	+1 # btb_associativity          
-2	2	+1 # btb_size_counter           
-3	3	+1 # btb_victim_scheme          
-1	1	+1 # dir_predictor_scheme       
-1	1	+1 # dir_have_bht               [0] [3]
-1	1	+1 # dir_have_bht               [1] [3]
-1	1	+1 # dir_have_bht               [2] [3]
-1	1	+1 # dir_bht_size_shifter       [0] [3]
-1	1	+1 # dir_bht_size_shifter       [1] [3]
-1	1	+1 # dir_bht_size_shifter       [2] [3]
-1	1	+1 # dir_bht_nb_shifter         [0] [3]
-1	1	+1 # dir_bht_nb_shifter         [1] [3]
-1	1	+1 # dir_bht_nb_shifter         [2] [3]
-1	1	+1 # dir_have_pht               [0] [3]
-1	1	+1 # dir_have_pht               [1] [3]
-1	1	+1 # dir_have_pht               [2] [3]
-1	1	+1 # dir_pht_size_counter       [0] [3]
-1	1	+1 # dir_pht_size_counter       [1] [3]
-1	1	+1 # dir_pht_size_counter       [2] [3]
-1	1	+1 # dir_pht_nb_counter         [0] [3]
-1	1	+1 # dir_pht_nb_counter         [1] [3]
-1	1	+1 # dir_pht_nb_counter         [2] [3]
-1	1	+1 # dir_pht_size_address_share [0] [3]
-1	1	+1 # dir_pht_size_address_share [1] [3]
-1	1	+1 # dir_pht_size_address_share [2] [3]
-4	4	*2 # ras_size_queue             [0] [nb_context]
-4	4	*4 # upt_size_queue             [0] [nb_context]
-2	2	*4 # ufpt_size_queue            [0] [nb_context]
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/SelfTest/config_multi_context.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/SelfTest/config_multi_context.cfg	(revision 144)
+++ 	(revision )
@@ -1,51 +1,0 @@
-Prediction_unit
-4	4	+1 # nb_context                 
-1	1	+1 # nb_decod_unit              
-30	30	+1 # size_address               
-1	1	*4 # nb_instruction             [0] [nb_context]
-2	2	*4 # nb_instruction             [1] [nb_context]
-4	4	*4 # nb_instruction             [2] [nb_context]
-8	8	*4 # nb_instruction             [3] [nb_context]
-1	1	+1 # nb_inst_decod              [0] [nb_decod_unit]
-1	1	+1 # nb_inst_branch_predict     
-1	1	+1 # nb_inst_branch_decod       
-1	1	+1 # nb_inst_branch_update      
-1	1	+1 # nb_inst_branch_complete    
-16	16	*4 # btb_size_queue             
-8	8	+1 # btb_associativity          
-2	2	+1 # btb_size_counter           
-3	3	+1 # btb_victim_scheme          
-1	1	+1 # dir_predictor_scheme       
-1	1	+1 # dir_have_bht               [0] [3]
-1	1	+1 # dir_have_bht               [1] [3]
-1	1	+1 # dir_have_bht               [2] [3]
-1	1	+1 # dir_bht_size_shifter       [0] [3]
-1	1	+1 # dir_bht_size_shifter       [1] [3]
-1	1	+1 # dir_bht_size_shifter       [2] [3]
-1	1	+1 # dir_bht_nb_shifter         [0] [3]
-1	1	+1 # dir_bht_nb_shifter         [1] [3]
-1	1	+1 # dir_bht_nb_shifter         [2] [3]
-1	1	+1 # dir_have_pht               [0] [3]
-1	1	+1 # dir_have_pht               [1] [3]
-1	1	+1 # dir_have_pht               [2] [3]
-1	1	+1 # dir_pht_size_counter       [0] [3]
-1	1	+1 # dir_pht_size_counter       [1] [3]
-1	1	+1 # dir_pht_size_counter       [2] [3]
-1	1	+1 # dir_pht_nb_counter         [0] [3]
-1	1	+1 # dir_pht_nb_counter         [1] [3]
-1	1	+1 # dir_pht_nb_counter         [2] [3]
-1	1	+1 # dir_pht_size_address_share [0] [3]
-1	1	+1 # dir_pht_size_address_share [1] [3]
-1	1	+1 # dir_pht_size_address_share [2] [3]
-2	2	*2 # ras_size_queue             [0] [nb_context]
-8	8	*2 # ras_size_queue             [1] [nb_context]
-4	4	*2 # ras_size_queue             [2] [nb_context]
-2	2	*2 # ras_size_queue             [3] [nb_context]
-2	2	*4 # upt_size_queue             [0] [nb_context]
-4	4	*4 # upt_size_queue             [1] [nb_context]
-4	4	*4 # upt_size_queue             [2] [nb_context]
-8	8	*4 # upt_size_queue             [3] [nb_context]
-1	1	*4 # ufpt_size_queue            [0] [nb_context]
-4	4	*4 # ufpt_size_queue            [1] [nb_context]
-2	2	*4 # ufpt_size_queue            [2] [nb_context]
-4	4	*4 # ufpt_size_queue            [3] [nb_context]
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/SelfTest/configuration/config_min.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/SelfTest/configuration/config_min.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/SelfTest/configuration/config_min.gen	(revision 145)
@@ -0,0 +1,39 @@
+Prediction_unit
+1	1	+1 # nb_context                 
+1	1	+1 # nb_decod_unit              
+30	30	+1 # size_address               
+1	1	+1 # nb_instruction             [0] [nb_context]
+1	1	+1 # nb_inst_decod              [0] [nb_decod_unit]
+1	1	+1 # nb_inst_branch_predict     
+1	1	+1 # nb_inst_branch_decod       
+1	1	+1 # nb_inst_branch_update      
+1	1	+1 # nb_inst_branch_complete    
+1	1	+1 # btb_size_queue             
+1	1	+1 # btb_associativity          
+2	2	+1 # btb_size_counter           
+3	3	+1 # btb_victim_scheme          
+1	1	+1 # dir_predictor_scheme       
+1	1	+1 # dir_have_bht               [0] [3]
+1	1	+1 # dir_have_bht               [1] [3]
+1	1	+1 # dir_have_bht               [2] [3]
+1	1	+1 # dir_bht_size_shifter       [0] [3]
+1	1	+1 # dir_bht_size_shifter       [1] [3]
+1	1	+1 # dir_bht_size_shifter       [2] [3]
+1	1	+1 # dir_bht_nb_shifter         [0] [3]
+1	1	+1 # dir_bht_nb_shifter         [1] [3]
+1	1	+1 # dir_bht_nb_shifter         [2] [3]
+1	1	+1 # dir_have_pht               [0] [3]
+1	1	+1 # dir_have_pht               [1] [3]
+1	1	+1 # dir_have_pht               [2] [3]
+1	1	+1 # dir_pht_size_counter       [0] [3]
+1	1	+1 # dir_pht_size_counter       [1] [3]
+1	1	+1 # dir_pht_size_counter       [2] [3]
+1	1	+1 # dir_pht_nb_counter         [0] [3]
+1	1	+1 # dir_pht_nb_counter         [1] [3]
+1	1	+1 # dir_pht_nb_counter         [2] [3]
+1	1	+1 # dir_pht_size_address_share [0] [3]
+1	1	+1 # dir_pht_size_address_share [1] [3]
+1	1	+1 # dir_pht_size_address_share [2] [3]
+2	2	+1 # ras_size_queue             [0] [nb_context]
+1	1	+1 # upt_size_queue             [0] [nb_context]
+1	1	+1 # ufpt_size_queue            [0] [nb_context]
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/SelfTest/configuration/config_mono_context.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/SelfTest/configuration/config_mono_context.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/SelfTest/configuration/config_mono_context.gen	(revision 145)
@@ -0,0 +1,39 @@
+Prediction_unit
+1	1	+1 # nb_context                 
+1	1	+1 # nb_decod_unit              
+30	30	+1 # size_address               
+1	4	*4 # nb_instruction             [0] [nb_context]
+1	4	*4 # nb_inst_decod              [0] [nb_decod_unit]
+1	1	+1 # nb_inst_branch_predict     
+2	2	+1 # nb_inst_branch_decod       
+2	2	+1 # nb_inst_branch_update      
+2	2	+1 # nb_inst_branch_complete    
+2	8	*8 # btb_size_queue             
+2	2	+1 # btb_associativity          
+2	2	+1 # btb_size_counter           
+3	3	+1 # btb_victim_scheme          
+1	1	+1 # dir_predictor_scheme       
+1	1	+1 # dir_have_bht               [0] [3]
+1	1	+1 # dir_have_bht               [1] [3]
+1	1	+1 # dir_have_bht               [2] [3]
+1	1	+1 # dir_bht_size_shifter       [0] [3]
+1	1	+1 # dir_bht_size_shifter       [1] [3]
+1	1	+1 # dir_bht_size_shifter       [2] [3]
+1	1	+1 # dir_bht_nb_shifter         [0] [3]
+1	1	+1 # dir_bht_nb_shifter         [1] [3]
+1	1	+1 # dir_bht_nb_shifter         [2] [3]
+1	1	+1 # dir_have_pht               [0] [3]
+1	1	+1 # dir_have_pht               [1] [3]
+1	1	+1 # dir_have_pht               [2] [3]
+1	1	+1 # dir_pht_size_counter       [0] [3]
+1	1	+1 # dir_pht_size_counter       [1] [3]
+1	1	+1 # dir_pht_size_counter       [2] [3]
+1	1	+1 # dir_pht_nb_counter         [0] [3]
+1	1	+1 # dir_pht_nb_counter         [1] [3]
+1	1	+1 # dir_pht_nb_counter         [2] [3]
+1	1	+1 # dir_pht_size_address_share [0] [3]
+1	1	+1 # dir_pht_size_address_share [1] [3]
+1	1	+1 # dir_pht_size_address_share [2] [3]
+4	4	*2 # ras_size_queue             [0] [nb_context]
+4	4	*2 # upt_size_queue             [0] [nb_context]
+2	2	+1 # ufpt_size_queue            [0] [nb_context]
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/SelfTest/configuration/config_mono_context_multi_decod.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/SelfTest/configuration/config_mono_context_multi_decod.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/SelfTest/configuration/config_mono_context_multi_decod.gen	(revision 145)
@@ -0,0 +1,42 @@
+Prediction_unit
+1	1	+1 # nb_context                 
+4	4	+1 # nb_decod_unit              
+30	30	+1 # size_address               
+4	4	*4 # nb_instruction             [0] [nb_context]
+4	4	+1 # nb_inst_decod              [0] [nb_decod_unit]
+1	1	+1 # nb_inst_decod              [1] [nb_decod_unit]
+2	2	+1 # nb_inst_decod              [2] [nb_decod_unit]
+8	8	+1 # nb_inst_decod              [3] [nb_decod_unit]
+1	1	+1 # nb_inst_branch_predict     
+1	1	+1 # nb_inst_branch_decod       
+1	1	+1 # nb_inst_branch_update      
+1	1	+1 # nb_inst_branch_complete    
+8	8	*4 # btb_size_queue             
+2	2	+1 # btb_associativity          
+2	2	+1 # btb_size_counter           
+3	3	+1 # btb_victim_scheme          
+1	1	+1 # dir_predictor_scheme       
+1	1	+1 # dir_have_bht               [0] [3]
+1	1	+1 # dir_have_bht               [1] [3]
+1	1	+1 # dir_have_bht               [2] [3]
+1	1	+1 # dir_bht_size_shifter       [0] [3]
+1	1	+1 # dir_bht_size_shifter       [1] [3]
+1	1	+1 # dir_bht_size_shifter       [2] [3]
+1	1	+1 # dir_bht_nb_shifter         [0] [3]
+1	1	+1 # dir_bht_nb_shifter         [1] [3]
+1	1	+1 # dir_bht_nb_shifter         [2] [3]
+1	1	+1 # dir_have_pht               [0] [3]
+1	1	+1 # dir_have_pht               [1] [3]
+1	1	+1 # dir_have_pht               [2] [3]
+1	1	+1 # dir_pht_size_counter       [0] [3]
+1	1	+1 # dir_pht_size_counter       [1] [3]
+1	1	+1 # dir_pht_size_counter       [2] [3]
+1	1	+1 # dir_pht_nb_counter         [0] [3]
+1	1	+1 # dir_pht_nb_counter         [1] [3]
+1	1	+1 # dir_pht_nb_counter         [2] [3]
+1	1	+1 # dir_pht_size_address_share [0] [3]
+1	1	+1 # dir_pht_size_address_share [1] [3]
+1	1	+1 # dir_pht_size_address_share [2] [3]
+4	4	*2 # ras_size_queue             [0] [nb_context]
+4	4	*4 # upt_size_queue             [0] [nb_context]
+2	2	*4 # ufpt_size_queue            [0] [nb_context]
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/SelfTest/configuration/config_multi_context.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/SelfTest/configuration/config_multi_context.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/SelfTest/configuration/config_multi_context.gen	(revision 145)
@@ -0,0 +1,51 @@
+Prediction_unit
+4	4	+1 # nb_context                 
+1	1	+1 # nb_decod_unit              
+30	30	+1 # size_address               
+1	1	*4 # nb_instruction             [0] [nb_context]
+2	2	*4 # nb_instruction             [1] [nb_context]
+4	4	*4 # nb_instruction             [2] [nb_context]
+8	8	*4 # nb_instruction             [3] [nb_context]
+1	1	+1 # nb_inst_decod              [0] [nb_decod_unit]
+1	1	+1 # nb_inst_branch_predict     
+1	1	+1 # nb_inst_branch_decod       
+1	1	+1 # nb_inst_branch_update      
+1	1	+1 # nb_inst_branch_complete    
+16	16	*4 # btb_size_queue             
+8	8	+1 # btb_associativity          
+2	2	+1 # btb_size_counter           
+3	3	+1 # btb_victim_scheme          
+1	1	+1 # dir_predictor_scheme       
+1	1	+1 # dir_have_bht               [0] [3]
+1	1	+1 # dir_have_bht               [1] [3]
+1	1	+1 # dir_have_bht               [2] [3]
+1	1	+1 # dir_bht_size_shifter       [0] [3]
+1	1	+1 # dir_bht_size_shifter       [1] [3]
+1	1	+1 # dir_bht_size_shifter       [2] [3]
+1	1	+1 # dir_bht_nb_shifter         [0] [3]
+1	1	+1 # dir_bht_nb_shifter         [1] [3]
+1	1	+1 # dir_bht_nb_shifter         [2] [3]
+1	1	+1 # dir_have_pht               [0] [3]
+1	1	+1 # dir_have_pht               [1] [3]
+1	1	+1 # dir_have_pht               [2] [3]
+1	1	+1 # dir_pht_size_counter       [0] [3]
+1	1	+1 # dir_pht_size_counter       [1] [3]
+1	1	+1 # dir_pht_size_counter       [2] [3]
+1	1	+1 # dir_pht_nb_counter         [0] [3]
+1	1	+1 # dir_pht_nb_counter         [1] [3]
+1	1	+1 # dir_pht_nb_counter         [2] [3]
+1	1	+1 # dir_pht_size_address_share [0] [3]
+1	1	+1 # dir_pht_size_address_share [1] [3]
+1	1	+1 # dir_pht_size_address_share [2] [3]
+2	2	*2 # ras_size_queue             [0] [nb_context]
+8	8	*2 # ras_size_queue             [1] [nb_context]
+4	4	*2 # ras_size_queue             [2] [nb_context]
+2	2	*2 # ras_size_queue             [3] [nb_context]
+2	2	*4 # upt_size_queue             [0] [nb_context]
+4	4	*4 # upt_size_queue             [1] [nb_context]
+4	4	*4 # upt_size_queue             [2] [nb_context]
+8	8	*4 # upt_size_queue             [3] [nb_context]
+1	1	*4 # ufpt_size_queue            [0] [nb_context]
+4	4	*4 # ufpt_size_queue            [1] [nb_context]
+2	2	*4 # ufpt_size_queue            [2] [nb_context]
+4	4	*4 # ufpt_size_queue            [3] [nb_context]
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/SelfTest/config_min.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/SelfTest/config_min.cfg	(revision 144)
+++ 	(revision )
@@ -1,11 +1,0 @@
-Update_Prediction_Table
-1	1	+1	# nb_context             
-1	1	*4	# size_upt_queue         [0] [nb_context]
-1	1	*4	# size_ufpt_queue        [0] [nb_context]
-32	32	*2	# size_address           
-1	1	*4	# nb_inst_predict        
-1	1	*4	# nb_inst_decod          
-1	1	*4	# nb_inst_branch_complete
-1	1	*4	# nb_inst_update         
-0	0	+1	# size_history           
-1	1	*2	# size_ras_index         [0] [nb_context]
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/SelfTest/config_mono_context.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/SelfTest/config_mono_context.cfg	(revision 144)
+++ 	(revision )
@@ -1,11 +1,0 @@
-Update_Prediction_Table
-1	1	+1	# nb_context             
-4	8	+1	# size_upt_queue         [0] [nb_context]
-1	4	+1	# size_ufpt_queue        [0] [nb_context]
-32	32	*2	# size_address           
-4	4	*4	# nb_inst_predict        
-4	4	*4	# nb_inst_decod          
-4	4	*4	# nb_inst_branch_complete
-4	4	*4	# nb_inst_update         
-0	0	+1	# size_history           
-3	3	*2	# size_ras_index         [0] [nb_context]
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/SelfTest/config_multi_context.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/SelfTest/config_multi_context.cfg	(revision 144)
+++ 	(revision )
@@ -1,20 +1,0 @@
-Update_Prediction_Table
-4	4	+1	# nb_context             
-4	4	*4	# size_upt_queue         [0] [nb_context]
-2	2	*4	# size_upt_queue         [1] [nb_context]
-8	8	*4	# size_upt_queue         [2] [nb_context]
-1 	1 	*4	# size_upt_queue         [3] [nb_context]
-4	4	*4	# size_ufpt_queue        [0] [nb_context]
-1	1	*4	# size_ufpt_queue        [1] [nb_context]
-2	2	*4	# size_ufpt_queue        [2] [nb_context]
-1 	1 	*4	# size_ufpt_queue        [3] [nb_context]
-32	32	*2	# size_address           
-4	4	*4	# nb_inst_predict        
-4	4	*4	# nb_inst_decod          
-4	4	*4	# nb_inst_branch_complete
-4	4	*4	# nb_inst_update         
-0	0	+1	# size_history           
-3	3	*2	# size_ras_index         [0] [nb_context]
-1	1	*2	# size_ras_index         [1] [nb_context]
-2	2	*2	# size_ras_index         [2] [nb_context]
-8	8	*2	# size_ras_index         [3] [nb_context]
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/SelfTest/configuration/config_min.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/SelfTest/configuration/config_min.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/SelfTest/configuration/config_min.gen	(revision 145)
@@ -0,0 +1,11 @@
+Update_Prediction_Table
+1	1	+1	# nb_context             
+1	1	*4	# size_upt_queue         [0] [nb_context]
+1	1	*4	# size_ufpt_queue        [0] [nb_context]
+32	32	*2	# size_address           
+1	1	*4	# nb_inst_predict        
+1	1	*4	# nb_inst_decod          
+1	1	*4	# nb_inst_branch_complete
+1	1	*4	# nb_inst_update         
+0	0	+1	# size_history           
+1	1	*2	# size_ras_index         [0] [nb_context]
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/SelfTest/configuration/config_mono_context.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/SelfTest/configuration/config_mono_context.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/SelfTest/configuration/config_mono_context.gen	(revision 145)
@@ -0,0 +1,11 @@
+Update_Prediction_Table
+1	1	+1	# nb_context             
+4	8	+1	# size_upt_queue         [0] [nb_context]
+1	4	+1	# size_ufpt_queue        [0] [nb_context]
+32	32	*2	# size_address           
+4	4	*4	# nb_inst_predict        
+4	4	*4	# nb_inst_decod          
+4	4	*4	# nb_inst_branch_complete
+4	4	*4	# nb_inst_update         
+0	0	+1	# size_history           
+3	3	*2	# size_ras_index         [0] [nb_context]
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/SelfTest/configuration/config_multi_context.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/SelfTest/configuration/config_multi_context.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/SelfTest/configuration/config_multi_context.gen	(revision 145)
@@ -0,0 +1,20 @@
+Update_Prediction_Table
+4	4	+1	# nb_context             
+4	4	*4	# size_upt_queue         [0] [nb_context]
+2	2	*4	# size_upt_queue         [1] [nb_context]
+8	8	*4	# size_upt_queue         [2] [nb_context]
+1 	1 	*4	# size_upt_queue         [3] [nb_context]
+4	4	*4	# size_ufpt_queue        [0] [nb_context]
+1	1	*4	# size_ufpt_queue        [1] [nb_context]
+2	2	*4	# size_ufpt_queue        [2] [nb_context]
+1 	1 	*4	# size_ufpt_queue        [3] [nb_context]
+32	32	*2	# size_address           
+4	4	*4	# nb_inst_predict        
+4	4	*4	# nb_inst_decod          
+4	4	*4	# nb_inst_branch_complete
+4	4	*4	# nb_inst_update         
+0	0	+1	# size_history           
+3	3	*2	# size_ras_index         [0] [nb_context]
+1	1	*2	# size_ras_index         [1] [nb_context]
+2	2	*2	# size_ras_index         [2] [nb_context]
+8	8	*2	# size_ras_index         [3] [nb_context]
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src/Update_Prediction_Table_transition.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src/Update_Prediction_Table_transition.cpp	(revision 144)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Update_Prediction_Table/src/Update_Prediction_Table_transition.cpp	(revision 145)
@@ -90,5 +90,4 @@
             reg_EVENT_ADDRESS_DEST     [i] = 0; // not necessary
             reg_EVENT_CAN_CONTINUE     [i] = 0; // not necessary
-
           }
       }
@@ -328,5 +327,5 @@
                 {
                   // Have a miss !!!
-                  log_printf(TRACE,Update_Prediction_Table,FUNCTION,"    * miss !!!");
+                  log_printf(TRACE,Update_Prediction_Table,FUNCTION,"      * miss !!!");
 
                   condition   = PORT_READ(in_DECOD_BTB_CONDITION [i]);
@@ -350,8 +349,8 @@
                   bool flush_ufpt = (not (can_continue and not direction and not miss_ifetch));
 
-                  log_printf(TRACE,Update_Prediction_Table,FUNCTION,"    * can_continue: %d",can_continue);
-                  log_printf(TRACE,Update_Prediction_Table,FUNCTION,"    * direction   : %d",direction   );
-                  log_printf(TRACE,Update_Prediction_Table,FUNCTION,"    * miss_ifetch : %d",miss_ifetch );
-                  log_printf(TRACE,Update_Prediction_Table,FUNCTION,"      * flush_ufpt: %d",flush_ufpt  );
+                  log_printf(TRACE,Update_Prediction_Table,FUNCTION,"      * can_continue: %d",can_continue);
+                  log_printf(TRACE,Update_Prediction_Table,FUNCTION,"      * direction   : %d",direction   );
+                  log_printf(TRACE,Update_Prediction_Table,FUNCTION,"      * miss_ifetch : %d",miss_ifetch );
+                  log_printf(TRACE,Update_Prediction_Table,FUNCTION,"        * flush_ufpt: %d",flush_ufpt  );
 
                   // Test if can continue without flushing the ufpt (and ifetch_queue)
@@ -378,5 +377,5 @@
 
                       reg_UPT_EVENT_STATE [context] = UPT_EVENT_STATE_KO_DECODE_UPDATE_CONTEXT;
-                      log_printf(TRACE,Update_Prediction_Table,FUNCTION,"    * UPT_EVENT_STATE [%d] <- %s (decod, miss)",context,toString(reg_UPT_EVENT_STATE [context]).c_str());
+                      log_printf(TRACE,Update_Prediction_Table,FUNCTION,"      * UPT_EVENT_STATE [%d] <- %s (decod, miss)",context,toString(reg_UPT_EVENT_STATE [context]).c_str());
 
                       // Need Flush UPFT
@@ -820,6 +819,6 @@
                             reg_EVENT_ADDRESS_DEST_VAL[context] = good_take;
                             reg_EVENT_ADDRESS_DEST    [context] = good_addr;
-                            reg_EVENT_CAN_CONTINUE    [context] = false;
-                            
+                            reg_EVENT_CAN_CONTINUE    [context] = true;
+                            // reg_EVENT_CAN_CONTINUE    [context] = false;
                           }
                         
@@ -1184,8 +1183,8 @@
         log_printf(TRACE,Update_Prediction_Table,FUNCTION,"    * reg_EVENT_UFPT_STATE      : %s"  ,toString(reg_UFPT_EVENT_STATE [i]).c_str());
         log_printf(TRACE,Update_Prediction_Table,FUNCTION,"    * reg_EVENT_UPT_STATE       : %s"  ,toString(reg_UPT_EVENT_STATE [i]).c_str());
-//         log_printf(TRACE,Update_Prediction_Table,FUNCTION,"    * reg_EVENT_VAL             : %d"  ,reg_EVENT_VAL             [i]);
+//      log_printf(TRACE,Update_Prediction_Table,FUNCTION,"    * reg_EVENT_VAL             : %d"  ,reg_EVENT_VAL             [i]);
         log_printf(TRACE,Update_Prediction_Table,FUNCTION,"    * reg_EVENT_UPT_PTR         : %d"  ,reg_EVENT_UPT_PTR         [i]);
         log_printf(TRACE,Update_Prediction_Table,FUNCTION,"    * reg_EVENT_UPT_FULL        : %d"  ,reg_EVENT_UPT_FULL        [i]);
-//         log_printf(TRACE,Update_Prediction_Table,FUNCTION,"    * reg_EVENT_IS_BRANCH       : %d"  ,reg_EVENT_IS_BRANCH       [i]);
+//      log_printf(TRACE,Update_Prediction_Table,FUNCTION,"    * reg_EVENT_IS_BRANCH       : %d"  ,reg_EVENT_IS_BRANCH       [i]);
         log_printf(TRACE,Update_Prediction_Table,FUNCTION,"    * reg_EVENT_DEPTH           : %d"  ,reg_EVENT_DEPTH           [i]);
         log_printf(TRACE,Update_Prediction_Table,FUNCTION,"    * reg_EVENT_ADDRESS_SRC     : %.8x (%.8x)",reg_EVENT_ADDRESS_SRC     [i],reg_EVENT_ADDRESS_SRC     [i]<<2);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/SelfTest/config-context_1-decod_unit_1-a.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/SelfTest/config-context_1-decod_unit_1-a.cfg	(revision 144)
+++ 	(revision )
@@ -1,47 +1,0 @@
-Front_end
-1	1	+1	# nb_context                                                
-1	1	+1	# nb_decod_unit                                             
-32	32	+1	# size_general_data                                         
-4	4	+1	# size_ifetch_queue             [0] [nb_context]                
-4	4	+1	# nb_inst_fetch                 [0] [nb_context]                
-0	0	+1	# link_context_to_decod_unit    [0] [nb_context]                
-4	4	+1	# size_decod_queue              [0] [nb_decod_unit]             
-0	1	+1	# decod_queue_scheme            [0] [nb_decod_unit]             
-4	4	+1	# nb_inst_decod                 [0] [nb_decod_unit]             
-1	1	+1	# nb_context_select             [0] [nb_decod_unit]             
-1	1	+1	# context_select_priority       [0] [nb_decod_unit]             
-1	1	+1	# context_select_load_balancing [0] [nb_decod_unit]             
-1	1	+1	# nb_inst_branch_predict        
-2	2	+1	# nb_inst_branch_decod          
-2	2	+1	# nb_inst_branch_update         
-2	2	+1	# nb_inst_branch_complete       
-32	32	+1	# btb_size_queue                
-4	4	+1	# btb_associativity             
-2	2	+1	# btb_size_counter              
-3	3	+1	# btb_victim_scheme             
-1	1	+1	# dir_predictor_scheme          
-1	1	+1	# dir_have_bht                  [0] [3]                         
-1	1	+1	# dir_have_bht                  [1] [3]                         
-1	1	+1	# dir_have_bht                  [2] [3]                         
-1	1	+1	# dir_bht_size_shifter          [0] [3]                         
-1	1	+1	# dir_bht_size_shifter          [1] [3]                         
-1	1	+1	# dir_bht_size_shifter          [2] [3]                         
-1	1	+1	# dir_bht_nb_shifter            [0] [3]                         
-1	1	+1	# dir_bht_nb_shifter            [1] [3]                         
-1	1	+1	# dir_bht_nb_shifter            [2] [3]                         
-1	1	+1	# dir_have_pht                  [0] [3]                         
-1	1	+1	# dir_have_pht                  [1] [3]                         
-1	1	+1	# dir_have_pht                  [2] [3]                         
-1	1	+1	# dir_pht_size_counter          [0] [3]                         
-1	1	+1	# dir_pht_size_counter          [1] [3]                         
-1	1	+1	# dir_pht_size_counter          [2] [3]                         
-1	1	+1	# dir_pht_nb_counter            [0] [3]                         
-1	1	+1	# dir_pht_nb_counter            [1] [3]                         
-1	1	+1	# dir_pht_nb_counter            [2] [3]                         
-1	1	+1	# dir_pht_size_address_share    [0] [3]                         
-1	1	+1	# dir_pht_size_address_share    [1] [3]                         
-1	1	+1	# dir_pht_size_address_share    [2] [3]                         
-8       8       +1	# ras_size_queue                [0] [nb_context]                
-1	1	+1	# upt_size_queue                [0] [nb_context]                
-1	1	+1	# ufpt_size_queue               [0] [nb_context]                
-1	1	+1	# size_inst_commit
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/SelfTest/config-context_4-decod_unit_1-a.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/SelfTest/config-context_4-decod_unit_1-a.cfg	(revision 144)
+++ 	(revision )
@@ -1,65 +1,0 @@
-Front_end
-4	4	+1	# nb_context                                                
-1	1	+1	# nb_decod_unit                                             
-32	32	+1	# size_general_data                                         
-16	16	+1	# size_ifetch_queue             [0] [nb_context]                
-4	4	+1	# size_ifetch_queue             [1] [nb_context]                
-16	16	+1	# size_ifetch_queue             [2] [nb_context]                
-8	8	+1	# size_ifetch_queue             [3] [nb_context]                
-4	4	+1	# nb_inst_fetch                 [0] [nb_context]                
-2	2	+1	# nb_inst_fetch                 [1] [nb_context]                
-16	16	+1	# nb_inst_fetch                 [2] [nb_context]                
-1	1	+1	# nb_inst_fetch                 [3] [nb_context]                
-0	0	+1	# link_context_to_decod_unit    [0] [nb_context]                
-0	0	+1	# link_context_to_decod_unit    [1] [nb_context]                
-0	0	+1	# link_context_to_decod_unit    [2] [nb_context]                
-0	0	+1	# link_context_to_decod_unit    [3] [nb_context]                
-4	4	+1	# size_decod_queue              [0] [nb_decod_unit]             
-0	1	+1	# decod_queue_scheme            [0] [nb_decod_unit]             
-4	4	+1	# nb_inst_decod                 [0] [nb_decod_unit]             
-1	1	+1	# nb_context_select             [0] [nb_decod_unit]             
-1	1	+1	# context_select_priority       [0] [nb_decod_unit]             
-1	1	+1	# context_select_load_balancing [0] [nb_decod_unit]             
-1	1	+1	# nb_inst_branch_predict        
-2	2	+1	# nb_inst_branch_decod          
-2	2	+1	# nb_inst_branch_update         
-2	2	+1	# nb_inst_branch_complete       
-64	64	+1	# btb_size_queue                
-8	8	+1	# btb_associativity             
-2	2	+1	# btb_size_counter              
-3	3	+1	# btb_victim_scheme             
-1	1	+1	# dir_predictor_scheme          
-1	1	+1	# dir_have_bht                  [0] [3]                         
-1	1	+1	# dir_have_bht                  [1] [3]                         
-1	1	+1	# dir_have_bht                  [2] [3]                         
-1	1	+1	# dir_bht_size_shifter          [0] [3]                         
-1	1	+1	# dir_bht_size_shifter          [1] [3]                         
-1	1	+1	# dir_bht_size_shifter          [2] [3]                         
-1	1	+1	# dir_bht_nb_shifter            [0] [3]                         
-1	1	+1	# dir_bht_nb_shifter            [1] [3]                         
-1	1	+1	# dir_bht_nb_shifter            [2] [3]                         
-1	1	+1	# dir_have_pht                  [0] [3]                         
-1	1	+1	# dir_have_pht                  [1] [3]                         
-1	1	+1	# dir_have_pht                  [2] [3]                         
-1	1	+1	# dir_pht_size_counter          [0] [3]                         
-1	1	+1	# dir_pht_size_counter          [1] [3]                         
-1	1	+1	# dir_pht_size_counter          [2] [3]                         
-1	1	+1	# dir_pht_nb_counter            [0] [3]                         
-1	1	+1	# dir_pht_nb_counter            [1] [3]                         
-1	1	+1	# dir_pht_nb_counter            [2] [3]                         
-1	1	+1	# dir_pht_size_address_share    [0] [3]                         
-1	1	+1	# dir_pht_size_address_share    [1] [3]                         
-1	1	+1	# dir_pht_size_address_share    [2] [3]                         
-8       8       +1	# ras_size_queue                [0] [nb_context]                
-2       2       +1	# ras_size_queue                [1] [nb_context]                
-4       4       +1	# ras_size_queue                [2] [nb_context]                
-2       2       +1	# ras_size_queue                [3] [nb_context]                
-16	16	+1	# upt_size_queue                [0] [nb_context]                
-1	1	+1	# upt_size_queue                [1] [nb_context]                
-2	2	+1	# upt_size_queue                [2] [nb_context]                
-8	8	+1	# upt_size_queue                [3] [nb_context]                
-6 	6 	+1	# ufpt_size_queue               [0] [nb_context]                
-1	1	+1	# ufpt_size_queue               [1] [nb_context]                
-1	1	+1	# ufpt_size_queue               [2] [nb_context]                
-4	4	+1	# ufpt_size_queue               [3] [nb_context]                
-1	1	+1	# size_inst_commit
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/SelfTest/config-context_4-decod_unit_2-a.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/SelfTest/config-context_4-decod_unit_2-a.cfg	(revision 144)
+++ 	(revision )
@@ -1,71 +1,0 @@
-Front_end
-4	4	+1	# nb_context                                                
-2	2	+1	# nb_decod_unit                                             
-32	32	+1	# size_general_data                                         
-8	8	+1	# size_ifetch_queue             [0] [nb_context]                
-4	4	+1	# size_ifetch_queue             [1] [nb_context]                
-16	16	+1	# size_ifetch_queue             [2] [nb_context]                
-8	8	+1	# size_ifetch_queue             [3] [nb_context]                
-4	4	+1	# nb_inst_fetch                 [0] [nb_context]                
-2	2	+1	# nb_inst_fetch                 [1] [nb_context]                
-16	16	+1	# nb_inst_fetch                 [2] [nb_context]                
-1	1	+1	# nb_inst_fetch                 [3] [nb_context]                
-1	1	+1	# link_context_to_decod_unit    [0] [nb_context]                
-0	0	+1	# link_context_to_decod_unit    [1] [nb_context]                
-1	1	+1	# link_context_to_decod_unit    [2] [nb_context]                
-1	1	+1	# link_context_to_decod_unit    [3] [nb_context]                
-4	4	+1	# size_decod_queue              [0] [nb_decod_unit]             
-12	12	+1	# size_decod_queue              [1] [nb_decod_unit]             
-1	1	+1	# decod_queue_scheme            [0] [nb_decod_unit]             
-0	0	+1	# decod_queue_scheme            [1] [nb_decod_unit]             
-2	2	+1	# nb_inst_decod                 [0] [nb_decod_unit]             
-6	6	+1	# nb_inst_decod                 [1] [nb_decod_unit]             
-1	1	+1	# nb_context_select             [0] [nb_decod_unit]             
-1	3	*3	# nb_context_select             [1] [nb_decod_unit]             
-1	1	+1	# context_select_priority       [0] [nb_decod_unit]             
-1	1	+1	# context_select_priority       [1] [nb_decod_unit]             
-1	1	+1	# context_select_load_balancing [0] [nb_decod_unit]             
-1	1	+1	# context_select_load_balancing [1] [nb_decod_unit]             
-1	1	+1	# nb_inst_branch_predict        
-2	2	+1	# nb_inst_branch_decod          
-2	2	+1	# nb_inst_branch_update         
-2	2	+1	# nb_inst_branch_complete       
-64	64	+1	# btb_size_queue                
-8	8	+1	# btb_associativity             
-2	2	+1	# btb_size_counter              
-3	3	+1	# btb_victim_scheme             
-1	1	+1	# dir_predictor_scheme          
-1	1	+1	# dir_have_bht                  [0] [3]                         
-1	1	+1	# dir_have_bht                  [1] [3]                         
-1	1	+1	# dir_have_bht                  [2] [3]                         
-1	1	+1	# dir_bht_size_shifter          [0] [3]                         
-1	1	+1	# dir_bht_size_shifter          [1] [3]                         
-1	1	+1	# dir_bht_size_shifter          [2] [3]                         
-1	1	+1	# dir_bht_nb_shifter            [0] [3]                         
-1	1	+1	# dir_bht_nb_shifter            [1] [3]                         
-1	1	+1	# dir_bht_nb_shifter            [2] [3]                         
-1	1	+1	# dir_have_pht                  [0] [3]                         
-1	1	+1	# dir_have_pht                  [1] [3]                         
-1	1	+1	# dir_have_pht                  [2] [3]                         
-1	1	+1	# dir_pht_size_counter          [0] [3]                         
-1	1	+1	# dir_pht_size_counter          [1] [3]                         
-1	1	+1	# dir_pht_size_counter          [2] [3]                         
-1	1	+1	# dir_pht_nb_counter            [0] [3]                         
-1	1	+1	# dir_pht_nb_counter            [1] [3]                         
-1	1	+1	# dir_pht_nb_counter            [2] [3]                         
-1	1	+1	# dir_pht_size_address_share    [0] [3]                         
-1	1	+1	# dir_pht_size_address_share    [1] [3]                         
-1	1	+1	# dir_pht_size_address_share    [2] [3]                         
-8       8       +1	# ras_size_queue                [0] [nb_context]                
-2       2       +1	# ras_size_queue                [1] [nb_context]                
-4       4       +1	# ras_size_queue                [2] [nb_context]                
-2       2       +1	# ras_size_queue                [3] [nb_context]                
-16	16	+1	# upt_size_queue                [0] [nb_context]                
-1	1	+1	# upt_size_queue                [1] [nb_context]                
-2	2	+1	# upt_size_queue                [2] [nb_context]                
-8	8	+1	# upt_size_queue                [3] [nb_context]                
-6  	6 	+1	# ufpt_size_queue               [0] [nb_context]                
-1	1	+1	# ufpt_size_queue               [1] [nb_context]                
-1	1	+1	# ufpt_size_queue               [2] [nb_context]                
-4	4	+1	# ufpt_size_queue               [3] [nb_context]                
-1	1	+1	# size_inst_commit
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/SelfTest/config-context_4-decod_unit_2-b.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/SelfTest/config-context_4-decod_unit_2-b.cfg	(revision 144)
+++ 	(revision )
@@ -1,71 +1,0 @@
-Front_end
-4	4	+1	# nb_context                                                
-2	2	+1	# nb_decod_unit                                             
-32	32	+1	# size_general_data                                         
-4	4	+1	# size_ifetch_queue             [0] [nb_context]                
-8	8	+1	# size_ifetch_queue             [1] [nb_context]                
-32	32	+1	# size_ifetch_queue             [2] [nb_context]                
-8	8	+1	# size_ifetch_queue             [3] [nb_context]                
-4	4	+1	# nb_inst_fetch                 [0] [nb_context]                
-2	2	+1	# nb_inst_fetch                 [1] [nb_context]                
-16	16	+1	# nb_inst_fetch                 [2] [nb_context]                
-1	1	+1	# nb_inst_fetch                 [3] [nb_context]                
-1	1	+1	# link_context_to_decod_unit    [0] [nb_context]                
-0	0	+1	# link_context_to_decod_unit    [1] [nb_context]                
-1	1	+1	# link_context_to_decod_unit    [2] [nb_context]                
-1	1	+1	# link_context_to_decod_unit    [3] [nb_context]                
-4	4	+1	# size_decod_queue              [0] [nb_decod_unit]             
-12	12	+1	# size_decod_queue              [1] [nb_decod_unit]             
-0	0	+1	# decod_queue_scheme            [0] [nb_decod_unit]             
-1	1	+1	# decod_queue_scheme            [1] [nb_decod_unit]             
-2	2	+1	# nb_inst_decod                 [0] [nb_decod_unit]             
-6	6	+1	# nb_inst_decod                 [1] [nb_decod_unit]             
-1	1	+1	# nb_context_select             [0] [nb_decod_unit]             
-3	3	*3	# nb_context_select             [1] [nb_decod_unit]             
-1	1	+1	# context_select_priority       [0] [nb_decod_unit]             
-1	1	+1	# context_select_priority       [1] [nb_decod_unit]             
-1	1	+1	# context_select_load_balancing [0] [nb_decod_unit]             
-1	1	+1	# context_select_load_balancing [1] [nb_decod_unit]             
-1	1	+1	# nb_inst_branch_predict        
-2	2	+1	# nb_inst_branch_decod          
-2	2	+1	# nb_inst_branch_update         
-2	2	+1	# nb_inst_branch_complete       
-64	64	+1	# btb_size_queue                
-8	8	+1	# btb_associativity             
-2	2	+1	# btb_size_counter              
-3	3	+1	# btb_victim_scheme             
-1	1	+1	# dir_predictor_scheme          
-1	1	+1	# dir_have_bht                  [0] [3]                         
-1	1	+1	# dir_have_bht                  [1] [3]                         
-1	1	+1	# dir_have_bht                  [2] [3]                         
-1	1	+1	# dir_bht_size_shifter          [0] [3]                         
-1	1	+1	# dir_bht_size_shifter          [1] [3]                         
-1	1	+1	# dir_bht_size_shifter          [2] [3]                         
-1	1	+1	# dir_bht_nb_shifter            [0] [3]                         
-1	1	+1	# dir_bht_nb_shifter            [1] [3]                         
-1	1	+1	# dir_bht_nb_shifter            [2] [3]                         
-1	1	+1	# dir_have_pht                  [0] [3]                         
-1	1	+1	# dir_have_pht                  [1] [3]                         
-1	1	+1	# dir_have_pht                  [2] [3]                         
-1	1	+1	# dir_pht_size_counter          [0] [3]                         
-1	1	+1	# dir_pht_size_counter          [1] [3]                         
-1	1	+1	# dir_pht_size_counter          [2] [3]                         
-1	1	+1	# dir_pht_nb_counter            [0] [3]                         
-1	1	+1	# dir_pht_nb_counter            [1] [3]                         
-1	1	+1	# dir_pht_nb_counter            [2] [3]                         
-1	1	+1	# dir_pht_size_address_share    [0] [3]                         
-1	1	+1	# dir_pht_size_address_share    [1] [3]                         
-1	1	+1	# dir_pht_size_address_share    [2] [3]                         
-8       8       +1	# ras_size_queue                [0] [nb_context]                
-2       2       +1	# ras_size_queue                [1] [nb_context]                
-4       4       +1	# ras_size_queue                [2] [nb_context]                
-2       2       +1	# ras_size_queue                [3] [nb_context]                
-16	16	+1	# upt_size_queue                [0] [nb_context]                
-1	1	+1	# upt_size_queue                [1] [nb_context]                
-2	2	+1	# upt_size_queue                [2] [nb_context]                
-8	8	+1	# upt_size_queue                [3] [nb_context]                
-6  	6 	+1	# ufpt_size_queue               [0] [nb_context]                
-1	1	+1	# ufpt_size_queue               [1] [nb_context]                
-1	1	+1	# ufpt_size_queue               [2] [nb_context]                
-4	4	+1	# ufpt_size_queue               [3] [nb_context]                
-1	1	+1	# size_inst_commit
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/SelfTest/config-min.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/SelfTest/config-min.cfg	(revision 144)
+++ 	(revision )
@@ -1,47 +1,0 @@
-Front_end
-1	1	+1	# nb_context                                                
-1	1	+1	# nb_decod_unit                                             
-32	32	+1	# size_general_data                                         
-1	1	+1	# size_ifetch_queue             [0] [nb_context]                
-1	1	+1	# nb_inst_fetch                 [0] [nb_context]                
-0	0	+1	# link_context_to_decod_unit    [0] [nb_context]                
-1	1	+1	# size_decod_queue              [0] [nb_decod_unit]             
-0	1	+1	# decod_queue_scheme            [0] [nb_decod_unit]             
-1	1	+1	# nb_inst_decod                 [0] [nb_decod_unit]             
-1	1	+1	# nb_context_select             [0] [nb_decod_unit]             
-1	1	+1	# context_select_priority       [0] [nb_decod_unit]             
-1	1	+1	# context_select_load_balancing [0] [nb_decod_unit]             
-1	1	+1	# nb_inst_branch_predict        
-1	1	+1	# nb_inst_branch_decod          
-1	1	+1	# nb_inst_branch_update         
-1	1	+1	# nb_inst_branch_complete       
-1	1	+1	# btb_size_queue                
-1	1	+1	# btb_associativity             
-2	2	+1	# btb_size_counter              
-1	1	+1	# btb_victim_scheme             
-1	1	+1	# dir_predictor_scheme          
-1	1	+1	# dir_have_bht                  [0] [3]                         
-1	1	+1	# dir_have_bht                  [1] [3]                         
-1	1	+1	# dir_have_bht                  [2] [3]                         
-1	1	+1	# dir_bht_size_shifter          [0] [3]                         
-1	1	+1	# dir_bht_size_shifter          [1] [3]                         
-1	1	+1	# dir_bht_size_shifter          [2] [3]                         
-1	1	+1	# dir_bht_nb_shifter            [0] [3]                         
-1	1	+1	# dir_bht_nb_shifter            [1] [3]                         
-1	1	+1	# dir_bht_nb_shifter            [2] [3]                         
-1	1	+1	# dir_have_pht                  [0] [3]                         
-1	1	+1	# dir_have_pht                  [1] [3]                         
-1	1	+1	# dir_have_pht                  [2] [3]                         
-1	1	+1	# dir_pht_size_counter          [0] [3]                         
-1	1	+1	# dir_pht_size_counter          [1] [3]                         
-1	1	+1	# dir_pht_size_counter          [2] [3]                         
-1	1	+1	# dir_pht_nb_counter            [0] [3]                         
-1	1	+1	# dir_pht_nb_counter            [1] [3]                         
-1	1	+1	# dir_pht_nb_counter            [2] [3]                         
-1	1	+1	# dir_pht_size_address_share    [0] [3]                         
-1	1	+1	# dir_pht_size_address_share    [1] [3]                         
-1	1	+1	# dir_pht_size_address_share    [2] [3]                         
-2       2       +1	# ras_size_queue                [0] [nb_context]                
-1	1	+1	# upt_size_queue                [0] [nb_context]                
-1	1	+1	# ufpt_size_queue               [0] [nb_context]                
-1	1	+1	# size_inst_commit 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/SelfTest/configuration/config-context_1-decod_unit_1-a.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/SelfTest/configuration/config-context_1-decod_unit_1-a.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/SelfTest/configuration/config-context_1-decod_unit_1-a.gen	(revision 145)
@@ -0,0 +1,47 @@
+Front_end
+1	1	+1	# nb_context                                                
+1	1	+1	# nb_decod_unit                                             
+32	32	+1	# size_general_data                                         
+4	4	+1	# size_ifetch_queue             [0] [nb_context]                
+4	4	+1	# nb_inst_fetch                 [0] [nb_context]                
+0	0	+1	# link_context_to_decod_unit    [0] [nb_context]                
+4	4	+1	# size_decod_queue              [0] [nb_decod_unit]             
+0	1	+1	# decod_queue_scheme            [0] [nb_decod_unit]             
+4	4	+1	# nb_inst_decod                 [0] [nb_decod_unit]             
+1	1	+1	# nb_context_select             [0] [nb_decod_unit]             
+1	1	+1	# context_select_priority       [0] [nb_decod_unit]             
+1	1	+1	# context_select_load_balancing [0] [nb_decod_unit]             
+1	1	+1	# nb_inst_branch_predict        
+2	2	+1	# nb_inst_branch_decod          
+2	2	+1	# nb_inst_branch_update         
+2	2	+1	# nb_inst_branch_complete       
+32	32	+1	# btb_size_queue                
+4	4	+1	# btb_associativity             
+2	2	+1	# btb_size_counter              
+3	3	+1	# btb_victim_scheme             
+1	1	+1	# dir_predictor_scheme          
+1	1	+1	# dir_have_bht                  [0] [3]                         
+1	1	+1	# dir_have_bht                  [1] [3]                         
+1	1	+1	# dir_have_bht                  [2] [3]                         
+1	1	+1	# dir_bht_size_shifter          [0] [3]                         
+1	1	+1	# dir_bht_size_shifter          [1] [3]                         
+1	1	+1	# dir_bht_size_shifter          [2] [3]                         
+1	1	+1	# dir_bht_nb_shifter            [0] [3]                         
+1	1	+1	# dir_bht_nb_shifter            [1] [3]                         
+1	1	+1	# dir_bht_nb_shifter            [2] [3]                         
+1	1	+1	# dir_have_pht                  [0] [3]                         
+1	1	+1	# dir_have_pht                  [1] [3]                         
+1	1	+1	# dir_have_pht                  [2] [3]                         
+1	1	+1	# dir_pht_size_counter          [0] [3]                         
+1	1	+1	# dir_pht_size_counter          [1] [3]                         
+1	1	+1	# dir_pht_size_counter          [2] [3]                         
+1	1	+1	# dir_pht_nb_counter            [0] [3]                         
+1	1	+1	# dir_pht_nb_counter            [1] [3]                         
+1	1	+1	# dir_pht_nb_counter            [2] [3]                         
+1	1	+1	# dir_pht_size_address_share    [0] [3]                         
+1	1	+1	# dir_pht_size_address_share    [1] [3]                         
+1	1	+1	# dir_pht_size_address_share    [2] [3]                         
+8       8       +1	# ras_size_queue                [0] [nb_context]                
+1	1	+1	# upt_size_queue                [0] [nb_context]                
+1	1	+1	# ufpt_size_queue               [0] [nb_context]                
+1	1	+1	# size_inst_commit
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/SelfTest/configuration/config-context_4-decod_unit_1-a.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/SelfTest/configuration/config-context_4-decod_unit_1-a.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/SelfTest/configuration/config-context_4-decod_unit_1-a.gen	(revision 145)
@@ -0,0 +1,65 @@
+Front_end
+4	4	+1	# nb_context                                                
+1	1	+1	# nb_decod_unit                                             
+32	32	+1	# size_general_data                                         
+16	16	+1	# size_ifetch_queue             [0] [nb_context]                
+4	4	+1	# size_ifetch_queue             [1] [nb_context]                
+16	16	+1	# size_ifetch_queue             [2] [nb_context]                
+8	8	+1	# size_ifetch_queue             [3] [nb_context]                
+4	4	+1	# nb_inst_fetch                 [0] [nb_context]                
+2	2	+1	# nb_inst_fetch                 [1] [nb_context]                
+16	16	+1	# nb_inst_fetch                 [2] [nb_context]                
+1	1	+1	# nb_inst_fetch                 [3] [nb_context]                
+0	0	+1	# link_context_to_decod_unit    [0] [nb_context]                
+0	0	+1	# link_context_to_decod_unit    [1] [nb_context]                
+0	0	+1	# link_context_to_decod_unit    [2] [nb_context]                
+0	0	+1	# link_context_to_decod_unit    [3] [nb_context]                
+4	4	+1	# size_decod_queue              [0] [nb_decod_unit]             
+0	1	+1	# decod_queue_scheme            [0] [nb_decod_unit]             
+4	4	+1	# nb_inst_decod                 [0] [nb_decod_unit]             
+1	1	+1	# nb_context_select             [0] [nb_decod_unit]             
+1	1	+1	# context_select_priority       [0] [nb_decod_unit]             
+1	1	+1	# context_select_load_balancing [0] [nb_decod_unit]             
+1	1	+1	# nb_inst_branch_predict        
+2	2	+1	# nb_inst_branch_decod          
+2	2	+1	# nb_inst_branch_update         
+2	2	+1	# nb_inst_branch_complete       
+64	64	+1	# btb_size_queue                
+8	8	+1	# btb_associativity             
+2	2	+1	# btb_size_counter              
+3	3	+1	# btb_victim_scheme             
+1	1	+1	# dir_predictor_scheme          
+1	1	+1	# dir_have_bht                  [0] [3]                         
+1	1	+1	# dir_have_bht                  [1] [3]                         
+1	1	+1	# dir_have_bht                  [2] [3]                         
+1	1	+1	# dir_bht_size_shifter          [0] [3]                         
+1	1	+1	# dir_bht_size_shifter          [1] [3]                         
+1	1	+1	# dir_bht_size_shifter          [2] [3]                         
+1	1	+1	# dir_bht_nb_shifter            [0] [3]                         
+1	1	+1	# dir_bht_nb_shifter            [1] [3]                         
+1	1	+1	# dir_bht_nb_shifter            [2] [3]                         
+1	1	+1	# dir_have_pht                  [0] [3]                         
+1	1	+1	# dir_have_pht                  [1] [3]                         
+1	1	+1	# dir_have_pht                  [2] [3]                         
+1	1	+1	# dir_pht_size_counter          [0] [3]                         
+1	1	+1	# dir_pht_size_counter          [1] [3]                         
+1	1	+1	# dir_pht_size_counter          [2] [3]                         
+1	1	+1	# dir_pht_nb_counter            [0] [3]                         
+1	1	+1	# dir_pht_nb_counter            [1] [3]                         
+1	1	+1	# dir_pht_nb_counter            [2] [3]                         
+1	1	+1	# dir_pht_size_address_share    [0] [3]                         
+1	1	+1	# dir_pht_size_address_share    [1] [3]                         
+1	1	+1	# dir_pht_size_address_share    [2] [3]                         
+8       8       +1	# ras_size_queue                [0] [nb_context]                
+2       2       +1	# ras_size_queue                [1] [nb_context]                
+4       4       +1	# ras_size_queue                [2] [nb_context]                
+2       2       +1	# ras_size_queue                [3] [nb_context]                
+16	16	+1	# upt_size_queue                [0] [nb_context]                
+1	1	+1	# upt_size_queue                [1] [nb_context]                
+2	2	+1	# upt_size_queue                [2] [nb_context]                
+8	8	+1	# upt_size_queue                [3] [nb_context]                
+6 	6 	+1	# ufpt_size_queue               [0] [nb_context]                
+1	1	+1	# ufpt_size_queue               [1] [nb_context]                
+1	1	+1	# ufpt_size_queue               [2] [nb_context]                
+4	4	+1	# ufpt_size_queue               [3] [nb_context]                
+1	1	+1	# size_inst_commit
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/SelfTest/configuration/config-context_4-decod_unit_2-a.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/SelfTest/configuration/config-context_4-decod_unit_2-a.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/SelfTest/configuration/config-context_4-decod_unit_2-a.gen	(revision 145)
@@ -0,0 +1,71 @@
+Front_end
+4	4	+1	# nb_context                                                
+2	2	+1	# nb_decod_unit                                             
+32	32	+1	# size_general_data                                         
+8	8	+1	# size_ifetch_queue             [0] [nb_context]                
+4	4	+1	# size_ifetch_queue             [1] [nb_context]                
+16	16	+1	# size_ifetch_queue             [2] [nb_context]                
+8	8	+1	# size_ifetch_queue             [3] [nb_context]                
+4	4	+1	# nb_inst_fetch                 [0] [nb_context]                
+2	2	+1	# nb_inst_fetch                 [1] [nb_context]                
+16	16	+1	# nb_inst_fetch                 [2] [nb_context]                
+1	1	+1	# nb_inst_fetch                 [3] [nb_context]                
+1	1	+1	# link_context_to_decod_unit    [0] [nb_context]                
+0	0	+1	# link_context_to_decod_unit    [1] [nb_context]                
+1	1	+1	# link_context_to_decod_unit    [2] [nb_context]                
+1	1	+1	# link_context_to_decod_unit    [3] [nb_context]                
+4	4	+1	# size_decod_queue              [0] [nb_decod_unit]             
+12	12	+1	# size_decod_queue              [1] [nb_decod_unit]             
+1	1	+1	# decod_queue_scheme            [0] [nb_decod_unit]             
+0	0	+1	# decod_queue_scheme            [1] [nb_decod_unit]             
+2	2	+1	# nb_inst_decod                 [0] [nb_decod_unit]             
+6	6	+1	# nb_inst_decod                 [1] [nb_decod_unit]             
+1	1	+1	# nb_context_select             [0] [nb_decod_unit]             
+1	3	*3	# nb_context_select             [1] [nb_decod_unit]             
+1	1	+1	# context_select_priority       [0] [nb_decod_unit]             
+1	1	+1	# context_select_priority       [1] [nb_decod_unit]             
+1	1	+1	# context_select_load_balancing [0] [nb_decod_unit]             
+1	1	+1	# context_select_load_balancing [1] [nb_decod_unit]             
+1	1	+1	# nb_inst_branch_predict        
+2	2	+1	# nb_inst_branch_decod          
+2	2	+1	# nb_inst_branch_update         
+2	2	+1	# nb_inst_branch_complete       
+64	64	+1	# btb_size_queue                
+8	8	+1	# btb_associativity             
+2	2	+1	# btb_size_counter              
+3	3	+1	# btb_victim_scheme             
+1	1	+1	# dir_predictor_scheme          
+1	1	+1	# dir_have_bht                  [0] [3]                         
+1	1	+1	# dir_have_bht                  [1] [3]                         
+1	1	+1	# dir_have_bht                  [2] [3]                         
+1	1	+1	# dir_bht_size_shifter          [0] [3]                         
+1	1	+1	# dir_bht_size_shifter          [1] [3]                         
+1	1	+1	# dir_bht_size_shifter          [2] [3]                         
+1	1	+1	# dir_bht_nb_shifter            [0] [3]                         
+1	1	+1	# dir_bht_nb_shifter            [1] [3]                         
+1	1	+1	# dir_bht_nb_shifter            [2] [3]                         
+1	1	+1	# dir_have_pht                  [0] [3]                         
+1	1	+1	# dir_have_pht                  [1] [3]                         
+1	1	+1	# dir_have_pht                  [2] [3]                         
+1	1	+1	# dir_pht_size_counter          [0] [3]                         
+1	1	+1	# dir_pht_size_counter          [1] [3]                         
+1	1	+1	# dir_pht_size_counter          [2] [3]                         
+1	1	+1	# dir_pht_nb_counter            [0] [3]                         
+1	1	+1	# dir_pht_nb_counter            [1] [3]                         
+1	1	+1	# dir_pht_nb_counter            [2] [3]                         
+1	1	+1	# dir_pht_size_address_share    [0] [3]                         
+1	1	+1	# dir_pht_size_address_share    [1] [3]                         
+1	1	+1	# dir_pht_size_address_share    [2] [3]                         
+8       8       +1	# ras_size_queue                [0] [nb_context]                
+2       2       +1	# ras_size_queue                [1] [nb_context]                
+4       4       +1	# ras_size_queue                [2] [nb_context]                
+2       2       +1	# ras_size_queue                [3] [nb_context]                
+16	16	+1	# upt_size_queue                [0] [nb_context]                
+1	1	+1	# upt_size_queue                [1] [nb_context]                
+2	2	+1	# upt_size_queue                [2] [nb_context]                
+8	8	+1	# upt_size_queue                [3] [nb_context]                
+6  	6 	+1	# ufpt_size_queue               [0] [nb_context]                
+1	1	+1	# ufpt_size_queue               [1] [nb_context]                
+1	1	+1	# ufpt_size_queue               [2] [nb_context]                
+4	4	+1	# ufpt_size_queue               [3] [nb_context]                
+1	1	+1	# size_inst_commit
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/SelfTest/configuration/config-context_4-decod_unit_2-b.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/SelfTest/configuration/config-context_4-decod_unit_2-b.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/SelfTest/configuration/config-context_4-decod_unit_2-b.gen	(revision 145)
@@ -0,0 +1,71 @@
+Front_end
+4	4	+1	# nb_context                                                
+2	2	+1	# nb_decod_unit                                             
+32	32	+1	# size_general_data                                         
+4	4	+1	# size_ifetch_queue             [0] [nb_context]                
+8	8	+1	# size_ifetch_queue             [1] [nb_context]                
+32	32	+1	# size_ifetch_queue             [2] [nb_context]                
+8	8	+1	# size_ifetch_queue             [3] [nb_context]                
+4	4	+1	# nb_inst_fetch                 [0] [nb_context]                
+2	2	+1	# nb_inst_fetch                 [1] [nb_context]                
+16	16	+1	# nb_inst_fetch                 [2] [nb_context]                
+1	1	+1	# nb_inst_fetch                 [3] [nb_context]                
+1	1	+1	# link_context_to_decod_unit    [0] [nb_context]                
+0	0	+1	# link_context_to_decod_unit    [1] [nb_context]                
+1	1	+1	# link_context_to_decod_unit    [2] [nb_context]                
+1	1	+1	# link_context_to_decod_unit    [3] [nb_context]                
+4	4	+1	# size_decod_queue              [0] [nb_decod_unit]             
+12	12	+1	# size_decod_queue              [1] [nb_decod_unit]             
+0	0	+1	# decod_queue_scheme            [0] [nb_decod_unit]             
+1	1	+1	# decod_queue_scheme            [1] [nb_decod_unit]             
+2	2	+1	# nb_inst_decod                 [0] [nb_decod_unit]             
+6	6	+1	# nb_inst_decod                 [1] [nb_decod_unit]             
+1	1	+1	# nb_context_select             [0] [nb_decod_unit]             
+3	3	*3	# nb_context_select             [1] [nb_decod_unit]             
+1	1	+1	# context_select_priority       [0] [nb_decod_unit]             
+1	1	+1	# context_select_priority       [1] [nb_decod_unit]             
+1	1	+1	# context_select_load_balancing [0] [nb_decod_unit]             
+1	1	+1	# context_select_load_balancing [1] [nb_decod_unit]             
+1	1	+1	# nb_inst_branch_predict        
+2	2	+1	# nb_inst_branch_decod          
+2	2	+1	# nb_inst_branch_update         
+2	2	+1	# nb_inst_branch_complete       
+64	64	+1	# btb_size_queue                
+8	8	+1	# btb_associativity             
+2	2	+1	# btb_size_counter              
+3	3	+1	# btb_victim_scheme             
+1	1	+1	# dir_predictor_scheme          
+1	1	+1	# dir_have_bht                  [0] [3]                         
+1	1	+1	# dir_have_bht                  [1] [3]                         
+1	1	+1	# dir_have_bht                  [2] [3]                         
+1	1	+1	# dir_bht_size_shifter          [0] [3]                         
+1	1	+1	# dir_bht_size_shifter          [1] [3]                         
+1	1	+1	# dir_bht_size_shifter          [2] [3]                         
+1	1	+1	# dir_bht_nb_shifter            [0] [3]                         
+1	1	+1	# dir_bht_nb_shifter            [1] [3]                         
+1	1	+1	# dir_bht_nb_shifter            [2] [3]                         
+1	1	+1	# dir_have_pht                  [0] [3]                         
+1	1	+1	# dir_have_pht                  [1] [3]                         
+1	1	+1	# dir_have_pht                  [2] [3]                         
+1	1	+1	# dir_pht_size_counter          [0] [3]                         
+1	1	+1	# dir_pht_size_counter          [1] [3]                         
+1	1	+1	# dir_pht_size_counter          [2] [3]                         
+1	1	+1	# dir_pht_nb_counter            [0] [3]                         
+1	1	+1	# dir_pht_nb_counter            [1] [3]                         
+1	1	+1	# dir_pht_nb_counter            [2] [3]                         
+1	1	+1	# dir_pht_size_address_share    [0] [3]                         
+1	1	+1	# dir_pht_size_address_share    [1] [3]                         
+1	1	+1	# dir_pht_size_address_share    [2] [3]                         
+8       8       +1	# ras_size_queue                [0] [nb_context]                
+2       2       +1	# ras_size_queue                [1] [nb_context]                
+4       4       +1	# ras_size_queue                [2] [nb_context]                
+2       2       +1	# ras_size_queue                [3] [nb_context]                
+16	16	+1	# upt_size_queue                [0] [nb_context]                
+1	1	+1	# upt_size_queue                [1] [nb_context]                
+2	2	+1	# upt_size_queue                [2] [nb_context]                
+8	8	+1	# upt_size_queue                [3] [nb_context]                
+6  	6 	+1	# ufpt_size_queue               [0] [nb_context]                
+1	1	+1	# ufpt_size_queue               [1] [nb_context]                
+1	1	+1	# ufpt_size_queue               [2] [nb_context]                
+4	4	+1	# ufpt_size_queue               [3] [nb_context]                
+1	1	+1	# size_inst_commit
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/SelfTest/configuration/config-min.gen
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/SelfTest/configuration/config-min.gen	(revision 145)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/SelfTest/configuration/config-min.gen	(revision 145)
@@ -0,0 +1,47 @@
+Front_end
+1	1	+1	# nb_context                                                
+1	1	+1	# nb_decod_unit                                             
+32	32	+1	# size_general_data                                         
+1	1	+1	# size_ifetch_queue             [0] [nb_context]                
+1	1	+1	# nb_inst_fetch                 [0] [nb_context]                
+0	0	+1	# link_context_to_decod_unit    [0] [nb_context]                
+1	1	+1	# size_decod_queue              [0] [nb_decod_unit]             
+0	1	+1	# decod_queue_scheme            [0] [nb_decod_unit]             
+1	1	+1	# nb_inst_decod                 [0] [nb_decod_unit]             
+1	1	+1	# nb_context_select             [0] [nb_decod_unit]             
+1	1	+1	# context_select_priority       [0] [nb_decod_unit]             
+1	1	+1	# context_select_load_balancing [0] [nb_decod_unit]             
+1	1	+1	# nb_inst_branch_predict        
+1	1	+1	# nb_inst_branch_decod          
+1	1	+1	# nb_inst_branch_update         
+1	1	+1	# nb_inst_branch_complete       
+1	1	+1	# btb_size_queue                
+1	1	+1	# btb_associativity             
+2	2	+1	# btb_size_counter              
+1	1	+1	# btb_victim_scheme             
+1	1	+1	# dir_predictor_scheme          
+1	1	+1	# dir_have_bht                  [0] [3]                         
+1	1	+1	# dir_have_bht                  [1] [3]                         
+1	1	+1	# dir_have_bht                  [2] [3]                         
+1	1	+1	# dir_bht_size_shifter          [0] [3]                         
+1	1	+1	# dir_bht_size_shifter          [1] [3]                         
+1	1	+1	# dir_bht_size_shifter          [2] [3]                         
+1	1	+1	# dir_bht_nb_shifter            [0] [3]                         
+1	1	+1	# dir_bht_nb_shifter            [1] [3]                         
+1	1	+1	# dir_bht_nb_shifter            [2] [3]                         
+1	1	+1	# dir_have_pht                  [0] [3]                         
+1	1	+1	# dir_have_pht                  [1] [3]                         
+1	1	+1	# dir_have_pht                  [2] [3]                         
+1	1	+1	# dir_pht_size_counter          [0] [3]                         
+1	1	+1	# dir_pht_size_counter          [1] [3]                         
+1	1	+1	# dir_pht_size_counter          [2] [3]                         
+1	1	+1	# dir_pht_nb_counter            [0] [3]                         
+1	1	+1	# dir_pht_nb_counter            [1] [3]                         
+1	1	+1	# dir_pht_nb_counter            [2] [3]                         
+1	1	+1	# dir_pht_size_address_share    [0] [3]                         
+1	1	+1	# dir_pht_size_address_share    [1] [3]                         
+1	1	+1	# dir_pht_size_address_share    [2] [3]                         
+2       2       +1	# ras_size_queue                [0] [nb_context]                
+1	1	+1	# upt_size_queue                [0] [nb_context]                
+1	1	+1	# ufpt_size_queue               [0] [nb_context]                
+1	1	+1	# size_inst_commit 
