Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_get_name.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_get_name.cpp	(revision 82)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_get_name.cpp	(revision 82)
@@ -0,0 +1,28 @@
+/*
+ * $Id$
+ *
+ * [ Description ]
+ * 
+ */
+
+#include "Behavioural/include/Component.h"
+
+
+namespace morpheo              {
+namespace behavioural          {
+
+#undef  FUNCTION
+#define FUNCTION "Component::get_name"
+  std::string Component::get_name (void)
+  {
+    log_printf(FUNC,Behavioural,FUNCTION,"Begin");
+
+    std::string _return = _entity->get_name();
+
+    log_printf(FUNC,Behavioural,FUNCTION,"End");
+    
+    return _return;
+  };
+  
+}; // end namespace behavioural          
+}; // end namespace morpheo              
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_port_map.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_port_map.cpp	(revision 81)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_port_map.cpp	(revision 82)
@@ -2,5 +2,5 @@
  * $Id$
  *
- * [ Description ]
+ * [ Description ]
  * 
  */
@@ -32,10 +32,10 @@
 
     if (entity_dest == NULL)
-      throw (ErrorMorpheo ("<Component::port_map> in component \""+name_entity+"\", try map \""+component_src+"."+port_src+"\" with \""+component_dest+"."+port_dest+"\" but the component \""+component_dest+"\" is unknow."));
+      throw (ERRORMORPHEO (FUNCTION,"In component \""+name_entity+"\", try map \""+component_src+"."+port_src+"\" with \""+component_dest+"."+port_dest+"\" but the component \""+component_dest+"\" is unknow.\n"));
 
     Signal * signal_dest = entity_dest->find_signal (port_dest);
 
     if (signal_dest == NULL)
-      throw (ErrorMorpheo ("<Component::port_map> in component \""+name_entity+"\",try map \""+component_src+"."+port_src+"\" with \""+component_dest+"."+port_dest+"\" but the component \""+component_dest+"\" have not the signal \""+port_dest+"\"."));
+      throw (ERRORMORPHEO (FUNCTION,"In component \""+name_entity+"\",try map \""+component_src+"."+port_src+"\" with \""+component_dest+"."+port_dest+"\" but the component \""+component_dest+"\" have not the signal \""+port_dest+"\".\n"));
 
     // Second entity
@@ -43,13 +43,13 @@
 
     if (entity_src == NULL)
-      throw (ErrorMorpheo ("<Component::port_map> in component \""+name_entity+"\", try map \""+component_src+"."+port_src+"\" with \""+component_dest+"."+port_dest+"\" but the component \""+component_src+"\" is unknow."));
+      throw (ERRORMORPHEO (FUNCTION,"In component \""+name_entity+"\", try map \""+component_src+"."+port_src+"\" with \""+component_dest+"."+port_dest+"\" but the component \""+component_src+"\" is unknow.\n"));
 
     Signal * signal_src = entity_src->find_signal (port_src);
 
     if (signal_src == NULL)
-      throw (ErrorMorpheo ("<Component::port_map> in component \""+name_entity+"\", try map \""+component_src+"."+port_src+"\" with \""+component_dest+"."+port_dest+"\" but the component \""+component_src+"\" have not the signal \""+port_src+"\"."));
+      throw (ERRORMORPHEO (FUNCTION,"In component \""+name_entity+"\", try map \""+component_src+"."+port_src+"\" with \""+component_dest+"."+port_dest+"\" but the component \""+component_src+"\" have not the signal \""+port_src+"\".\n"));
 
     // If all is ok, mapping
