Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/SelfTest/src/test.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/SelfTest/src/test.cpp	(revision 128)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/SelfTest/src/test.cpp	(revision 131)
@@ -46,6 +46,6 @@
   sc_clock                         *  in_CLOCK;
   sc_signal<Tcontrol_t>            *  in_NRESET;
-  sc_signal<Tcontrol_t>            * out_CONST_0;
-  sc_signal<Tcontrol_t>            * out_CONST_1;
+//sc_signal<Tcontrol_t>            * out_CONST_0;
+//sc_signal<Tcontrol_t>            * out_CONST_1;
 
   sc_signal<Tcontrol_t        >   **  in_GPR_READ_VAL              ;
@@ -54,10 +54,12 @@
   sc_signal<Tgeneral_data_t   >   ** out_GPR_READ_DATA             ;
   sc_signal<Tcontrol_t        >   ** out_GPR_READ_DATA_VAL         ;
+
   sc_signal<Tcontrol_t        >  *** out_GPR_READ_REGISTERFILE_VAL ;
   sc_signal<Tcontrol_t        >  ***  in_GPR_READ_REGISTERFILE_ACK ;
   sc_signal<Tgeneral_data_t   >  ***  in_GPR_READ_REGISTERFILE_DATA;
+
   sc_signal<Tcontrol_t        >  *** out_GPR_READ_STATUS_VAL       ;
   sc_signal<Tcontrol_t        >  ***  in_GPR_READ_STATUS_ACK       ;
-  sc_signal<Tcontrol_t        >  ***  in_GPR_READ_STATUS_DATA_VAL  ;
+  sc_signal<Tgeneral_data_t   >  ***  in_GPR_READ_STATUS_DATA_VAL  ;
 
   sc_signal<Tcontrol_t        >   **  in_SPR_READ_VAL              ;
@@ -66,26 +68,34 @@
   sc_signal<Tspecial_data_t   >   ** out_SPR_READ_DATA             ;
   sc_signal<Tcontrol_t        >   ** out_SPR_READ_DATA_VAL         ;
+
   sc_signal<Tcontrol_t        >  *** out_SPR_READ_REGISTERFILE_VAL ;
   sc_signal<Tcontrol_t        >  ***  in_SPR_READ_REGISTERFILE_ACK ;
   sc_signal<Tspecial_data_t   >  ***  in_SPR_READ_REGISTERFILE_DATA;
+
   sc_signal<Tcontrol_t        >  *** out_SPR_READ_STATUS_VAL       ;
   sc_signal<Tcontrol_t        >  ***  in_SPR_READ_STATUS_ACK       ;
-  sc_signal<Tcontrol_t        >  ***  in_SPR_READ_STATUS_DATA_VAL  ;
+  sc_signal<Tspecial_data_t   >  ***  in_SPR_READ_STATUS_DATA_VAL  ;
 
   sc_signal<Tcontrol_t        >   **  in_GPR_WRITE_VAL             ;
   sc_signal<Tcontrol_t        >   ** out_GPR_WRITE_ACK             ;
   sc_signal<Tcontext_t        >   **  in_GPR_WRITE_OOO_ENGINE_ID   ;
+
   sc_signal<Tcontrol_t        >  *** out_GPR_WRITE_REGISTERFILE_VAL;
   sc_signal<Tcontrol_t        >  ***  in_GPR_WRITE_REGISTERFILE_ACK;
+
   sc_signal<Tcontrol_t        >  *** out_GPR_WRITE_STATUS_VAL      ;
   sc_signal<Tcontrol_t        >  ***  in_GPR_WRITE_STATUS_ACK      ;
+  sc_signal<Tgeneral_data_t   >  *** out_GPR_WRITE_STATUS_DATA     ;
   
   sc_signal<Tcontrol_t        >   **  in_SPR_WRITE_VAL             ;
   sc_signal<Tcontrol_t        >   ** out_SPR_WRITE_ACK             ;
   sc_signal<Tcontext_t        >   **  in_SPR_WRITE_OOO_ENGINE_ID   ;
+
   sc_signal<Tcontrol_t        >  *** out_SPR_WRITE_REGISTERFILE_VAL;
   sc_signal<Tcontrol_t        >  ***  in_SPR_WRITE_REGISTERFILE_ACK;
