Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/SelfTest/configuration.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/SelfTest/configuration.cfg	(revision 76)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/SelfTest/configuration.cfg	(revision 77)
@@ -8,4 +8,2 @@
 2 	2 	+1	# size_special_data  
 16	16	+1	# nb_special_register
-10	10	+1	# nb_operation       
-4	4	+1	# nb_type            
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/SelfTest/src/main.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/SelfTest/src/main.cpp	(revision 76)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/SelfTest/src/main.cpp	(revision 77)
@@ -9,5 +9,5 @@
 #include "Behavioural/Custom/include/Custom_example.h"
 
-#define NB_PARAMS 10
+#define NB_PARAMS 8
 
 void usage (int argc, char * argv[])
@@ -23,6 +23,4 @@
   err (_("  * size_special_data   (uint32_t)\n"));
   err (_("  * nb_special_register (uint32_t)\n"));
-  err (_("  * nb_operation        (uint32_t)\n"));
-  err (_("  * nb_type             (uint32_t)\n"));
   exit (1);
 }
@@ -48,6 +46,4 @@
   const uint32_t size_special_data   = atoi(argv[x++]);
   const uint32_t nb_special_register = atoi(argv[x++]);
-  const uint32_t nb_operation        = atoi(argv[x++]);
-  const uint32_t nb_type             = atoi(argv[x++]);
 
   execute_timing_t ** timing = new execute_timing_t * [MAX_TYPE];
@@ -72,6 +68,4 @@
 	 size_special_data   ,
 	 nb_special_register ,
-	 nb_operation        ,
-	 nb_type             ,
 	 timing              ,
 	 &(morpheo::behavioural::custom::example_get_custom_information)
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/include/Parameters.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/include/Parameters.h	(revision 76)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/include/Parameters.h	(revision 77)
@@ -36,6 +36,4 @@
   public : const uint32_t            _size_special_data            ;
   public : const uint32_t            _nb_special_register          ;
-  public : const uint32_t            _nb_operation                 ;
-  public : const uint32_t            _nb_type                      ;
   public :       execute_timing_t ** _timing                       ;
   public : morpheo::behavioural::custom::custom_information_t (*_get_custom_information) (uint32_t);
@@ -47,6 +45,4 @@
   public : const uint32_t            _size_general_register        ;
   public : const uint32_t            _size_special_register        ;
-  public : const uint32_t            _size_operation               ;
-  public : const uint32_t            _size_type                    ;
 
   public : const bool                _have_port_context_id         ;
@@ -66,6 +62,4 @@
 			uint32_t           size_special_data  ,
 			uint32_t           nb_special_register,
-			uint32_t           nb_operation       ,
-			uint32_t           nb_type            ,
 			execute_timing_t** timing             ,
 			morpheo::behavioural::custom::custom_information_t (*get_custom_information) (uint32_t));
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit_allocation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit_allocation.cpp	(revision 76)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit_allocation.cpp	(revision 77)
@@ -153,12 +153,12 @@
        }
 
-     _function_execute = new function_execute_t ** [MAX_TYPE];
+     _function_execute = new function_execute_t ** [_param->_nb_type];
      
      // Initialisation
-     for (uint32_t i=0; i<MAX_TYPE; i++)
+     for (uint32_t i=0; i<_param->_nb_type; i++)
        {
-	 _function_execute [i] = new function_execute_t * [MAX_OPERATION];
+	 _function_execute [i] = new function_execute_t * [_param->_nb_operation];
 	 
-	 for (uint32_t j=0; j<MAX_OPERATION; j++)
+	 for (uint32_t j=0; j<_param->_nb_operation; j++)
 	   _function_execute [i][j] = &(operation_unimplemented);
        }
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit_transition.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit_transition.cpp	(revision 76)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit_transition.cpp	(revision 77)
@@ -86,6 +86,8 @@
 
 #ifdef DEBUG_TEST
-	    if (operation >= MAX_OPERATION)
-	      throw ERRORMORPHEO(FUNCTION,"Invalid operation : '"+toString(operation)+"' is higher that MAX_OPERATION");
+	    if (type >= _param->_nb_type)
+	      throw ERRORMORPHEO(FUNCTION,"Invalid type : '"+toString(type)+"' is higher that _nb_type");
+	    if (operation >= _param->_nb_operation)
+	      throw ERRORMORPHEO(FUNCTION,"Invalid operation : '"+toString(operation)+"' is higher that _nb_operation");
 #endif
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Parameters.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Parameters.cpp	(revision 76)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Parameters.cpp	(revision 77)
@@ -28,6 +28,4 @@
 			  uint32_t           size_special_data  ,
 			  uint32_t           nb_special_register,
