Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/include/Parameters.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/include/Parameters.h	(revision 132)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/include/Parameters.h	(revision 137)
@@ -22,7 +22,7 @@
   {
     //-----[ fields ]------------------------------------------------------------
-  public : const uint32_t _size_data;
-  public : const uint32_t _nb_port  ;
-  public : const uint32_t _data_max ;
+  public : uint32_t _size_data;
+  public : uint32_t _nb_port  ;
+  public : uint32_t _data_max ;
 
     //-----[ methods ]-----------------------------------------------------------
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/src/Parameters.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/src/Parameters.cpp	(revision 132)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Counter/src/Parameters.cpp	(revision 137)
@@ -16,10 +16,12 @@
   Parameters::Parameters (uint32_t size_data,
 			  uint32_t nb_port  ):
-    behavioural::Parameters("Counter"),
-    _size_data(size_data),
-    _nb_port  (nb_port  ),
-    _data_max ((1<<size_data)-1)
+    behavioural::Parameters("Counter")
   {
     log_printf(FUNC,Counter,"Parameters","Begin");
+
+    _size_data = size_data;
+    _nb_port   = nb_port  ;
+    _data_max  = (1<<size_data)-1;
+
     test();
     log_printf(FUNC,Counter,"Parameters","End");
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/SelfTest/mkf.info
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/SelfTest/mkf.info	(revision 132)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/SelfTest/mkf.info	(revision 137)
@@ -1,101 +1,21 @@
 
-# Queue_00
-target_dep	all	Queue_00.ngc
-target_dep	Queue_00.ngc	Queue_00.prj
-target_dep	Queue_00.prj	Queue_00_Pack.vhdl Queue_00.vhdl
+# Queue_0
+target_dep	all	Queue_0.ngc
+target_dep	Queue_0.ngc	Queue_0.prj
+target_dep	Queue_0.prj	Queue_0_Pack.vhdl Queue_0.vhdl
 
-# Queue_01
-target_dep	all	Queue_01.ngc
-target_dep	Queue_01.ngc	Queue_01.prj
-target_dep	Queue_01.prj	Queue_01_Pack.vhdl Queue_01.vhdl
+# Queue_1
+target_dep	all	Queue_1.ngc
+target_dep	Queue_1.ngc	Queue_1.prj
+target_dep	Queue_1.prj	Queue_1_Pack.vhdl Queue_1.vhdl
 
-# Queue_02
-target_dep	all	Queue_02.ngc
-target_dep	Queue_02.ngc	Queue_02.prj
-target_dep	Queue_02.prj	Queue_02_Pack.vhdl Queue_02.vhdl
+# Queue_2
+target_dep	all	Queue_2.ngc
+target_dep	Queue_2.ngc	Queue_2.prj
+target_dep	Queue_2.prj	Queue_2_Pack.vhdl Queue_2.vhdl
 
-# Queue_03
-target_dep	all	Queue_03.ngc
-target_dep	Queue_03.ngc	Queue_03.prj
-target_dep	Queue_03.prj	Queue_03_Pack.vhdl Queue_03.vhdl
+# Queue_3
+target_dep	all	Queue_3.ngc
+target_dep	Queue_3.ngc	Queue_3.prj
+target_dep	Queue_3.prj	Queue_3_Pack.vhdl Queue_3.vhdl
 
-# Queue_04
-target_dep	all	Queue_04.ngc
-target_dep	Queue_04.ngc	Queue_04.prj
-target_dep	Queue_04.prj	Queue_04_Pack.vhdl Queue_04.vhdl
-
-# Queue_05
-target_dep	all	Queue_05.ngc
-target_dep	Queue_05.ngc	Queue_05.prj
-target_dep	Queue_05.prj	Queue_05_Pack.vhdl Queue_05.vhdl
-
-# Queue_06
-target_dep	all	Queue_06.ngc
-target_dep	Queue_06.ngc	Queue_06.prj
-target_dep	Queue_06.prj	Queue_06_Pack.vhdl Queue_06.vhdl
-
-# Queue_07
-target_dep	all	Queue_07.ngc
-target_dep	Queue_07.ngc	Queue_07.prj
-target_dep	Queue_07.prj	Queue_07_Pack.vhdl Queue_07.vhdl
-
-# Queue_08
-target_dep	all	Queue_08.ngc
-target_dep	Queue_08.ngc	Queue_08.prj
-target_dep	Queue_08.prj	Queue_08_Pack.vhdl Queue_08.vhdl
-
-# Queue_09
-target_dep	all	Queue_09.ngc
-target_dep	Queue_09.ngc	Queue_09.prj
-target_dep	Queue_09.prj	Queue_09_Pack.vhdl Queue_09.vhdl
-
-# Queue_10
-target_dep	all	Queue_10.ngc
-target_dep	Queue_10.ngc	Queue_10.prj
-target_dep	Queue_10.prj	Queue_10_Pack.vhdl Queue_10.vhdl
-
-# Queue_11
-target_dep	all	Queue_11.ngc
-target_dep	Queue_11.ngc	Queue_11.prj
-target_dep	Queue_11.prj	Queue_11_Pack.vhdl Queue_11.vhdl
-
-# Queue_12
-target_dep	all	Queue_12.ngc
-target_dep	Queue_12.ngc	Queue_12.prj
-target_dep	Queue_12.prj	Queue_12_Pack.vhdl Queue_12.vhdl
-
-# Queue_13
-target_dep	all	Queue_13.ngc
-target_dep	Queue_13.ngc	Queue_13.prj
-target_dep	Queue_13.prj	Queue_13_Pack.vhdl Queue_13.vhdl
-
-# Queue_14
-target_dep	all	Queue_14.ngc
-target_dep	Queue_14.ngc	Queue_14.prj
-target_dep	Queue_14.prj	Queue_14_Pack.vhdl Queue_14.vhdl
-
-# Queue_15
-target_dep	all	Queue_15.ngc
-target_dep	Queue_15.ngc	Queue_15.prj
-target_dep	Queue_15.prj	Queue_15_Pack.vhdl Queue_15.vhdl
-
-# Queue_16
-target_dep	all	Queue_16.ngc
-target_dep	Queue_16.ngc	Queue_16.prj
-target_dep	Queue_16.prj	Queue_16_Pack.vhdl Queue_16.vhdl
-
-# Queue_17
-target_dep	all	Queue_17.ngc
-target_dep	Queue_17.ngc	Queue_17.prj
-target_dep	Queue_17.prj	Queue_17_Pack.vhdl Queue_17.vhdl
-
-# Queue_18
-target_dep	all	Queue_18.ngc
-target_dep	Queue_18.ngc	Queue_18.prj
-target_dep	Queue_18.prj	Queue_18_Pack.vhdl Queue_18.vhdl
-
-# Queue_19
-target_dep	all	Queue_19.ngc
-target_dep	Queue_19.ngc	Queue_19.prj
-target_dep	Queue_19.prj	Queue_19_Pack.vhdl Queue_19.vhdl
-
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 132)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/SelfTest/src/top_allocation.cpp	(revision 137)
@@ -31,5 +31,5 @@
 
   _usage = USE_ALL;
-//   _usage = usage_unset(_usage,USE_SYSTEMC              );
+  _usage = usage_unset(_usage,USE_SYSTEMC              );
 //   _usage = usage_unset(_usage,USE_VHDL                 );
 //   _usage = usage_unset(_usage,USE_VHDL_TESTBENCH       );
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/include/Parameters.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/include/Parameters.h	(revision 132)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/include/Parameters.h	(revision 137)
@@ -22,12 +22,12 @@
   {
     //-----[ fields ]------------------------------------------------------------
-  public : const uint32_t _size_queue         ;
-  public : const uint32_t _size_data          ;
-  public : const uint32_t _nb_port_slot       ;
-  public : const bool     _have_port_ptr_write;
-  public : const bool     _have_port_ptr_read ;
+  public : uint32_t _size_queue         ;
+  public : uint32_t _size_data          ;
+  public : uint32_t _nb_port_slot       ;
+  public : bool     _have_port_ptr_write;
+  public : bool     _have_port_ptr_read ;
 
-  public : const uint32_t _size_ptr           ;
-  public : const bool     _have_port_ptr      ;
+  public : uint32_t _size_ptr           ;
+  public : bool     _have_port_ptr      ;
 
     //-----[ methods ]-----------------------------------------------------------
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Parameters.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Parameters.cpp	(revision 132)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue/src/Parameters.cpp	(revision 137)
@@ -21,14 +21,17 @@
                           bool     have_port_ptr_write,
                           bool     have_port_ptr_read ):
-    behavioural::Parameters("Queue"),
-    _size_queue          (size_queue),
-    _size_data           (size_data ),
-    _nb_port_slot        (nb_port_slot),
-    _have_port_ptr_write (have_port_ptr_write and (log2(size_queue)>0)),
-    _have_port_ptr_read  (have_port_ptr_read  and (log2(size_queue)>0)),
-    _size_ptr            (log2(size_queue)),
-    _have_port_ptr       (have_port_ptr_write or have_port_ptr_read)
+    behavioural::Parameters("Queue")
   {
     log_printf(FUNC,Queue,FUNCTION,"Begin");
+
+    _size_queue          = size_queue;
+    _size_data           = size_data ;
+    _nb_port_slot        = nb_port_slot;
+    _have_port_ptr_write = have_port_ptr_write and (log2(size_queue)>0);
+    _have_port_ptr_read  = have_port_ptr_read  and (log2(size_queue)>0);
+
+    _size_ptr            = log2(size_queue);
+    _have_port_ptr       = have_port_ptr_write or have_port_ptr_read;
+
     test();
     log_printf(FUNC,Queue,FUNCTION,"End");
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/SelfTest/mkf.info
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/SelfTest/mkf.info	(revision 137)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/SelfTest/mkf.info	(revision 137)
@@ -0,0 +1,11 @@
+
+# RegisterFile_Monolithic_0
+target_dep	all	RegisterFile_Monolithic_0.ngc
+target_dep	RegisterFile_Monolithic_0.ngc	RegisterFile_Monolithic_0.prj
+target_dep	RegisterFile_Monolithic_0.prj	RegisterFile_Monolithic_0_Pack.vhdl RegisterFile_Monolithic_0.vhdl
+
+# RegisterFile_Monolithic_1
+target_dep	all	RegisterFile_Monolithic_1.ngc
+target_dep	RegisterFile_Monolithic_1.ngc	RegisterFile_Monolithic_1.prj
+target_dep	RegisterFile_Monolithic_1.prj	RegisterFile_Monolithic_1_Pack.vhdl RegisterFile_Monolithic_1.vhdl
+
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/Parameters.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/Parameters.h	(revision 132)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/Parameters.h	(revision 137)
@@ -21,13 +21,14 @@
   class Parameters : public morpheo::behavioural::Parameters
   {
-  public : const uint32_t    _nb_port_read ;
-  public : const uint32_t    _nb_port_write;
-  public : const uint32_t    _nb_port_read_write;
-  public : const uint32_t    _nb_word      ;
-  public : const uint32_t    _size_word    ;
-  public : const uint32_t    _size_address ;
-  public : const bool        _have_port_address;
-  public : const bool        _have_init_value;
-  public : const std::string _init_value;
+  public : uint32_t    _nb_port_read ;
+  public : uint32_t    _nb_port_write;
+  public : uint32_t    _nb_port_read_write;
+  public : uint32_t    _nb_word      ;
+  public : uint32_t    _size_word    ;
+  public : std::string _init_value   ;
+
+  public : uint32_t    _size_address ;
+  public : bool        _have_port_address;
+  public : bool        _have_init_value;
 
   public : Parameters (uint32_t    nb_port_read ,
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/Parameters.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/Parameters.cpp	(revision 132)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/src/Parameters.cpp	(revision 137)
@@ -7,4 +7,5 @@
 
 #include "Behavioural/Generic/RegisterFile/RegisterFile_Monolithic/include/Parameters.h"
+#include "Common/include/Log2.h"
 
 namespace morpheo                    {
@@ -20,15 +21,17 @@
 			  uint32_t    size_word    ,
                           std::string init_value
-			  ) :
-    _nb_port_read      (nb_port_read ),
-    _nb_port_write     (nb_port_write),
-    _nb_port_read_write(nb_port_read_write),
-    _nb_word           (nb_word      ),
-    _size_word         (size_word    ),
-    _size_address      (static_cast<uint32_t>(log2(_nb_word))),
-    _have_port_address (_size_address != 0),
-    _have_init_value   (init_value != ""),
-    _init_value        (init_value)
+			  )
   { 
+    _nb_port_read       = nb_port_read ;
+    _nb_port_write      = nb_port_write;
+    _nb_port_read_write = nb_port_read_write;
+    _nb_word            = nb_word      ;
+    _size_word          = size_word    ;
+    _init_value         = init_value   ;
+
+    _size_address       = log2(_nb_word);
+    _have_port_address  = _size_address != 0;
+    _have_init_value    = init_value != "";
+
     test();
   };
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/16x_1r_1w.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/16x_1r_1w.cfg	(revision 137)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/16x_1r_1w.cfg	(revision 137)
@@ -0,0 +1,9 @@
+RegisterFile_Multi_Banked
+12	12	*2	# nb_port_read
+6	6	*2	# nb_port_write
+256	256	+1	# nb_word
+32	32	*2 	# size_word
+16	16	*2	# nb_bank
+1  	1   	*2	# nb_port_read_by_bank
+1 	1	*2	# nb_port_write_by_bank
+0	0	+1	# crossbar
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/16x_2r_1w.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/16x_2r_1w.cfg	(revision 137)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/16x_2r_1w.cfg	(revision 137)
@@ -0,0 +1,9 @@
+RegisterFile_Multi_Banked
+12	12	*2	# nb_port_read
+6	6	*2	# nb_port_write
+256	256	+1	# nb_word
+32	32	*2 	# size_word
+16	16	*2	# nb_bank
+2  	2   	*2	# nb_port_read_by_bank
+1 	1	*2	# nb_port_write_by_bank
+0	0	+1	# crossbar
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/2x_10r_5w.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/2x_10r_5w.cfg	(revision 137)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/2x_10r_5w.cfg	(revision 137)
@@ -0,0 +1,9 @@
+RegisterFile_Multi_Banked
+12	12	*2	# nb_port_read
+6	6	*2	# nb_port_write
+256	256	+1	# nb_word
+32	32	*2 	# size_word
+2	2	*2	# nb_bank
+10  	10  	*2	# nb_port_read_by_bank
+5 	5	*2	# nb_port_write_by_bank
+0	0	+1	# crossbar
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/2x_6r_3w.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/2x_6r_3w.cfg	(revision 137)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/2x_6r_3w.cfg	(revision 137)
@@ -0,0 +1,9 @@
+RegisterFile_Multi_Banked
+12	12	*2	# nb_port_read
+6	6	*2	# nb_port_write
+256	256	+1	# nb_word
+32	32	*2 	# size_word
+2	2	*2	# nb_bank
+6  	6   	*2	# nb_port_read_by_bank
+3 	3	*2	# nb_port_write_by_bank
+0	0	+1	# crossbar
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/2x_8r_4w.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/2x_8r_4w.cfg	(revision 137)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/2x_8r_4w.cfg	(revision 137)
@@ -0,0 +1,9 @@
+RegisterFile_Multi_Banked
+12	12	*2	# nb_port_read
+6	6	*2	# nb_port_write
+256	256	+1	# nb_word
+32	32	*2 	# size_word
+2	2	*2	# nb_bank
+8  	8   	*2	# nb_port_read_by_bank
+4 	4	*2	# nb_port_write_by_bank
+0	0	+1	# crossbar
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/32x_1r_1w.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/32x_1r_1w.cfg	(revision 137)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/32x_1r_1w.cfg	(revision 137)
@@ -0,0 +1,9 @@
+RegisterFile_Multi_Banked
+12	12	*2	# nb_port_read
+6	6	*2	# nb_port_write
+256	256	+1	# nb_word
+32	32	*2 	# size_word
+32	32	*2	# nb_bank
+1  	1   	*2	# nb_port_read_by_bank
+1 	1	*2	# nb_port_write_by_bank
+0	0	+1	# crossbar
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/4x_4r_2w.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/4x_4r_2w.cfg	(revision 137)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/4x_4r_2w.cfg	(revision 137)
@@ -0,0 +1,9 @@
+RegisterFile_Multi_Banked
+12	12	*2	# nb_port_read
+6	6	*2	# nb_port_write
+256	256	+1	# nb_word
+32	32	*2 	# size_word
+4	4	*2	# nb_bank
+4  	4   	*2	# nb_port_read_by_bank
+2 	2	*2	# nb_port_write_by_bank
+0	0	+1	# crossbar
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/4x_6r_3w.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/4x_6r_3w.cfg	(revision 137)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/4x_6r_3w.cfg	(revision 137)
@@ -0,0 +1,9 @@
+RegisterFile_Multi_Banked
+12	12	*2	# nb_port_read
+6	6	*2	# nb_port_write
+256	256	+1	# nb_word
+32	32	*2 	# size_word
+4	4	*2	# nb_bank
+6  	6   	*2	# nb_port_read_by_bank
+3 	3	*2	# nb_port_write_by_bank
+0	0	+1	# crossbar
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/4x_8r_4w.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/4x_8r_4w.cfg	(revision 137)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/4x_8r_4w.cfg	(revision 137)
@@ -0,0 +1,9 @@
+RegisterFile_Multi_Banked
+12	12	*2	# nb_port_read
+6	6	*2	# nb_port_write
+256	256	+1	# nb_word
+32	32	*2 	# size_word
+4	4	*2	# nb_bank
+8  	8   	*2	# nb_port_read_by_bank
+4 	4	*2	# nb_port_write_by_bank
+0	0	+1	# crossbar
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/8x_2r_1w.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/8x_2r_1w.cfg	(revision 137)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/8x_2r_1w.cfg	(revision 137)
@@ -0,0 +1,9 @@
+RegisterFile_Multi_Banked
+12	12	*2	# nb_port_read
+6	6	*2	# nb_port_write
+256	256	+1	# nb_word
+32	32	*2 	# size_word
+8	8	*2	# nb_bank
+2  	2   	*2	# nb_port_read_by_bank
+1 	1	*2	# nb_port_write_by_bank
+0	0	+1	# crossbar
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/8x_4r_2w.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/8x_4r_2w.cfg	(revision 137)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/8x_4r_2w.cfg	(revision 137)
@@ -0,0 +1,9 @@
+RegisterFile_Multi_Banked
+12	12	*2	# nb_port_read
+6	6	*2	# nb_port_write
+256	256	+1	# nb_word
+32	32	*2 	# size_word
+8	8	*2	# nb_bank
+4  	4   	*2	# nb_port_read_by_bank
+2 	2	*2	# nb_port_write_by_bank
+0	0	+1	# crossbar
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/mkf.info
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/mkf.info	(revision 137)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/SelfTest/mkf.info	(revision 137)
@@ -0,0 +1,56 @@
+
+# RegisterFile_Multi_Banked_00
+target_dep	all	RegisterFile_Multi_Banked_00.ngc
+target_dep	RegisterFile_Multi_Banked_00.ngc	RegisterFile_Multi_Banked_00.prj
+target_dep	RegisterFile_Multi_Banked_00.prj	RegisterFile_Multi_Banked_00_bank_Pack.vhdl RegisterFile_Multi_Banked_00_bank.vhdl RegisterFile_Multi_Banked_00_Pack.vhdl RegisterFile_Multi_Banked_00_select_12_ports_Pack.vhdl RegisterFile_Multi_Banked_00_select_12_ports.vhdl RegisterFile_Multi_Banked_00_select_6_ports_Pack.vhdl RegisterFile_Multi_Banked_00_select_6_ports.vhdl RegisterFile_Multi_Banked_00.vhdl
+
+# RegisterFile_Multi_Banked_01
+target_dep	all	RegisterFile_Multi_Banked_01.ngc
+target_dep	RegisterFile_Multi_Banked_01.ngc	RegisterFile_Multi_Banked_01.prj
+target_dep	RegisterFile_Multi_Banked_01.prj	RegisterFile_Multi_Banked_01_bank_Pack.vhdl RegisterFile_Multi_Banked_01_bank.vhdl RegisterFile_Multi_Banked_01_Pack.vhdl RegisterFile_Multi_Banked_01_select_6_ports_Pack.vhdl RegisterFile_Multi_Banked_01_select_6_ports.vhdl RegisterFile_Multi_Banked_01.vhdl
+
+# RegisterFile_Multi_Banked_02
+target_dep	all	RegisterFile_Multi_Banked_02.ngc
+target_dep	RegisterFile_Multi_Banked_02.ngc	RegisterFile_Multi_Banked_02.prj
+target_dep	RegisterFile_Multi_Banked_02.prj	RegisterFile_Multi_Banked_02_bank_Pack.vhdl RegisterFile_Multi_Banked_02_bank.vhdl RegisterFile_Multi_Banked_02_Pack.vhdl RegisterFile_Multi_Banked_02_select_1_ports_Pack.vhdl RegisterFile_Multi_Banked_02_select_1_ports.vhdl RegisterFile_Multi_Banked_02_select_2_ports_Pack.vhdl RegisterFile_Multi_Banked_02_select_2_ports.vhdl RegisterFile_Multi_Banked_02.vhdl
+
+# RegisterFile_Multi_Banked_03
+target_dep	all	RegisterFile_Multi_Banked_03.ngc
+target_dep	RegisterFile_Multi_Banked_03.ngc	RegisterFile_Multi_Banked_03.prj
+target_dep	RegisterFile_Multi_Banked_03.prj	RegisterFile_Multi_Banked_03_bank_Pack.vhdl RegisterFile_Multi_Banked_03_bank.vhdl RegisterFile_Multi_Banked_03_Pack.vhdl RegisterFile_Multi_Banked_03_select_2_ports_Pack.vhdl RegisterFile_Multi_Banked_03_select_2_ports.vhdl RegisterFile_Multi_Banked_03.vhdl
+
+# RegisterFile_Multi_Banked_04
+target_dep	all	RegisterFile_Multi_Banked_04.ngc
+target_dep	RegisterFile_Multi_Banked_04.ngc	RegisterFile_Multi_Banked_04.prj
+target_dep	RegisterFile_Multi_Banked_04.prj	RegisterFile_Multi_Banked_04_bank_Pack.vhdl RegisterFile_Multi_Banked_04_bank.vhdl RegisterFile_Multi_Banked_04_Pack.vhdl RegisterFile_Multi_Banked_04_select_1_ports_Pack.vhdl RegisterFile_Multi_Banked_04_select_1_ports.vhdl RegisterFile_Multi_Banked_04_select_2_ports_Pack.vhdl RegisterFile_Multi_Banked_04_select_2_ports.vhdl RegisterFile_Multi_Banked_04.vhdl
+
+# RegisterFile_Multi_Banked_05
+target_dep	all	RegisterFile_Multi_Banked_05.ngc
+target_dep	RegisterFile_Multi_Banked_05.ngc	RegisterFile_Multi_Banked_05.prj
+target_dep	RegisterFile_Multi_Banked_05.prj	RegisterFile_Multi_Banked_05_bank_Pack.vhdl RegisterFile_Multi_Banked_05_bank.vhdl RegisterFile_Multi_Banked_05_Pack.vhdl RegisterFile_Multi_Banked_05_select_12_ports_Pack.vhdl RegisterFile_Multi_Banked_05_select_12_ports.vhdl RegisterFile_Multi_Banked_05_select_6_ports_Pack.vhdl RegisterFile_Multi_Banked_05_select_6_ports.vhdl RegisterFile_Multi_Banked_05.vhdl
+
+# RegisterFile_Multi_Banked_06
+target_dep	all	RegisterFile_Multi_Banked_06.ngc
+target_dep	RegisterFile_Multi_Banked_06.ngc	RegisterFile_Multi_Banked_06.prj
+target_dep	RegisterFile_Multi_Banked_06.prj	RegisterFile_Multi_Banked_06_bank_Pack.vhdl RegisterFile_Multi_Banked_06_bank.vhdl RegisterFile_Multi_Banked_06_Pack.vhdl RegisterFile_Multi_Banked_06_select_3_ports_Pack.vhdl RegisterFile_Multi_Banked_06_select_3_ports.vhdl RegisterFile_Multi_Banked_06.vhdl
+
+# RegisterFile_Multi_Banked_07
+target_dep	all	RegisterFile_Multi_Banked_07.ngc
+target_dep	RegisterFile_Multi_Banked_07.ngc	RegisterFile_Multi_Banked_07.prj
+target_dep	RegisterFile_Multi_Banked_07.prj	RegisterFile_Multi_Banked_07_bank_Pack.vhdl RegisterFile_Multi_Banked_07_bank.vhdl RegisterFile_Multi_Banked_07_Pack.vhdl RegisterFile_Multi_Banked_07_select_2_ports_Pack.vhdl RegisterFile_Multi_Banked_07_select_2_ports.vhdl RegisterFile_Multi_Banked_07.vhdl
+
+# RegisterFile_Multi_Banked_08
+target_dep	all	RegisterFile_Multi_Banked_08.ngc
+target_dep	RegisterFile_Multi_Banked_08.ngc	RegisterFile_Multi_Banked_08.prj
+target_dep	RegisterFile_Multi_Banked_08.prj	RegisterFile_Multi_Banked_08_bank_Pack.vhdl RegisterFile_Multi_Banked_08_bank.vhdl RegisterFile_Multi_Banked_08_Pack.vhdl RegisterFile_Multi_Banked_08_select_1_ports_Pack.vhdl RegisterFile_Multi_Banked_08_select_1_ports.vhdl RegisterFile_Multi_Banked_08_select_2_ports_Pack.vhdl RegisterFile_Multi_Banked_08_select_2_ports.vhdl RegisterFile_Multi_Banked_08.vhdl
+
+# RegisterFile_Multi_Banked_09
+target_dep	all	RegisterFile_Multi_Banked_09.ngc
+target_dep	RegisterFile_Multi_Banked_09.ngc	RegisterFile_Multi_Banked_09.prj
+target_dep	RegisterFile_Multi_Banked_09.prj	RegisterFile_Multi_Banked_09_bank_Pack.vhdl RegisterFile_Multi_Banked_09_bank.vhdl RegisterFile_Multi_Banked_09_Pack.vhdl RegisterFile_Multi_Banked_09_select_6_ports_Pack.vhdl RegisterFile_Multi_Banked_09_select_6_ports.vhdl RegisterFile_Multi_Banked_09.vhdl
+
+# RegisterFile_Multi_Banked_10
+target_dep	all	RegisterFile_Multi_Banked_10.ngc
+target_dep	RegisterFile_Multi_Banked_10.ngc	RegisterFile_Multi_Banked_10.prj
+target_dep	RegisterFile_Multi_Banked_10.prj	RegisterFile_Multi_Banked_10_bank_Pack.vhdl RegisterFile_Multi_Banked_10_bank.vhdl RegisterFile_Multi_Banked_10_Pack.vhdl RegisterFile_Multi_Banked_10_select_3_ports_Pack.vhdl RegisterFile_Multi_Banked_10_select_3_ports.vhdl RegisterFile_Multi_Banked_10.vhdl
+
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/Parameters.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/Parameters.h	(revision 132)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/Parameters.h	(revision 137)
@@ -24,33 +24,33 @@
   {
     //-----[ fields ]------------------------------------------------------------
-  public : const uint32_t    _nb_port_read         ; // Global read  port
-  public : const uint32_t    _nb_port_write        ; // Global write port
-  public : const uint32_t    _nb_word              ;
-  public : const uint32_t    _size_word            ;
-  public : const uint32_t    _nb_bank              ; // Number of bank (All bank is identical)
-  public : const uint32_t    _nb_port_read_by_bank ; // Local  read  port
-  public : const uint32_t    _nb_port_write_by_bank; // Local  write port
-  public : const Tcrossbar_t _crossbar             ;
-  public : const bool        _have_init_value;
-  public : const std::string _init_value;
+  public : uint32_t    _nb_port_read         ; // Global read  port
+  public : uint32_t    _nb_port_write        ; // Global write port
+  public : uint32_t    _nb_word              ;
+  public : uint32_t    _size_word            ;
+  public : uint32_t    _nb_bank              ; // Number of bank (All bank is identical)
+  public : uint32_t    _nb_port_read_by_bank ; // Local  read  port
+  public : uint32_t    _nb_port_write_by_bank; // Local  write port
+  public : Tcrossbar_t _crossbar             ;
+  public : std::string _init_value           ;
 
-  public : const uint32_t    _size_address         ;
-  public : const uint32_t    _size_address_by_bank ;
+  public : uint32_t    _size_address         ;
+  public : uint32_t    _size_address_by_bank ;
 
-  public : const uint32_t    _bank_shift           ;
-  public : const Taddress_t  _bank_mask            ;
-  public : const uint32_t    _num_reg_shift        ;
-  public : const Taddress_t  _num_reg_mask         ;
+  public : uint32_t    _bank_shift           ;
+  public : Taddress_t  _bank_mask            ;
+  public : uint32_t    _num_reg_shift        ;
+  public : Taddress_t  _num_reg_mask         ;
 
-  public : const uint32_t    _nb_word_by_bank      ;
+  public : uint32_t    _nb_word_by_bank      ;
 
-  public : const bool        _have_port_address     ;
-  public : const bool        _have_bank_port_address;
+  public : bool        _have_port_address     ;
+  public : bool        _have_bank_port_address;
+  public : bool        _have_init_value       ;
 
     // A lot of table to the partial crossbar
-  public :       uint32_t  * _link_port_read_to_bank_read  ;
-//public :       uint32_t  * _link_port_read_to_num_bank   ;
-  public :       uint32_t  * _link_port_write_to_bank_write;
-//public :       uint32_t  * _link_port_write_to_num_bank  ;
+  public : uint32_t  * _link_port_read_to_bank_read  ;
+//public : uint32_t  * _link_port_read_to_num_bank   ;
+  public : uint32_t  * _link_port_write_to_bank_write;
+//public : uint32_t  * _link_port_write_to_num_bank  ;
 
     //-----[ methods ]-----------------------------------------------------------
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/RegisterFile_Multi_Banked.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/RegisterFile_Multi_Banked.h	(revision 132)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/RegisterFile_Multi_Banked.h	(revision 137)
@@ -48,4 +48,9 @@
 #ifdef STATISTICS
   public    : Stat                           * _stat;
+
+  private   : counter_t                      * _stat_nb_read;
+  private   : counter_t                      * _stat_nb_write;
+  private   : counter_t                      * _stat_nb_conflict_on_read;
+  private   : counter_t                      * _stat_nb_conflict_on_write;
 #endif
 
@@ -80,4 +85,9 @@
   private   : Taddress_t                    * internal_WRITE_BANK;
   private   : Taddress_t                    * internal_WRITE_NUM_REG;
+
+#ifdef STATISTICS
+  private   : bool                          * internal_READ_VAL;
+//private   : Taddress_t                    * internal_READ_BANK;
+#endif
 
         // function pointer
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/Parameters.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/Parameters.cpp	(revision 132)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/Parameters.cpp	(revision 137)
@@ -8,4 +8,5 @@
 #include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/Parameters.h"
 #include "Common/include/BitManipulation.h"
+#include "Common/include/Log2.h"
 
 namespace morpheo {
@@ -25,30 +26,32 @@
 			  Tcrossbar_t crossbar             ,
                           std::string init_value
-                          ):
-    _nb_port_read          (nb_port_read         ),
-    _nb_port_write         (nb_port_write        ),
-    _nb_word               (nb_word              ),
-    _size_word             (size_word            ),
-    _nb_bank               (nb_bank              ),
-    _nb_port_read_by_bank  (nb_port_read_by_bank ),
-    _nb_port_write_by_bank (nb_port_write_by_bank),
-    _crossbar              (crossbar             ),
-    _have_init_value       (init_value != ""     ),
-    _init_value            (init_value           ),
-    _size_address          (static_cast<uint32_t>(ceil(log2(_nb_word)))),
-    _size_address_by_bank  (_size_address - static_cast<uint32_t>(ceil(log2(_nb_bank)))),
+                          )
+  {
+    log_printf(FUNC,RegisterFile_Multi_Banked,"Parameters","Begin");
+
+    _nb_port_read           = nb_port_read         ;
+    _nb_port_write          = nb_port_write        ;
+    _nb_word                = nb_word              ;
+    _size_word              = size_word            ;
+    _nb_bank                = nb_bank              ;
+    _nb_port_read_by_bank   = nb_port_read_by_bank ;
+    _nb_port_write_by_bank  = nb_port_write_by_bank;
+    _crossbar               = crossbar             ;
+    _init_value             = init_value           ;
+
+    _size_address           = log2(_nb_word);
+    _size_address_by_bank   = _size_address - log2(_nb_bank);
 
     // Address : [....................]  [size_address-1:0]
     // Bank    : [....]                  [size_address-1:size_address-1-log2(nb_bank)]
     // num_reg :      ]...............]  [size_address-2-log2(nb_bank):0]
-    _bank_shift            (_size_address_by_bank),
-    _bank_mask             (gen_mask<Taddress_t>(static_cast<Taddress_t>(ceil(log2(_nb_bank))))),
-    _num_reg_shift         (0),
-    _num_reg_mask          (gen_mask<Taddress_t>(_size_address_by_bank)),
-    _nb_word_by_bank       (_nb_word / _nb_bank),
-    _have_port_address     (_size_address         != 0),
-    _have_bank_port_address(_size_address_by_bank != 0)
-  {
-    log_printf(FUNC,RegisterFile_Multi_Banked,"Parameters","Begin");
+    _bank_shift             = _size_address_by_bank;
+    _bank_mask              = gen_mask<Taddress_t>(log2(_nb_bank));
+    _num_reg_shift          = 0;
+    _num_reg_mask           = gen_mask<Taddress_t>(_size_address_by_bank);
+    _nb_word_by_bank        = _nb_word / _nb_bank;
+    _have_port_address      = _size_address         != 0;
+    _have_bank_port_address = _size_address_by_bank != 0;
+    _have_init_value        = init_value != ""     ;
 
     if (_crossbar == PARTIAL_CROSSBAR)
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_allocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_allocation.cpp	(revision 132)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_allocation.cpp	(revision 137)
@@ -77,4 +77,8 @@
         ALLOC1(internal_WRITE_BANK   ,Taddress_t,_param->_nb_port_write);
         ALLOC1(internal_WRITE_NUM_REG,Taddress_t,_param->_nb_port_write);
+
+#ifdef STATISTICS
+        ALLOC1(internal_READ_VAL     ,bool      ,_param->_nb_port_read);
+#endif
       }
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_deallocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_deallocation.cpp	(revision 132)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_deallocation.cpp	(revision 137)
@@ -40,4 +40,9 @@
         DELETE1(internal_WRITE_BANK     ,_param->_nb_port_write);
         DELETE1(internal_WRITE_NUM_REG  ,_param->_nb_port_write);
+
+#ifdef STATISTICS
+        DELETE1(internal_READ_VAL       ,_param->_nb_port_read);
+#endif
+
       }       
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_full_crossbar_genMealy_read.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_full_crossbar_genMealy_read.cpp	(revision 132)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_full_crossbar_genMealy_read.cpp	(revision 137)
@@ -38,4 +38,8 @@
 	bool ack = false;
 
+#ifdef STATISTICS
+	internal_READ_VAL  [i] = false;
+#endif
+
 	log_printf(TRACE,RegisterFile_Multi_Banked,FUNCTION,"  * read [%d] : %d",i,val);
 
@@ -72,4 +76,7 @@
 		    log_printf(TRACE,RegisterFile_Multi_Banked,FUNCTION,"    * data      : %d",data);
 
+#ifdef STATISTICS
+		    internal_READ_VAL  [i] = true;
+#endif
 		    PORT_WRITE(out_READ_DATA [i], data);
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_partial_crossbar_genMealy_read.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_partial_crossbar_genMealy_read.cpp	(revision 132)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_partial_crossbar_genMealy_read.cpp	(revision 137)
@@ -37,4 +37,8 @@
 	bool ack = false;
 
+#ifdef STATISTICS
+	internal_READ_VAL  [i] = false;
+#endif
+
 	log_printf(TRACE,RegisterFile_Multi_Banked,FUNCTION,"  * read [%d] : %d",i,val);
 
@@ -73,4 +77,8 @@
 		    log_printf(TRACE,RegisterFile_Multi_Banked,FUNCTION,"    * data      : %d",data);
 
+#ifdef STATISTICS
+		    internal_READ_VAL  [i] = true;
+#endif
+
 		    PORT_WRITE(out_READ_DATA [i], data);
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_statistics_declaration.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_statistics_declaration.cpp	(revision 132)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_statistics_declaration.cpp	(revision 137)
@@ -24,4 +24,20 @@
 		      "RegisterFile_Multi_Banked",
 		      param_statistics);
+
+//     _stat_nb_read              = _stat->create_variable("nb_read" );
+//     _stat_nb_write             = _stat->create_variable("nb_write");
+//     _stat_nb_conflict_on_read  = _stat->create_variable("nb_conflict_on_read" );
+//     _stat_nb_conflict_on_write = _stat->create_variable("nb_conflict_on_write");
+
+    _stat_nb_read              = _stat->create_counter("nb_read"             ,"","");
+    _stat_nb_write             = _stat->create_counter("nb_write"            ,"","");
+    _stat_nb_conflict_on_read  = _stat->create_counter("nb_conflict_on_read" ,"","");
+    _stat_nb_conflict_on_write = _stat->create_counter("nb_conflict_on_write","","");
+
+    _stat->create_expr_average_by_cycle("average_read" , "nb_read" , "", _("Average read by cycle" ));
+    _stat->create_expr_average_by_cycle("average_write", "nb_write", "", _("Average write by cycle"));
+
+    _stat->create_expr_percent         ("percent_conflict_on_read" , "nb_conflict_on_read" , "+ nb_read  nb_conflict_on_read" , _("Percent conflit on read port" ));
+    _stat->create_expr_percent         ("percent_conflict_on_write", "nb_conflict_on_write", "+ nb_write nb_conflict_on_write", _("Percent conflit on write port"));
     
     log_printf(FUNC,RegisterFile_Multi_Banked,FUNCTION,"End");
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_transition.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_transition.cpp	(revision 132)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_transition.cpp	(revision 137)
@@ -51,5 +51,29 @@
                 reg_DATA[internal_WRITE_BANK[i]][internal_WRITE_NUM_REG[i]] = data;
               }
+
+#ifdef STATISTICS
+	    if (usage_is_set(_usage,USE_STATISTICS))
+	      if (PORT_READ(in_WRITE_VAL [i]))
+		{
+		  if (internal_WRITE_VAL [i] == 1)
+		    (*_stat_nb_write) ++;
+		  else
+		    (*_stat_nb_conflict_on_write) ++;
+		}		  
+#endif    
           }