-    log_printf(TRACE,Behavioural,FUNCTION, "Signal \"%s.%s\"\tlink with \"%s.%s\""
+    log_printf(TRACE,Behavioural,FUNCTION, _("Signal \"%s.%s\"\tlink with \"%s.%s\"")
 	       ,entity_src ->get_name().c_str()
 	       ,signal_src ->get_name().c_str()
@@ -62,5 +62,5 @@
 
     if (src_is_port == true)
-      throw (ErrorMorpheo ("<Component::port_map> in component \""+name_entity+"\", try map \""+component_src+"."+port_src+"\" with \""+component_dest+"."+port_dest+"\" but the component \""+component_src+" is the Top_level, and we can't be use interface's port of the top level as a source."));
+      throw (ERRORMORPHEO (FUNCTION,"In component \""+name_entity+"\", try map \""+component_src+"."+port_src+"\" with \""+component_dest+"."+port_dest+"\" but the component \""+component_src+" is the Top_level, and we can't be use interface's port of the top level as a source.\n"));
     
     // 2 cases : 
@@ -106,5 +106,5 @@
     catch (morpheo::ErrorMorpheo & error)
       {
-	throw (ErrorMorpheo ("<Component::port_map> in component \""+name_entity+"\", try map \""+component_src+"."+port_src+"\" with \""+component_dest+"."+port_dest+"\" but "+error.what ()));
+      throw (ERRORMORPHEO (FUNCTION,"In component \""+name_entity+"\", try map \""+component_src+"."+port_src+"\" with \""+component_dest+"."+port_dest+"\" but "+error.what ()));
       }
     //catch (...)
@@ -117,4 +117,2 @@
 }; // end namespace behavioural          
 }; // end namespace morpheo              
-
-
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_print.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_print.cpp	(revision 81)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_print.cpp	(revision 82)
@@ -2,5 +2,5 @@
  * $Id$
  *
- * [ Description ]
+ * [ Description ]
  * 
  */
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_set_component.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_set_component.cpp	(revision 81)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_set_component.cpp	(revision 82)
@@ -29,5 +29,5 @@
     Tcomponent_t * entry = new Tcomponent_t;
     
-//     entry->_component= component;
+    entry->_component= component;
     entry->_instance = instance;
     entry->_entity   = entity;
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_test_map.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_test_map.cpp	(revision 81)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_test_map.cpp	(revision 82)
@@ -15,4 +15,5 @@
   bool Component::test_map (bool recursive)
   {
+    log_printf(NONE,Behavioural,FUNCTION, "Test port map and interface.");
     return test_map (0, recursive);
   }
@@ -26,5 +27,6 @@
     bool test_ok = true;
 
-    if (_list_component->empty () == true)
+    bool is_behavioural = _list_component->empty ();
+    if (is_behavioural)
       {
 	log_printf(NONE,Behavioural,FUNCTION, "%s* Component \"%s\" is a behavioural description",tab.c_str(),name.c_str());
@@ -33,21 +35,27 @@
       {
 	log_printf(NONE,Behavioural,FUNCTION, "%s* Component \"%s\" is a structural description",tab.c_str(),name.c_str());
+      }
 
-	log_printf(INFO,Behavioural,FUNCTION, "%s* Test port I/O",tab.c_str());
+    
+    // 	log_printf(NONE,Behavioural,FUNCTION, "%s* Test port I/O",tab.c_str());
+    
+    test_ok &= _entity->test_map(depth+1,true,is_behavioural);
+    
+    // 	log_printf(NONE,Behavioural,FUNCTION, "%s* Test all internal component",tab.c_str());
 	
-	test_ok &= _entity->test_map(1,true);
-
-	log_printf(INFO,Behavioural,FUNCTION, "%s* Test all internal component",tab.c_str());
-	
-	for (std::list<Tcomponent_t *>::iterator i= _list_component->begin();
-	     i != _list_component->end();
-	     ++i)
-	  test_ok &= (*i)->_entity->test_map(1,false);
-
-// 	if (recursive)
-// 	  for (std::list<Tcomponent_t *>::iterator i= _list_component->begin();
-// 	       i != _list_component->end();
-// 	       ++i)
-// 	    test_ok &= (*i)->_component->test_map(1,recursive);
+    for (std::list<Tcomponent_t *>::iterator i= _list_component->begin();
+	 i != _list_component->end();
+	 ++i)
+      {
+	test_ok &= (*i)->_entity->test_map(depth+1,false,is_behavioural);
+	if (recursive)
+	  try 
+	    {
+	      test_ok &= (*i)->_component->test_map(depth+1,recursive);
+	    }
+	  catch (morpheo::ErrorMorpheo & error)
+	    {
+	      // no error propagation, only top level
+	    }
       }
     
@@ -55,9 +63,51 @@
     
     if (test_ok == false)
-      throw (ERRORMORPHEO (FUNCTION,"A lot of port is not connected."));
+      throw (ERRORMORPHEO (FUNCTION,_("A lot of port is not connected.\n")));
 
     return test_ok;
   };
 