+
   sc_signal<Tcontrol_t        >  *** out_SPR_WRITE_STATUS_VAL      ;
   sc_signal<Tcontrol_t        >  ***  in_SPR_WRITE_STATUS_ACK      ;
+  sc_signal<Tspecial_data_t   >  *** out_SPR_WRITE_STATUS_DATA     ;
 
   sc_signal<Tcontrol_t        >  ***  in_INSERT_ROB_VAL                       ;
@@ -93,8 +103,12 @@
   sc_signal<Tcontrol_t        >  ***  in_INSERT_ROB_RD_USE                    ;
   sc_signal<Tcontrol_t        >  ***  in_INSERT_ROB_RE_USE                    ;
+
   sc_signal<Tcontrol_t        >  *** out_INSERT_ROB_GPR_STATUS_VAL            ;
   sc_signal<Tcontrol_t        >  ***  in_INSERT_ROB_GPR_STATUS_ACK            ;
+  sc_signal<Tgeneral_data_t   >  *** out_INSERT_ROB_GPR_STATUS_DATA           ;
+
   sc_signal<Tcontrol_t        >  *** out_INSERT_ROB_SPR_STATUS_VAL            ;
   sc_signal<Tcontrol_t        >  ***  in_INSERT_ROB_SPR_STATUS_ACK            ;
+  sc_signal<Tspecial_data_t   >  *** out_INSERT_ROB_SPR_STATUS_DATA           ;
 
 //   sc_signal<Tcontrol_t        >  ***  in_RETIRE_ROB_VAL                       ;
@@ -117,6 +131,6 @@
    in_CLOCK                               = new sc_clock ("clock", 1.0, 0.5);
    in_NRESET                              = new sc_signal<Tcontrol_t> ("NRESET");
-  out_CONST_0                             = new sc_signal<Tcontrol_t> ("CONST_0");
-  out_CONST_1                             = new sc_signal<Tcontrol_t> ("CONST_1");
+//   out_CONST_0                             = new sc_signal<Tcontrol_t> ("CONST_0");
+//   out_CONST_1                             = new sc_signal<Tcontrol_t> ("CONST_1");
 
     // ~~~~~[ Interface "gpr_read" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -131,5 +145,5 @@
   out_GPR_READ_STATUS_VAL        = new sc_signal<Tcontrol_t     >  ** [_param->_nb_ooo_engine];
    in_GPR_READ_STATUS_ACK        = new sc_signal<Tcontrol_t     >  ** [_param->_nb_ooo_engine];
-   in_GPR_READ_STATUS_DATA_VAL   = new sc_signal<Tcontrol_t     >  ** [_param->_nb_ooo_engine];
+   in_GPR_READ_STATUS_DATA_VAL   = new sc_signal<Tgeneral_data_t>  ** [_param->_nb_ooo_engine];
 
    for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
@@ -140,5 +154,5 @@
        out_GPR_READ_STATUS_VAL        [i] = new sc_signal<Tcontrol_t     >  * [_param->_nb_gpr_read];
         in_GPR_READ_STATUS_ACK        [i] = new sc_signal<Tcontrol_t     >  * [_param->_nb_gpr_read];
-        in_GPR_READ_STATUS_DATA_VAL   [i] = new sc_signal<Tcontrol_t     >  * [_param->_nb_gpr_read];
+        in_GPR_READ_STATUS_DATA_VAL   [i] = new sc_signal<Tgeneral_data_t>  * [_param->_nb_gpr_read];
      }
 
@@ -158,5 +172,5 @@
 	     out_GPR_READ_STATUS_VAL        [i][j] = new sc_signal<Tcontrol_t     > (rename.c_str());
 	      in_GPR_READ_STATUS_ACK        [i][j] = new sc_signal<Tcontrol_t     > (rename.c_str());
-	      in_GPR_READ_STATUS_DATA_VAL   [i][j] = new sc_signal<Tcontrol_t     > (rename.c_str());
+	      in_GPR_READ_STATUS_DATA_VAL   [i][j] = new sc_signal<Tgeneral_data_t> (rename.c_str());
 	 }
      }
@@ -173,5 +187,5 @@
   out_SPR_READ_STATUS_VAL        = new sc_signal<Tcontrol_t     > ** [_param->_nb_ooo_engine];
    in_SPR_READ_STATUS_ACK        = new sc_signal<Tcontrol_t     > ** [_param->_nb_ooo_engine];