-			  uint32_t           nb_operation       ,
-			  uint32_t           nb_type            ,
 			  execute_timing_t** timing             ,
 			  morpheo::behavioural::custom::custom_information_t (*get_custom_information) (uint32_t)) :
@@ -40,6 +38,4 @@
     _size_special_data       (size_special_data     ),
     _nb_special_register     (nb_special_register   ),
-    _nb_operation            (nb_operation          ),
-    _nb_type                 (nb_type               ),
     
     _size_context_id         (log2(nb_context      )),
@@ -49,6 +45,4 @@
     _size_general_register   (log2(_size_general_register)),
     _size_special_register   (log2(_size_special_register)),
-    _size_operation          (log2(_size_operation       )),
-    _size_type               (log2(_size_type            )),
 
     _have_port_context_id    (_size_context_id    > 0),
@@ -82,6 +76,4 @@
     _size_special_data       (param._size_special_data      ),
     _nb_special_register     (param._nb_special_register    ),
-    _nb_operation            (param._nb_operation           ),
-    _nb_type                 (param._nb_type                ),
 
     _size_context_id         (param._size_context_id        ),
@@ -91,6 +83,4 @@
     _size_general_register   (param._size_general_register  ),
     _size_special_register   (param._size_special_register  ),
-    _size_operation          (param._size_operation         ),
-    _size_type               (param._size_type              ),
 
     _have_port_context_id    (param._have_port_context_id   ),
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Parameters_msg_error.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Parameters_msg_error.cpp	(revision 76)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Parameters_msg_error.cpp	(revision 77)
@@ -28,6 +28,6 @@
     std::string msg = "";
 
-    for (uint32_t i=0; i<MAX_TYPE; i++)
-      for (uint32_t j=0; j<MAX_OPERATION; j++)
+    for (uint32_t i=0; i<_nb_type; i++)
+      for (uint32_t j=0; j<_nb_operation; j++)
 	if (_timing[i][j]._delay != _timing[i][j]._latence)
 	  msg = "  - For the type '"+toString(i)+"', and the operation '"+toString(j)+"', the delay and the latence must be equal.";
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Parameters_print.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Parameters_print.cpp	(revision 76)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Parameters_print.cpp	(revision 77)
@@ -35,6 +35,4 @@
     xml.singleton_begin("size_special_data  "); xml.attribut("value",toString(_size_special_data  )); xml.singleton_end();
     xml.singleton_begin("nb_special_register"); xml.attribut("value",toString(_nb_special_register)); xml.singleton_end();
-    xml.singleton_begin("nb_operation       "); xml.attribut("value",toString(_nb_operation       )); xml.singleton_end();
-    xml.singleton_begin("nb_type            "); xml.attribut("value",toString(_nb_type            )); xml.singleton_end();
     xml.balise_close();
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/SelfTest/configuration.cfg
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/SelfTest/configuration.cfg	(revision 76)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/SelfTest/configuration.cfg	(revision 77)
@@ -11,4 +11,2 @@
 32	32	*2	# size_general_data      
 32	32	*2	# nb_general_register    
-4	4	*2	# nb_operation           
-4	4	*2	# nb_type                
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/SelfTest/src/main.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/SelfTest/src/main.cpp	(revision 76)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/SelfTest/src/main.cpp	(revision 77)
@@ -10,5 +10,5 @@
 #define number_of_test 2
 
-#define NB_PARAMS 13
+#define NB_PARAMS 11
 
 void usage (int argc, char * argv[])
@@ -27,6 +27,4 @@
        << " - size_general_data       (uint32_t)" << endl
        << " - nb_general_register     (uint32_t)" << endl
-       << " - nb_operation            (uint32_t)" << endl
-       << " - nb_type                 (uint32_t)" << endl
        << "" << endl;
 
@@ -66,6 +64,4 @@
 	const uint32_t            _size_general_data       = atoi(argv[x++]);
 	const uint32_t            _nb_general_register     = atoi(argv[x++]);
-	const uint32_t            _nb_operation            = atoi(argv[x++]);
-	const uint32_t            _nb_type                 = atoi(argv[x++]);
 	
 	try 
@@ -83,8 +79,5 @@
 	       _nb_packet              ,
 	       _size_general_data      ,
