Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Special_Register_unit/include/Special_Register_unit.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Special_Register_unit/include/Special_Register_unit.h	(revision 128)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Special_Register_unit/include/Special_Register_unit.h	(revision 131)
@@ -139,4 +139,5 @@
 					       
 #ifdef SYSTEMC				       
+  public  : void        constant                  (void);
   public  : void        transition                (void);
   public  : void        genMoore                  (void);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Special_Register_unit/src/Special_Register_unit.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Special_Register_unit/src/Special_Register_unit.cpp	(revision 128)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Special_Register_unit/src/Special_Register_unit.cpp	(revision 131)
@@ -75,19 +75,16 @@
     if (usage_is_set(_usage,USE_SYSTEMC))
       {
-	// Constant
-	for (uint32_t i=0; i<_param->_nb_inst_reexecute; i++)
-	  {
-	    internal_SPR_ACCESS_ACK [i] = 1;
-	    PORT_WRITE(out_SPR_ACCESS_ACK [i], internal_SPR_ACCESS_ACK [i]);
-	  }
+#ifdef SYSTEMCASS_SPECIFIC
+        constant();
+#else
+	log_printf(INFO,Special_Register_unit,FUNCTION,_("<%s> : Method - constant"),_name.c_str());
 
-	for (uint32_t i=0; i<_param->_nb_front_end; i++)
-	  for (uint32_t j=0; j<_param->_nb_context[i]; j++)
-	    {
-	      internal_SPR_COMMIT_ACK [i][j] = 1;
-	      internal_SPR_EVENT_ACK  [i][j] = 1;
-	      PORT_WRITE(out_SPR_COMMIT_ACK [i][j], internal_SPR_COMMIT_ACK [i][j]);
-	      PORT_WRITE(out_SPR_EVENT_ACK  [i][j], internal_SPR_EVENT_ACK  [i][j]);
-	    }
+	SC_METHOD (constant);
+// 	dont_initialize ();
+	
+# ifdef SYSTEMCASS_SPECIFIC
+	// List dependency information
+# endif    
+#endif
 
 	log_printf(INFO,Special_Register_unit,FUNCTION,_("<%s> : Method - transition"),_name.c_str());
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Special_Register_unit/src/Special_Register_unit_constant.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Special_Register_unit/src/Special_Register_unit_constant.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Special_Register_unit/src/Special_Register_unit_constant.cpp	(revision 131)
@@ -0,0 +1,51 @@
+#ifdef SYSTEMC
+/*
+ * $Id$
+ *
+ * [ Description ]
+ * 
+ */
+
+#include "Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Special_Register_unit/include/Special_Register_unit.h"
+
+namespace morpheo                    {
+namespace behavioural {
+namespace core {
+namespace multi_ooo_engine {
+namespace ooo_engine {
+namespace special_register_unit {
+
+
+#undef  FUNCTION
+#define FUNCTION "Special_Register_unit::constant"
+  void Special_Register_unit::constant (void)
+  {
+    log_begin(Special_Register_unit,FUNCTION);
+    log_function(Special_Register_unit,FUNCTION,_name.c_str());
+
+    for (uint32_t i=0; i<_param->_nb_inst_reexecute; i++)
+      {
+        internal_SPR_ACCESS_ACK [i] = 1;
+        PORT_WRITE(out_SPR_ACCESS_ACK [i], internal_SPR_ACCESS_ACK [i]);
+      }
+    
+    for (uint32_t i=0; i<_param->_nb_front_end; i++)
+      for (uint32_t j=0; j<_param->_nb_context[i]; j++)
+        {
+          internal_SPR_COMMIT_ACK [i][j] = 1;
+          internal_SPR_EVENT_ACK  [i][j] = 1;
+          PORT_WRITE(out_SPR_COMMIT_ACK [i][j], internal_SPR_COMMIT_ACK [i][j]);
+          PORT_WRITE(out_SPR_EVENT_ACK  [i][j], internal_SPR_EVENT_ACK  [i][j]);
+        }
+    
+    log_end(Special_Register_unit,FUNCTION);
+  };
+
+}; // end namespace special_register_unit
+}; // end namespace ooo_engine
+}; // end namespace multi_ooo_engine
+}; // end namespace core
+
+}; // end namespace behavioural
+}; // end namespace morpheo              
+#endif