+
+#ifdef STATISTICS
+	if (usage_is_set(_usage,USE_STATISTICS))
+	  for (uint32_t i=0; i<_param->_nb_port_read; i++)
+	    if (PORT_READ(in_READ_VAL [i]))
+	      {
+		if (internal_READ_VAL [i] == 1)
+		  (*_stat_nb_read) ++;
+		else
+		  (*_stat_nb_conflict_on_read) ++;
+	      }		  
+#endif    
+
       }
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_vhdl_body.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_vhdl_body.cpp	(revision 132)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_vhdl_body.cpp	(revision 137)
@@ -88,6 +88,6 @@
 		std::string   index     = (_param->_crossbar == FULL_CROSSBAR)?("_"+toString(j)):"";
 
-		vhdl->set_body("\t"+separator+" in_VAL_"+toString(k)+"     \t=>\tinternal_READ_"+toString(i)+"_"+toString(num_port)+index+"_VAL");
-		vhdl->set_body("\t,out_ACK_"+toString(k)+"     \t=>\tinternal_SELECT_READ_"+toString(i)+"_"+toString(num_port)+index+"_VAL");
+		vhdl->set_body("\t"+separator+" in_"+toString(k)+"_VAL     \t=>\tinternal_READ_"+toString(i)+"_"+toString(num_port)+index+"_VAL");
+		vhdl->set_body("\t,out_"+toString(k)+"_ACK     \t=>\tinternal_SELECT_READ_"+toString(i)+"_"+toString(num_port)+index+"_VAL");
 	      }
 	    vhdl->set_body(");");