+// #undef  FUNCTION
+// #define FUNCTION "Component::test_equi"
+//   bool Component::test_equi (bool recursive)
+//   {
+//     log_printf(NONE,Behavioural,FUNCTION, "Test port equi and interface.");
+//     return test_equi (0, recursive);
+//   }
+
+//   bool Component::test_equi (uint32_t depth, bool recursive)
+//   {
+//     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
+
+//     std::string tab  = std::string(depth,'\t');
+//     std::string name = _entity->get_name();
+//     bool test_ok = true;
+
+//     test_ok &= _entity->test_equi(depth+1);
+
+//     for (std::list<Tcomponent_t *>::iterator i= _list_component->begin();
+// 	 i != _list_component->end();
+// 	 ++i)
+//       {
+// 	test_ok &= (*i)->_entity->test_equi(depth+1);
+// 	if (recursive)
+// 	  try 
+// 	    {
+// 	      test_ok &= (*i)->_component->test_equi(depth+1,recursive);
+// 	    }
+// 	  catch (morpheo::ErrorMorpheo & error)
+// 	    {
+// 	      // no error propagation, only top level
+// 	    }
+//       }
+    
+//     log_printf(FUNC,Behavioural,FUNCTION,"End");
+    
+//     if (test_ok == false)
+//       throw (ERRORMORPHEO (FUNCTION,_("A lot of port is not connected.\n")));
+
+//     return test_ok;
+//   };
+
 
 }; // end namespace behavioural          
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Entity_test_map.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Entity_test_map.cpp	(revision 81)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Entity_test_map.cpp	(revision 82)
@@ -14,12 +14,12 @@
 #undef  FUNCTION
 #define FUNCTION "Entity::test_map"
-  bool Entity::test_map (uint32_t depth, bool top_level)
+  bool Entity::test_map (uint32_t depth, bool top_level, bool is_behavioural)
   {
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
   
     std::string tab  = std::string(depth,'\t');
-    log_printf(NONE,Behavioural,FUNCTION, "%s* Test mapping : Entity \"%s\"",tab.c_str(),_name.c_str());
+    log_printf(NONE,Behavioural,FUNCTION, "%s* Entity \"%s\"",tab.c_str(),_name.c_str());
   
-    bool _return = _interfaces->test_map(depth+1,top_level);
+    bool _return = _interfaces->test_map(depth+1,top_level, is_behavioural);
 
 #ifndef DEBUG
@@ -35,4 +35,27 @@
   };
 
+// #undef  FUNCTION
+// #define FUNCTION "Entity::test_equi"
+//   bool Entity::test_equi (uint32_t depth)
+//   {
+//     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
+  
+//     std::string tab  = std::string(depth,'\t');
+//     log_printf(NONE,Behavioural,FUNCTION, "%s* Entity \"%s\"",tab.c_str(),_name.c_str());
+  
+//     bool _return = _interfaces->test_equi(depth+1);
+
+// #ifndef DEBUG
+//     if (_return == false)
+//       {
+// 	std::cerr << "In entity \"" << _name << "\" (type : \"" << _type << "\"), a lot of port is not connected !" << std::endl;
+//       }
+// #endif
+
+//     log_printf(FUNC,Behavioural,FUNCTION,"End");
+    
+//     return _return;
+//   };
+
 }; // end namespace behavioural          
 }; // end namespace morpheo              
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_fifo.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_fifo.cpp	(revision 81)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_fifo.cpp	(revision 82)
@@ -45,4 +45,5 @@
 	       ,interface_fifo._localisation
 #endif