-   in_SPR_READ_STATUS_DATA_VAL   = new sc_signal<Tcontrol_t     > ** [_param->_nb_ooo_engine];
+   in_SPR_READ_STATUS_DATA_VAL   = new sc_signal<Tspecial_data_t> ** [_param->_nb_ooo_engine];
 
    for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
@@ -182,5 +196,5 @@
        out_SPR_READ_STATUS_VAL        [i] = new sc_signal<Tcontrol_t     > * [_param->_nb_spr_read];
         in_SPR_READ_STATUS_ACK        [i] = new sc_signal<Tcontrol_t     > * [_param->_nb_spr_read];
-        in_SPR_READ_STATUS_DATA_VAL   [i] = new sc_signal<Tcontrol_t     > * [_param->_nb_spr_read];
+        in_SPR_READ_STATUS_DATA_VAL   [i] = new sc_signal<Tspecial_data_t> * [_param->_nb_spr_read];
      }
 
@@ -200,5 +214,5 @@
 	     out_SPR_READ_STATUS_VAL        [i][j] = new sc_signal<Tcontrol_t     > (rename.c_str());
 	      in_SPR_READ_STATUS_ACK        [i][j] = new sc_signal<Tcontrol_t     > (rename.c_str());
-	      in_SPR_READ_STATUS_DATA_VAL   [i][j] = new sc_signal<Tcontrol_t     > (rename.c_str());
+	      in_SPR_READ_STATUS_DATA_VAL   [i][j] = new sc_signal<Tspecial_data_t> (rename.c_str());
 	 }
      }
@@ -212,4 +226,5 @@
   out_GPR_WRITE_STATUS_VAL        = new sc_signal<Tcontrol_t> ** [_param->_nb_ooo_engine];
    in_GPR_WRITE_STATUS_ACK        = new sc_signal<Tcontrol_t> ** [_param->_nb_ooo_engine];
+  out_GPR_WRITE_STATUS_DATA       = new sc_signal<Tgeneral_data_t> ** [_param->_nb_ooo_engine];
 
    for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
@@ -219,4 +234,5 @@
        out_GPR_WRITE_STATUS_VAL        [i] = new sc_signal<Tcontrol_t> * [_param->_nb_gpr_write];
         in_GPR_WRITE_STATUS_ACK        [i] = new sc_signal<Tcontrol_t> * [_param->_nb_gpr_write];
+       out_GPR_WRITE_STATUS_DATA       [i] = new sc_signal<Tgeneral_data_t> * [_param->_nb_gpr_write];
      }
 
@@ -233,4 +249,5 @@
 	     out_GPR_WRITE_STATUS_VAL        [i][j] = new sc_signal<Tcontrol_t> (rename.c_str());;
 	      in_GPR_WRITE_STATUS_ACK        [i][j] = new sc_signal<Tcontrol_t> (rename.c_str());;
+	     out_GPR_WRITE_STATUS_DATA       [i][j] = new sc_signal<Tgeneral_data_t> (rename.c_str());;
 	 }
      }
@@ -244,4 +261,5 @@
   out_SPR_WRITE_STATUS_VAL        = new sc_signal<Tcontrol_t>  ** [_param->_nb_ooo_engine];
    in_SPR_WRITE_STATUS_ACK        = new sc_signal<Tcontrol_t>  ** [_param->_nb_ooo_engine];
+  out_SPR_WRITE_STATUS_DATA       = new sc_signal<Tspecial_data_t>  ** [_param->_nb_ooo_engine];
 
    for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
@@ -251,4 +269,5 @@
        out_SPR_WRITE_STATUS_VAL        [i] = new sc_signal<Tcontrol_t> * [_param->_nb_spr_write];
         in_SPR_WRITE_STATUS_ACK        [i] = new sc_signal<Tcontrol_t> * [_param->_nb_spr_write];
+       out_SPR_WRITE_STATUS_DATA       [i] = new sc_signal<Tspecial_data_t> * [_param->_nb_spr_write];
      }
 
@@ -265,4 +284,5 @@
 	     out_SPR_WRITE_STATUS_VAL        [i][j] = new sc_signal<Tcontrol_t>  (rename.c_str());
 	      in_SPR_WRITE_STATUS_ACK        [i][j] = new sc_signal<Tcontrol_t>  (rename.c_str());