-	       _nb_general_register    ,
-	       _nb_operation           ,
-	       _nb_type                
-	       );
+	       _nb_general_register    );
 	    
 	    cout << param->print(1);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/SelfTest/src/test2.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/SelfTest/src/test2.cpp	(revision 76)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/SelfTest/src/test2.cpp	(revision 77)
@@ -57,7 +57,5 @@
 	 128,//_nb_packet              
 	 32, //_size_general_data      
-	 64, //_nb_general_register    
-	 4,  //_nb_operation           
-	 4   //_nb_type                
+	 64  //_nb_general_register    
         );
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/include/Parameters.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/include/Parameters.h	(revision 76)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/include/Parameters.h	(revision 77)
@@ -39,6 +39,4 @@
   public : const uint32_t            _size_general_data            ;
   public : const uint32_t            _nb_general_register          ;
-  public : const uint32_t            _nb_operation                 ;
-  public : const uint32_t            _nb_type                      ;
 
   public : const uint32_t            _size_address_store_queue             ;
@@ -50,6 +48,4 @@
   public : const uint32_t            _size_packet_id                       ;
   public : const uint32_t            _size_general_register                ;
-  public : const uint32_t            _size_operation                       ;
-  public : const uint32_t            _size_type                            ;
   public : const uint32_t            _size_dcache_context_id               ;
   public : const uint32_t            _size_dcache_packet_id                ;
@@ -75,8 +71,5 @@
 			uint32_t            nb_packet              ,
 			uint32_t            size_general_data      ,
-			uint32_t            nb_general_register    ,
-			uint32_t            nb_operation           ,
-			uint32_t            nb_type                
-			);
+			uint32_t            nb_general_register    );
 
   public : Parameters  (Parameters & param) ;
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Parameters.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Parameters.cpp	(revision 76)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Parameters.cpp	(revision 77)
@@ -30,8 +30,5 @@
 			  uint32_t            nb_packet              ,
 			  uint32_t            size_general_data      ,
-			  uint32_t            nb_general_register    ,
-			  uint32_t            nb_operation           ,
-			  uint32_t            nb_type                			  
-			  ):
+			  uint32_t            nb_general_register    ):
     _size_store_queue        (size_store_queue       ),
     _size_load_queue         (size_load_queue        ),
@@ -45,6 +42,4 @@
     _size_general_data       (size_general_data      ),
     _nb_general_register     (nb_general_register    ),
-    _nb_operation            (nb_operation           ),
-    _nb_type                 (nb_type                ),
     
     _size_address_store_queue              (log2(size_store_queue             )),
@@ -57,6 +52,4 @@
     _size_packet_id          (log2(nb_packet          )),
     _size_general_register   (log2(nb_general_register)),
-    _size_operation          (log2(nb_operation       )),
-    _size_type               (log2(nb_type            )),
     _size_dcache_context_id  (_size_context_id + _size_front_end_id + _size_ooo_engine_id),
     _size_dcache_packet_id   ((log2((size_store_queue>size_load_queue)?size_store_queue:size_load_queue))+1),
@@ -90,6 +83,4 @@
     _size_general_data       (param._size_general_data      ),
     _nb_general_register     (param._nb_general_register    ),
-    _nb_operation            (param._nb_operation           ),
-    _nb_type                 (param._nb_type                ),
 
     _size_address_store_queue              (param._size_address_store_queue             ),
@@ -102,6 +93,4 @@
     _size_packet_id          (param._size_packet_id         ),
     _size_general_register   (param._size_general_register  ),
-    _size_operation          (param._size_operation         ),
-    _size_type               (param._size_type              ),
     _size_dcache_context_id  (param._size_dcache_context_id ),
     _size_dcache_packet_id   (param._size_dcache_packet_id  ),
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Parameters_print.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Parameters_print.cpp	(revision 76)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Parameters_print.cpp	(revision 77)
@@ -39,6 +39,4 @@
     xml.singleton_begin("size_general_data            "); xml.attribut("value",toString(_size_general_data            )); xml.singleton_end();
     xml.singleton_begin("nb_general_register          "); xml.attribut("value",toString(_nb_general_register          )); xml.singleton_end();
-    xml.singleton_begin("nb_operation                 "); xml.attribut("value",toString(_nb_operation                 )); xml.singleton_end();
-    xml.singleton_begin("nb_type                      "); xml.attribut("value",toString(_nb_type                      )); xml.singleton_end();
     xml.balise_close();
 
