Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/SelfTest/src/main.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/SelfTest/src/main.cpp	(revision 101)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/SelfTest/src/main.cpp	(revision 113)
@@ -2,73 +2,47 @@
  * $Id$
  *
- * [ Description ]
+ * [ Description ]
  * 
  */
 
-#include "Behavioural/Generic/Queue/SelfTest/include/test.h"
+#include "Behavioural/Generic/Queue/SelfTest/include/top.h"
 
-#define NB_PARAMS 5
+#ifndef MTI_SYSTEMC
+# ifndef SYSTEMC
+int main    (int argc, char * argv[])
+# else
+int sc_main (int argc, char * argv[])
+# endif
+{
+  int _return = EXIT_SUCCESS;
 
-void usage (int argc, char * argv[])
-{
-  cerr << "<Usage> " << argv[0] << " name_instance list_params" << endl
-       << "list_params is :" << endl
-       << " - size_queue      (uint32_t)" << endl
-       << " - size_data       (uint32_t)" << endl
-       << " - nb_port_slot    (uint32_t)" << endl
-       << " - have_port_write (bool    )" << endl
-       << " - have_port_read  (bool    )" << endl
-       << "" << endl;
-
-  for (int i=0; i<argc; i++)
-    cerr << argv[i] << " ";
-  cerr << endl;
-
-  exit (1);
-}
-
-#ifndef SYSTEMC
-int main    (int argc, char * argv[])
-#else
-int sc_main (int argc, char * argv[])
-#endif
-{
-  if (argc != 2+NB_PARAMS)
-    usage (argc, argv);
-
-  uint32_t       x = 1;
-  
-  const string   name            =      argv[x++];
-  const uint32_t size_queue      = fromString<uint32_t>(argv[x++]);
-  const uint32_t size_data       = fromString<uint32_t>(argv[x++]);
-  const uint32_t nb_port_slot    = fromString<uint32_t>(argv[x++]);
-  const bool     have_port_write = fromString<bool>(argv[x++]);
-  const bool     have_port_read  = fromString<bool>(argv[x++]);
   try 
     {
-      morpheo::behavioural::generic::queue::Parameters * param = new morpheo::behavioural::generic::queue::Parameters
-	(size_queue,
-	 size_data ,
-         nb_port_slot,
-         have_port_write,
-         have_port_read 
-        );
-      
-      cout << param->print(1);
-      
-      test (name,param);
+      top * my_top = new top ("my_top",argc,argv);
+
+      my_top->test();
+
+      delete my_top;
     }
   catch (morpheo::ErrorMorpheo & error)
     {
-      cout << "<" << name << "> : " <<  error.what ();
-      exit (EXIT_FAILURE);
+      msgError(_("%s\n"),error.what ());
+      _return = EXIT_FAILURE;
     }
-  catch (...)
+  
+  try 
     {
-      cerr << "<" << name << "> : This test must generate a error" << endl;
-      exit (EXIT_FAILURE);
+      if (_return == EXIT_SUCCESS)
+	TEST_OK("Queue : no error");
+      else
+	TEST_KO("Queue : a lot of error");
+    }
+  catch (morpheo::ErrorMorpheo & error)
+    {
+//    msgError(_("<%s> :\n%s"),name.c_str(), error.what ());
+      _return = EXIT_FAILURE;
     }
 
-  return (EXIT_SUCCESS);
+  return _return;
 }
-
+#endif
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 101)
+++ 	(revision )
@@ -1,184 +1,0 @@
-/*
- * $Id$
- *
- * [ Description ]
- * 
- * Test
- */
-
-#define NB_ITERATION  1
-#define CYCLE_MAX     (2048*NB_ITERATION)
-
-#include "Behavioural/Generic/Queue/SelfTest/include/test.h"
-#include "Behavioural/include/Allocation.h"
-#include "Common/include/Test.h"
-
-void test (string name,
-	   morpheo::behavioural::generic::queue::Parameters * _param)
-{
-  cout << "<" << name << "> : Simulation SystemC" << endl;
-
-#ifdef STATISTICS
-  morpheo::behavioural::Parameters_Statistics * _parameters_statistics = new morpheo::behavioural::Parameters_Statistics (5,50);
-#endif
-
-  Tusage_t _usage = USE_ALL;
-
-//   _usage = usage_unset(_usage,USE_SYSTEMC              );
-//   _usage = usage_unset(_usage,USE_VHDL                 );
-//   _usage = usage_unset(_usage,USE_VHDL_TESTBENCH       );
-//   _usage = usage_unset(_usage,USE_VHDL_TESTBENCH_ASSERT);
-//   _usage = usage_unset(_usage,USE_POSITION             );
-//   _usage = usage_unset(_usage,USE_STATISTICS           );
-//   _usage = usage_unset(_usage,USE_INFORMATION          );
-
-  Queue * _Queue = new Queue 
-    (name.c_str(),
-#ifdef STATISTICS
-     _parameters_statistics,
-#endif
-     _param,
-     _usage);
-  
-#ifdef SYSTEMC
-  /*********************************************************************
-   * Déclarations des signaux
-   *********************************************************************/
-  string rename;
-
-  sc_clock              *  in_CLOCK  = new sc_clock ("clock", 1.0, 0.5);	 
-  sc_signal<Tcontrol_t> *  in_NRESET = new sc_signal<Tcontrol_t> ("NRESET");
-
-  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);
-  ALLOC0_SC_SIGNAL(out_PTR_WRITE  ,"out_PTR_WRITE"  ,Tptr_t    );
-  ALLOC0_SC_SIGNAL(out_PTR_READ   ,"out_PTR_READ"   ,Tptr_t    );
-  
-  /********************************************************
-   * Instanciation
-   ********************************************************/
-  
-  cout << "<" << name << "> Instanciation of _Queue" << endl;
-  
-  (*(_Queue->in_CLOCK))        (*(in_CLOCK));
-  (*(_Queue->in_NRESET))       (*(in_NRESET));
-
-  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);
-  if (_param->_have_port_ptr_write)
-  INSTANCE0_SC_SIGNAL(_Queue,out_PTR_WRITE  );
-  if (_param->_have_port_ptr_read )
-  INSTANCE0_SC_SIGNAL(_Queue,out_PTR_READ   );
-
-  cout << "<" << name << "> Start Simulation ............" << endl;
-  Time * _time = new Time();
-
-  /********************************************************
-   * Simulation - Begin
-   ********************************************************/
-
-  // Initialisation
-  const  int32_t percent_insert_transaction = 75;
-  const  int32_t percent_retire_transaction = 75;
-  const uint32_t nb_request = 3*_param->_size_queue;
-
-  const uint32_t seed = 0;
-//const uint32_t seed = static_cast<uint32_t>(time(NULL));
-
-  srand(seed);
-
-  SC_START(0);
-  LABEL("Initialisation");
-
-  in_INSERT_VAL -> write(0);
-  in_RETIRE_ACK -> write(0);
-
-  LABEL("Reset");
-  in_NRESET->write(0);
-  SC_START(5);
-  in_NRESET->write(1);  
-
-  LABEL("Loop of Test");
-
-  uint32_t data_in  = 0;
-  uint32_t data_out = 0;
-  uint32_t nb_elt   = 0;
-
-  for (uint32_t iteration=0; iteration<NB_ITERATION; iteration ++)
-    {
-      LABEL("Iteration %d",iteration);
-
-      while (data_out <= nb_request)
-	{
-	  in_INSERT_VAL  -> write((rand()%100)<percent_insert_transaction);
-	  in_INSERT_DATA -> write(data_in);
-	  in_RETIRE_ACK  -> write((rand()%100)<percent_retire_transaction);
-
-	  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())
-	    {
-	      LABEL ("Transaction with interface : RETIRE");
-	      TEST(Tdata_t, out_RETIRE_DATA->read(), data_out);
-	      data_out++;
-              nb_elt --;
-	    }
-
-	  SC_START(1);
-	}
-    }
-
-  /********************************************************
-   * Simulation - End
-   ********************************************************/
-
-  TEST_OK ("End of Simulation");
-  delete _time;
-  cout << "<" << name << "> ............ Stop Simulation" << endl;
-
-  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);
-  DELETE0_SC_SIGNAL(out_PTR_WRITE  );
-  DELETE0_SC_SIGNAL(out_PTR_READ   );
-#endif
-
-  delete _Queue;
-#ifdef STATISTICS
-  delete _parameters_statistics;
-#endif
-}
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/SelfTest/src/top.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/SelfTest/src/top.cpp	(revision 113)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/SelfTest/src/top.cpp	(revision 113)
@@ -0,0 +1,74 @@
+/*
+ * $Id$
+ *
+ * [ Description ]
+ * 
+ */
+
+#include "Behavioural/Generic/Queue/SelfTest/include/top.h"
+#include "Behavioural/include/Selftest.h"
+
+#define NB_PARAMS 5
+
+#ifdef MTI_SYSTEMC
+SC_MODULE_EXPORT(top);
+#endif
+
+#ifdef MTI_SYSTEMC
+SC_CTOR(top::top)
+#else
+top::top (sc_module_name module_name, int argc, char * argv[])
+#endif
+{
+#ifdef MTI_SYSTEMC
+  // accessing command-line arguments with modelsim
+  int argc;
+  const char * const * argv;
+
+  argc = sc_argc ();
+  argv = sc_argv ();
+#endif
+
+  if (argc != 2+NB_PARAMS)
+    usage (argc, argv);
+
+  uint32_t size_queue     ;
+  uint32_t size_data      ;
+  uint32_t nb_port_slot   ;
+  bool     have_port_write;
+  bool     have_port_read ;
+
+  uint32_t x=1;
+
+  SELFTEST0(name           ,string  ,argv,x);
+  SELFTEST0(size_queue     ,uint32_t,argv,x);
+  SELFTEST0(size_data      ,uint32_t,argv,x);
+  SELFTEST0(nb_port_slot   ,uint32_t,argv,x);
+  SELFTEST0(have_port_write,bool    ,argv,x);
+  SELFTEST0(have_port_read ,bool    ,argv,x);
+
+  _param = new morpheo::behavioural::generic::queue::Parameters
+    (
+      size_queue
+     ,size_data 
+     ,nb_port_slot
+     ,have_port_write
+     ,have_port_read
+//   ,true
+     );
+  
+  // msg(_("%s"),_param.print(0).c_str());
+  
+  // Allocation component
+  allocation ();
+  
+#ifdef MTI_SYSTEMC
+  SC_THREAD(test);
+#endif
+}
+
+top::~top (void)
+{
+  deallocation ();
+  delete _param;
+}
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/SelfTest/src/top_allocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/SelfTest/src/top_allocation.cpp	(revision 113)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/SelfTest/src/top_allocation.cpp	(revision 113)
@@ -0,0 +1,101 @@
+/*
+ * $Id$
+ *
+ * [ Description ]
+ * 
+ * Test
+ */
+
+#include "Behavioural/Generic/Queue/SelfTest/include/top.h"
+#include "Behavioural/include/Allocation.h"
+
+void top::allocation (void)
+{
+  if (setlocale (LC_ALL, "") == NULL)
+    msgWarning(_("setlocale ko.\n"));
+
+  try 
+    {
+      _param->test();
+    }
+  catch (morpheo::ErrorMorpheo & error)
+    {
+      msgError(_("<%s> : %s"),name.c_str(),error.what());
+      return;
+    }
+  catch (...)
+    {
+      msgError(_("<%s> : This test must generate a error"),name.c_str());
+      exit (EXIT_FAILURE);
+    }
+
+  _usage = USE_ALL;
+//   _usage = usage_unset(_usage,USE_SYSTEMC              );
+//   _usage = usage_unset(_usage,USE_VHDL                 );
+//   _usage = usage_unset(_usage,USE_VHDL_TESTBENCH       );
+//   _usage = usage_unset(_usage,USE_VHDL_TESTBENCH_ASSERT);
+//   _usage = usage_unset(_usage,USE_POSITION             );
+//   _usage = usage_unset(_usage,USE_STATISTICS           );
+//   _usage = usage_unset(_usage,USE_INFORMATION          );
+
+#ifdef STATISTICS
+  if (usage_is_set(_usage,USE_STATISTICS))
+  _param_stat = new morpheo::behavioural::Parameters_Statistics (5,CYCLE_MAX);
+#endif
+
+  component = new Queue 
+    (name.c_str(),
+#ifdef STATISTICS
+     _param_stat,
+#endif
+     _param,
+     _usage
+     );
+  
+#ifdef SYSTEMC
+  if (usage_is_set(_usage,USE_SYSTEMC))
+    {
+  /*********************************************************************
+   * Déclarations des signaux
+   *********************************************************************/
+  msgInformation(_("<%s> : Create signal.\n"),name.c_str());
+
+  in_CLOCK  = new sc_clock ("clock", TIME_PERIOD, TIME_UNIT, 0.5); //name,period,time_unit,duty_cycle
+
+  ALLOC0_SC_SIGNAL( in_NRESET     ," in_NRESET"     ,Tcontrol_t);
+
+  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);
+  ALLOC0_SC_SIGNAL(out_PTR_WRITE  ,"out_PTR_WRITE"  ,Tptr_t    );
+  ALLOC0_SC_SIGNAL(out_PTR_READ   ,"out_PTR_READ"   ,Tptr_t    );
+  
+  /********************************************************
+   * Instanciation
+   ********************************************************/
+  
+  msgInformation(_("<%s> : Instanciation of _Queue.\n"),name.c_str());
+
+  INSTANCE0_SC_SIGNAL(component, in_CLOCK);
+  INSTANCE0_SC_SIGNAL(component, in_NRESET);
+
+  INSTANCE0_SC_SIGNAL(component, in_INSERT_VAL );
+  INSTANCE0_SC_SIGNAL(component,out_INSERT_ACK );
+  INSTANCE0_SC_SIGNAL(component, in_INSERT_DATA);
+  INSTANCE0_SC_SIGNAL(component,out_RETIRE_VAL );
+  INSTANCE0_SC_SIGNAL(component, in_RETIRE_ACK );
+  INSTANCE0_SC_SIGNAL(component,out_RETIRE_DATA);
+  INSTANCE1_SC_SIGNAL(component,out_SLOT_VAL   ,_param->_nb_port_slot);
+  INSTANCE1_SC_SIGNAL(component,out_SLOT_DATA  ,_param->_nb_port_slot);
+  if (_param->_have_port_ptr_write)
+  INSTANCE0_SC_SIGNAL(component,out_PTR_WRITE  );
+  if (_param->_have_port_ptr_read )
+  INSTANCE0_SC_SIGNAL(component,out_PTR_READ   );
+    }
+#endif
+}
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/SelfTest/src/top_deallocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/SelfTest/src/top_deallocation.cpp	(revision 113)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/SelfTest/src/top_deallocation.cpp	(revision 113)
@@ -0,0 +1,33 @@
+/*
+ * $Id$
+ *
+ * [ Description ]
+ * 
+ * Test
+ */
+#include "Behavioural/Generic/Queue/SelfTest/include/top.h"
+#include "Behavioural/include/Allocation.h"
+
+void top::deallocation (void)
+{
+#ifdef SYSTEMC
+  delete             in_CLOCK;
+  DELETE0_SC_SIGNAL( 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);
+  DELETE0_SC_SIGNAL(out_PTR_WRITE  );
+  DELETE0_SC_SIGNAL(out_PTR_READ   );
+#endif
+
+  delete component;
+#ifdef STATISTICS
+  delete _param_stat;
+#endif
+}
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/SelfTest/src/top_test.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/SelfTest/src/top_test.cpp	(revision 113)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/SelfTest/src/top_test.cpp	(revision 113)
@@ -0,0 +1,102 @@
+/*
+ * $Id$
+ *
+ * [ Description ]
+ * 
+ * Test
+ */
+
+#include "Behavioural/Generic/Queue/SelfTest/include/top.h"
+#include "Behavioural/include/Allocation.h"
+
+void top::test (void)
+{
+#ifdef SYSTEMC
+  if (usage_is_set(_usage,USE_SYSTEMC))
+    {
+      msgInformation(_("<%s> : Start Simulation ............\n"),name.c_str());
+      
+      Time * _time = new Time();
+      
+      /********************************************************
+       * Simulation - Begin
+       ********************************************************/
+      
+      // Initialisation
+      const  int32_t percent_insert_transaction = 75;
+      const  int32_t percent_retire_transaction = 75;
+      const uint32_t nb_request = 3*_param->_size_queue;
+      
+      const uint32_t seed = 0;
+      //const uint32_t seed = static_cast<uint32_t>(time(NULL));
+      
+      srand(seed);
+      
+      SC_CYCLE(0);
+      LABEL("Initialisation");
+      
+      in_INSERT_VAL -> write(0);
+      in_RETIRE_ACK -> write(0);
+      
+      LABEL("Reset");
+      in_NRESET->write(0);
+      SC_CYCLE(5);
+      in_NRESET->write(1);  
+      
+      LABEL("Loop of Test");
+      
+      uint32_t data_in  = 0;
+      uint32_t data_out = 0;
+      uint32_t nb_elt   = 0;
+      
+      for (uint32_t iteration=0; iteration<NB_ITERATION; iteration ++)
+        {
+          LABEL("Iteration %d",iteration);
+          
+          while (data_out <= nb_request)
+            {
+              in_INSERT_VAL  -> write((rand()%100)<percent_insert_transaction);
+              in_INSERT_DATA -> write(data_in);
+              in_RETIRE_ACK  -> write((rand()%100)<percent_retire_transaction);
+              
+              SC_CYCLE(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())
+                {
+                  LABEL ("Transaction with interface : RETIRE");
+                  TEST(Tdata_t, out_RETIRE_DATA->read(), data_out);
+                  data_out++;
+                  nb_elt --;
+                }
+              
+              SC_CYCLE(1);
+            }
+        }
+      
+      /********************************************************
+       * Simulation - End
+       ********************************************************/
+      
+      TEST_OK ("");
+      
+      sc_stop();
+      delete _time;
+      
+      msgInformation(_("<%s> : ............ Stop Simulation\n"),name.c_str());
+    }
+#endif
+}
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/SelfTest/src/top_usage.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/SelfTest/src/top_usage.cpp	(revision 113)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/SelfTest/src/top_usage.cpp	(revision 113)
@@ -0,0 +1,28 @@
+/*
+ * $Id$
+ *
+ * [ Description ]
+ * 
+ */
+
+#include "Behavioural/Generic/Queue/SelfTest/include/top.h"
+
+void top::usage 
+(
+#ifdef MTI_SYSTEMC
+ int argc, const char * const * argv
+#else
+ int argc, char * argv[]
+#endif
+ )
+{
+  msgError (_("<Usage> %s name_instance list_params.\n"),argv[0]);
+  msgError (_("list_params is :\n"));
+  msgError (_(" * size_queue      (uint32_t)\n"));
+  msgError (_(" * size_data       (uint32_t)\n"));
+  msgError (_(" * nb_port_slot    (uint32_t)\n"));
+  msgError (_(" * have_port_write (bool    )\n"));
+  msgError (_(" * have_port_read  (bool    )\n"));
+
+  exit (1);
+}