+	     out_SPR_WRITE_STATUS_DATA       [i][j] = new sc_signal<Tspecial_data_t>  (rename.c_str());
 	 }
      }
@@ -275,6 +295,8 @@
    out_INSERT_ROB_GPR_STATUS_VAL       = new sc_signal<Tcontrol_t> ** [_param->_nb_ooo_engine];
     in_INSERT_ROB_GPR_STATUS_ACK       = new sc_signal<Tcontrol_t> ** [_param->_nb_ooo_engine];
+   out_INSERT_ROB_GPR_STATUS_DATA      = new sc_signal<Tgeneral_data_t> ** [_param->_nb_ooo_engine];
    out_INSERT_ROB_SPR_STATUS_VAL       = new sc_signal<Tcontrol_t> ** [_param->_nb_ooo_engine];
     in_INSERT_ROB_SPR_STATUS_ACK       = new sc_signal<Tcontrol_t> ** [_param->_nb_ooo_engine];
+   out_INSERT_ROB_SPR_STATUS_DATA      = new sc_signal<Tspecial_data_t> ** [_param->_nb_ooo_engine];
 
     for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
@@ -288,6 +310,8 @@
        out_INSERT_ROB_GPR_STATUS_VAL       [i] = new sc_signal<Tcontrol_t> * [x];
 	in_INSERT_ROB_GPR_STATUS_ACK       [i] = new sc_signal<Tcontrol_t> * [x];
+       out_INSERT_ROB_GPR_STATUS_DATA      [i] = new sc_signal<Tgeneral_data_t> * [x];
        out_INSERT_ROB_SPR_STATUS_VAL       [i] = new sc_signal<Tcontrol_t> * [x];
 	in_INSERT_ROB_SPR_STATUS_ACK       [i] = new sc_signal<Tcontrol_t> * [x];
+       out_INSERT_ROB_SPR_STATUS_DATA      [i] = new sc_signal<Tspecial_data_t> * [x];
 
 	for (uint32_t j=0; j<x; j++)
@@ -299,6 +323,8 @@
 	      out_INSERT_ROB_GPR_STATUS_VAL       [i][j] = new sc_signal<Tcontrol_t> (rename.c_str());
 	       in_INSERT_ROB_GPR_STATUS_ACK       [i][j] = new sc_signal<Tcontrol_t> (rename.c_str());
+	      out_INSERT_ROB_GPR_STATUS_DATA      [i][j] = new sc_signal<Tgeneral_data_t> (rename.c_str());
 	      out_INSERT_ROB_SPR_STATUS_VAL       [i][j] = new sc_signal<Tcontrol_t> (rename.c_str());
 	       in_INSERT_ROB_SPR_STATUS_ACK       [i][j] = new sc_signal<Tcontrol_t> (rename.c_str());
+	      out_INSERT_ROB_SPR_STATUS_DATA      [i][j] = new sc_signal<Tspecial_data_t> (rename.c_str());
 	  }
       }
@@ -368,6 +394,6 @@
   (*(_Register_unit_Glue-> in_CLOCK  ))       (*( in_CLOCK  ));
   (*(_Register_unit_Glue-> in_NRESET ))       (*( in_NRESET ));
-  (*(_Register_unit_Glue->out_CONST_0))       (*(out_CONST_0));
-  (*(_Register_unit_Glue->out_CONST_1))       (*(out_CONST_1));
+//   (*(_Register_unit_Glue->out_CONST_0))       (*(out_CONST_0));
+//   (*(_Register_unit_Glue->out_CONST_1))       (*(out_CONST_1));
 
    for (uint32_t j=0; j<_param->_nb_gpr_read; j++)
@@ -424,4 +450,5 @@
 	   (*(_Register_unit_Glue->out_GPR_WRITE_STATUS_VAL        [i][j]))(*(out_GPR_WRITE_STATUS_VAL        [i][j]));
 	   (*(_Register_unit_Glue-> in_GPR_WRITE_STATUS_ACK        [i][j]))(*( in_GPR_WRITE_STATUS_ACK        [i][j]));
+	   (*(_Register_unit_Glue->out_GPR_WRITE_STATUS_DATA       [i][j]))(*(out_GPR_WRITE_STATUS_DATA       [i][j]));
 	 }
      }