+	       ,interface_fifo._usage
 	       )
   {
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_test_map.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_test_map.cpp	(revision 81)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_test_map.cpp	(revision 82)
@@ -14,5 +14,5 @@
 #undef  FUNCTION
 #define FUNCTION "Interface::test_map"
-  bool Interface::test_map (uint32_t depth, bool top_level)
+  bool Interface::test_map (uint32_t depth, bool top_level, bool is_behavioural)
   {
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
@@ -26,5 +26,5 @@
 	 i != _list_signal->end();
 	 ++i)
-      _return &= (*i)->test_map(depth+1,top_level);
+      _return &= (*i)->test_map(depth+1,top_level, is_behavioural);
 
     log_printf(FUNC,Behavioural,FUNCTION,"End");
@@ -33,4 +33,25 @@
   };
 
+// #undef  FUNCTION
+// #define FUNCTION "Interface::test_equi"
+//   bool Interface::test_equi (uint32_t depth)
+//   {
+//     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
+
+//     std::string tab  = std::string(depth,'\t');
+//     bool _return = true;
+
+//     log_printf(NONE,Behavioural,FUNCTION, "%s* Interface \"%s\"",tab.c_str(),_name.c_str());
+    
+//     for (std::list<Signal*>::iterator i  = _list_signal->begin();
+// 	 i != _list_signal->end();
+// 	 ++i)
+//       _return &= (*i)->test_equi(depth+1);
+
+//     log_printf(FUNC,Behavioural,FUNCTION,"End");
+    
+//     return _return;
+//   };
+
 }; // end namespace behavioural          
 }; // end namespace morpheo              
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_test_map.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_test_map.cpp	(revision 81)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_test_map.cpp	(revision 82)
@@ -14,5 +14,5 @@
 #undef  FUNCTION
 #define FUNCTION "Interfaces::test_map"
-  bool Interfaces::test_map (uint32_t depth, bool top_level)
+  bool Interfaces::test_map (uint32_t depth, bool top_level, bool is_behavioural)
   {
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
@@ -27,5 +27,5 @@
 	 i != _list_interface->end();
 	 ++i)
-      _return &= (*i)->test_map(depth+1, top_level);
+      _return &= (*i)->test_map(depth+1, top_level, is_behavioural);
 
     log_printf(FUNC,Behavioural,FUNCTION,"End");
@@ -34,4 +34,26 @@
   };
 
+// #undef  FUNCTION
+// #define FUNCTION "Interfaces::test_equi"
+//   bool Interfaces::test_equi (uint32_t depth)
+//   {
+//     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
+
+//     std::string tab  = std::string(depth,'\t');
+
+//     bool _return = true;
+
+//     log_printf(NONE,Behavioural,FUNCTION, "%s* Interfaces \"%s\"",tab.c_str(),_name.c_str());
+    
+//     for (std::list<Interface_fifo*>::iterator i  = _list_interface->begin();
+// 	 i != _list_interface->end();
+// 	 ++i)
+//       _return &= (*i)->test_equi(depth+1);
+
+//     log_printf(FUNC,Behavioural,FUNCTION,"End");
+    
+//     return _return;
+//   };
+
 }; // end namespace behavioural          
 }; // end namespace morpheo              
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Parameters_test.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Parameters_test.cpp	(revision 81)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Parameters_test.cpp	(revision 82)
@@ -20,5 +20,5 @@
     Parameters_test x = msg_error();
     
-    std::cerr << x.print() << std::endl;
+    std::cerr << x.print();
 
     if (x.have_error())
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal_connect.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal_connect.cpp	(revision 81)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal_connect.cpp	(revision 82)
@@ -2,5 +2,5 @@
  * $Id$
  *
- * [ Description ]
+ * [ Description ]
  * 
  */
@@ -27,4 +27,7 @@
 //     log_printf(ALL,Behavioural,FUNCTION,"   * sc_signal : %.8x",signal_dest->_sc_signal);
 //     log_printf(ALL,Behavioural,FUNCTION,"   * type_info : %s",toString(signal_dest->_type_info).c_str());
