Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/SelfTest/Makefile.mkf
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/SelfTest/Makefile.mkf	(revision 57)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/SelfTest/Makefile.mkf	(revision 57)
@@ -0,0 +1,180 @@
+#
+# Makefile generated by MKF configure script
+#
+
+all: Select_Priority_Fixed_0.ngc Select_Priority_Fixed_10.ngc Select_Priority_Fixed_11.ngc Select_Priority_Fixed_1.ngc Select_Priority_Fixed_2.ngc Select_Priority_Fixed_3.ngc Select_Priority_Fixed_4.ngc Select_Priority_Fixed_5.ngc Select_Priority_Fixed_6.ngc Select_Priority_Fixed_7.ngc Select_Priority_Fixed_8.ngc Select_Priority_Fixed_9.ngc
+
+Select_Priority_Fixed_0.ngc: Select_Priority_Fixed_0.prj
+	echo run -keep_hierarchy yes -iobuf no -top Select_Priority_Fixed_0 -ifn Select_Priority_Fixed_0.prj -ofn Select_Priority_Fixed_0.ngc -p xc5vlx330t-2ff1738 -ifmt mixed | xst
+
+Select_Priority_Fixed_0.prj: Select_Priority_Fixed_0_Pack.vhdl Select_Priority_Fixed_0.vhdl
+	for i in Select_Priority_Fixed_0_Pack.vhdl Select_Priority_Fixed_0.vhdl ; do echo "vhdl work $$i" ; done > Select_Priority_Fixed_0.prj
+
+Select_Priority_Fixed_0_Pack.vhdl:
+
+Select_Priority_Fixed_0.vhdl:
+
+Select_Priority_Fixed_10.ngc: Select_Priority_Fixed_10.prj
+	echo run -keep_hierarchy yes -iobuf no -top Select_Priority_Fixed_10 -ifn Select_Priority_Fixed_10.prj -ofn Select_Priority_Fixed_10.ngc -p xc5vlx330t-2ff1738 -ifmt mixed | xst
+
+Select_Priority_Fixed_10.prj: Select_Priority_Fixed_10_Pack.vhdl Select_Priority_Fixed_10.vhdl
+	for i in Select_Priority_Fixed_10_Pack.vhdl Select_Priority_Fixed_10.vhdl ; do echo "vhdl work $$i" ; done > Select_Priority_Fixed_10.prj
+
+Select_Priority_Fixed_10_Pack.vhdl:
+
+Select_Priority_Fixed_10.vhdl:
+
+Select_Priority_Fixed_11.ngc: Select_Priority_Fixed_11.prj
+	echo run -keep_hierarchy yes -iobuf no -top Select_Priority_Fixed_11 -ifn Select_Priority_Fixed_11.prj -ofn Select_Priority_Fixed_11.ngc -p xc5vlx330t-2ff1738 -ifmt mixed | xst
+
+Select_Priority_Fixed_11.prj: Select_Priority_Fixed_11_Pack.vhdl Select_Priority_Fixed_11.vhdl
+	for i in Select_Priority_Fixed_11_Pack.vhdl Select_Priority_Fixed_11.vhdl ; do echo "vhdl work $$i" ; done > Select_Priority_Fixed_11.prj
+
+Select_Priority_Fixed_11_Pack.vhdl:
+
+Select_Priority_Fixed_11.vhdl:
+
+Select_Priority_Fixed_1.ngc: Select_Priority_Fixed_1.prj
+	echo run -keep_hierarchy yes -iobuf no -top Select_Priority_Fixed_1 -ifn Select_Priority_Fixed_1.prj -ofn Select_Priority_Fixed_1.ngc -p xc5vlx330t-2ff1738 -ifmt mixed | xst
+
+Select_Priority_Fixed_1.prj: Select_Priority_Fixed_10_Pack.vhdl Select_Priority_Fixed_10.vhdl Select_Priority_Fixed_11_Pack.vhdl Select_Priority_Fixed_11.vhdl Select_Priority_Fixed_1_Pack.vhdl Select_Priority_Fixed_1.vhdl
+	for i in Select_Priority_Fixed_10_Pack.vhdl Select_Priority_Fixed_10.vhdl Select_Priority_Fixed_11_Pack.vhdl Select_Priority_Fixed_11.vhdl Select_Priority_Fixed_1_Pack.vhdl Select_Priority_Fixed_1.vhdl ; do echo "vhdl work $$i" ; done > Select_Priority_Fixed_1.prj
+
+Select_Priority_Fixed_1_Pack.vhdl:
+
+Select_Priority_Fixed_1.vhdl:
+
+Select_Priority_Fixed_2.ngc: Select_Priority_Fixed_2.prj
+	echo run -keep_hierarchy yes -iobuf no -top Select_Priority_Fixed_2 -ifn Select_Priority_Fixed_2.prj -ofn Select_Priority_Fixed_2.ngc -p xc5vlx330t-2ff1738 -ifmt mixed | xst
+
+Select_Priority_Fixed_2.prj: Select_Priority_Fixed_2_Pack.vhdl Select_Priority_Fixed_2.vhdl
+	for i in Select_Priority_Fixed_2_Pack.vhdl Select_Priority_Fixed_2.vhdl ; do echo "vhdl work $$i" ; done > Select_Priority_Fixed_2.prj
+
+Select_Priority_Fixed_2_Pack.vhdl:
+
+Select_Priority_Fixed_2.vhdl:
+
+Select_Priority_Fixed_3.ngc: Select_Priority_Fixed_3.prj
+	echo run -keep_hierarchy yes -iobuf no -top Select_Priority_Fixed_3 -ifn Select_Priority_Fixed_3.prj -ofn Select_Priority_Fixed_3.ngc -p xc5vlx330t-2ff1738 -ifmt mixed | xst
+
+Select_Priority_Fixed_3.prj: Select_Priority_Fixed_3_Pack.vhdl Select_Priority_Fixed_3.vhdl
+	for i in Select_Priority_Fixed_3_Pack.vhdl Select_Priority_Fixed_3.vhdl ; do echo "vhdl work $$i" ; done > Select_Priority_Fixed_3.prj
+
+Select_Priority_Fixed_3_Pack.vhdl:
+
+Select_Priority_Fixed_3.vhdl:
+
+Select_Priority_Fixed_4.ngc: Select_Priority_Fixed_4.prj
+	echo run -keep_hierarchy yes -iobuf no -top Select_Priority_Fixed_4 -ifn Select_Priority_Fixed_4.prj -ofn Select_Priority_Fixed_4.ngc -p xc5vlx330t-2ff1738 -ifmt mixed | xst
+
+Select_Priority_Fixed_4.prj: Select_Priority_Fixed_4_Pack.vhdl Select_Priority_Fixed_4.vhdl
+	for i in Select_Priority_Fixed_4_Pack.vhdl Select_Priority_Fixed_4.vhdl ; do echo "vhdl work $$i" ; done > Select_Priority_Fixed_4.prj
+
+Select_Priority_Fixed_4_Pack.vhdl:
+
+Select_Priority_Fixed_4.vhdl:
+
+Select_Priority_Fixed_5.ngc: Select_Priority_Fixed_5.prj
+	echo run -keep_hierarchy yes -iobuf no -top Select_Priority_Fixed_5 -ifn Select_Priority_Fixed_5.prj -ofn Select_Priority_Fixed_5.ngc -p xc5vlx330t-2ff1738 -ifmt mixed | xst
+
+Select_Priority_Fixed_5.prj: Select_Priority_Fixed_5_Pack.vhdl Select_Priority_Fixed_5.vhdl
+	for i in Select_Priority_Fixed_5_Pack.vhdl Select_Priority_Fixed_5.vhdl ; do echo "vhdl work $$i" ; done > Select_Priority_Fixed_5.prj
+
+Select_Priority_Fixed_5_Pack.vhdl:
+
+Select_Priority_Fixed_5.vhdl:
+
+Select_Priority_Fixed_6.ngc: Select_Priority_Fixed_6.prj
+	echo run -keep_hierarchy yes -iobuf no -top Select_Priority_Fixed_6 -ifn Select_Priority_Fixed_6.prj -ofn Select_Priority_Fixed_6.ngc -p xc5vlx330t-2ff1738 -ifmt mixed | xst
+
+Select_Priority_Fixed_6.prj: Select_Priority_Fixed_6_Pack.vhdl Select_Priority_Fixed_6.vhdl
+	for i in Select_Priority_Fixed_6_Pack.vhdl Select_Priority_Fixed_6.vhdl ; do echo "vhdl work $$i" ; done > Select_Priority_Fixed_6.prj
+
+Select_Priority_Fixed_6_Pack.vhdl:
+
+Select_Priority_Fixed_6.vhdl:
+
+Select_Priority_Fixed_7.ngc: Select_Priority_Fixed_7.prj
+	echo run -keep_hierarchy yes -iobuf no -top Select_Priority_Fixed_7 -ifn Select_Priority_Fixed_7.prj -ofn Select_Priority_Fixed_7.ngc -p xc5vlx330t-2ff1738 -ifmt mixed | xst
+
+Select_Priority_Fixed_7.prj: Select_Priority_Fixed_7_Pack.vhdl Select_Priority_Fixed_7.vhdl
+	for i in Select_Priority_Fixed_7_Pack.vhdl Select_Priority_Fixed_7.vhdl ; do echo "vhdl work $$i" ; done > Select_Priority_Fixed_7.prj
+
+Select_Priority_Fixed_7_Pack.vhdl:
+
+Select_Priority_Fixed_7.vhdl:
+
+Select_Priority_Fixed_8.ngc: Select_Priority_Fixed_8.prj
+	echo run -keep_hierarchy yes -iobuf no -top Select_Priority_Fixed_8 -ifn Select_Priority_Fixed_8.prj -ofn Select_Priority_Fixed_8.ngc -p xc5vlx330t-2ff1738 -ifmt mixed | xst
+
+Select_Priority_Fixed_8.prj: Select_Priority_Fixed_8_Pack.vhdl Select_Priority_Fixed_8.vhdl
+	for i in Select_Priority_Fixed_8_Pack.vhdl Select_Priority_Fixed_8.vhdl ; do echo "vhdl work $$i" ; done > Select_Priority_Fixed_8.prj
+
+Select_Priority_Fixed_8_Pack.vhdl:
+
+Select_Priority_Fixed_8.vhdl:
+
+Select_Priority_Fixed_9.ngc: Select_Priority_Fixed_9.prj
+	echo run -keep_hierarchy yes -iobuf no -top Select_Priority_Fixed_9 -ifn Select_Priority_Fixed_9.prj -ofn Select_Priority_Fixed_9.ngc -p xc5vlx330t-2ff1738 -ifmt mixed | xst
+
+Select_Priority_Fixed_9.prj: Select_Priority_Fixed_9_Pack.vhdl Select_Priority_Fixed_9.vhdl
+	for i in Select_Priority_Fixed_9_Pack.vhdl Select_Priority_Fixed_9.vhdl ; do echo "vhdl work $$i" ; done > Select_Priority_Fixed_9.prj
+
+Select_Priority_Fixed_9_Pack.vhdl:
+
+Select_Priority_Fixed_9.vhdl:
+
+clean:
+	rm -f Select_Priority_Fixed_0.ngc
+	rm -f Select_Priority_Fixed_0.lso
+	rm -f -r xst
+	rm -f Select_Priority_Fixed_0.prj
+	rm -f Select_Priority_Fixed_10.ngc
+	rm -f Select_Priority_Fixed_10.lso
+	rm -f -r xst
+	rm -f Select_Priority_Fixed_10.prj
+	rm -f Select_Priority_Fixed_11.ngc
+	rm -f Select_Priority_Fixed_11.lso
+	rm -f -r xst
+	rm -f Select_Priority_Fixed_11.prj
+	rm -f Select_Priority_Fixed_1.ngc
+	rm -f Select_Priority_Fixed_1.lso
+	rm -f -r xst
+	rm -f Select_Priority_Fixed_1.prj
+	rm -f Select_Priority_Fixed_2.ngc
+	rm -f Select_Priority_Fixed_2.lso
+	rm -f -r xst
+	rm -f Select_Priority_Fixed_2.prj
+	rm -f Select_Priority_Fixed_3.ngc
+	rm -f Select_Priority_Fixed_3.lso
+	rm -f -r xst
+	rm -f Select_Priority_Fixed_3.prj
+	rm -f Select_Priority_Fixed_4.ngc
+	rm -f Select_Priority_Fixed_4.lso
+	rm -f -r xst
+	rm -f Select_Priority_Fixed_4.prj
+	rm -f Select_Priority_Fixed_5.ngc
+	rm -f Select_Priority_Fixed_5.lso
+	rm -f -r xst
+	rm -f Select_Priority_Fixed_5.prj
+	rm -f Select_Priority_Fixed_6.ngc
+	rm -f Select_Priority_Fixed_6.lso
+	rm -f -r xst
+	rm -f Select_Priority_Fixed_6.prj
+	rm -f Select_Priority_Fixed_7.ngc
+	rm -f Select_Priority_Fixed_7.lso
+	rm -f -r xst
+	rm -f Select_Priority_Fixed_7.prj
+	rm -f Select_Priority_Fixed_8.ngc
+	rm -f Select_Priority_Fixed_8.lso
+	rm -f -r xst
+	rm -f Select_Priority_Fixed_8.prj
+	rm -f Select_Priority_Fixed_9.ngc
+	rm -f Select_Priority_Fixed_9.lso
+	rm -f -r xst
+	rm -f Select_Priority_Fixed_9.prj
+
+re: clean all
+
+install:
+
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/SelfTest/config_compact.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/SelfTest/config_compact.cfg	(revision 57)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/SelfTest/config_compact.cfg	(revision 57)
@@ -0,0 +1,4 @@
+Select_Priority_Fixed
+2	16	*2	# nb_entity
+0	0	+1	# encoding_one_hot
+1	1	+1	# encoding_compact
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/SelfTest/config_dual.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/SelfTest/config_dual.cfg	(revision 57)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/SelfTest/config_dual.cfg	(revision 57)
@@ -0,0 +1,4 @@
+Select_Priority_Fixed
+2	16	*2	# nb_entity
+1	1	+1	# encoding_one_hot
+1	1	+1	# encoding_compact
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/SelfTest/config_one_hot.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/SelfTest/config_one_hot.cfg	(revision 57)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/SelfTest/config_one_hot.cfg	(revision 57)
@@ -0,0 +1,4 @@
+Select_Priority_Fixed
+2	16	*2	# nb_entity
+1	1	+1	# encoding_one_hot
+0	0	+1	# encoding_compact
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/SelfTest/configuration.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/SelfTest/configuration.cfg	(revision 53)
+++ 	(revision )
@@ -1,4 +1,0 @@
-Select_Priority_Fixed
-2	16	*2	# nb_entity
-0	1	+1	# encoding_one_hot
-1	1	+1	# encoding_compact
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/SelfTest/include/test.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/SelfTest/include/test.h	(revision 53)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/SelfTest/include/test.h	(revision 57)
@@ -25,3 +25,3 @@
 
 void test    (string name,
-	      morpheo::behavioural::generic::select::select_priority_fixed::Parameters param);
+	      morpheo::behavioural::generic::select::select_priority_fixed::Parameters * param);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/SelfTest/mkf.info
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/SelfTest/mkf.info	(revision 53)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/SelfTest/mkf.info	(revision 57)
@@ -5,8 +5,18 @@
 target_dep	Select_Priority_Fixed_0.prj	Select_Priority_Fixed_0_Pack.vhdl Select_Priority_Fixed_0.vhdl
 