@@ -107,6 +107,6 @@
 		std::string   index     = (_param->_crossbar == FULL_CROSSBAR)?("_"+toString(j)):"";
 		
-		vhdl->set_body("\t"+separator+" in_VAL_"+toString(k)+"     \t=>\tinternal_WRITE_"+toString(i)+"_"+toString(num_port)+index+"_VAL");
-		vhdl->set_body("\t,out_ACK_"+toString(k)+"     \t=>\tinternal_SELECT_WRITE_"+toString(i)+"_"+toString(num_port)+index+"_VAL");
+		vhdl->set_body("\t"+separator+" in_"+toString(k)+"_VAL     \t=>\tinternal_WRITE_"+toString(i)+"_"+toString(num_port)+index+"_VAL");
+		vhdl->set_body("\t,out_"+toString(k)+"_ACK     \t=>\tinternal_SELECT_WRITE_"+toString(i)+"_"+toString(num_port)+index+"_VAL");
 	      }
 	    vhdl->set_body(");");
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/SelfTest/mkf.info
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/SelfTest/mkf.info	(revision 137)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/SelfTest/mkf.info	(revision 137)
@@ -0,0 +1,6 @@
+
+# RegisterFile_0
+target_dep	all	RegisterFile_0.ngc
+target_dep	RegisterFile_0.ngc	RegisterFile_0.prj
+target_dep	RegisterFile_0.prj	RegisterFile_0_Pack.vhdl RegisterFile_0.vhdl
+
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 132)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/SelfTest/src/test.cpp	(revision 137)
@@ -26,5 +26,5 @@
   Tusage_t _usage = USE_ALL;
 
