Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/include/Free_List_unit.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/include/Free_List_unit.h	(revision 113)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/include/Free_List_unit.h	(revision 123)
@@ -91,4 +91,10 @@
   public    : SC_IN (Tspecial_address_t)   **  in_PUSH_SPR_NUM_REG;
 
+    // ~~~~~[ interface : "info" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#ifdef DEBUG_TEST
+  public    : SC_OUT(uint32_t  )            * out_INFO_NB_GPR_FREE;
+  public    : SC_OUT(uint32_t  )            * out_INFO_NB_SPR_FREE;
+#endif
+
     // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    
   private   : generic::priority::Priority   * _priority_gpr;
@@ -141,4 +147,7 @@
 #ifdef SYSTEMC				       
   public  : void        transition                (void);
+#ifdef DEBUG_TEST
+  public  : void        genMoore                  (void);
+#endif
   public  : void        genMealy_pop              (void);
   public  : void        genMealy_push_gpr         (void);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/src/Free_List_unit.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/src/Free_List_unit.cpp	(revision 113)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/src/Free_List_unit.cpp	(revision 123)
@@ -39,9 +39,9 @@
     log_printf(FUNC,Free_List_unit,FUNCTION,"Begin");
 
-#if DEBUG_Free_List_unit == true
-    log_printf(INFO,Free_List_unit,FUNCTION,_("<%s> Parameters"),_name.c_str());
+// #if DEBUG_Free_List_unit == true
+//     log_printf(INFO,Free_List_unit,FUNCTION,_("<%s> Parameters"),_name.c_str());
 
-    std::cout << *param << std::endl;
-#endif    
+//     std::cout << *param << std::endl;
+// #endif    
 
     log_printf(INFO,Free_List_unit,FUNCTION,"Allocation");
@@ -85,4 +85,15 @@
 # endif    
 
+#ifdef DEBUG_TEST
+	log_printf(INFO,Free_List_unit,FUNCTION,"Method - genMoore");
+
+	SC_METHOD (genMoore);
+	dont_initialize ();
+	sensitive << (*(in_CLOCK)).neg();
+	
+# ifdef SYSTEMCASS_SPECIFIC
+	// List dependency information
+# endif    
+#endif
 	log_printf(INFO,Free_List_unit,FUNCTION,"Method - genMealy_pop");
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/src/Free_List_unit_allocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/src/Free_List_unit_allocation.cpp	(revision 113)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/src/Free_List_unit_allocation.cpp	(revision 123)
@@ -92,4 +92,16 @@
      }
 
+    // ~~~~~[ interface : "info" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#ifdef DEBUG_TEST
+     {
+       ALLOC0_INTERFACE_BEGIN("info",OUT, NORTH, _("Information"));
+
+       ALLOC0_SIGNAL_OUT(out_INFO_NB_GPR_FREE,"nb_gpr_free",uint32_t,_param->_size_general_register+1);
+       ALLOC0_SIGNAL_OUT(out_INFO_NB_SPR_FREE,"nb_spr_free",uint32_t,_param->_size_special_register+1);
+
+       ALLOC0_INTERFACE_END();
+     }
+#endif
+
      if (usage_is_set(_usage,USE_SYSTEMC))
        {
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/src/Free_List_unit_deallocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/src/Free_List_unit_deallocation.cpp	(revision 113)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/src/Free_List_unit_deallocation.cpp	(revision 123)
@@ -45,4 +45,9 @@
         DELETE1_SIGNAL( in_PUSH_SPR_NUM_REG,_param->_nb_push,_param->_size_special_register);
 
+#ifdef DEBUG_TEST
+        DELETE0_SIGNAL(out_INFO_NB_GPR_FREE,_param->_size_general_register+1);
+        DELETE0_SIGNAL(out_INFO_NB_SPR_FREE,_param->_size_special_register+1);
+#endif
+
         DELETE1(_gpr_list             ,_param->_nb_bank);
         DELETE1(_spr_list             ,_param->_nb_bank);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/src/Free_List_unit_genMealy_pop.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/src/Free_List_unit_genMealy_pop.cpp	(revision 113)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/src/Free_List_unit_genMealy_pop.cpp	(revision 123)
@@ -26,4 +26,6 @@
     log_function(Free_List_unit,FUNCTION,_name.c_str());
 
+    if (PORT_READ(in_NRESET))
+      {
     std::list<generic::priority::select_t> * select_gpr = _priority_gpr->select();
     std::list<generic::priority::select_t>::iterator it_gpr=select_gpr->begin();
@@ -32,5 +34,5 @@
     std::list<generic::priority::select_t>::iterator it_spr=select_spr->begin();
 
-    for (uint32_t i=0; i<_param->_nb_pop; i++)
+     for (uint32_t i=0; i<_param->_nb_pop; i++)
       {
         log_printf(TRACE,Free_List_unit,FUNCTION,"  * POP [%d]",i);
@@ -104,5 +106,4 @@
 
 	internal_POP_ACK [i] = gpr_ack and spr_ack;
-	PORT_WRITE(out_POP_ACK [i], internal_POP_ACK [i]);
       }
 
@@ -177,5 +178,14 @@
 // 	PORT_WRITE(out_POP_ACK [i], internal_POP_ACK [i]);
 //       }
-    
+      }    
+    else
+      {
+        for (uint32_t i=0; i<_param->_nb_pop; i++)
+          internal_POP_ACK [i] = 0;
+      }
+
+    for (uint32_t i=0; i<_param->_nb_pop; i++)
+      PORT_WRITE(out_POP_ACK [i], internal_POP_ACK [i]);
+
 
     log_end(Free_List_unit,FUNCTION);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/src/Free_List_unit_genMealy_push_gpr.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/src/Free_List_unit_genMealy_push_gpr.cpp	(revision 113)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/src/Free_List_unit_genMealy_push_gpr.cpp	(revision 123)
@@ -26,4 +26,6 @@
     log_function(Free_List_unit,FUNCTION,_name.c_str());
 
+    if (PORT_READ(in_NRESET))
+      {
     // bank conflit
     bool bank_use [_param->_nb_bank];
@@ -59,6 +61,14 @@
 
 	internal_PUSH_GPR_ACK [i] = gpr_ack;
-	PORT_WRITE(out_PUSH_GPR_ACK [i], internal_PUSH_GPR_ACK [i]);
       }
+      }
+    else
+      {	
+        for (uint32_t i=0; i<_param->_nb_push; i++)
+          internal_PUSH_GPR_ACK [i] = 0;
+      }
+
+    for (uint32_t i=0; i<_param->_nb_push; i++)
+      PORT_WRITE(out_PUSH_GPR_ACK [i], internal_PUSH_GPR_ACK [i]);
     
     log_end(Free_List_unit,FUNCTION);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/src/Free_List_unit_genMealy_push_spr.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/src/Free_List_unit_genMealy_push_spr.cpp	(revision 113)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/src/Free_List_unit_genMealy_push_spr.cpp	(revision 123)
