Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Address_management/SelfTest/src/test.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Address_management/SelfTest/src/test.cpp	(revision 128)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Address_management/SelfTest/src/test.cpp	(revision 131)
@@ -23,4 +23,6 @@
   morpheo::behavioural::Parameters_Statistics * _parameters_statistics = new morpheo::behavioural::Parameters_Statistics (5,50);
 #endif
+
+  _model.set_model(MODEL_SYSTEMC, true);
 
   Tusage_t _usage = USE_ALL;
@@ -180,4 +182,5 @@
   TEST(Tcontrol_t, out_EVENT_ACK->read()  , true ); // can receveive an event
 
+#ifdef SELFTEST
   uint32_t        jump      = 7 ;// packet
   uint32_t        nb_packet = 1;
@@ -412,6 +415,8 @@
 
       SC_START(1);
-      
     }
+#else
+  SC_START(100);
+#endif // SELFTEST
 
   /********************************************************
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Address_management/include/Address_management.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Address_management/include/Address_management.h	(revision 128)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Address_management/include/Address_management.h	(revision 131)
@@ -167,4 +167,5 @@
 					       
 #ifdef SYSTEMC				       
+  public  : void        constant                  (void);
   public  : void        transition                (void);
   public  : void        genMoore                  (void);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Address_management/src/Address_management.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Address_management/src/Address_management.cpp	(revision 128)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Address_management/src/Address_management.cpp	(revision 131)
@@ -74,7 +74,16 @@
     if (usage_is_set(_usage,USE_SYSTEMC))
       {
-	// Affect output constant
-	internal_EVENT_ACK = 1;
-	PORT_WRITE(out_EVENT_ACK, internal_EVENT_ACK);
+#ifdef SYSTEMCASS_SPECIFIC
+        constant();
+#else
+	log_printf(INFO,Address_management,FUNCTION,"Method - constant");
+
+	SC_METHOD (constant);
+// 	dont_initialize ();
+	
+# ifdef SYSTEMCASS_SPECIFIC
+	// List dependency information
+# endif    
+#endif
 
 	log_printf(INFO,Address_management,FUNCTION,"Method - transition");
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Address_management/src/Address_management_constant.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Address_management/src/Address_management_constant.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Address_management/src/Address_management_constant.cpp	(revision 131)
@@ -0,0 +1,41 @@
+#ifdef SYSTEMC
+/*
+ * $Id$
+ *
+ * [ Description ]
+ * 
+ */
+
+#include "Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Address_management/include/Address_management.h"
+
+namespace morpheo                    {
+namespace behavioural {
+namespace core {
+namespace multi_front_end {
+namespace front_end {
+namespace ifetch_unit {
+namespace address_management {
+
+
+#undef  FUNCTION
+#define FUNCTION "Address_management::constant"
+  void Address_management::constant (void)
+  {
+    log_begin(Address_management,FUNCTION);
+    log_function(Address_management,FUNCTION,_name.c_str());
+
+    internal_EVENT_ACK = 1;
+    PORT_WRITE(out_EVENT_ACK, internal_EVENT_ACK);
+    
+    log_end(Address_management,FUNCTION);
+  };
+
+}; // end namespace address_management
+}; // end namespace ifetch_unit
+}; // end namespace front_end
+}; // end namespace multi_front_end
+}; // end namespace core
+
+}; // end namespace behavioural
+}; // end namespace morpheo              
+#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/SelfTest/src/test.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/SelfTest/src/test.cpp	(revision 128)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/SelfTest/src/test.cpp	(revision 131)
@@ -107,5 +107,5 @@
   ALLOC0_SC_SIGNAL(out_DECOD_BRANCH_STATE                 ,"out_DECOD_BRANCH_STATE                 ",Tbranch_state_t      );
   ALLOC0_SC_SIGNAL(out_DECOD_BRANCH_UPDATE_PREDICTION_ID  ,"out_DECOD_BRANCH_UPDATE_PREDICTION_ID  ",Tprediction_ptr_t    );
-  ALLOC0_SC_SIGNAL(out_DECOD_EXCEPTION                    ,"out_DECOD_EXCEPTION                    ",Tprediction_ptr_t    );
+  ALLOC0_SC_SIGNAL(out_DECOD_EXCEPTION                    ,"out_DECOD_EXCEPTION                    ",Texception_t         );
   ALLOC0_SC_SIGNAL( in_ICACHE_RSP_VAL                     ," in_ICACHE_RSP_VAL                     ",Tcontrol_t           );
   ALLOC0_SC_SIGNAL(out_ICACHE_RSP_ACK                     ,"out_ICACHE_RSP_ACK                     ",Tcontrol_t           );
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/include/Ifetch_queue.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/include/Ifetch_queue.h	(revision 128)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/include/Ifetch_queue.h	(revision 131)
@@ -145,4 +145,5 @@
 					       
 #ifdef SYSTEMC				       
