Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/SelfTest/src/main.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/SelfTest/src/main.cpp	(revision 2)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/SelfTest/src/main.cpp	(revision 6)
@@ -27,5 +27,5 @@
 #endif
 {
-  if (argc != 2+NB_PARAMS)
+  if (argc <  2+NB_PARAMS)
     usage (argv[0]);
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/SelfTest/src/test.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/SelfTest/src/test.cpp	(revision 2)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/SelfTest/src/test.cpp	(revision 6)
@@ -42,10 +42,13 @@
    *********************************************************************/
   sc_clock                                 CLOCK ("clock", 1.0, 0.5);
+  sc_signal<Tcontrol_t>                    NRESET;
   
-  sc_signal<Tcontrol_t>                    READ_ENABLE   [param._nb_port_read];
+  sc_signal<Tcontrol_t>                    READ_VAL      [param._nb_port_read];
+  sc_signal<Tcontrol_t>                    READ_ACK      [param._nb_port_read];
   sc_signal<Taddress_t>                    READ_ADDRESS  [param._nb_port_read];
   sc_signal<Tdata_t>                       READ_DATA     [param._nb_port_read];
 
-  sc_signal<Tcontrol_t>                    WRITE_ENABLE  [param._nb_port_write];
+  sc_signal<Tcontrol_t>                    WRITE_VAL     [param._nb_port_write];
+  sc_signal<Tcontrol_t>                    WRITE_ACK     [param._nb_port_write];
   sc_signal<Taddress_t>                    WRITE_ADDRESS [param._nb_port_write];
   sc_signal<Tdata_t>                       WRITE_DATA    [param._nb_port_write];
@@ -58,8 +61,10 @@
   
   (*(registerfile->in_CLOCK))        (CLOCK);
+  (*(registerfile->in_NRESET))       (NRESET);
 
   for (uint32_t i=0; i<param._nb_port_read; i++)
     {
-      (*(registerfile-> in_READ_ENABLE   [i]))        (READ_ENABLE   [i]);
+      (*(registerfile-> in_READ_VAL      [i]))        (READ_VAL      [i]);
+      (*(registerfile->out_READ_ACK      [i]))        (READ_ACK      [i]);
       (*(registerfile-> in_READ_ADDRESS  [i]))        (READ_ADDRESS  [i]);
       (*(registerfile->out_READ_DATA     [i]))        (READ_DATA     [i]);
@@ -68,5 +73,6 @@
   for (uint32_t i=0; i<param._nb_port_write; i++)
     {
-      (*(registerfile-> in_WRITE_ENABLE  [i]))        (WRITE_ENABLE  [i]);
+      (*(registerfile-> in_WRITE_VAL     [i]))        (WRITE_VAL     [i]);
+      (*(registerfile->out_WRITE_ACK     [i]))        (WRITE_ACK     [i]);
       (*(registerfile-> in_WRITE_ADDRESS [i]))        (WRITE_ADDRESS [i]);
       (*(registerfile-> in_WRITE_DATA    [i]))        (WRITE_DATA    [i]);
@@ -83,8 +89,8 @@
   
   for (uint32_t i=0; i<param._nb_port_write; i++)
-    WRITE_ENABLE [i] .write (0);
+    WRITE_VAL [i] .write (0);
 
   for (uint32_t i=0; i<param._nb_port_read; i++)
-    READ_ENABLE  [i] .write (0);
+    READ_VAL  [i] .write (0);
 
   sc_start(5);
@@ -111,5 +117,5 @@
 
 	  cout << "(" << num_port << ") [" << address << "] <= " << data << endl;
-	  WRITE_ENABLE  [num_port] .write(1);
+	  WRITE_VAL  [num_port] .write(1);
 	  WRITE_DATA    [num_port] .write(data);
 	  WRITE_ADDRESS [num_port] .write(address);
@@ -124,5 +130,5 @@
       while (num_port<param._nb_port_write)
 	{
-	  WRITE_ENABLE  [num_port] .write(0);
+	  WRITE_VAL  [num_port] .write(0);
 	  num_port ++;
 	}
@@ -135,5 +141,5 @@
 
   for (uint32_t i=0; i<param._nb_port_write; i++)
-    WRITE_ENABLE [i] .write (0);
+    WRITE_VAL [i] .write (0);
 
   sc_start(1);
@@ -148,5 +154,5 @@
       while (num_port<param._nb_port_read)
 	{
-	  READ_ENABLE  [num_port] .write(1);
+	  READ_VAL  [num_port] .write(1);
 	  READ_ADDRESS [num_port] .write(address);
 
@@ -168,5 +174,5 @@
       while (num_port<param._nb_port_read)
 	{
-	  READ_ENABLE  [num_port] .write(0);
+	  READ_VAL  [num_port] .write(0);
 	  num_port ++;
 	}
@@ -176,5 +182,5 @@
 
   for (uint32_t i=0; i<param._nb_port_read; i++)
-    READ_ENABLE  [i] .write (0);
+    READ_VAL  [i] .write (0);
 
   sc_start(1);