+# Select_Priority_Fixed_10
+target_dep	all	Select_Priority_Fixed_10.ngc
+target_dep	Select_Priority_Fixed_10.ngc	Select_Priority_Fixed_10.prj
+target_dep	Select_Priority_Fixed_10.prj	Select_Priority_Fixed_10_Pack.vhdl Select_Priority_Fixed_10.vhdl
+
+# Select_Priority_Fixed_11
+target_dep	all	Select_Priority_Fixed_11.ngc
+target_dep	Select_Priority_Fixed_11.ngc	Select_Priority_Fixed_11.prj
+target_dep	Select_Priority_Fixed_11.prj	Select_Priority_Fixed_11_Pack.vhdl Select_Priority_Fixed_11.vhdl
+
 # Select_Priority_Fixed_1
 target_dep	all	Select_Priority_Fixed_1.ngc
 target_dep	Select_Priority_Fixed_1.ngc	Select_Priority_Fixed_1.prj
-target_dep	Select_Priority_Fixed_1.prj	Select_Priority_Fixed_1_Pack.vhdl Select_Priority_Fixed_1.vhdl
+target_dep	Select_Priority_Fixed_1.prj	Select_Priority_Fixed_10_Pack.vhdl Select_Priority_Fixed_10.vhdl Select_Priority_Fixed_11_Pack.vhdl Select_Priority_Fixed_11.vhdl Select_Priority_Fixed_1_Pack.vhdl Select_Priority_Fixed_1.vhdl
 
 # Select_Priority_Fixed_2
