Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/Instruction/src/Instruction.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/Instruction/src/Instruction.cpp	(revision 100)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/Instruction/src/Instruction.cpp	(revision 101)
@@ -29,7 +29,12 @@
   void instruction_decod               (decod_instruction_t * inst, decod_param_t * param)
   {
+    log_printf(TRACE,Decod,"instruction_decod","  * instruction   : decod");
+
 //     instruction_decod_type_0 (inst,param);
 
     uint32_t opcod = range<uint32_t>(inst->_instruction,31,26);
+
+    log_printf(TRACE,Decod,"instruction_decod","    * opcod : %d (0x%x)",opcod,opcod);
+
     (* param->_function_decod[ 0][opcod]) (inst,param);
   }
@@ -43,5 +48,10 @@
   void instruction_decod_type_1        (decod_instruction_t * inst, decod_param_t * param)
   {
+    log_printf(TRACE,Decod,"instruction_decod_type_1","  * instruction   : decod type_1");
+    
     uint32_t opcod = range<uint32_t>(inst->_instruction, 7, 0);
+
+    log_printf(TRACE,Decod,"instruction_decod","    * opcod : %d (0x%x)",opcod,opcod);
+
     (* param->_function_decod[ 1][opcod]) (inst,param);
   }
@@ -49,5 +59,10 @@
   void instruction_decod_type_2        (decod_instruction_t * inst, decod_param_t * param)
   {
+    log_printf(TRACE,Decod,"instruction_decod_type_2","  * instruction   : decod type_2");
+
     uint32_t opcod = range<uint32_t>(inst->_instruction, 7, 0);
+
+    log_printf(TRACE,Decod,"instruction_decod","    * opcod : %d (0x%x)",opcod,opcod);
+
     (* param->_function_decod[ 2][opcod]) (inst,param);
   }
@@ -55,6 +70,11 @@
   void instruction_decod_type_3        (decod_instruction_t * inst, decod_param_t * param)
   {
+    log_printf(TRACE,Decod,"instruction_decod_type_3","  * instruction   : decod type_3");
+
     uint32_t opcod = ((range<uint32_t>(inst->_instruction, 9, 8)<<4) |
 		      (range<uint32_t>(inst->_instruction, 3, 0)));
+
+    log_printf(TRACE,Decod,"instruction_decod","    * opcod : %d (0x%x)",opcod,opcod);
+
     (* param->_function_decod[ 3][opcod]) (inst,param);
   }
@@ -62,5 +82,10 @@
   void instruction_decod_type_4        (decod_instruction_t * inst, decod_param_t * param)
   {
+    log_printf(TRACE,Decod,"instruction_decod_type_4","  * instruction   : decod type_4");
+
     uint32_t opcod = range<uint32_t>(inst->_instruction,25,21);
+
+    log_printf(TRACE,Decod,"instruction_decod","    * opcod : %d (0x%x)",opcod,opcod);
+
     (* param->_function_decod[ 4][opcod]) (inst,param);
   }
@@ -68,5 +93,10 @@
   void instruction_decod_type_5        (decod_instruction_t * inst, decod_param_t * param)
   {
+    log_printf(TRACE,Decod,"instruction_decod_type_5","  * instruction   : decod type_5");
+
     uint32_t opcod = range<uint32_t>(inst->_instruction,25,21);
+
+    log_printf(TRACE,Decod,"instruction_decod","    * opcod : %d (0x%x)",opcod,opcod);
+
     (* param->_function_decod[ 5][opcod]) (inst,param);
   }
@@ -74,5 +104,10 @@
   void instruction_decod_type_6        (decod_instruction_t * inst, decod_param_t * param)
   {
+    log_printf(TRACE,Decod,"instruction_decod_type_6","  * instruction   : decod type_6");
+
     uint32_t opcod = range<uint32_t>(inst->_instruction, 7, 6);
+
+    log_printf(TRACE,Decod,"instruction_decod","    * opcod : %d (0x%x)",opcod,opcod);
+
     (* param->_function_decod[ 6][opcod]) (inst,param);
   }
