Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Custom/include/Encryption.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Custom/include/Encryption.h	(revision 82)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Custom/include/Encryption.h	(revision 86)
@@ -45,4 +45,9 @@
 					  morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_execute_unit::execute_unit::functionnal_unit::execute_register_t  * reg,
 					  morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_execute_unit::execute_unit::functionnal_unit::execute_param_t     * param);
+
+  private : static void decod_encrypt    (morpheo::behavioural::core::multi_front_end::front_end::decod_unit::decod::decod_instruction_t * inst, 
+					  morpheo::behavioural::core::multi_front_end::front_end::decod_unit::decod::decod_param_t       * param);
+  private : static void decod_decrypt    (morpheo::behavioural::core::multi_front_end::front_end::decod_unit::decod::decod_instruction_t * inst, 
+					  morpheo::behavioural::core::multi_front_end::front_end::decod_unit::decod::decod_param_t       * param);
   };
   
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Custom/src/Encryption.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Custom/src/Encryption.cpp	(revision 82)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Custom/src/Encryption.cpp	(revision 86)
@@ -37,6 +37,10 @@
   custom_decod_t * Encryption::get_custom_decod (Toperation_t operation)
   {
-    // TODO !!!!!
-    return NULL;
+    if (operation == _operation_encrypt)
+      return &(morpheo::behavioural::custom::encryption::Encryption::decod_encrypt);
+    if (operation == _operation_decrypt)
+      return &(morpheo::behavioural::custom::encryption::Encryption::decod_decrypt);
+
+    return &(morpheo::behavioural::core::multi_front_end::front_end::decod_unit::decod::instruction_illegal); // unimplemented function
   }
 
@@ -82,5 +86,4 @@
     
     // Result
-    
     op->_timing       = morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_execute_unit::execute_unit::functionnal_unit::execute_timing_t(rool, rool);
     op->_data_rd      = data;
@@ -118,4 +121,46 @@
   };
 
+  void Encryption::decod_encrypt (morpheo::behavioural::core::multi_front_end::front_end::decod_unit::decod::decod_instruction_t * inst, 
+				  morpheo::behavioural::core::multi_front_end::front_end::decod_unit::decod::decod_param_t       * param)
+  {
+    log_printf(TRACE,Decod,"decod_encrypt","  * instruction   : encrypt");
+
+    inst->_has_immediat       = 0;
+//  inst->_immediat           = ;
+    inst->_read_ra            = 1;
+    inst->_num_reg_ra         = range<Tgeneral_address_t>(inst->_instruction,20,16);
+    inst->_read_rb            = 0;
+//  inst->_num_reg_rb         = ;
+    inst->_read_rc            = 0;
+//  inst->_num_reg_rc         = ;
+    inst->_write_rd           = 1;
+    inst->_num_reg_rd         = range<Tgeneral_address_t>(inst->_instruction,25,21);
+    inst->_write_re           = 0;
+//  inst->_num_reg_re         = ;
+    inst->_exception_use      = EXCEPTION_USE_NONE;
+    inst->_event_type         = EVENT_TYPE_NONE;
+  }
+
+  void Encryption::decod_decrypt (morpheo::behavioural::core::multi_front_end::front_end::decod_unit::decod::decod_instruction_t * inst, 
+				  morpheo::behavioural::core::multi_front_end::front_end::decod_unit::decod::decod_param_t       * param)
+  {
+    log_printf(TRACE,Decod,"decod_decrypt","  * instruction   : decrypt");
+
+    inst->_has_immediat       = 0;
+//  inst->_immediat           = ;
+    inst->_read_ra            = 1;
+    inst->_num_reg_ra         = range<Tgeneral_address_t>(inst->_instruction,20,16);
+    inst->_read_rb            = 0;
+//  inst->_num_reg_rb         = ;
+    inst->_read_rc            = 0;
+//  inst->_num_reg_rc         = ;
+    inst->_write_rd           = 1;
+    inst->_num_reg_rd         = range<Tgeneral_address_t>(inst->_instruction,25,21);
+    inst->_write_re           = 0;
+//  inst->_num_reg_re         = ;
+    inst->_exception_use      = EXCEPTION_USE_NONE;
+    inst->_event_type         = EVENT_TYPE_NONE;
+  }
+
 }; // end namespace encryption 
 }; // end namespace custom
