Index: trunk/IPs/systemC/Environment/Cache/src/Cache_latence.cpp
===================================================================
--- trunk/IPs/systemC/Environment/Cache/src/Cache_latence.cpp	(revision 143)
+++ trunk/IPs/systemC/Environment/Cache/src/Cache_latence.cpp	(revision 144)
@@ -1,3 +1,4 @@
 #include "../include/Cache.h"
+#include <stdio.h>
 
 namespace environment {
Index: trunk/IPs/systemC/Environment/Common/include/Debug.h
===================================================================
--- trunk/IPs/systemC/Environment/Common/include/Debug.h	(revision 143)
+++ trunk/IPs/systemC/Environment/Common/include/Debug.h	(revision 144)
@@ -2,5 +2,5 @@
 #define ENVIRONMENT_COMMON_DEBUG_H
 
-#include <cstdio>
+#include <stdio.h>
 
 #define DEBUG_true        true
Index: trunk/IPs/systemC/Environment/Data/include/Data.h
===================================================================
--- trunk/IPs/systemC/Environment/Data/include/Data.h	(revision 143)
+++ trunk/IPs/systemC/Environment/Data/include/Data.h	(revision 144)
@@ -4,4 +4,5 @@
 #include "Data_Parameters.h"
 #include "Entity.h"
+#include <stdint.h>
 
 namespace environment {
Index: trunk/IPs/systemC/Environment/Data/include/Data_Parameters.h
===================================================================
--- trunk/IPs/systemC/Environment/Data/include/Data_Parameters.h	(revision 143)
+++ trunk/IPs/systemC/Environment/Data/include/Data_Parameters.h	(revision 144)
@@ -3,4 +3,5 @@
 
 #include <iostream>
+#include <stdint.h>
 #include "../../../shared/soclib_segment_table.h"
 
Index: trunk/IPs/systemC/Environment/Data/include/Segment.h
===================================================================
--- trunk/IPs/systemC/Environment/Data/include/Segment.h	(revision 143)
+++ trunk/IPs/systemC/Environment/Data/include/Segment.h	(revision 144)
@@ -6,4 +6,5 @@
 
 #include <iomanip>
+#include <stdint.h>
 
 extern "C" void loadexec(void **emem, int *esize, int *eoffset, const char *file, const char ** sections);
Index: trunk/IPs/systemC/Environment/Data/src/Data.cpp
===================================================================
--- trunk/IPs/systemC/Environment/Data/src/Data.cpp	(revision 143)
+++ trunk/IPs/systemC/Environment/Data/src/Data.cpp	(revision 144)
@@ -1,3 +1,4 @@
 #include "../include/Data.h"
+#include <stdlib.h>
 
 namespace environment {
Index: trunk/IPs/systemC/Environment/Data/src/Segment.cpp
===================================================================
--- trunk/IPs/systemC/Environment/Data/src/Segment.cpp	(revision 143)
+++ trunk/IPs/systemC/Environment/Data/src/Segment.cpp	(revision 144)
@@ -1,3 +1,4 @@
 #include "../include/Segment.h"
+#include <string.h>
 
 namespace environment {
Index: trunk/IPs/systemC/Environment/Data/src/Segment_init.cpp
===================================================================
--- trunk/IPs/systemC/Environment/Data/src/Segment_init.cpp	(revision 143)
+++ trunk/IPs/systemC/Environment/Data/src/Segment_init.cpp	(revision 144)
@@ -1,4 +1,6 @@
 #include "../include/Segment.h"
 #include "../../Common/include/Debug.h"
+#include <string.h>
+#include <stdlib.h>
 
 namespace environment {
Index: trunk/IPs/systemC/Environment/Endianness/src/Endianness_swapBytes.cpp
===================================================================
--- trunk/IPs/systemC/Environment/Endianness/src/Endianness_swapBytes.cpp	(revision 143)
+++ trunk/IPs/systemC/Environment/Endianness/src/Endianness_swapBytes.cpp	(revision 144)
@@ -1,4 +1,6 @@
 #include "../include/Endianness.h"
 #include <iostream>
+#include <stdlib.h>
+#include <string.h>
 
 namespace environment {
Index: trunk/IPs/systemC/Environment/Sim2OS/src/Sim2OS_convert_address.cpp
===================================================================
--- trunk/IPs/systemC/Environment/Sim2OS/src/Sim2OS_convert_address.cpp	(revision 143)
+++ trunk/IPs/systemC/Environment/Sim2OS/src/Sim2OS_convert_address.cpp	(revision 144)
@@ -1,3 +1,4 @@
 #include "../include/Sim2OS.h"
+#include <stdlib.h>
 
 namespace environment {
Index: trunk/IPs/systemC/Environment/TTY/include/TTY.h
===================================================================
--- trunk/IPs/systemC/Environment/TTY/include/TTY.h	(revision 143)
+++ trunk/IPs/systemC/Environment/TTY/include/TTY.h	(revision 144)
@@ -7,4 +7,5 @@
 // #include <unistd.h>
 #include <signal.h>
+#include <stdint.h>
 
 namespace environment {
Index: trunk/IPs/systemC/Environment/TTY/include/TTY_Parameters.h
===================================================================
--- trunk/IPs/systemC/Environment/TTY/include/TTY_Parameters.h	(revision 143)
+++ trunk/IPs/systemC/Environment/TTY/include/TTY_Parameters.h	(revision 144)
@@ -3,4 +3,5 @@
 
 #include <iostream>
+#include <stdint.h>
 
 namespace environment {
Index: trunk/IPs/systemC/Environment/TTY/selftest/main.cpp
===================================================================
--- trunk/IPs/systemC/Environment/TTY/selftest/main.cpp	(revision 143)
+++ trunk/IPs/systemC/Environment/TTY/selftest/main.cpp	(revision 144)
@@ -34,10 +34,10 @@
   cout << *tty << endl;
   
-  char * message_0 =  "Ici Londre : Adeline aime la saucisse de Frankort.\nJe repete : Adeline aime la saucisse de Frankort"  ;
-  char * message_1 =  "Ici Londre : Maurice a garer le camion de bernard dans la cour.\nJe repete Maurice a garer le camion de bernard dans la cour";
-  char * message_2 =  "Ici Londre : Londre est la ville qui diffuse des messages a la con.\nJe repete : Londre est la ville qui diffuse des messages a la con";
-  char * message_3 =  "Ici Londre : Non, le debarquement n'aura pas lieu le 6 juin 1944 en Normandie, et je ne me repete pas";
+  const char * message_0 =  "Ici Londre : Adeline aime la saucisse de Frankort.\nJe repete : Adeline aime la saucisse de Frankort"  ;
+  const char * message_1 =  "Ici Londre : Maurice a garer le camion de bernard dans la cour.\nJe repete Maurice a garer le camion de bernard dans la cour";
+  const char * message_2 =  "Ici Londre : Londre est la ville qui diffuse des messages a la con.\nJe repete : Londre est la ville qui diffuse des messages a la con";
+  const char * message_3 =  "Ici Londre : Non, le debarquement n'aura pas lieu le 6 juin 1944 en Normandie, et je ne me repete pas";
 
-  char * message [nb_tty];
+  const char * message [nb_tty];
   message[0] = message_0;
   message[1] = message_1;
Index: trunk/IPs/systemC/Environment/TTY/src/TTY.cpp
===================================================================
--- trunk/IPs/systemC/Environment/TTY/src/TTY.cpp	(revision 143)
+++ trunk/IPs/systemC/Environment/TTY/src/TTY.cpp	(revision 144)
@@ -1,3 +1,5 @@
 #include "../include/TTY.h"
+#include <stdlib.h>
+#include <stdio.h>
 
 namespace environment {
@@ -40,5 +42,9 @@
 		// Childen -> transform in a xtty
 		close(0); // s
-		dup (canal_output.CanalPipe [0]);
+		if (dup (canal_output.CanalPipe [0]) == -1)
+		  {
+		    std::cerr << "<Tty> Error in dupplicate file descriptor." << std::endl;
+		    exit (1);
+		  };
 		close(1);
 		execlp("xtty","xtty", param->name_tty [i].c_str() ,NULL); // devient un tty
Index: trunk/IPs/systemC/Environment/TTY/src/TTY_write.cpp
===================================================================
--- trunk/IPs/systemC/Environment/TTY/src/TTY_write.cpp	(revision 143)
+++ trunk/IPs/systemC/Environment/TTY/src/TTY_write.cpp	(revision 144)
@@ -1,3 +1,4 @@
 #include "../include/TTY.h"
+#include <stdio.h>
 
 namespace environment {
@@ -10,5 +11,8 @@
 
     if (param->with_xtty == true)
-      ::write (xtty[num_tty].pipe_output, &data, 1);
+      {
+	if (::write (xtty[num_tty].pipe_output, &data, 1) == -1)
+	  std::cerr << "<TTY::write> write error.\n" << std::endl;
+      }
     
     fputc (data, xtty[num_tty].log_file);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Glue/src/Branch_Target_Buffer_Glue.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Glue/src/Branch_Target_Buffer_Glue.cpp	(revision 143)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Glue/src/Branch_Target_Buffer_Glue.cpp	(revision 144)
@@ -99,5 +99,5 @@
 		      << (*(in_PREDICT_REGISTER_ACK          [i]));
 	    if (_param->_have_port_victim)
-	      sensitive << (*(in_PREDICT_SORT_VAL              [i]))
+	      sensitive //<< (*(in_PREDICT_SORT_VAL              [i]))
 			<< (*(in_PREDICT_SORT_INDEX            [i]))
 			<< (*(in_PREDICT_VICTIM_ACK            [i]));
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Glue/src/Branch_Target_Buffer_Glue_genMealy_predict.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Glue/src/Branch_Target_Buffer_Glue_genMealy_predict.cpp	(revision 143)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Glue/src/Branch_Target_Buffer_Glue_genMealy_predict.cpp	(revision 144)
@@ -33,5 +33,5 @@
 	Tcontrol_t val          = PORT_READ(in_PREDICT_VAL          [i]);
 	Tcontrol_t register_ack = PORT_READ(in_PREDICT_REGISTER_ACK [i]);
-	Tcontrol_t sort_val     = (_param->_have_port_victim)?PORT_READ(in_PREDICT_SORT_VAL   [i]):true;
+	// Tcontrol_t sort_val     = (_param->_have_port_victim)?PORT_READ(in_PREDICT_SORT_VAL   [i]):true;
 	Tcontrol_t victim_ack   = (_param->_have_port_victim)?PORT_READ(in_PREDICT_VICTIM_ACK [i]):true;
 
@@ -39,5 +39,5 @@
         log_printf(TRACE,Branch_Target_Buffer_Glue,FUNCTION,"    * register_ack : %d",register_ack);
         log_printf(TRACE,Branch_Target_Buffer_Glue,FUNCTION,"    * port_victim  : %d",_param->_have_port_victim);
-        log_printf(TRACE,Branch_Target_Buffer_Glue,FUNCTION,"    * sort_val     : %d",sort_val    );
+        // log_printf(TRACE,Branch_Target_Buffer_Glue,FUNCTION,"    * sort_val     : %d",sort_val    );
         log_printf(TRACE,Branch_Target_Buffer_Glue,FUNCTION,"    * victim_ack   : %d",victim_ack  );
 	
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Commit_unit_transition.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Commit_unit_transition.cpp	(revision 143)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/src/Commit_unit_transition.cpp	(revision 144)
@@ -721,6 +721,7 @@
                 // Take num instruction
                 uint32_t x = internal_BANK_RETIRE_NUM_RENAME_UNIT [num_bank];
+#ifdef DEBUG
                 uint32_t y = internal_BANK_RETIRE_NUM_INST        [num_bank];
-                
+#endif                
                 log_printf(TRACE,Commit_unit,FUNCTION,"  * RETIRE            [%d][%d]",x,y);
                 log_printf(TRACE,Commit_unit,FUNCTION,"    * num_bank     : %d",num_bank     );
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/src/Parameters.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/src/Parameters.cpp	(revision 143)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/src/Parameters.cpp	(revision 144)
@@ -8,4 +8,5 @@
 #include "Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/include/Parameters.h"
 #include "Common/include/Max.h"
+
 namespace morpheo {
 namespace behavioural {
@@ -16,5 +17,4 @@
 namespace register_translation_unit {
 namespace register_address_translation_unit {
-
 
 #undef  FUNCTION
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/src/Register_Address_Translation_unit_function_depth_save_transition.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/src/Register_Address_Translation_unit_function_depth_save_transition.cpp	(revision 143)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/src/Register_Address_Translation_unit_function_depth_save_transition.cpp	(revision 144)
@@ -190,6 +190,8 @@
 	      // the retire interface became of the Re Order Buffer, also is in program sequence !
 
+#ifdef DEBUG
               Tcontext_t front_end_id = (_param->_have_port_front_end_id)?PORT_READ(in_RETIRE_FRONT_END_ID [i]):0;
               Tcontext_t context_id   = (_param->_have_port_context_id  )?PORT_READ(in_RETIRE_CONTEXT_ID   [i]):0;
+#endif
               Tcontrol_t write_rd     = PORT_READ(in_RETIRE_WRITE_RD [i]);
               Tcontrol_t write_re     = PORT_READ(in_RETIRE_WRITE_RE [i]);
@@ -204,5 +206,7 @@
               if (write_rd == 1)
                 {
+#ifdef DEBUG
                   Tgeneral_address_t num_reg_rd_log     = PORT_READ(in_RETIRE_NUM_REG_RD_LOG     [i]);
+#endif
 
                   log_printf(TRACE,Register_Address_Translation_unit,FUNCTION,"    * num_reg_rd_log     : %d",num_reg_rd_log    );
@@ -210,6 +214,7 @@
                   if (not restore)
                     {
+#ifdef DEBUG
                   Tgeneral_address_t num_reg_rd_phy_new = PORT_READ(in_RETIRE_NUM_REG_RD_PHY_NEW [i]);
-
+#endif
                   log_printf(TRACE,Register_Address_Translation_unit,FUNCTION,"    * num_reg_rd_phy_new : %d",num_reg_rd_phy_new);
 
@@ -221,5 +226,7 @@
               if (write_re == 1)
                 {
+#ifdef DEBUG
                   Tspecial_address_t num_reg_re_log     = PORT_READ(in_RETIRE_NUM_REG_RE_LOG     [i]);
+#endif
 
                   log_printf(TRACE,Register_Address_Translation_unit,FUNCTION,"    * num_reg_re_log     : %d",num_reg_re_log    );
@@ -227,5 +234,7 @@
                   if (not restore)
                     {
+#ifdef DEBUG
                   Tspecial_address_t num_reg_re_phy_new = PORT_READ(in_RETIRE_NUM_REG_RE_PHY_NEW [i]);
+#endif
 
                   log_printf(TRACE,Register_Address_Translation_unit,FUNCTION,"    * num_reg_re_phy_new : %d",num_reg_re_phy_new);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Multiplier/src/Multiplier_transition.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Multiplier/src/Multiplier_transition.cpp	(revision 143)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Multiplier/src/Multiplier_transition.cpp	(revision 144)
@@ -184,4 +184,7 @@
           default :
             {
+	      data.LSB = 0;
+	      data.MSB = 0;
+
               break;
             }
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter.cpp	(revision 143)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter.cpp	(revision 144)
@@ -8,9 +8,8 @@
 #include "Behavioural/Generic/Shifter/include/Shifter.h"
 
-namespace morpheo                    {
+namespace morpheo {
 namespace behavioural {
 namespace generic {
 namespace shifter {
-
 
 #undef  FUNCTION
@@ -81,8 +80,10 @@
 	sensitive << (*(in_SHIFTER_CARRY     [i]));
 	if (param->_carry       == external_completion)
-	  if (_param->_type_completion_bool == true)
-	    sensitive << (*(in_SHIFTER_CARRY_IN  [i]));
-	  else
-	    sensitive << (*(in_SHIFTER_COMPLETION[i]));
+	  {// BURP : ajout de la parenthèse
+	    if (_param->_type_completion_bool == true)
+	      sensitive << (*(in_SHIFTER_CARRY_IN  [i]));
+	    else
+	      sensitive << (*(in_SHIFTER_COMPLETION[i]));
+	  }
       }
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Sort/src/Sort_genMealy.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Sort/src/Sort_genMealy.cpp	(revision 143)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Sort/src/Sort_genMealy.cpp	(revision 144)
@@ -8,4 +8,5 @@
 
 #include "Behavioural/Generic/Sort/include/Sort.h"
+#include <algorithm>
 
 namespace morpheo                    {
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Stat_type.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Stat_type.h	(revision 143)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Stat_type.h	(revision 144)
@@ -7,4 +7,5 @@
 #include <utility>
 #include <cassert>
+#include <stdint.h>
 
 namespace morpheo {
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal_dealloc.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal_dealloc.cpp	(revision 143)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal_dealloc.cpp	(revision 144)
@@ -19,4 +19,5 @@
 
 #warning "FIXME : Signal::dealloc"
+
     // switch (_direction)
     //   {
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal_test_map.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal_test_map.cpp	(revision 143)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal_test_map.cpp	(revision 144)
@@ -40,105 +40,107 @@
 
     if (not (is_behavioural and top_level))
-      if (top_level == true)
-	{
-	  switch (_direction)
-	    {
-	    case morpheo::behavioural::IN       : 
+      {//BURP : ajoue de la parenthÃšse ...
+	if (top_level == true)
+	  {
+	    switch (_direction)
 	      {
-		if (_is_map_as_toplevel_dest == false)
-		  {
-		    _return = false;
-		    
-		    str = "Signal \""+signame+"\" is not mapped with an outpout port top-level's interface or a input port component's interface.";
-		  }
-		break;
+	      case morpheo::behavioural::IN       : 
+		{
+		  if (_is_map_as_toplevel_dest == false)
+		    {
+		      _return = false;
+		      
+		      str = "Signal \""+signame+"\" is not mapped with an outpout port top-level's interface or a input port component's interface.";
+		    }
+		  break;
+		}
+	      case morpheo::behavioural::OUT      : 
+		{
+		  if (_is_map_as_toplevel_dest == false)
+		    {
+		      _return = false;
+		      str = "Signal \""+signame+"\" is not mapped with an input port top-level's interface or a output port component's interface.";
+		    }
+		  break;
+		}
+	      case morpheo::behavioural::INTERNAL : 
+		{
+		  if (_is_map_as_component_src  == false)
+		    {
+		      _return = false;
+		      
+		      str = "Internal signal \""+signame+"\" is not mapped with an outpout port top-level's interface or a input port component's interface.";
+		    }
+		  
+		  if (_is_map_as_component_dest == false)
+		    {
+		      if (_return == false)
+			str+="\n";
+		      
+		      _return = false;
+		      
+		      str += "Internal signal \""+signame+"\" is not mapped with an input port top-level's interface or a output port component's interface.";
+		    }
+		  
+		  break;
+		}
+		//case morpheo::behavioural::INOUT    :
+	      default    : break;
 	      }
-	    case morpheo::behavioural::OUT      : 
+	  }
+	else
+	  {
+	    // internal signal :
+	    // Component --- I/O       (as_src)
+	    // Component --- Component (as_src and as_dest)
+	    
+	    switch (_direction)
 	      {
-		if (_is_map_as_toplevel_dest == false)
-		  {
-		    _return = false;
-		    str = "Signal \""+signame+"\" is not mapped with an input port top-level's interface or a output port component's interface.";
-		  }
-		break;
+	      case morpheo::behavioural::IN       : 
+		{
+		  if (_is_map_as_component_src == false)
+		    {
+		      _return = false;
+		      
+		      str = "Signal \""+signame+"\" is not mapped with an input port top-level's interface or a output port component's interface.";
+		    }
+		  break;
+		}
+	      case morpheo::behavioural::OUT      : 
+		{
+		  if (_is_map_as_component_src == false)
+		    {
+		      _return = false;
+		      
+		      str = "Signal \""+signame+"\" is not mapped with an outpout port top-level's interface or a input port component's interface.";
+		    }
+		  break;
+		}
+	      case morpheo::behavioural::INTERNAL : 
+		{
+		  if (_is_map_as_component_src  == false)
+		    {
+		      _return = false;
+		      
+		      str = "Internal signal \""+signame+"\" is not mapped with an outpout port top-level's interface or a input port component's interface.";
+		    }
+		  
+		  if (_is_map_as_component_dest == false)
+		    {
+		      if (_return == false)
+			str+="\n";
+		      
+		      _return = false;
+		      
+		      str += "Internal signal \""+signame+"\" is not mapped with an input port top-level's interface or a output port component's interface.";
+		    }
+		  
+		  break;
+		}
+		//case morpheo::behavioural::INOUT    :
+	      default    : break;
 	      }
-	    case morpheo::behavioural::INTERNAL : 
-	      {
-		if (_is_map_as_component_src  == false)
-		  {
-		    _return = false;
-		    
-		    str = "Internal signal \""+signame+"\" is not mapped with an outpout port top-level's interface or a input port component's interface.";
-		  }
-		
-		if (_is_map_as_component_dest == false)
-		  {
-		    if (_return == false)
-		      str+="\n";
-		    
-		    _return = false;
-		    
-		    str += "Internal signal \""+signame+"\" is not mapped with an input port top-level's interface or a output port component's interface.";
-		  }
-		
-		break;
-	      }
-	      //case morpheo::behavioural::INOUT    :
-	    default    : break;
-	    }
-	}
-      else
-	{
-	  // internal signal :
-	  // Component --- I/O       (as_src)
-	  // Component --- Component (as_src and as_dest)
-	  
-	  switch (_direction)
-	    {
-	    case morpheo::behavioural::IN       : 
-	      {
-		if (_is_map_as_component_src == false)
-		  {
-		    _return = false;
-		    
-		    str = "Signal \""+signame+"\" is not mapped with an input port top-level's interface or a output port component's interface.";
-		  }
-		break;
-	      }
-	    case morpheo::behavioural::OUT      : 
-	      {
-		if (_is_map_as_component_src == false)
-		  {
-		    _return = false;
-		    
-		    str = "Signal \""+signame+"\" is not mapped with an outpout port top-level's interface or a input port component's interface.";
-		  }
-		break;
-	      }
-	    case morpheo::behavioural::INTERNAL : 
-	      {
-		if (_is_map_as_component_src  == false)
-		  {
-		    _return = false;
-		    
-		    str = "Internal signal \""+signame+"\" is not mapped with an outpout port top-level's interface or a input port component's interface.";
-		  }
-		
-		if (_is_map_as_component_dest == false)
-		  {
-		    if (_return == false)
-		      str+="\n";
-		    
-		    _return = false;
-		    
-		    str += "Internal signal \""+signame+"\" is not mapped with an input port top-level's interface or a output port component's interface.";
-		  }
-		
-		break;
-	      }
-	      //case morpheo::behavioural::INOUT    :
-	    default    : break;
-	    }
-	}
+	  }
+      }
 
     if (_return == false)
Index: trunk/IPs/systemC/processor/Morpheo/Common/include/Environment.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Common/include/Environment.h	(revision 143)
+++ trunk/IPs/systemC/processor/Morpheo/Common/include/Environment.h	(revision 144)
@@ -47,5 +47,5 @@
   // Environment variable
   extern std::string MORPHEO_HOME;
-  extern std::string MORPHEO_TOPLEVEL;
+  extern std::string MORPHEO_PREFIX;
   extern std::string MORPHEO_VERSION;
   extern std::string MORPHEO_HEADER;
Index: trunk/IPs/systemC/processor/Morpheo/Common/src/Basename.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Common/src/Basename.cpp	(revision 143)
+++ trunk/IPs/systemC/processor/Morpheo/Common/src/Basename.cpp	(revision 144)
@@ -13,5 +13,5 @@
   std::string basename (std::string str, bool keep_extension)
   {
-    std::string res = ::basename(str.c_str());
+    std::string res = ::basename(const_cast<char *>(str.c_str()));
     
     if (not keep_extension)
Index: trunk/IPs/systemC/processor/Morpheo/Common/src/Environment.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Common/src/Environment.cpp	(revision 143)
+++ trunk/IPs/systemC/processor/Morpheo/Common/src/Environment.cpp	(revision 144)
@@ -11,4 +11,5 @@
 #include "Common/include/Message.h"
 #include <sys/stat.h>
+#include <errno.h>
 
 namespace morpheo {
@@ -16,5 +17,5 @@
 static bool environment_initialized;
 std::string MORPHEO_HOME;
-std::string MORPHEO_TOPLEVEL;
+std::string MORPHEO_PREFIX;
 std::string MORPHEO_VERSION;
 std::string MORPHEO_HEADER;
@@ -28,10 +29,10 @@
     {
       {
-        char * TOPLEVEL = getenv("MORPHEO_TOPLEVEL");
+        char * PREFIX = getenv("MORPHEO_PREFIX");
         
-        if (TOPLEVEL == NULL)
+        if (PREFIX == NULL)
           throw ERRORMORPHEO(FUNCTION,_("Error morpheo environment is not positioned.\n"));
 
-        MORPHEO_TOPLEVEL = TOPLEVEL;
+        MORPHEO_PREFIX = PREFIX;
       }
 
@@ -91,5 +92,6 @@
   if (chdir(dir.c_str())!=0)
     throw ERRORMORPHEO(FUNCTION,toString(_("Error in opening directory \"%s\".\n"),dir.c_str()));
-  chdir(pwd);
+
+  assert(chdir(pwd)==0);
 }
 
Index: trunk/IPs/systemC/processor/Morpheo/Common/src/Translation.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Common/src/Translation.cpp	(revision 143)
+++ trunk/IPs/systemC/processor/Morpheo/Common/src/Translation.cpp	(revision 144)
@@ -23,6 +23,6 @@
         environment();
         
-        std::string dirname = MORPHEO_TOPLEVEL;
-        dirname += "/IPs/systemC/processor/Morpheo/locale";
+        std::string dirname = MORPHEO_PREFIX;
+        dirname += "/locale";
 
         if (bindtextdomain(MORPHEO_PACKAGE,dirname.c_str()) == NULL)
Index: trunk/IPs/systemC/processor/Morpheo/Makefile
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Makefile	(revision 143)
+++ trunk/IPs/systemC/processor/Morpheo/Makefile	(revision 144)
@@ -35,8 +35,10 @@
 			@\
 			for i in $(DIR_LOCALE)/*/*/*.po; do 		\
-				dir=$$($(DIRNAME) $$i); 		\
+				dir_src=$$($(DIRNAME) $$i); 		\
+				dir_dest=$(MORPHEO_PREFIX)/$$dir_src;	\
 				file=$$($(BASENAME) $$i .po);		\
+				$(MKDIR) $$dir_dest;			\
 				$(ECHO) "Translate          : $$i";	\
-				$(MSGFMT) $$i -o $$dir/$$file.mo;	\
+				$(MSGFMT) $$i -o $$dir_dest/$$file.mo;	\
 			done
 
Index: trunk/IPs/systemC/shared/soclib_segment_table.h
===================================================================
--- trunk/IPs/systemC/shared/soclib_segment_table.h	(revision 143)
+++ trunk/IPs/systemC/shared/soclib_segment_table.h	(revision 144)
@@ -73,4 +73,5 @@
 #include <list>
 #include <iostream>
+#include <stdio.h>
 // using namespace std;
 
@@ -323,5 +324,5 @@
 	{
 	  std::cout << "\n                 MSB ROUTING_TABLE\n\n" ;
-	  int size = 1 << MSBNumber+LSBNumber;
+	  int size = 1 << (MSBNumber+LSBNumber);
 	  unsigned int	*tab = new unsigned int[size];
 	  initRoutingTable(tab);
@@ -337,5 +338,5 @@
   {
     printf( "\n    LSB_ROUTING_TABLE OF GLOBAL TARGET :%d \n\n", glt );
-    int size = 1 << MSBNumber+LSBNumber;
+    int size = 1 << (MSBNumber+LSBNumber);
     unsigned int	*tab = new unsigned int[size];
     initLocalRoutingTable(tab,glt);
@@ -371,5 +372,5 @@
 	}
 
-	int RoutingTableSize = 1 << MSBNumber+LSBNumber;
+	int RoutingTableSize = 1 << (MSBNumber+LSBNumber);
 	int PageSize         = 1 << (32 - MSBNumber - LSBNumber);
 	
@@ -511,5 +512,5 @@
 	}
 
-	int RoutingTableSize = 1 << MSBNumber+LSBNumber;
+	int RoutingTableSize = 1 << (MSBNumber+LSBNumber);
 	int PageSize         = 1 << (32 - MSBNumber - LSBNumber );
 	
Index: trunk/Version
===================================================================
--- trunk/Version	(revision 143)
+++ trunk/Version	(revision 144)
@@ -1,1 +1,1 @@
-0 2 143 Castor 02 09 2010
+0 2 144 Castor 28 09 2010
Index: trunk/environment.sh
===================================================================
--- trunk/environment.sh	(revision 143)
+++ trunk/environment.sh	(revision 144)
@@ -108,6 +108,10 @@
     		export MORPHEO_TMP=${MORPHEO_PREFIX}/tmp;
     		;;
-            "home" | "nettop")
+            "home")
     		export MORPHEO_PREFIX=${HOME}/tmp/Morpheo;
+    		export MORPHEO_TMP=${MORPHEO_PREFIX}/tmp;
+    		;;
+            "nettop")
+    		export MORPHEO_PREFIX=/media/disk/tmp/Morpheo;
     		export MORPHEO_TMP=${MORPHEO_PREFIX}/tmp;
     		;;