-//   _usage = usage_unset(_usage,USE_SYSTEMC              );
+  _usage = usage_unset(_usage,USE_SYSTEMC              );
 //   _usage = usage_unset(_usage,USE_VHDL                 );
 //   _usage = usage_unset(_usage,USE_VHDL_TESTBENCH       );
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/include/Parameters.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/include/Parameters.h	(revision 132)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/include/Parameters.h	(revision 137)
@@ -26,11 +26,11 @@
   {
     //-----[ fields ]------------------------------------------------------------
-  public : const Tinstance_t _instance;
-  public : const uint32_t    _nb_port_read ;
-  public : const uint32_t    _nb_port_write;
-  public : const uint32_t    _nb_word      ;
-  public : const uint32_t    _size_word    ;
-  public : const uint32_t    _size_address ;
-  public : const bool        _have_port_address;
+  public : Tinstance_t _instance;
+  public : uint32_t    _nb_port_read ;
+  public : uint32_t    _nb_port_write;
+  public : uint32_t    _nb_word      ;
+  public : uint32_t    _size_word    ;
+  public : uint32_t    _size_address ;
+  public : bool        _have_port_address;
 
   public : morpheo::behavioural::generic::registerfile::registerfile_monolithic  ::Parameters * _param_registerfile_monolithic;
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/src/Parameters.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/src/Parameters.cpp	(revision 132)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/src/Parameters.cpp	(revision 137)
@@ -14,14 +14,15 @@
 
 
-  Parameters::Parameters (morpheo::behavioural::generic::registerfile::registerfile_monolithic  ::Parameters * param) :
-    _instance          (instance_RegisterFile_Monolithic),
-    _nb_port_read      (param->_nb_port_read ),
-    _nb_port_write     (param->_nb_port_write),
-    _nb_word           (param->_nb_word      ), 
-    _size_word         (param->_size_word    ), 
-    _size_address      (param->_size_address ),
-    _have_port_address (param->_have_port_address)
+  Parameters::Parameters (morpheo::behavioural::generic::registerfile::registerfile_monolithic  ::Parameters * param)
   {
     log_printf(FUNC,RegisterFile,"Parameters","Begin");
+
+    _instance          = instance_RegisterFile_Monolithic;
+    _nb_port_read      = param->_nb_port_read ;
+    _nb_port_write     = param->_nb_port_write;
+    _nb_word           = param->_nb_word      ; 
+    _size_word         = param->_size_word    ; 
+    _size_address      = param->_size_address ;
+    _have_port_address = param->_have_port_address;
 
     _param_registerfile_monolithic   = param;
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/include/Parameters.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/include/Parameters.h	(revision 132)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/include/Parameters.h	(revision 137)
@@ -22,8 +22,9 @@
   {
     //-----[ fields ]------------------------------------------------------------
-  public : const uint32_t _nb_entity       ;
-  public : const bool     _encoding_one_hot;
-  public : const bool     _encoding_compact;
-  public : const uint32_t _size_entity;
+  public : uint32_t _nb_entity       ;
+  public : bool     _encoding_one_hot;
+  public : bool     _encoding_compact;
+
+  public : uint32_t _size_entity;
 
     //-----[ methods ]-----------------------------------------------------------
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Parameters.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Parameters.cpp	(revision 132)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Parameters.cpp	(revision 137)
@@ -7,4 +7,5 @@
 
 #include "Behavioural/Generic/Select/Select_Priority_Fixed/include/Parameters.h"
+#include "Common/include/Log2.h"
 
 namespace morpheo {
@@ -17,11 +18,13 @@
   Parameters::Parameters (uint32_t nb_entity       ,
 			  bool     encoding_one_hot,
-			  bool     encoding_compact):
-    _nb_entity        (nb_entity       ),
-    _encoding_one_hot (encoding_one_hot),
-    _encoding_compact (encoding_compact),
-    _size_entity (static_cast<uint32_t> (ceil(log2(nb_entity))))
+			  bool     encoding_compact)
   {
     log_printf(FUNC,Select_Priority_Fixed,"Parameters","Begin");
+
+    _nb_entity        = nb_entity       ;
+    _encoding_one_hot = encoding_one_hot;
+    _encoding_compact = encoding_compact;
+    _size_entity      = log2(nb_entity);
+
     test();
     log_printf(FUNC,Select_Priority_Fixed,"Parameters","End");
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 132)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed_vhdl_body.cpp	(revision 137)
@@ -24,5 +24,5 @@
     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_"+toString(i)+"_VAL='1' else");
       }
     vhdl->set_body("\t"+std_logic_conv(_param->_size_entity+1,1<<_param->_size_entity)+";");
@@ -32,5 +32,5 @@
       {
 	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("out_"+toString(i)+"_ACK <= '1' when internal_entity"+std_logic_range(_param->_size_entity+1)+" = "+std_logic_conv(_param->_size_entity+1,i)+" else '0';");
 	vhdl->set_body ("");
       }
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/include/Parameters.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/include/Parameters.h	(revision 132)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/include/Parameters.h	(revision 137)
@@ -21,32 +21,32 @@
   {
     //-----[ fields ]------------------------------------------------------------
-  public : const uint32_t    _size_data           ;
-  public : const uint32_t    _nb_port             ;
-  public : const uint32_t    _shift_value         ; // 0 = external shifter's value 
-  public : const rotate_t    _rotate              ;
-  public : const direction_t _direction           ;
-  public : const carry_t     _carry               ;
-  public : const uint32_t    _size_data_completion;
-  public : const bool        _type_completion_bool;
+  public : uint32_t    _size_data           ;
+  public : uint32_t    _nb_port             ;
+  public : uint32_t    _shift_value         ; // 0 = external shifter's value 
+  public : rotate_t    _rotate              ;
+  public : direction_t _direction           ;
+  public : carry_t     _carry               ;
+  public : uint32_t    _size_data_completion;
+  public : bool        _type_completion_bool;
 
-  public : const uint32_t    _size_shift        ;
+  public : uint32_t    _size_shift        ;
 
-  public : const bool        _internal_direction;
-  public : const bool        _internal_type     ;
-  public : const bool        _internal_carry    ;
+  public : bool        _internal_direction;
+  public : bool        _internal_type     ;
+  public : bool        _internal_carry    ;
 
-  public : const bool        _have_shift_logic_left        ;
-  public : const bool        _have_shift_logic_right       ;
-  public : const bool        _have_shift_logic             ;
-  public : const bool        _have_shift_arithmetic_left   ;
-  public : const bool        _have_shift_arithmetic_right  ;
-  public : const bool        _have_shift_arithmetic        ;
-  public : const bool        _have_shift                   ;
-  public : const bool        _have_rotate_left             ;
-  public : const bool        _have_rotate_right            ;
-  public : const bool        _have_rotate                  ;
+  public : bool        _have_shift_logic_left        ;
+  public : bool        _have_shift_logic_right       ;
+  public : bool        _have_shift_logic             ;
+  public : bool        _have_shift_arithmetic_left   ;
+  public : bool        _have_shift_arithmetic_right  ;
+  public : bool        _have_shift_arithmetic        ;
+  public : bool        _have_shift                   ;
+  public : bool        _have_rotate_left             ;
+  public : bool        _have_rotate_right            ;
+  public : bool        _have_rotate                  ;
     
-  public : const bool        _have_direction_left          ;
-  public : const bool        _have_direction_right         ;
+  public : bool        _have_direction_left          ;
+  public : bool        _have_direction_right         ;
 
     //-----[ methods ]-----------------------------------------------------------
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Parameters.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Parameters.cpp	(revision 132)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Parameters.cpp	(revision 137)
@@ -20,63 +20,64 @@
 			   direction_t direction           ,
 			   carry_t     carry               ,
-			   bool        type_completion_bool):
-    _size_data                     (size_data     ),
-    _nb_port                       (nb_port       ),
-    _shift_value                   (shift_value   ),
-    _rotate                        (rotate        ),
-    _direction                     (direction     ),
-    _carry                         (carry         ),
-    _size_data_completion          ((carry != external_completion)?0:((_shift_value==0)?size_data:_shift_value)),
-    _type_completion_bool          (type_completion_bool),
+			   bool        type_completion_bool)
+  {
+    _size_data                     = size_data     ;
+    _nb_port                       = nb_port       ;
+    _shift_value                   = shift_value   ;
+    _rotate                        = rotate        ;
+    _direction                     = direction     ;
+    _carry                         = carry         ;
+    _size_data_completion          = (carry != external_completion)?0:((_shift_value==0)?size_data:_shift_value);
+    _type_completion_bool          = type_completion_bool;
 
-    _size_shift                    (static_cast<uint32_t>(ceil(log2(_size_data)))),
+    _size_shift                    = static_cast<uint32_t>(ceil(log2(_size_data)));
+    
+    _internal_direction            = (direction == internal_right_shift)?_right :_left      ;
+    _internal_type                 = (rotate    == internal_rotate     )?_rotate:_shift     ;
+    _internal_carry                = (carry     == internal_logic      )?_logic :_arithmetic;
 
-    _internal_direction            ((direction == internal_right_shift)?_right :_left      ),
-    _internal_type                 ((rotate    == internal_rotate     )?_rotate:_shift     ),
-    _internal_carry                ((carry     == internal_logic      )?_logic :_arithmetic),
+    _have_shift_logic_left         = ((rotate != internal_rotate)         &&
+				      (((carry     == external_carry     ) ||
+					(carry     == external_completion) ||
+					(carry     == internal_logic     )) && 
+				       ((direction == external_direction ) ||
+					(direction == internal_left_shift))));
+    _have_shift_logic_right        = ((rotate != internal_rotate)         &&
+				      (((carry     == external_carry     ) ||
+					(carry     == external_completion) ||
+					(carry     == internal_logic     )) && 
+				       ((direction == external_direction ) ||
+					(direction == internal_right_shift))));
+    _have_shift_logic              = _have_shift_logic_left || _have_shift_logic_right;
 
-    _have_shift_logic_left         ((rotate != internal_rotate)         &&
-				    (((carry     == external_carry     ) ||
-				      (carry     == external_completion) ||
-				      (carry     == internal_logic     )) && 
-				    ((direction == external_direction ) ||
-				     (direction == internal_left_shift)))),
-    _have_shift_logic_right        ((rotate != internal_rotate)         &&
-				    (((carry     == external_carry     ) ||
-				      (carry     == external_completion) ||
-				      (carry     == internal_logic     )) && 
-				    ((direction == external_direction ) ||
-				     (direction == internal_right_shift)))),
-    _have_shift_logic              (_have_shift_logic_left || _have_shift_logic_right),
+    _have_shift_arithmetic_left    = ((rotate != internal_rotate)         &&
+				      (((carry    == external_carry     ) ||
+					(carry    == internal_arithmetic )) && 
+				       ((direction == external_direction ) ||
+					(direction == internal_left_shift))));
+    _have_shift_arithmetic_right   = ((rotate != internal_rotate)         &&
+				      (((carry     == external_carry     ) ||
+					(carry     == internal_arithmetic     )) && 
+				       ((direction == external_direction ) ||
+					(direction == internal_right_shift))));
+    _have_shift_arithmetic         = _have_shift_arithmetic_left || _have_shift_arithmetic_right;
 
-    _have_shift_arithmetic_left    ((rotate != internal_rotate)         &&
-				    (((carry    == external_carry     ) ||
-				      (carry    == internal_arithmetic )) && 
-				    ((direction == external_direction ) ||
-				     (direction == internal_left_shift)))),
-    _have_shift_arithmetic_right   ((rotate != internal_rotate)         &&
-				    (((carry     == external_carry     ) ||
-				      (carry     == internal_arithmetic     )) && 
-				     ((direction == external_direction ) ||
-				      (direction == internal_right_shift)))),
-    _have_shift_arithmetic         (_have_shift_arithmetic_left || _have_shift_arithmetic_right),
+    _have_shift                    = _have_shift_logic || _have_shift_arithmetic;
 
-    _have_shift                    (_have_shift_logic || _have_shift_arithmetic),
+    _have_rotate_left              = ((rotate != without_rotate)         &&
+				      ((direction == external_direction ) ||
+				       (direction == internal_left_shift)));
+    _have_rotate_right             = ((rotate != without_rotate)         &&
+				      ((direction == external_direction ) || 
+				       (direction == internal_right_shift)));
+    _have_rotate                   = _have_rotate_left || _have_rotate_right;
+    
+    _have_direction_left           = (_have_shift_logic_left       ||
+				      _have_shift_arithmetic_left  ||
+				      _have_rotate_left            );
+    _have_direction_right          = (_have_shift_logic_right      ||
+				      _have_shift_arithmetic_right ||
+				      _have_rotate_right           );
 
-    _have_rotate_left              ((rotate != without_rotate)         &&
-				    ((direction == external_direction ) ||
-				     (direction == internal_left_shift))),
-    _have_rotate_right             ((rotate != without_rotate)         &&
-				    ((direction == external_direction ) || 
-				     (direction == internal_right_shift))),
-    _have_rotate                   ( _have_rotate_left || _have_rotate_right),
-
-    _have_direction_left           (_have_shift_logic_left       ||
-				    _have_shift_arithmetic_left  ||
-				    _have_rotate_left            ),
-    _have_direction_right          (_have_shift_logic_right      ||
-				    _have_shift_arithmetic_right ||
-				    _have_rotate_right           )
-  {
     test();
   };
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Parameters.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Parameters.h	(revision 132)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/include/Parameters.h	(revision 137)
@@ -22,10 +22,10 @@
   {
     //-----[ fields ]------------------------------------------------------------
-  public : const uint32_t _nb_entity ; // number of entity
-  public : const uint32_t _nb_access ; // number of port to select an entity
-//public : const uint32_t _nb_update ; // number of port to update the internal entity
-  public : const uint32_t _size_table; // Size of victim_pseudo_lru's table
-  public : const bool     _table_global;
-  public : const uint32_t _size_address;
+  public : uint32_t _nb_entity ; // number of entity
+  public : uint32_t _nb_access ; // number of port to select an entity
+//public : uint32_t _nb_update ; // number of port to update the internal entity
+  public : uint32_t _size_table; // Size of victim_pseudo_lru's table
+  public : bool     _table_global;
+  public : uint32_t _size_address;
 
     //-----[ methods ]-----------------------------------------------------------
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Parameters.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Parameters.cpp	(revision 132)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Victim/Victim_Pseudo_LRU/src/Parameters.cpp	(revision 137)
@@ -19,12 +19,14 @@
 // 			  uint32_t nb_update ,
 			  uint32_t size_table,
-			  bool     table_global):
-    _nb_entity  (nb_entity ),
-    _nb_access  (nb_access ),
-//     _nb_update  (nb_update ),
-    _size_table ((table_global == true)?1:size_table),
-    _table_global (table_global),
-    _size_address (size_table)
+			  bool     table_global)
   {
+    _nb_entity    = nb_entity;
+    _nb_access    = nb_access;
+//  _nb_update    = nb_update;
+    _size_table   = (table_global == true)?1:size_table;
+    _table_global = table_global;
+
+    _size_address = size_table;
+
     test();
   };
