Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Register_unit.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Register_unit.cpp	(revision 128)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Register_unit.cpp	(revision 131)
@@ -77,5 +77,5 @@
     SC_METHOD (transition);
     dont_initialize ();
-    sensitive_pos << *(in_CLOCK);
+    sensitive << (*(in_CLOCK)).pos();
 //#endif
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Register_unit_allocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Register_unit_allocation.cpp	(revision 128)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/src/Register_unit_allocation.cpp	(revision 131)
@@ -106,5 +106,5 @@
     }
 
-    // ~~~~~[ Interface "insert_rob" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+    // ~~~~~[ Interface "insert_rob" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     {
       ALLOC2_INTERFACE_BEGIN("insert_rob",IN,WEST,_("Interface to update status (insert)"),_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);
@@ -179,4 +179,9 @@
     component_spr        = new morpheo::behavioural::generic::registerfile::RegisterFile::RegisterFile * [_param->_nb_ooo_engine];
     component_spr_status = new morpheo::behavioural::generic::registerfile::RegisterFile::RegisterFile * [_param->_nb_ooo_engine];
+
+//     component_gpr        = new morpheo::behavioural::generic::registerfile::registerfile_multi_banked::RegisterFile_Multi_Banked::RegisterFile_Multi_Banked * [_param->_nb_ooo_engine];
+//     component_gpr_status = new morpheo::behavioural::generic::registerfile::registerfile_monolithic  ::RegisterFile_Monolithic  ::RegisterFile_Monolithic   * [_param->_nb_ooo_engine];
+//     component_spr        = new morpheo::behavioural::generic::registerfile::registerfile_multi_banked::RegisterFile_Multi_Banked::RegisterFile_Multi_Banked * [_param->_nb_ooo_engine];
+//     component_spr_status = new morpheo::behavioural::generic::registerfile::registerfile_monolithic  ::RegisterFile_Monolithic  ::RegisterFile_Monolithic   * [_param->_nb_ooo_engine];
      
     for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
@@ -185,10 +190,11 @@
         log_printf(INFO,Register_unit,FUNCTION,_("Create   : %s"),name.c_str());
 
-	component_gpr        [i] = new morpheo::behavioural::generic::registerfile::RegisterFile::RegisterFile 
+ 	component_gpr [i] = new morpheo::behavioural::generic::registerfile::RegisterFile::RegisterFile 
+//  	component_gpr [i] = new morpheo::behavioural::generic::registerfile::registerfile_multi_banked::RegisterFile_Multi_Banked::RegisterFile_Multi_Banked
 	  (name.c_str()
 #ifdef STATISTICS
 	   ,param_statistics
 #endif
-	   ,_param->_param_gpr [i]
+ 	   ,_param->_param_gpr [i]//->_param_registerfile_multi_banked
 	   ,_usage
 	   );
@@ -207,10 +213,11 @@
         log_printf(INFO,Register_unit,FUNCTION,_("Create   : %s"),name.c_str());
 
-	component_gpr_status [i] = new morpheo::behavioural::generic::registerfile::RegisterFile::RegisterFile
+ 	component_gpr_status [i] = new morpheo::behavioural::generic::registerfile::RegisterFile::RegisterFile 
+// 	component_gpr_status [i] = new morpheo::behavioural::generic::registerfile::registerfile_monolithic  ::RegisterFile_Monolithic  ::RegisterFile_Monolithic
 	  (name.c_str()
 #ifdef STATISTICS
 	   ,param_statistics
 #endif
-	   ,_param->_param_gpr_status [i]
+ 	   ,_param->_param_gpr_status [i]//->_param_registerfile_monolithic
 	   ,_usage
 	   );
@@ -229,10 +236,11 @@
         log_printf(INFO,Register_unit,FUNCTION,_("Create   : %s"),name.c_str());
 	 
-	component_spr        [i] = new morpheo::behavioural::generic::registerfile::RegisterFile::RegisterFile 
+ 	component_spr [i] = new morpheo::behavioural::generic::registerfile::RegisterFile::RegisterFile
+// 	component_spr [i] = new morpheo::behavioural::generic::registerfile::registerfile_multi_banked::RegisterFile_Multi_Banked::RegisterFile_Multi_Banked
 	  (name.c_str()
 #ifdef STATISTICS
 	   ,param_statistics
 #endif
-	   ,_param->_param_spr [i]
+ 	   ,_param->_param_spr [i]//->_param_registerfile_multi_banked
 	   ,_usage
 	   );
@@ -250,10 +258,11 @@
         log_printf(INFO,Register_unit,FUNCTION,_("Create   : %s"),name.c_str());
 
-	component_spr_status [i] = new morpheo::behavioural::generic::registerfile::RegisterFile::RegisterFile
+ 	component_spr_status [i] = new morpheo::behavioural::generic::registerfile::RegisterFile::RegisterFile
+// 	component_spr_status [i] = new morpheo::behavioural::generic::registerfile::registerfile_monolithic::RegisterFile_Monolithic::RegisterFile_Monolithic
 	  (name.c_str()
 #ifdef STATISTICS
 	   ,param_statistics
 #endif
-	   ,_param->_param_spr_status [i]
+ 	   ,_param->_param_spr_status [i]//->_param_registerfile_monolithic
 	   ,_usage
 	   );