@@ -26,4 +26,6 @@
     log_function(Free_List_unit,FUNCTION,_name.c_str());
 
+    if (PORT_READ(in_NRESET))
+      {
     bool bank_use [_param->_nb_bank];
     for (uint32_t i=0; i<_param->_nb_bank; i++)
@@ -51,7 +53,15 @@
 
 	internal_PUSH_SPR_ACK [i] = spr_ack;
-	PORT_WRITE(out_PUSH_SPR_ACK [i], internal_PUSH_SPR_ACK [i]);
       }
-    
+      }
+    else
+      {
+        for (uint32_t i=0; i<_param->_nb_push; i++)
+          internal_PUSH_SPR_ACK [i] = 0;
+      }
+
+    for (uint32_t i=0; i<_param->_nb_push; i++)
+      PORT_WRITE(out_PUSH_SPR_ACK [i], internal_PUSH_SPR_ACK [i]);
+
     log_end(Free_List_unit,FUNCTION);
   };
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/src/Free_List_unit_genMoore.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/src/Free_List_unit_genMoore.cpp	(revision 123)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/src/Free_List_unit_genMoore.cpp	(revision 123)
@@ -0,0 +1,59 @@
+#ifdef SYSTEMC
+/*
+ * $Id$
+ *
+ * [ Description ]
+ * 
+ */
+
+#include "Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Free_List_unit/include/Free_List_unit.h"
+
+# ifdef DEBUG_TEST
+
+namespace morpheo                    {
+namespace behavioural {
+namespace core {
+namespace multi_ooo_engine {
+namespace ooo_engine {
+namespace rename_unit {
+namespace register_translation_unit {
+namespace free_list_unit {
+
+
+#undef  FUNCTION
+#define FUNCTION "Free_List_unit::genMoore"
+  void Free_List_unit::genMoore (void)
+  {
+    log_begin(Free_List_unit,FUNCTION);
+    log_function(Free_List_unit,FUNCTION,_name.c_str());
+
+//     if (PORT_READ(in_NRESET))
+      {
+    uint32_t gpr = 0;
+    uint32_t spr = 0;
+    
+    for (uint32_t i=0; i<_param->_nb_bank; i++)
+      {
+        gpr += _gpr_list[i].size();
+        spr += _spr_list[i].size();
+      }
+    
+    PORT_WRITE(out_INFO_NB_GPR_FREE, gpr);
+    PORT_WRITE(out_INFO_NB_SPR_FREE, spr);
+      }
+    
+
+    log_end(Free_List_unit,FUNCTION);
+  };
+
+}; // end namespace free_list_unit
+}; // end namespace register_translation_unit
+}; // end namespace rename_unit
+}; // end namespace ooo_engine
+}; // end namespace multi_ooo_engine
+}; // end namespace core
+
+}; // end namespace behavioural
+}; // end namespace morpheo              
+# endif
+#endif