@@ -40,2 +50,12 @@
 target_dep	Select_Priority_Fixed_7.prj	Select_Priority_Fixed_7_Pack.vhdl Select_Priority_Fixed_7.vhdl
 
+# Select_Priority_Fixed_8
+target_dep	all	Select_Priority_Fixed_8.ngc
+target_dep	Select_Priority_Fixed_8.ngc	Select_Priority_Fixed_8.prj
+target_dep	Select_Priority_Fixed_8.prj	Select_Priority_Fixed_8_Pack.vhdl Select_Priority_Fixed_8.vhdl
+
+# Select_Priority_Fixed_9
+target_dep	all	Select_Priority_Fixed_9.ngc
+target_dep	Select_Priority_Fixed_9.ngc	Select_Priority_Fixed_9.prj
+target_dep	Select_Priority_Fixed_9.prj	Select_Priority_Fixed_9_Pack.vhdl Select_Priority_Fixed_9.vhdl
+
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/SelfTest/src/main.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/SelfTest/src/main.cpp	(revision 53)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/SelfTest/src/main.cpp	(revision 57)
@@ -42,9 +42,10 @@
   try 
     {
-      morpheo::behavioural::generic::select::select_priority_fixed::Parameters param (nb_entity       ,
-									       encoding_one_hot,
-									       encoding_compact);
+      morpheo::behavioural::generic::select::select_priority_fixed::Parameters * param = new morpheo::behavioural::generic::select::select_priority_fixed::Parameters
+	(nb_entity       ,
+	 encoding_one_hot,
+	 encoding_compact);
       
-      cout << param.print(1);
+      cout << param->print(1);
       
       test (name,param);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/SelfTest/src/test.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/SelfTest/src/test.cpp	(revision 53)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/SelfTest/src/test.cpp	(revision 57)
@@ -13,11 +13,15 @@
 
 void test (string name,
-	   morpheo::behavioural::generic::select::select_priority_fixed::Parameters _param)
+	   morpheo::behavioural::generic::select::select_priority_fixed::Parameters * _param)
 {
   cout << "<" << name << "> : Simulation SystemC" << endl;
 
+
+#ifdef STATISTICS
+  morpheo::behavioural::Parameters_Statistics * _param_stat = new morpheo::behavioural::Parameters_Statistics (5,50);
+#endif
   Select_Priority_Fixed * _Select_Priority_Fixed = new Select_Priority_Fixed (name.c_str(),
 #ifdef STATISTICS
-									      morpheo::behavioural::Parameters_Statistics(5,50),
+									      _param_stat,
 #endif
 									      _param);
@@ -38,8 +42,8 @@
   CLOCK        = new sc_clock ("clock", 1.0, 0.5);
   NRESET       = new sc_signal<Tcontrol_t> ("NRESET");
-  VAL          = new sc_signal<Tcontrol_t> * [_param._nb_entity];
-  ACK          = new sc_signal<Tcontrol_t> * [_param._nb_entity];
+  VAL          = new sc_signal<Tcontrol_t> * [_param->_nb_entity];
+  ACK          = new sc_signal<Tcontrol_t> * [_param->_nb_entity];
 
-  for (uint32_t i=0; i<_param._nb_entity; i++)
+  for (uint32_t i=0; i<_param->_nb_entity; i++)
     {
       rename = "VAL_"+toString(i);
@@ -61,11 +65,11 @@
   (*(_Select_Priority_Fixed->in_NRESET))       (*(NRESET));
 
-    for (uint32_t i=0; i<_param._nb_entity; i++)
+    for (uint32_t i=0; i<_param->_nb_entity; i++)
       {
 	(*(_Select_Priority_Fixed-> in_VAL [i]))        (*(VAL [i]));
-	if (_param._encoding_one_hot)
+	if (_param->_encoding_one_hot)
 	(*(_Select_Priority_Fixed->out_ACK [i]))        (*(ACK [i]));
       }
-    if (_param._encoding_compact)
+    if (_param->_encoding_compact)
       {
     (*(_Select_Priority_Fixed->out_ENTITY    ))        (*(ENTITY    ));
@@ -78,5 +82,5 @@
   cout << "<" << name << "> Start Simulation ............" << endl;
 
-  if (_param._nb_entity > (8*sizeof (Tentity_t)))
+  if (_param->_nb_entity > (8*sizeof (Tentity_t)))
     throw ErrorMorpheo("No Selftest with nb_entity higher at "+toString(8*sizeof (Tentity_t)));
 
@@ -99,5 +103,5 @@
       bool find = false;
       
-      for (uint32_t i=0; i<_param._nb_entity; i++)
+      for (uint32_t i=0; i<_param->_nb_entity; i++)
 	{
 	  Tcontrol_t val = rand() % 2;
@@ -118,7 +122,7 @@
       entity = (find)?entity:0;
 
-      if (_param._encoding_one_hot)
+      if (_param->_encoding_one_hot)
 	TEST(Tcontrol_t, ACK   [entity]->read(), find  );
-      if (_param._encoding_compact)
+      if (_param->_encoding_compact)
 	{
 	TEST(Tentity_t , ENTITY        ->read(), entity); // burk
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/include/Select_Priority_Fixed.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/include/Select_Priority_Fixed.h	(revision 53)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/include/Select_Priority_Fixed.h	(revision 57)
@@ -26,4 +26,5 @@
 #include "Behavioural/include/Vhdl.h"
 #endif
+#include "Behavioural/include/Usage.h"
 
 using namespace std;
@@ -44,6 +45,6 @@
     // Parameters
   protected : const string     _name;
-
-  protected : const Parameters _param;
+  protected : const Parameters * _param;
+  private   : const Tusage_t     _usage;
 //#ifdef STATISTICS
 //  protected : const morpheo::behavioural::Parameters_Statistics _param_statistics;
@@ -54,5 +55,5 @@
 #endif
 
-  private   : Component                      * _component;
+  public    : Component                      * _component;
   private   : Interfaces                     * _interfaces;
 
@@ -81,16 +82,17 @@
     SC_HAS_PROCESS (Select_Priority_Fixed);
 #endif
-  public  :          Select_Priority_Fixed              (
+  public  :          Select_Priority_Fixed 
+  (
 #ifdef SYSTEMC
-					      sc_module_name                              name,
+   sc_module_name                              name,
 #else					       
-					      string                                      name,
+   string                                      name,
 #endif					       
 #ifdef STATISTICS
-					      morpheo::behavioural::Parameters_Statistics param_statistics,
+   morpheo::behavioural::Parameters_Statistics * param_statistics,
 #endif
-					      Parameters                                  param );
-					       
-  public  :          Select_Priority_Fixed              (Parameters param );
+   Parameters                                  * param ,
+   morpheo::behavioural::Tusage_t                usage=USE_ALL);
+    
   public  :          ~Select_Priority_Fixed             (void);
 					       
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/include/Statistics.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/include/Statistics.h	(revision 53)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/include/Statistics.h	(revision 57)
@@ -28,10 +28,10 @@
   {
     // -----[ fields ]----------------------------------------------------
-  private  : const Parameters                                   _parameters;
+  private  : const Parameters                                 * _parameters;
 
     // -----[ methods ]---------------------------------------------------
   public   : Statistics  (string                                      name                       ,
-			  morpheo::behavioural::Parameters_Statistics parameters_statistics      ,
-			  Parameters                                  parameters
+			  morpheo::behavioural::Parameters_Statistics * parameters_statistics      ,
+			  Parameters                                  * parameters
 			  );
 //public   : Statistics  (Statistics & stat);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/include/Types.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/include/Types.h	(revision 53)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/include/Types.h	(revision 57)
@@ -9,5 +9,5 @@
  */
 
-#include "Common/include/Types.h"
+#include "Behavioural/include/Types.h"
 
 namespace morpheo                    {
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed.cpp	(revision 53)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed.cpp	(revision 57)
@@ -15,15 +15,19 @@
 
 
+  Select_Priority_Fixed::Select_Priority_Fixed 
+  (
 #ifdef SYSTEMC
-  Select_Priority_Fixed::Select_Priority_Fixed (sc_module_name name,
+   sc_module_name name,
 #else
-  Select_Priority_Fixed::Select_Priority_Fixed (string name,
+   string name,
 #endif
 #ifdef STATISTICS
-			      morpheo::behavioural::Parameters_Statistics             param_statistics,
+   morpheo::behavioural::Parameters_Statistics           *  param_statistics,
 #endif
-			      morpheo::behavioural::generic::select::select_priority_fixed::Parameters param ):
-			      _name              (name)
-			      ,_param            (param)
+   morpheo::behavioural::generic::select::select_priority_fixed::Parameters * param,
+   morpheo::behavioural::Tusage_t usage ):
+    _name              (name),
+    _param            (param),
+    _usage            (usage)
 // #ifdef STATISTICS
 // 			      ,_param_statistics (param_statistics)
@@ -32,9 +36,6 @@
     log_printf(FUNC,Select_Priority_Fixed,"Select_Priority_Fixed","Begin");
 
-#ifdef SYSTEMC
     log_printf(INFO,Select_Priority_Fixed,"Select_Priority_Fixed","Allocation");
-
     allocation ();
-#endif
 
 #ifdef STATISTICS
@@ -55,35 +56,38 @@
 
 #ifdef SYSTEMC
-#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
-    log_printf(INFO,Select_Priority_Fixed,"Select_Priority_Fixed","Method - transition");
-
-    SC_METHOD (transition);
-    dont_initialize ();
-    sensitive_pos << *(in_CLOCK);
-#endif
-
-    log_printf(INFO,Select_Priority_Fixed,"Select_Priority_Fixed","Method - genMealy_entity");
-
-    SC_METHOD (genMealy_entity);
-    dont_initialize ();
-    //sensitive_pos << *(in_CLOCK);
-    for (uint32_t i=0; i<_param._nb_entity; i++)
-      sensitive << *(in_VAL [i]);
-
+    if (_usage & USE_SYSTEMC)
+      {
+#  if defined(STATISTICS) or defined(VHDL_TESTBENCH)
+	log_printf(INFO,Select_Priority_Fixed,"Select_Priority_Fixed","Method - transition");
+	
+	SC_METHOD (transition);
+	dont_initialize ();
+	sensitive_pos << *(in_CLOCK);
+#  endif
+	
+	log_printf(INFO,Select_Priority_Fixed,"Select_Priority_Fixed","Method - genMealy_entity");
+	
+	SC_METHOD (genMealy_entity);
+	dont_initialize ();
+	//sensitive_pos << *(in_CLOCK);
+	for (uint32_t i=0; i<_param->_nb_entity; i++)
+	  sensitive << *(in_VAL [i]);
+	
 #  ifdef SYSTEMCASS_SPECIFIC
-    // List dependency information
-
-    for (uint32_t i=0; i<_param._nb_entity; i++)
-      {
-	if (_param._encoding_one_hot)
-	  (*(out_ACK    [i])) (*(in_VAL [i]));
-	if (_param._encoding_compact)
+	// List dependency information
+	
+	for (uint32_t i=0; i<_param->_nb_entity; i++)
 	  {
-	  (*(out_ENTITY    )) (*(in_VAL [i]));
-	  (*(out_ENTITY_ACK)) (*(in_VAL [i]));
+	    if (_param->_encoding_one_hot)
+	      (*(out_ACK    [i])) (*(in_VAL [i]));
+	    if (_param->_encoding_compact)
+	      {
+		(*(out_ENTITY    )) (*(in_VAL [i]));
+		(*(out_ENTITY_ACK)) (*(in_VAL [i]));
+	      }
 	  }
+	
+#  endif
       }
-    
-#  endif    
 #endif
     log_printf(FUNC,Select_Priority_Fixed,"Select_Priority_Fixed","End");
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed_allocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed_allocation.cpp	(revision 53)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed_allocation.cpp	(revision 57)
@@ -19,9 +19,9 @@
     log_printf(FUNC,Select_Priority_Fixed,"allocation","Begin");
 
-    _component   = new Component ();
+    _component   = new Component (_usage);
 
     Entity * entity = _component->set_entity (_name                 
+					     ,"Select_Priority_Fixed"
 #ifdef POSITION
-					     ,"Select_Priority_Fixed"
 					     ,COMBINATORY            
 #endif
@@ -41,19 +41,20 @@
 
      in_CLOCK        = interface->set_signal_clk              ("clock" ,1, CLOCK_VHDL_NO);
-     in_NRESET       = interface->set_signal_in  <Tcontrol_t> ("nreset",1);
-     in_VAL          = new SC_IN (Tcontrol_t)           * [_param._nb_entity];
-    if (_param._encoding_one_hot)
-    out_ACK          = new SC_OUT(Tcontrol_t)           * [_param._nb_entity];
+     in_NRESET       = interface->set_signal_in  <Tcontrol_t> ("nreset",1, RESET_VHDL_NO);
 
-    for (uint32_t i=0; i<_param._nb_entity; i++)
+     in_VAL          = new SC_IN (Tcontrol_t)           * [_param->_nb_entity];
+    if (_param->_encoding_one_hot)
+    out_ACK          = new SC_OUT(Tcontrol_t)           * [_param->_nb_entity];
+
+    for (uint32_t i=0; i<_param->_nb_entity; i++)
       {
 	 in_VAL [i]    = interface->set_signal_in  <Tcontrol_t> ("val_"+toString(i),1);
-	if (_param._encoding_one_hot)
+	if (_param->_encoding_one_hot)
 	out_ACK [i]    = interface->set_signal_out <Tcontrol_t> ("ack_"+toString(i),1);
       }
 
-    if (_param._encoding_compact)
+    if (_param->_encoding_compact)
       {
-	out_ENTITY     = interface->set_signal_out <Tentity_t > ("entity"    , _param._size_entity);
+	out_ENTITY     = interface->set_signal_out <Tentity_t > ("entity"    , _param->_size_entity);
 	out_ENTITY_ACK = interface->set_signal_out <Tcontrol_t> ("entity_ack", 1);
       }
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed_deallocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed_deallocation.cpp	(revision 53)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed_deallocation.cpp	(revision 57)
@@ -20,18 +20,21 @@
     log_printf(FUNC,Select_Priority_Fixed,"deallocation","Begin");
 
-    delete     in_CLOCK;
-    delete     in_NRESET;
-
-    delete []  in_VAL;
-    if (_param._encoding_one_hot)
-    delete [] out_ACK;
-
-    if (_param._encoding_compact)
+    if (_usage & USE_SYSTEMC)
       {
-    delete    out_ENTITY;
-    delete    out_ENTITY_ACK;
+	delete     in_CLOCK;
+	delete     in_NRESET;
+	
+	delete []  in_VAL;
+	if (_param->_encoding_one_hot)
+	  delete [] out_ACK;
+	
+	if (_param->_encoding_compact)
+	  {
+	    delete    out_ENTITY;
+	    delete    out_ENTITY_ACK;
+	  }
       }
     // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    
-
+    
     delete _component;
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed_genMealy_entity.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed_genMealy_entity.cpp	(revision 53)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed_genMealy_entity.cpp	(revision 57)
@@ -22,19 +22,19 @@
     // init 
       
-    Tcontrol_t ack [_param._nb_entity];
+    Tcontrol_t ack [_param->_nb_entity];
     bool       find  = false;
     Tentity_t  entity;
 
-    if (_param._encoding_one_hot)
-    for (uint32_t i=0; i<_param._nb_entity; i++)
+    if (_param->_encoding_one_hot)
+    for (uint32_t i=0; i<_param->_nb_entity; i++)
       ack [i] = 0;
 
     log_printf(TRACE,Select_Priority_Fixed,"genMealy_entity","Scearch...");
-    for (entity=0; entity<_param._nb_entity; entity++)
+    for (entity=0; entity<_param->_nb_entity; entity++)
       {
 	if (PORT_READ(in_VAL [entity]) == 1)
 	  {
 	    log_printf(TRACE,Select_Priority_Fixed,"genMealy_entity","Find! entity %d",entity);
-	    if (_param._encoding_one_hot)
+	    if (_param->_encoding_one_hot)
 	      ack [entity] = 1;
 	    find = true;
@@ -44,9 +44,9 @@
       
     // Write port
-    if (_param._encoding_one_hot)
-      for (uint32_t i=0; i<_param._nb_entity; i++)
+    if (_param->_encoding_one_hot)
+      for (uint32_t i=0; i<_param->_nb_entity; i++)
 	PORT_WRITE(out_ACK [i], ack [i]);
 
-    if (_param._encoding_compact)
+    if (_param->_encoding_compact)
       {
 	PORT_WRITE(out_ENTITY    , (find==true)?entity:0);  
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed_vhdl_body.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed_vhdl_body.cpp	(revision 53)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed_vhdl_body.cpp	(revision 57)
@@ -22,22 +22,22 @@
 
     vhdl->set_body("internal_entity <=");
-    for (uint32_t i=0; i<_param._nb_entity; i++)
+    for (uint32_t i=0; i<_param->_nb_entity; i++)
       {
-	vhdl->set_body("\t"+std_logic_conv(_param._size_entity+1,i)+" when in_VAL_"+toString(i)+"='1' else");
+	vhdl->set_body("\t"+std_logic_conv(_param->_size_entity+1,i)+" when in_VAL_"+toString(i)+"='1' else");
       }
-    vhdl->set_body("\t"+std_logic_conv(_param._size_entity+1,1<<_param._size_entity)+";");
+    vhdl->set_body("\t"+std_logic_conv(_param->_size_entity+1,1<<_param->_size_entity)+";");
     vhdl->set_body ("");
 
-    if (_param._encoding_one_hot)
+    if (_param->_encoding_one_hot)
       {
-	for (uint32_t i=0; i<_param._nb_entity; i++)
-	  vhdl->set_body("out_ACK_"+toString(i)+" <= '1' when internal_entity"+std_logic_range(_param._size_entity+1)+" = "+std_logic_conv(_param._size_entity+1,i)+" else '0';");
+	for (uint32_t i=0; i<_param->_nb_entity; i++)
+	  vhdl->set_body("out_ACK_"+toString(i)+" <= '1' when internal_entity"+std_logic_range(_param->_size_entity+1)+" = "+std_logic_conv(_param->_size_entity+1,i)+" else '0';");
 	vhdl->set_body ("");
       }
 
-    if (_param._encoding_compact)
+    if (_param->_encoding_compact)
       {
-	vhdl->set_body ("out_ENTITY     <=     internal_entity"+std_logic_range(_param._size_entity-1,                  0)+";");
-	vhdl->set_body ("out_ENTITY_ACK <= not internal_entity"+std_logic_range(_param._size_entity  ,_param._size_entity)+";");
+	vhdl->set_body ("out_ENTITY     <=     internal_entity"+std_logic_range(_param->_size_entity-1,                  0)+";");
+	vhdl->set_body ("out_ENTITY_ACK <= not internal_entity"+std_logic_range(_param->_size_entity  ,_param->_size_entity)+";");
       }	   
     
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed_vhdl_declaration.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed_vhdl_declaration.cpp	(revision 53)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed_vhdl_declaration.cpp	(revision 57)
@@ -20,5 +20,5 @@
     log_printf(FUNC,Select_Priority_Fixed,"vhdl_declaration","Begin");
 
-    vhdl->set_signal("internal_entity",_param._size_entity+1);
+    vhdl->set_signal("internal_entity",_param->_size_entity+1);
 
     log_printf(FUNC,Select_Priority_Fixed,"vhdl_declaration","End");
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Statistics.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Statistics.cpp	(revision 53)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Statistics.cpp	(revision 57)
@@ -17,6 +17,6 @@
 
   Statistics::Statistics (string                                      name                       ,
-			  morpheo::behavioural::Parameters_Statistics parameters_statistics      ,
-			  Parameters                                  parameters
+			  morpheo::behavioural::Parameters_Statistics * parameters_statistics      ,
+			  Parameters                                  * parameters
 			  ) :
     morpheo::behavioural::Statistics(name                  ,