@@ -80,5 +115,10 @@
   void instruction_decod_type_7        (decod_instruction_t * inst, decod_param_t * param)
   {
+    log_printf(TRACE,Decod,"instruction_decod_type_7","  * instruction   : decod type_7");
+
     uint32_t opcod = range<uint32_t>(inst->_instruction, 3, 0);
+
+    log_printf(TRACE,Decod,"instruction_decod","    * opcod : %d (0x%x)",opcod,opcod);
+
     (* param->_function_decod[ 7][opcod]) (inst,param);
   }
@@ -86,5 +126,10 @@
   void instruction_decod_type_8        (decod_instruction_t * inst, decod_param_t * param)
   {
+    log_printf(TRACE,Decod,"instruction_decod_type_8","  * instruction   : decod type_8");
+
     uint32_t opcod = range<uint32_t>(inst->_instruction,16,16);
+
+    log_printf(TRACE,Decod,"instruction_decod","    * opcod : %d (0x%x)",opcod,opcod);
+
     (* param->_function_decod[ 8][opcod]) (inst,param);
   }
@@ -92,5 +137,10 @@
   void instruction_decod_type_9        (decod_instruction_t * inst, decod_param_t * param)
   {
+    log_printf(TRACE,Decod,"instruction_decod_type_9","  * instruction   : decod type_9");
+
     uint32_t opcod = range<uint32_t>(inst->_instruction,25,23);
+
+    log_printf(TRACE,Decod,"instruction_decod","    * opcod : %d (0x%x)",opcod,opcod);
+
     (* param->_function_decod[ 9][opcod]) (inst,param);
   }
@@ -98,5 +148,10 @@
   void instruction_decod_type_10       (decod_instruction_t * inst, decod_param_t * param)
   {
+    log_printf(TRACE,Decod,"instruction_decod_type_10","  * instruction   : decod type_10");
+
     uint32_t opcod = range<uint32_t>(inst->_instruction,25,24);
+
+    log_printf(TRACE,Decod,"instruction_decod","    * opcod : %d (0x%x)",opcod,opcod);
+
     (* param->_function_decod[10][opcod]) (inst,param);
   }
@@ -104,5 +159,10 @@
   void instruction_decod_type_11       (decod_instruction_t * inst, decod_param_t * param)
   {
+    log_printf(TRACE,Decod,"instruction_decod_type_11","  * instruction   : decod type_11");
+
     uint32_t opcod = range<uint32_t>(inst->_instruction, 7, 6);
+
+    log_printf(TRACE,Decod,"instruction_decod","    * opcod : %d (0x%x)",opcod,opcod);
+
     (* param->_function_decod[11][opcod]) (inst,param);
   }
@@ -110,5 +170,10 @@
   void instruction_decod_type_12       (decod_instruction_t * inst, decod_param_t * param)
   {
+    log_printf(TRACE,Decod,"instruction_decod_type_12","  * instruction   : decod type_12");
+
     uint32_t opcod = range<uint32_t>(inst->_instruction, 7, 6);
+
+    log_printf(TRACE,Decod,"instruction_decod","    * opcod : %d (0x%x)",opcod,opcod);
+
     (* param->_function_decod[12][opcod]) (inst,param);
   }
@@ -116,5 +181,10 @@
   void instruction_decod_type_13       (decod_instruction_t * inst, decod_param_t * param)
   {
+    log_printf(TRACE,Decod,"instruction_decod_type_13","  * instruction   : decod type_13");
+
     uint32_t opcod = range<uint32_t>(inst->_instruction, 7, 6);
+
+    log_printf(TRACE,Decod,"instruction_decod","    * opcod : %d (0x%x)",opcod,opcod);
+
     (* param->_function_decod[13][opcod]) (inst,param);
   }
@@ -122,5 +192,7 @@
   void instruction_illegal             (decod_instruction_t * inst, decod_param_t * param)
   {
-    log_printf(TRACE,Decod,"instruction_illegal","instruction_illegal");
+    log_printf(TRACE,Decod,"instruction_illegal","  * instruction   : illegal");
+
+    msgWarning(_("Instruction \"%.8x\" at address \"%.8x\" is illegal.\n"),inst->_instruction,inst->_address);
 	
     inst->_exception_use = EXCEPTION_USE_ILLEGAL_INSTRUCTION;