@@ -440,4 +467,5 @@
 	   (*(_Register_unit_Glue->out_SPR_WRITE_STATUS_VAL        [i][j]))(*(out_SPR_WRITE_STATUS_VAL        [i][j]));
 	   (*(_Register_unit_Glue-> in_SPR_WRITE_STATUS_ACK        [i][j]))(*( in_SPR_WRITE_STATUS_ACK        [i][j]));
+	   (*(_Register_unit_Glue->out_SPR_WRITE_STATUS_DATA       [i][j]))(*(out_SPR_WRITE_STATUS_DATA       [i][j]));
 	 }
      }
@@ -456,6 +484,8 @@
 	    (*(_Register_unit_Glue->out_INSERT_ROB_GPR_STATUS_VAL [i][j]))  (*(out_INSERT_ROB_GPR_STATUS_VAL [i][j]));
 	    (*(_Register_unit_Glue-> in_INSERT_ROB_GPR_STATUS_ACK [i][j]))  (*( in_INSERT_ROB_GPR_STATUS_ACK [i][j]));
+	    (*(_Register_unit_Glue->out_INSERT_ROB_GPR_STATUS_DATA[i][j]))  (*(out_INSERT_ROB_GPR_STATUS_DATA[i][j]));
 	    (*(_Register_unit_Glue->out_INSERT_ROB_SPR_STATUS_VAL [i][j]))  (*(out_INSERT_ROB_SPR_STATUS_VAL [i][j]));
 	    (*(_Register_unit_Glue-> in_INSERT_ROB_SPR_STATUS_ACK [i][j]))  (*( in_INSERT_ROB_SPR_STATUS_ACK [i][j]));
+	    (*(_Register_unit_Glue->out_INSERT_ROB_SPR_STATUS_DATA[i][j]))  (*(out_INSERT_ROB_SPR_STATUS_DATA[i][j]));
 	  }
       }
@@ -506,4 +536,12 @@
   srand(seed);
 
+  SC_START(0);
+  LABEL("Initialisation");
+
+  in_NRESET->write(0);
+  SC_START(5);
+  in_NRESET->write(1);
+
+#ifdef SELFTEST
   Tcontext_t      context;
   Tcontrol_t      gpr_read_ack              [_param->_nb_gpr_read];
@@ -548,11 +586,4 @@
   Tcontrol_t      insert_rob_gpr_status_val [_param->_nb_ooo_engine][max_nb_inst_insert_rob];
   Tcontrol_t      insert_rob_spr_status_val [_param->_nb_ooo_engine][max_nb_inst_insert_rob];
-
-  SC_START(0);
-  LABEL("Initialisation");
-
-  in_NRESET->write(0);
-  SC_START(5);
-  in_NRESET->write(1);
 
   LABEL("Loop of Test");
@@ -791,6 +822,6 @@
 
       // Test
-      TEST(Tcontrol_t, out_CONST_0->read() , 0);
-      TEST(Tcontrol_t, out_CONST_1->read() , 1);
+//       TEST(Tcontrol_t, out_CONST_0->read() , 0);
+//       TEST(Tcontrol_t, out_CONST_1->read() , 1);
       
       if (test_read == true)
@@ -832,4 +863,5 @@
 		  TEST(Tcontrol_t, out_GPR_WRITE_REGISTERFILE_VAL  [i][j]->read(), gpr_write_registerfile_val [i][j]);
 		  TEST(Tcontrol_t, out_GPR_WRITE_STATUS_VAL        [i][j]->read(), gpr_write_status_val       [i][j]);
+		  TEST(Tcontrol_t, out_GPR_WRITE_STATUS_DATA       [i][j]->read(), 1);
 		}
 	    }
@@ -842,4 +874,5 @@
 		  TEST(Tcontrol_t, out_SPR_WRITE_REGISTERFILE_VAL  [i][j]->read(), spr_write_registerfile_val [i][j]);
 		  TEST(Tcontrol_t, out_SPR_WRITE_STATUS_VAL        [i][j]->read(), spr_write_status_val       [i][j]);
+		  TEST(Tcontrol_t, out_SPR_WRITE_STATUS_DATA       [i][j]->read(), 1);
 		}
 	    }
