Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/SelfTest/src/test.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/SelfTest/src/test.cpp	(revision 88)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/SelfTest/src/test.cpp	(revision 100)
@@ -11,4 +11,5 @@
 
 #include "Behavioural/Generic/Queue/SelfTest/include/test.h"
+#include "Behavioural/include/Allocation.h"
 #include "Common/include/Test.h"
 
@@ -48,10 +49,13 @@
   sc_clock              *  in_CLOCK  = new sc_clock ("clock", 1.0, 0.5);	 
   sc_signal<Tcontrol_t> *  in_NRESET = new sc_signal<Tcontrol_t> ("NRESET");
-  sc_signal<Tcontrol_t> *  in_INSERT_VAL  = new sc_signal<Tcontrol_t> ( "in_INSERT_VAL" );
-  sc_signal<Tcontrol_t> * out_INSERT_ACK  = new sc_signal<Tcontrol_t> ("out_INSERT_ACK" );
-  sc_signal<Tdata_t   > *  in_INSERT_DATA = new sc_signal<Tdata_t   > ( "in_INSERT_DATA");
-  sc_signal<Tcontrol_t> * out_RETIRE_VAL  = new sc_signal<Tcontrol_t> ("out_RETIRE_VAL" );
-  sc_signal<Tcontrol_t> *  in_RETIRE_ACK  = new sc_signal<Tcontrol_t> ( "in_RETIRE_ACK" );
-  sc_signal<Tdata_t   > * out_RETIRE_DATA = new sc_signal<Tdata_t   > ("out_RETIRE_DATA");
+
+  ALLOC0_SC_SIGNAL( in_INSERT_VAL , "in_INSERT_VAL" ,Tcontrol_t);
+  ALLOC0_SC_SIGNAL(out_INSERT_ACK ,"out_INSERT_ACK" ,Tcontrol_t);
+  ALLOC0_SC_SIGNAL( in_INSERT_DATA, "in_INSERT_DATA",Tdata_t   );
+  ALLOC0_SC_SIGNAL(out_RETIRE_VAL ,"out_RETIRE_VAL" ,Tcontrol_t);
+  ALLOC0_SC_SIGNAL( in_RETIRE_ACK , "in_RETIRE_ACK" ,Tcontrol_t);
+  ALLOC0_SC_SIGNAL(out_RETIRE_DATA,"out_RETIRE_DATA",Tdata_t   );
+  ALLOC1_SC_SIGNAL(out_SLOT_VAL   ,"out_SLOT_VAL"   ,Tcontrol_t,_param->_nb_port_slot);
+  ALLOC1_SC_SIGNAL(out_SLOT_DATA  ,"out_SLOT_DATA"  ,Tdata_t   ,_param->_nb_port_slot);
   
   /********************************************************
@@ -64,10 +68,12 @@
   (*(_Queue->in_NRESET))       (*(in_NRESET));
 
-  (*(_Queue-> in_INSERT_VAL )) (*( in_INSERT_VAL ));
-  (*(_Queue->out_INSERT_ACK )) (*(out_INSERT_ACK ));
-  (*(_Queue-> in_INSERT_DATA)) (*( in_INSERT_DATA));
-  (*(_Queue->out_RETIRE_VAL )) (*(out_RETIRE_VAL ));
-  (*(_Queue-> in_RETIRE_ACK )) (*( in_RETIRE_ACK ));
-  (*(_Queue->out_RETIRE_DATA)) (*(out_RETIRE_DATA));
+  INSTANCE0_SC_SIGNAL(_Queue, in_INSERT_VAL );
+  INSTANCE0_SC_SIGNAL(_Queue,out_INSERT_ACK );
+  INSTANCE0_SC_SIGNAL(_Queue, in_INSERT_DATA);
+  INSTANCE0_SC_SIGNAL(_Queue,out_RETIRE_VAL );
+  INSTANCE0_SC_SIGNAL(_Queue, in_RETIRE_ACK );
+  INSTANCE0_SC_SIGNAL(_Queue,out_RETIRE_DATA);
+  INSTANCE1_SC_SIGNAL(_Queue,out_SLOT_VAL   ,_param->_nb_port_slot);
+  INSTANCE1_SC_SIGNAL(_Queue,out_SLOT_DATA  ,_param->_nb_port_slot);
 
   cout << "<" << name << "> Start Simulation ............" << endl;
@@ -103,4 +109,5 @@
   uint32_t data_in  = 0;
   uint32_t data_out = 0;
+  uint32_t nb_elt   = 0;
 
   for (uint32_t iteration=0; iteration<NB_ITERATION; iteration ++)
@@ -116,8 +123,17 @@
 	  SC_START(0); // genMoore
 
+          for (uint32_t i=0; i<_param->_nb_port_slot; ++i)
+            {
+              TEST(Tcontrol_t, out_SLOT_VAL [i]->read(), (i<nb_elt));
+              if (i<nb_elt)
+              TEST(Tdata_t   , out_SLOT_DATA[i]->read(), data_out+i);
+                
+            }
+
 	  if ( in_INSERT_VAL->read() and out_INSERT_ACK->read())
 	    {
 	      LABEL ("Transaction with interface : INSERT");
 	      data_in ++;
+              nb_elt ++;
 	    }
 	  if (out_RETIRE_VAL->read() and  in_RETIRE_ACK->read())
@@ -126,4 +142,5 @@
 	      TEST(Tdata_t, out_RETIRE_DATA->read(), data_out);
 	      data_out++;
+              nb_elt --;
 	    }
 
@@ -142,4 +159,14 @@
   delete in_CLOCK;
   delete in_NRESET;
+
+  DELETE0_SC_SIGNAL( in_INSERT_VAL );
+  DELETE0_SC_SIGNAL(out_INSERT_ACK );
+  DELETE0_SC_SIGNAL( in_INSERT_DATA);
+  DELETE0_SC_SIGNAL(out_RETIRE_VAL );
+  DELETE0_SC_SIGNAL( in_RETIRE_ACK );
+  DELETE0_SC_SIGNAL(out_RETIRE_DATA);
+  DELETE1_SC_SIGNAL(out_SLOT_VAL   ,_param->_nb_port_slot);
+  DELETE1_SC_SIGNAL(out_SLOT_DATA  ,_param->_nb_port_slot);
+
 #endif
 