+
+    TEST_PTR(_sc_signal);
+    TEST_PTR(signal_dest->_sc_signal);
 
     if ((_direction == IN ) and (signal_dest->_direction == IN ))
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal_link.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal_link.cpp	(revision 81)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal_link.cpp	(revision 82)
@@ -77,6 +77,4 @@
       signal_dest->_connect_from_signal   = signal_src;
     
-
-
     // vhdl_testbench : to read an output producte by a internal component
     // TODO : à vérifier !!!!!!!!!!!!
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal_test_map.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal_test_map.cpp	(revision 81)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal_test_map.cpp	(revision 82)
@@ -14,10 +14,12 @@
 #undef  FUNCTION
 #define FUNCTION "Signal::test_map"
-  bool Signal::test_map (uint32_t depth, bool top_level)
+  bool Signal::test_map (uint32_t depth, bool top_level, bool is_behavioural)
   {
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
 
-    std::string str = "";
-    std::string tab = std::string(depth,'\t');
+    std::string str     = "";
+    std::string tab     = std::string(depth,'\t');
+    bool        _return = true;
+
 //     log_printf(NONE,Behavioural,FUNCTION, "%s* Signal \"%s\"",tab.c_str(),_name.c_str());
 //     log_printf(NONE,Behavioural,FUNCTION, "%s%d - %d - %d",tab.c_str(),
@@ -25,91 +27,117 @@
 // 	       _is_map_as_component_src,
 // 	       _is_map_as_component_dest);
-    bool _return = true;
+//     log_printf(NONE,Behavioural,FUNCTION, "%stop_level %d, is_behavioural %d",tab.c_str(),
+// 	       top_level,
+// 	       is_behavioural);
 
-    if (top_level == true)
-      {
-	switch (_direction)
-	  {
-	  case morpheo::behavioural::IN       : 
+    // behavioural | top_level
+    //-------------+-----------
+    // 0           | 0         - 
+    // 0           | 1         - 
+    // 1           | 0         - 
+    // 1           | 1         - 
+
+    if (not (is_behavioural and top_level))
+      if (top_level == true)
+	{
+	  switch (_direction)
 	    {
-	      if (_is_map_as_toplevel_dest == false)
-		{
-		  _return = false;
-
-		  str = "Signal \""+_name+"\" 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 \""+_name+"\" 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 \""+_name+"\" 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 \""+_name+"\" 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 \""+_name+"\" 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 \""+_name+"\" 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 \""+_name+"\" 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 \""+_name+"\" 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 \""+_name+"\" 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 \""+_name+"\" 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 :
-	    //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 \""+_name+"\" 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 \""+_name+"\" 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 \""+_name+"\" 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 \""+_name+"\" 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;
-	  }
-      }
-    
-    log_printf(FUNC,Behavioural,FUNCTION,"End");
-
-
+	}
 
     if (_return == false)
@@ -125,8 +153,38 @@
 // 	log_printf(NONE,Behavioural,FUNCTION, "%s* Signal \"%s\" is OK.",tab.c_str(),_name.c_str());
       }
+
+    log_printf(FUNC,Behavioural,FUNCTION,"End");
     
     return _return;
   };
 
+// #undef  FUNCTION
+// #define FUNCTION "Signal::test_equi"
+//   bool Signal::test_equi (uint32_t depth)
+//   {
+//     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
+
+//     std::string str = "";
+//     std::string tab = std::string(depth,'\t');
+//     bool _return = true;
+
+    
+
+//     if (_return == false)
+//       {
+// 	log_printf(NONE,Behavioural,FUNCTION, "%s* %s",tab.c_str(),str.c_str());
+	
+// #ifndef DEBUG
+// 	std::cerr << str << std::endl;
+// #endif
+//       }
+//     else
+//       {
+// // 	log_printf(NONE,Behavioural,FUNCTION, "%s* Signal \"%s\" is OK.",tab.c_str(),_name.c_str());
+//       }
+    
+//     return _return;
+//   };
+
 }; // end namespace behavioural          
 }; // end namespace morpheo              