@@ -874,5 +907,7 @@
 		  TEST(Tcontrol_t, out_INSERT_ROB_ACK            [i][j]->read(), insert_rob_ack            [i][j]);
 		  TEST(Tcontrol_t, out_INSERT_ROB_GPR_STATUS_VAL [i][j]->read(), insert_rob_gpr_status_val [i][j]);
+		  TEST(Tcontrol_t, out_INSERT_ROB_GPR_STATUS_DATA[i][j]->read(), 0);
 		  TEST(Tcontrol_t, out_INSERT_ROB_SPR_STATUS_VAL [i][j]->read(), insert_rob_spr_status_val [i][j]);
+		  TEST(Tcontrol_t, out_INSERT_ROB_SPR_STATUS_DATA[i][j]->read(), 0);
 		}
 	    }
@@ -882,5 +917,7 @@
       SC_START(1);
     }
-
+#else
+  SC_START(100);
+#endif
   /********************************************************
    * Simulation - End
@@ -922,4 +959,5 @@
   delete [] out_GPR_WRITE_STATUS_VAL        ;
   delete []  in_GPR_WRITE_STATUS_ACK        ;
+  delete [] out_GPR_WRITE_STATUS_DATA       ;
   delete []  in_SPR_WRITE_VAL               ;
   delete [] out_SPR_WRITE_ACK               ;
@@ -929,4 +967,5 @@
   delete [] out_SPR_WRITE_STATUS_VAL        ;
   delete []  in_SPR_WRITE_STATUS_ACK        ;
+  delete [] out_SPR_WRITE_STATUS_DATA       ;
   delete []  in_INSERT_ROB_VAL                  ;
   delete [] out_INSERT_ROB_ACK                  ;
@@ -935,6 +974,8 @@
   delete [] out_INSERT_ROB_GPR_STATUS_VAL       ;
   delete []  in_INSERT_ROB_GPR_STATUS_ACK       ;
+  delete [] out_INSERT_ROB_GPR_STATUS_DATA      ;
   delete [] out_INSERT_ROB_SPR_STATUS_VAL       ;
   delete []  in_INSERT_ROB_SPR_STATUS_ACK       ;
+  delete [] out_INSERT_ROB_SPR_STATUS_DATA      ;
 //   delete []  in_RETIRE_ROB_VAL                      ;
 //   delete [] out_RETIRE_ROB_ACK                      ;
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/include/Register_unit_Glue.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/include/Register_unit_Glue.h	(revision 128)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/include/Register_unit_Glue.h	(revision 131)
@@ -181,4 +181,5 @@
 					       
 #ifdef SYSTEMC				       
+  public  : void     constant                        (void);
   public  : void     transition                      (void);
   public  : void     genMealy_gpr_read               (void);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue.cpp	(revision 128)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue.cpp	(revision 131)
@@ -70,20 +70,16 @@
     if (usage_is_set(_usage,USE_SYSTEMC))
       {
-    // Constant
-//     PORT_WRITE(out_CONST_0 ,0);
-//     PORT_WRITE(out_CONST_1 ,1);
-        for (uint32_t i=0; i<_param->_nb_ooo_engine; ++i)
-          {
-            for (uint32_t j=0; j<_param->_nb_gpr_write; ++j)
-              PORT_WRITE(out_GPR_WRITE_STATUS_DATA [i][j],1);
-            for (uint32_t j=0; j<_param->_nb_spr_write; ++j)
-              PORT_WRITE(out_SPR_WRITE_STATUS_DATA [i][j],1);
-
-            for (uint32_t j=0; j<_param->_nb_inst_insert_rob[i]; ++j)
-              {
-                PORT_WRITE(out_INSERT_ROB_GPR_STATUS_DATA [i][j],0);
-                PORT_WRITE(out_INSERT_ROB_SPR_STATUS_DATA [i][j],0);
-              }
-          }
+#ifdef SYSTEMCASS_SPECIFIC
+        constant();
+#else
+    log_printf(INFO,Register_unit_Glue,FUNCTION,"Method - constant");
+
+    SC_METHOD (constant);
+//     dont_initialize ();
+
+#ifdef SYSTEMCASS_SPECIFIC
+    // List dependency information
+#endif    
+#endif
 
     log_printf(INFO,Register_unit_Glue,FUNCTION,"Method - transition");
@@ -91,5 +87,5 @@
     SC_METHOD (transition);
     dont_initialize ();
-    sensitive_pos << *(in_CLOCK);
+    sensitive << (*(in_CLOCK)).pos();
 
 #ifdef SYSTEMCASS_SPECIFIC
@@ -101,5 +97,5 @@
     SC_METHOD (genMealy_gpr_read);
     dont_initialize ();
-//     sensitive_neg << *(in_CLOCK);
+//     sensitive << (*(in_CLOCK)).neg();
     for (uint32_t j=0; j<_param->_nb_gpr_read; j++)
       {
@@ -138,5 +134,5 @@
     SC_METHOD (genMealy_gpr_read_status);
     dont_initialize ();
-//     sensitive_neg << *(in_CLOCK);
+//     sensitive << (*(in_CLOCK)).neg();
     for (uint32_t j=0; j<_param->_nb_gpr_read; j++)
       {
@@ -167,5 +163,5 @@
     SC_METHOD (genMealy_gpr_read_registerfile);
     dont_initialize ();
-//     sensitive_neg << *(in_CLOCK);
+//     sensitive << (*(in_CLOCK)).neg();
     for (uint32_t j=0; j<_param->_nb_gpr_read; j++)
       {
@@ -196,5 +192,5 @@
     SC_METHOD (genMealy_gpr_write);
     dont_initialize ();
-//     sensitive_neg << *(in_CLOCK);
+//     sensitive << (*(in_CLOCK)).neg();
     for (uint32_t j=0; j<_param->_nb_gpr_write; j++)
       {
@@ -226,5 +222,5 @@
     SC_METHOD (genMealy_gpr_write_status);
     dont_initialize ();
-//     sensitive_neg << *(in_CLOCK);
+//     sensitive << (*(in_CLOCK)).neg();
     for (uint32_t j=0; j<_param->_nb_gpr_write; j++)
       {
@@ -255,5 +251,5 @@
     SC_METHOD (genMealy_gpr_write_registerfile);
     dont_initialize ();
-//     sensitive_neg << *(in_CLOCK);
+//     sensitive << (*(in_CLOCK)).neg();
     for (uint32_t j=0; j<_param->_nb_gpr_write; j++)
       {
@@ -284,5 +280,5 @@
     SC_METHOD (genMealy_spr_read);
     dont_initialize ();
-//     sensitive_neg << *(in_CLOCK);
+//     sensitive << (*(in_CLOCK)).neg();
     for (uint32_t j=0; j<_param->_nb_spr_read; j++)
       {
@@ -321,5 +317,5 @@
     SC_METHOD (genMealy_spr_read_status);
     dont_initialize ();
-//     sensitive_neg << *(in_CLOCK);
+//     sensitive << (*(in_CLOCK)).neg();
     for (uint32_t j=0; j<_param->_nb_spr_read; j++)
       {
@@ -350,5 +346,5 @@
     SC_METHOD (genMealy_spr_read_registerfile);
     dont_initialize ();
-//     sensitive_neg << *(in_CLOCK);
+//     sensitive << (*(in_CLOCK)).neg();
     for (uint32_t j=0; j<_param->_nb_spr_read; j++)
       {
@@ -379,5 +375,5 @@
     SC_METHOD (genMealy_spr_write);
     dont_initialize ();
-//     sensitive_neg << *(in_CLOCK);
+//     sensitive << (*(in_CLOCK)).neg();
     for (uint32_t j=0; j<_param->_nb_spr_write; j++)
       {
@@ -409,5 +405,5 @@
     SC_METHOD (genMealy_spr_write_status);
     dont_initialize ();
-//     sensitive_neg << *(in_CLOCK);
+//     sensitive << (*(in_CLOCK)).neg();
     for (uint32_t j=0; j<_param->_nb_spr_write; j++)
       {
@@ -438,5 +434,5 @@
     SC_METHOD (genMealy_spr_write_registerfile);
     dont_initialize ();
-//     sensitive_neg << *(in_CLOCK);
+//     sensitive << (*(in_CLOCK)).neg();
     for (uint32_t j=0; j<_param->_nb_spr_write; j++)
       {
@@ -467,5 +463,5 @@
     SC_METHOD (genMealy_insert);
     dont_initialize ();
-//     sensitive_neg << *(in_CLOCK);
+//     sensitive << (*(in_CLOCK)).neg();
     for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
       {
@@ -503,5 +499,5 @@
 //     SC_METHOD (genMealy_retire);
 //     dont_initialize ();
-// //     sensitive_neg << *(in_CLOCK);
+// //     sensitive << (*(in_CLOCK)).neg();
 //     for (uint32_t i=0; i<_param->_nb_ooo_engine; i++)
 //       {
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_allocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_allocation.cpp	(revision 128)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_allocation.cpp	(revision 131)
@@ -177,5 +177,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]);
@@ -192,6 +192,6 @@
       ALLOC2_INTERFACE_BEGIN("insert_rob_gpr_status",IN,WEST,_("Interface to update status (insert)"),_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);
       
-      _ALLOC2_VALACK_OUT(out_INSERT_ROB_GPR_STATUS_VAL ,VAL                   ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);
-      _ALLOC2_VALACK_IN ( in_INSERT_ROB_GPR_STATUS_ACK ,ACK                   ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);
+      _ALLOC2_VALACK_OUT(out_INSERT_ROB_GPR_STATUS_VAL ,VAL                     ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);
+      _ALLOC2_VALACK_IN ( in_INSERT_ROB_GPR_STATUS_ACK ,ACK                     ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);
       _ALLOC2_SIGNAL_OUT(out_INSERT_ROB_GPR_STATUS_DATA,"data",Tgeneral_data_t,1,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);
 
@@ -202,6 +202,6 @@
       ALLOC2_INTERFACE_BEGIN("insert_rob_spr_status",IN,WEST,_("Interface to update status (insert)"),_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);
       
-      _ALLOC2_VALACK_OUT(out_INSERT_ROB_SPR_STATUS_VAL ,VAL                   ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);
-      _ALLOC2_VALACK_IN ( in_INSERT_ROB_SPR_STATUS_ACK ,ACK                   ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);
+      _ALLOC2_VALACK_OUT(out_INSERT_ROB_SPR_STATUS_VAL ,VAL                     ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);
+      _ALLOC2_VALACK_IN ( in_INSERT_ROB_SPR_STATUS_ACK ,ACK                     ,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);
       _ALLOC2_SIGNAL_OUT(out_INSERT_ROB_SPR_STATUS_DATA,"data",Tspecial_data_t,1,_param->_nb_ooo_engine,_param->_nb_inst_insert_rob [it1]);
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_constant.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_constant.cpp	(revision 131)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/src/Register_unit_Glue_constant.cpp	(revision 131)
@@ -0,0 +1,53 @@
+#ifdef SYSTEMC
+/*
+ * $Id$
+ *
+ * [ Description ]
+ * 
+ */
+
+#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Register_unit/Register_unit_Glue/include/Register_unit_Glue.h"
+
+namespace morpheo                    {
+namespace behavioural {
+namespace core {
+namespace multi_execute_loop {
+namespace execute_loop {
+namespace register_unit {
+namespace register_unit_glue {
+
+
+#undef  FUNCTION
+#define FUNCTION "Register_unit_Glue::constant"
+  void Register_unit_Glue::constant (void)
+  {
+    log_begin(Register_unit_Glue,FUNCTION);
+
+//  PORT_WRITE(out_CONST_0 ,0);
+//  PORT_WRITE(out_CONST_1 ,1);
+    for (uint32_t i=0; i<_param->_nb_ooo_engine; ++i)
+      {
+        for (uint32_t j=0; j<_param->_nb_gpr_write; ++j)
+          PORT_WRITE(out_GPR_WRITE_STATUS_DATA [i][j],1);
+        for (uint32_t j=0; j<_param->_nb_spr_write; ++j)
+          PORT_WRITE(out_SPR_WRITE_STATUS_DATA [i][j],1);
+        
+        for (uint32_t j=0; j<_param->_nb_inst_insert_rob[i]; ++j)
+          {
+            PORT_WRITE(out_INSERT_ROB_GPR_STATUS_DATA [i][j],0);
+            PORT_WRITE(out_INSERT_ROB_SPR_STATUS_DATA [i][j],0);
+          }
+      }
+
+    log_end(Register_unit_Glue,FUNCTION);
+  };
+
+}; // end namespace register_unit_glue
+}; // end namespace register_unit
+}; // end namespace execute_loop
+}; // end namespace multi_execute_loop
+}; // end namespace core
+
+}; // end namespace behavioural
+}; // end namespace morpheo              
+#endif