@@ -269,29 +278,33 @@
       }
 
-
-    name = _name+"_glue";
-    log_printf(INFO,Register_unit,FUNCTION,_("Create   : %s"),name.c_str());
-     
-    component_glue       = new morpheo::behavioural::core::multi_execute_loop::execute_loop::register_unit::register_unit_glue::Register_unit_Glue::Register_unit_Glue     
-      (name.c_str()
+    {
+      name = _name+"_glue";
+      log_printf(INFO,Register_unit,FUNCTION,_("Create   : %s"),name.c_str());
+      
+      component_glue = new morpheo::behavioural::core::multi_execute_loop::execute_loop::register_unit::register_unit_glue::Register_unit_Glue::Register_unit_Glue     
+        (name.c_str()
 #ifdef STATISTICS
-       ,param_statistics
-#endif
-       ,_param->_param_glue
-       ,_usage
-       );
-
-    _component->set_component (component_glue->_component
-#ifdef POSITION
-			       , 50
-			       , 50
-			       , 10
-			       , 10
-#endif
-			       );
+         ,param_statistics
+#endif
+         ,_param->_param_glue
+         ,_usage
+         );
+      
+      _component->set_component (component_glue->_component
+#ifdef POSITION
+                                 , 50
+                                 , 50
+                                 , 10
+                                 , 10
+#endif
+                                 );
+    }
      
     // ~~~~~[ Instanciation ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    
     std::string src,dest;
-    
+
+    // -------------------------------------------------------------------    
+    // -----[ gpr ]-------------------------------------------------------    
+    // -------------------------------------------------------------------    
     for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
       {
@@ -300,4 +313,5 @@
         log_printf(INFO,Register_unit,FUNCTION,_("Instance : %s"),src.c_str());
 	
+        // -----[ instance "" ]-----------------------------------------------    
         {
           dest = _name;
@@ -310,4 +324,5 @@
         }
 
+        // -----[ instance "read" ]-------------------------------------------    
 	for (uint32_t j=0; j<_param->_nb_gpr_read; j++)
 	  {
@@ -332,4 +347,5 @@
 	  }
 
+        // -----[ instance "write" ]------------------------------------------    
 	for (uint32_t j=0; j<_param->_nb_gpr_write; j++)
 	  {
@@ -353,7 +369,9 @@
                                      dest, "in_GPR_WRITE_"+toString(j)+"_DATA");
 	  }
-
       }// gpr
     
+    // -------------------------------------------------------------------    
+    // -----[ gpr_status ]------------------------------------------------
+    // -------------------------------------------------------------------    
     {
       for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
@@ -401,5 +419,5 @@
               
 #ifdef POSITION
-              _component->interface_map (src ,    "write_"+toString(j),
+              _component->interface_map (src ,    "write_"+toString(x),
                                          dest,"gpr_write_status_"+toString(i)+"_"+toString(j));
 #endif
@@ -445,8 +463,10 @@
               x++;
 	    }
-
 	}
     }// gpr_status
 
+    // -------------------------------------------------------------------    
+    // -----[ spr ]-------------------------------------------------------
+    // -------------------------------------------------------------------    
     for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
       {
@@ -508,7 +528,9 @@
                                      dest, "in_SPR_WRITE_"+toString(j)+"_DATA");
 	  }
-
       }// spr
     
+    // -------------------------------------------------------------------    
+    // -----[ spr_status ]------------------------------------------------
+    // -------------------------------------------------------------------    
     {
       for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
@@ -556,5 +578,5 @@
               
 #ifdef POSITION
-              _component->interface_map (src ,    "write_"+toString(j),
+              _component->interface_map (src ,    "write_"+toString(x),
                                          dest,"spr_write_status_"+toString(i)+"_"+toString(j));
 #endif
@@ -581,5 +603,5 @@
               
 #ifdef POSITION
-              _component->interface_map (src ,    "write_"+toString(j),
+              _component->interface_map (src ,    "write_"+toString(x),
                                          dest,"insert_rob_spr_status_"+toString(i)+"_"+toString(j));
 #endif
@@ -592,5 +614,5 @@
                                        dest,"out_INSERT_ROB_SPR_STATUS_"+toString(i)+"_"+toString(j)+"_DATA");
 //                                     dest,"out_CONST_0");
-              
+
               dest = _name;
               
@@ -600,9 +622,10 @@
               x++;
 	    }
-
-
 	}
     }// spr_status
 
+    // -------------------------------------------------------------------    
+    // -----[ glue ]------------------------------------------------------
+    // -------------------------------------------------------------------    
     {
       src = _name+"_glue";
@@ -730,5 +753,5 @@
       for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
 	{
-	  uint32_t x     =_param->_nb_inst_insert_rob [i];
+	  uint32_t x = _param->_nb_inst_insert_rob [i];
 
 	  for (uint32_t j=0; j<x; j++)
@@ -758,5 +781,4 @@
 	    }
 	}
-      
     }// glue
 