+  public  : void        constant                  (void);
   public  : void        transition                (void);
   public  : void        genMoore                  (void);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/src/Ifetch_queue.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/src/Ifetch_queue.cpp	(revision 128)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/src/Ifetch_queue.cpp	(revision 131)
@@ -74,10 +74,12 @@
     if (usage_is_set(_usage,USE_SYSTEMC))
       {
-	// constant output
-	internal_ICACHE_RSP_ACK  = 1;
-	internal_EVENT_RESET_ACK = 1;
+	log_printf(INFO,Ifetch_queue,FUNCTION,_("<%s> Method - constant"),_name.c_str());
 
-	PORT_WRITE(out_ICACHE_RSP_ACK , internal_ICACHE_RSP_ACK );
-	PORT_WRITE(out_EVENT_RESET_ACK, internal_EVENT_RESET_ACK);
+	SC_METHOD (constant);
+// 	dont_initialize ();
+	
+# ifdef SYSTEMCASS_SPECIFIC
+	// List dependency information
+# endif    
 
 	log_printf(INFO,Ifetch_queue,FUNCTION,_("<%s> Method - transition"),_name.c_str());
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/src/Ifetch_queue_constant.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/src/Ifetch_queue_constant.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/src/Ifetch_queue_constant.cpp	(revision 131)
@@ -0,0 +1,44 @@
+#ifdef SYSTEMC
+/*
+ * $Id$
+ *
+ * [ Description ]
+ * 
+ */
+
+#include "Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_queue/include/Ifetch_queue.h"
+
+namespace morpheo                    {
+namespace behavioural {
+namespace core {
+namespace multi_front_end {
+namespace front_end {
+namespace ifetch_unit {
+namespace ifetch_queue {
+
+
+#undef  FUNCTION
+#define FUNCTION "Ifetch_queue::constant"
+  void Ifetch_queue::constant (void)
+  {
+    log_begin(Ifetch_queue,FUNCTION);
+    log_function(Ifetch_queue,FUNCTION,_name.c_str());
+
+    internal_ICACHE_RSP_ACK  = 1;
+    internal_EVENT_RESET_ACK = 1;
+    
+    PORT_WRITE(out_ICACHE_RSP_ACK , internal_ICACHE_RSP_ACK );
+    PORT_WRITE(out_EVENT_RESET_ACK, internal_EVENT_RESET_ACK);
+
+    log_end(Ifetch_queue,FUNCTION);
+  };
+
+}; // end namespace ifetch_queue
+}; // end namespace ifetch_unit
+}; // end namespace front_end
+}; // end namespace multi_front_end
+}; // end namespace core
+
+}; // end namespace behavioural
+}; // end namespace morpheo              
+#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_unit_Glue/include/Ifetch_unit_Glue.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_unit_Glue/include/Ifetch_unit_Glue.h	(revision 128)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_unit_Glue/include/Ifetch_unit_Glue.h	(revision 131)
@@ -123,4 +123,5 @@
 					       
 #ifdef SYSTEMC				       
+  public  : void        constant                  (void);
 # if defined(STATISTICS) or defined(VHDL_TESTBENCH)
   public  : void        transition                (void);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_unit_Glue/src/Ifetch_unit_Glue.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_unit_Glue/src/Ifetch_unit_Glue.cpp	(revision 128)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_unit_Glue/src/Ifetch_unit_Glue.cpp	(revision 131)
@@ -74,6 +74,16 @@
     if (usage_is_set(_usage,USE_SYSTEMC))
       {
-        // Write constant
-        PORT_WRITE(out_ICACHE_REQ_TYPE,ICACHE_TYPE_LOAD);
+#ifdef SYSTEMCASS_SPECIFIC
+        constant();
+#else
+	log_printf(INFO,Ifetch_unit_Glue,FUNCTION,"Method - constant");
+
+	SC_METHOD (constant);
+// 	dont_initialize ();
+
+#  ifdef SYSTEMCASS_SPECIFIC
+	// List dependency information
+#  endif    
+#endif
 
 # if defined(STATISTICS) or defined(VHDL_TESTBENCH)
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_unit_Glue/src/Ifetch_unit_Glue_constant.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_unit_Glue/src/Ifetch_unit_Glue_constant.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_unit_Glue/src/Ifetch_unit_Glue_constant.cpp	(revision 131)
@@ -0,0 +1,39 @@
+#ifdef SYSTEMC
+/*
+ * $Id$
+ *
+ * [ Description ]
+ * 
+ */
+
+#include "Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/Ifetch_unit_Glue/include/Ifetch_unit_Glue.h"
+
+namespace morpheo                    {
+namespace behavioural {
+namespace core {
+namespace multi_front_end {
+namespace front_end {
+namespace ifetch_unit {
+namespace ifetch_unit_glue {
+
+
+#undef  FUNCTION
+#define FUNCTION "Ifetch_unit_Glue::constant"
+  void Ifetch_unit_Glue::constant (void)
+  {
+    log_printf(FUNC,Ifetch_unit_Glue,FUNCTION,"Begin");
+
+    PORT_WRITE(out_ICACHE_REQ_TYPE,ICACHE_TYPE_LOAD);
+
+    log_printf(FUNC,Ifetch_unit_Glue,FUNCTION,"End");
+  };
+
+}; // end namespace ifetch_unit_glue
+}; // end namespace ifetch_unit
+}; // end namespace front_end
+}; // end namespace multi_front_end
+}; // end namespace core
+
+}; // end namespace behavioural
+}; // end namespace morpheo              
+#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/src/Ifetch_unit_allocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/src/Ifetch_unit_allocation.cpp	(revision 128)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Ifetch_unit/src/Ifetch_unit_allocation.cpp	(revision 131)
@@ -156,6 +156,6 @@
     {
       name = _name+"_address_management";
-      log_printf(Ifetch_unit,Core,FUNCTION,_("Create   : %s"),name.c_str());
-      
+      log_printf(INFO,Ifetch_unit,FUNCTION,_("Create   : %s"),name.c_str());
+    
       _component_address_management = new morpheo::behavioural::core::multi_front_end::front_end::ifetch_unit::address_management::Address_management
 	(name.c_str()
@@ -165,5 +165,5 @@
 	 ,_param->_param_address_management
 	 ,_usage);
-      
+
       _component->set_component (_component_address_management->_component
 #ifdef POSITION
@@ -175,6 +175,6 @@
     {
       name = _name+"_ifetch_queue";
-      log_printf(Ifetch_unit,Core,FUNCTION,_("Create   : %s"),name.c_str());
-      
+      log_printf(INFO,Ifetch_unit,FUNCTION,_("Create   : %s"),name.c_str());
+
       _component_ifetch_queue = new morpheo::behavioural::core::multi_front_end::front_end::ifetch_unit::ifetch_queue::Ifetch_queue
 	(name.c_str()
@@ -184,5 +184,5 @@
 	 ,_param->_param_ifetch_queue
 	 ,_usage);
-      
+
       _component->set_component (_component_ifetch_queue->_component
 #ifdef POSITION
@@ -194,6 +194,6 @@
     {
       name = _name+"_ifetch_unit_glue";
-      log_printf(Ifetch_unit,Core,FUNCTION,_("Create   : %s"),name.c_str());
-      
+      log_printf(INFO,Ifetch_unit,FUNCTION,_("Create   : %s"),name.c_str());
+
       _component_ifetch_unit_glue = new morpheo::behavioural::core::multi_front_end::front_end::ifetch_unit::ifetch_unit_glue::Ifetch_unit_Glue
 	(name.c_str()
@@ -203,5 +203,5 @@
 	 ,_param->_param_ifetch_unit_glue
 	 ,_usage);
-      
+
       _component->set_component (_component_ifetch_unit_glue->_component
 #ifdef POSITION
@@ -219,5 +219,5 @@
     {
       src = _name+"_address_management";
-      log_printf(INFO,Core,FUNCTION,_("Instance : %s"),src.c_str());
+      log_printf(INFO,Ifetch_unit,FUNCTION,_("Instance : %s"),src.c_str());
 	   
       {
@@ -337,5 +337,5 @@
     {
       src = _name+"_ifetch_queue";
-      log_printf(INFO,Core,FUNCTION,_("Instance : %s"),src.c_str());
+      log_printf(INFO,Ifetch_unit,FUNCTION,_("Instance : %s"),src.c_str());
 	   
       {
@@ -459,5 +459,5 @@
     {
       src = _name+"_ifetch_unit_glue";
-      log_printf(INFO,Core,FUNCTION,_("Instance : %s"),src.c_str());
+      log_printf(INFO,Ifetch_unit,FUNCTION,_("Instance : %s"),src.c_str());
 	   
       {
