Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_get_component.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_get_component.cpp	(revision 93)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_get_component.cpp	(revision 94)
@@ -7,4 +7,5 @@
 
 #include "Behavioural/include/Component.h"
+#include "Common/include/Tabulation.h"
 
 namespace morpheo              {
@@ -25,5 +26,6 @@
     bool                   empty = _list_component->empty();
 
-    std::string                 tab   = std::string(depth,'\t');
+    std::string                 tab=morpheo::tab(depth);
+
     std::ostringstream          text;
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_test_map.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_test_map.cpp	(revision 93)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Component_test_map.cpp	(revision 94)
@@ -2,9 +2,10 @@
  * $Id$
  *
- * [ Description ]
+ * [ Description ]
  * 
  */
 
 #include "Behavioural/include/Component.h"
+#include "Common/include/Tabulation.h"
 
 namespace morpheo              {
@@ -23,5 +24,5 @@
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
 
-    std::string tab  = std::string(depth,' ');
+    std::string tab  = morpheo::tab(depth);
     std::string name = _entity->get_name();
     bool test_ok = true;
@@ -80,5 +81,5 @@
 //     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
 
-//     std::string tab  = std::string(depth,'\t');
+//     std::string tab  = tab(depth);
 //     std::string name = _entity->get_name();
 //     bool test_ok = true;
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Entity_test_map.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Entity_test_map.cpp	(revision 93)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Entity_test_map.cpp	(revision 94)
@@ -7,4 +7,5 @@
 
 #include "Behavioural/include/Entity.h"
+#include "Common/include/Tabulation.h"
 #include <iostream>
 
@@ -18,5 +19,6 @@
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
   
-    std::string tab  = std::string(depth,' ');
+    std::string tab=morpheo::tab(depth);
+
     log_printf(INFO,Interface,FUNCTION,"%s* Entity \"%s\"",tab.c_str(),_name.c_str());
   
@@ -41,5 +43,5 @@
 //     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
   
-//     std::string tab  = std::string(depth,'\t');
+//     std::string tab  = tab(depth);
 //     log_printf(INFO,Behavioural,FUNCTION, "%s* Entity \"%s\"",tab.c_str(),_name.c_str());
   
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_fifo_testbench_assert.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_fifo_testbench_assert.cpp	(revision 93)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_fifo_testbench_assert.cpp	(revision 94)
@@ -39,6 +39,4 @@
               ++i;
             }
-          
-          vhdl->set_body("");
         }
     
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_get_signal.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_get_signal.cpp	(revision 93)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_get_signal.cpp	(revision 94)
@@ -7,5 +7,5 @@
 
 #include "Behavioural/include/Interface.h"
-
+#include "Common/include/Tabulation.h"
 
 namespace morpheo              {
@@ -24,5 +24,5 @@
     bool                         empty = _list_signal->empty();
 
-    std::string                 tab   = std::string(depth,'\t');
+    std::string                 tab   = morpheo::tab(depth);
     std::ostringstream          text;
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_test_map.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_test_map.cpp	(revision 93)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interface_test_map.cpp	(revision 94)
@@ -7,5 +7,5 @@
 
 #include "Behavioural/include/Interface.h"
-
+#include "Common/include/Tabulation.h"
 
 namespace morpheo              {
@@ -18,5 +18,5 @@
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
 
-    std::string tab  = std::string(depth,' ');
+    std::string tab  = morpheo::tab(depth);
     bool _return = true;
 
@@ -39,5 +39,5 @@
 //     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
 
-//     std::string tab  = std::string(depth,'\t');
+//     std::string tab  = tab(depth);
 //     bool _return = true;
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_get_interface.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_get_interface.cpp	(revision 93)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_get_interface.cpp	(revision 94)
@@ -7,5 +7,5 @@
 
 #include "Behavioural/include/Interfaces.h"
-
+#include "Common/include/Tabulation.h"
 
 namespace morpheo              {
@@ -25,5 +25,5 @@
     bool                   empty = _list_interface->empty();
 
-    std::string                 tab   = std::string(depth,'\t');
+    std::string                 tab   = morpheo::tab(depth);
     std::ostringstream          text;
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_test_map.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_test_map.cpp	(revision 93)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_test_map.cpp	(revision 94)
@@ -7,5 +7,5 @@
 
 #include "Behavioural/include/Interfaces.h"
-
+#include "Common/include/Tabulation.h"
 
 namespace morpheo              {
@@ -18,5 +18,5 @@
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
 
-    std::string tab  = std::string(depth,' ');
+    std::string tab  = morpheo::tab(depth);
 
     bool _return = true;
@@ -40,5 +40,5 @@
 //     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
 
-//     std::string tab  = std::string(depth,'\t');
+//     std::string tab  = tab(depth);
 
 //     bool _return = true;
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_testbench_generate_file.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_testbench_generate_file.cpp	(revision 93)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Interfaces_testbench_generate_file.cpp	(revision 94)
@@ -99,5 +99,5 @@
         (*it)->testbench_assert (vhdl_assert,counter);
 
-        vhdl->set_body(vhdl_assert);
+        vhdl->set_body(3,vhdl_assert);
         
         delete vhdl_assert;
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal_test_map.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal_test_map.cpp	(revision 93)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Signal_test_map.cpp	(revision 94)
@@ -7,5 +7,5 @@
 
 #include "Behavioural/include/Signal.h"
-
+#include "Common/include/Tabulation.h"
 
 namespace morpheo              {
@@ -19,5 +19,5 @@
 
     std::string str     = "";
-    std::string tab     = std::string(depth,' ');
+    std::string tab     = morpheo::tab(depth);
     bool        _return = true;
 
@@ -166,5 +166,5 @@
 
 //     std::string str = "";
-//     std::string tab = std::string(depth,'\t');
+//     std::string tab = tab(depth);
 //     bool _return = true;
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Stat_binary_tree_print.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Stat_binary_tree_print.cpp	(revision 94)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Stat_binary_tree_print.cpp	(revision 94)
@@ -0,0 +1,71 @@
+#ifdef STATISTICS
+#include "Behavioural/include/Stat_binary_tree.h"
+#include "Common/include/Tabulation.h"
+
+namespace morpheo {
+namespace behavioural {
+
+  void Stat_binary_tree::print (uint32_t depth)
+  {
+    std::string tab = morpheo::tab(depth);
+    std::string sep = " ";
+    if (_data_type == NONE)
+      {
+        std::cout << tab << "<node> NONE (error)" << std::endl;
+
+        if (_left  != NULL)
+          _left ->print(depth+1);
+        if (_right != NULL)
+          _right->print(depth+1);
+      }
+
+    if ((_data_type == VARIABLE) or
+	(_data_type == CONSTANT))
+      {
+        std::cout << tab << "<leaf>"
+                  << " "
+                  << ((_left   == NULL)?"left  == NULL        ":"left  != NULL (error)")
+                  << " "
+                  << ((_right  == NULL)?"right == NULL        ":"right != NULL (error)")
+                  << std::endl;
+
+        if (_left  != NULL)
+          _left ->print(depth+1);
+        if (_right != NULL)
+          _right->print(depth+1);
+      }
+    
+    if (_data_type == OPERATOR_UNARY)
+      {
+        std::cout << tab << "<unary>"
+                  << " "
+                  << ((_left   == NULL)?"left  == NULL (error)":"left  != NULL        ")
+                  << " "
+                  << ((_right  == NULL)?"right == NULL        ":"right != NULL (error)")
+                  << std::endl;
+        
+        if (_left  != NULL)
+          _left ->print(depth+1);
+        if (_right != NULL)
+          _right->print(depth+1);
+      }
+
+    if (_data_type == OPERATOR_BINARY)
+      {
+        std::cout << tab << "<binary>"
+                  << " "
+                  << ((_left   == NULL)?"left  == NULL (error)":"left  != NULL        ")
+                  << " "
+                  << ((_right  == NULL)?"right == NULL (error)":"right != NULL        ")
+                  << std::endl;
+
+        if (_left  != NULL)
+          _left ->print(depth+1);
+        if (_right != NULL)
+          _right->print(depth+1);
+      }
+  }
+
+};
+};
+#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Stat_binary_tree_valid.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Stat_binary_tree_valid.cpp	(revision 93)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Stat_binary_tree_valid.cpp	(revision 94)
@@ -29,65 +29,4 @@
   }
 
-  void Stat_binary_tree::print (uint32_t depth)
-  {
-    std::string tab = std::string(depth,'\t');
-    std::string sep = " ";
-    if (_data_type == NONE)
-      {
-        std::cout << tab << "<node> NONE (error)" << std::endl;
-
-        if (_left  != NULL)
-          _left ->print(depth+1);
-        if (_right != NULL)
-          _right->print(depth+1);
-      }
-
-    if ((_data_type == VARIABLE) or
-	(_data_type == CONSTANT))
-      {
-        std::cout << tab << "<leaf>"
-                  << " "
-                  << ((_left   == NULL)?"left  == NULL        ":"left  != NULL (error)")
-                  << " "
-                  << ((_right  == NULL)?"right == NULL        ":"right != NULL (error)")
-                  << std::endl;
-
-        if (_left  != NULL)
-          _left ->print(depth+1);
-        if (_right != NULL)
-          _right->print(depth+1);
-      }
-    
-    if (_data_type == OPERATOR_UNARY)
-      {
-        std::cout << tab << "<unary>"
-                  << " "
-                  << ((_left   == NULL)?"left  == NULL (error)":"left  != NULL        ")
-                  << " "
-                  << ((_right  == NULL)?"right == NULL        ":"right != NULL (error)")
-                  << std::endl;
-        
-        if (_left  != NULL)
-          _left ->print(depth+1);
-        if (_right != NULL)
-          _right->print(depth+1);
-      }
-
-    if (_data_type == OPERATOR_BINARY)
-      {
-        std::cout << tab << "<binary>"
-                  << " "
-                  << ((_left   == NULL)?"left  == NULL (error)":"left  != NULL        ")
-                  << " "
-                  << ((_right  == NULL)?"right == NULL (error)":"right != NULL        ")
-                  << std::endl;
-
-        if (_left  != NULL)
-          _left ->print(depth+1);
-        if (_right != NULL)
-          _right->print(depth+1);
-      }
-  }
-
 };
 };
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Vhdl_get_architecture.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Vhdl_get_architecture.cpp	(revision 93)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Vhdl_get_architecture.cpp	(revision 94)
@@ -4,9 +4,10 @@
  * $Id$
  *
- * [ Description ]
+ * [ Description ]
  * 
  */
 
 #include "Behavioural/include/Vhdl.h"
+#include "Common/include/Tabulation.h"
 
 #include <sstream>
@@ -23,5 +24,5 @@
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
 
-    std::string        tab = std::string(depth,'\t');
+    std::string        tab = morpheo::tab(depth);
     std::ostringstream text;
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Vhdl_get_component.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Vhdl_get_component.cpp	(revision 93)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Vhdl_get_component.cpp	(revision 94)
@@ -9,4 +9,5 @@
 
 #include "Behavioural/include/Vhdl.h"
+#include "Common/include/Tabulation.h"
 
 #include <sstream>
@@ -22,5 +23,5 @@
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
 
-    std::string        tab = std::string(depth,'\t');
+    std::string        tab = morpheo::tab(depth);
     std::ostringstream text;
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Vhdl_get_entity.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Vhdl_get_entity.cpp	(revision 93)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Vhdl_get_entity.cpp	(revision 94)
@@ -9,4 +9,5 @@
 
 #include "Behavioural/include/Vhdl.h"
+#include "Common/include/Tabulation.h"
 
 #include <sstream>
@@ -22,5 +23,5 @@
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
 
-    std::string        tab = std::string(depth,'\t');
+    std::string        tab = morpheo::tab(depth);
     std::ostringstream text;
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Vhdl_get_header.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Vhdl_get_header.cpp	(revision 93)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Vhdl_get_header.cpp	(revision 94)
@@ -23,5 +23,4 @@
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
 
-    std::string tab = std::string(depth,'\t');
     std::string text;
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Vhdl_get_library_ieee.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Vhdl_get_library_ieee.cpp	(revision 93)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Vhdl_get_library_ieee.cpp	(revision 94)
@@ -9,4 +9,5 @@
 
 #include "Behavioural/include/Vhdl.h"
+#include "Common/include/Tabulation.h"
 
 #include <sstream>
@@ -21,17 +22,17 @@
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
 
-    std::string        tab = std::string(depth,'\t');
+    std::string        tab = morpheo::tab(depth);
     std::ostringstream text;
 
-    text << tab                                       << std::endl
-	 << tab << "library ieee;"                    << std::endl
-         << tab << "use ieee.numeric_bit.all;"        << std::endl
-         << tab << "use ieee.numeric_std.all;"        << std::endl
-	 << tab << "use ieee.std_logic_1164.all;"     << std::endl
-         << tab << "use ieee.std_logic_arith.all;"    << std::endl
-         << tab << "use ieee.std_logic_misc.all;"     << std::endl
-         << tab << "--use ieee.std_logic_signed.all;" << std::endl
-         << tab << "use ieee.std_logic_unsigned.all;" << std::endl
-         << tab << "--use ieee.std_logic_textio.all;" << std::endl;
+    text << tab                                         << std::endl
+	 << tab << "library ieee;"                      << std::endl
+         << tab << "  use ieee.numeric_bit.all;       " << std::endl
+         << tab << "  use ieee.numeric_std.all;       " << std::endl
+	 << tab << "  use ieee.std_logic_1164.all;    " << std::endl
+         << tab << "  use ieee.std_logic_arith.all;   " << std::endl
+         << tab << "  use ieee.std_logic_misc.all;    " << std::endl
+         << tab << "--use ieee.std_logic_signed.all;  " << std::endl
+         << tab << "  use ieee.std_logic_unsigned.all;" << std::endl
+         << tab << "--use ieee.std_logic_textio.all;  " << std::endl;
       
     log_printf(FUNC,Behavioural,FUNCTION,"End");
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Vhdl_get_library_work.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Vhdl_get_library_work.cpp	(revision 93)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Vhdl_get_library_work.cpp	(revision 94)
@@ -9,5 +9,5 @@
 
 #include "Behavioural/include/Vhdl.h"
-
+#include "Common/include/Tabulation.h"
 #include <sstream>
 
@@ -22,5 +22,5 @@
 
     std::list<std::string>::iterator i   = _list_library_work.begin();
-    std::string                 tab = std::string(depth,'\t');
+    std::string                 tab = morpheo::tab(depth);
     std::ostringstream          text;
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Vhdl_get_model.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Vhdl_get_model.cpp	(revision 93)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Vhdl_get_model.cpp	(revision 94)
@@ -9,5 +9,5 @@
 
 #include "Behavioural/include/Vhdl.h"
-
+#include "Common/include/Tabulation.h"
 #include <sstream>
 
@@ -22,5 +22,5 @@
     log_printf(FUNC,Behavioural,"get_model","Begin");
 
-    std::string        tab = std::string(depth,'\t');
+    std::string        tab = morpheo::tab(depth);
     std::ostringstream text;
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Vhdl_get_package.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Vhdl_get_package.cpp	(revision 93)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Vhdl_get_package.cpp	(revision 94)
@@ -9,5 +9,5 @@
 
 #include "Behavioural/include/Vhdl.h"
-
+#include "Common/include/Tabulation.h"
 #include <sstream>
 
@@ -24,5 +24,5 @@
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
 
-    std::string        tab = std::string(depth,'\t');
+    std::string        tab = morpheo::tab(depth);
     std::ostringstream text;
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Vhdl_set_body.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Vhdl_set_body.cpp	(revision 93)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Vhdl_set_body.cpp	(revision 94)
@@ -9,5 +9,5 @@
 
 #include "Behavioural/include/Vhdl.h"
-
+#include "Common/include/Tabulation.h"
 #include <sstream>
 
@@ -20,5 +20,15 @@
   {
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
-    set_list(_list_body, text);
+    set_body(0, text);
+    log_printf(FUNC,Behavioural,FUNCTION,"End");
+  };
+
+#undef  FUNCTION
+#define FUNCTION "Vhdl::set_body"
+  void Vhdl::set_body (uint32_t depth,
+                       std::string text)
+  {
+    log_printf(FUNC,Behavioural,FUNCTION,"Begin");
+    set_list(_list_body, morpheo::tab(depth)+text);
     log_printf(FUNC,Behavioural,FUNCTION,"End");
   };
@@ -26,12 +36,15 @@
 #undef  FUNCTION
 #define FUNCTION "Vhdl::set_body"
-  void Vhdl::set_body (Vhdl * vhdl)
+  void Vhdl::set_body (uint32_t depth,
+                       Vhdl * vhdl)
   {
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
     
+    std::string tab=morpheo::tab(depth);
+
     for (std::list<std::string>::iterator it=vhdl->_list_body.begin();
          it!=vhdl->_list_body.end();
          ++it)
-      set_list(_list_body, *it);
+      set_list(_list_body,tab+*it);
 
     log_printf(FUNC,Behavioural,FUNCTION,"End");
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Vhdl_set_comment.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Vhdl_set_comment.cpp	(revision 94)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Vhdl_set_comment.cpp	(revision 94)
@@ -0,0 +1,40 @@
+#ifdef VHDL
+
+/*
+ * $Id$
+ *
+ * [ Description ]
+ * 
+ */
+
+#include "Behavioural/include/Vhdl.h"
+#include "Common/include/Tabulation.h"
+#include <sstream>
+
+namespace morpheo              {
+namespace behavioural          {
+  
+#undef  FUNCTION
+#define FUNCTION "Vhdl::set_comment"
+  void Vhdl::set_comment (std::string text)
+  {
+    log_printf(FUNC,Behavioural,FUNCTION,"Begin");
+    set_comment(0, text);
+    log_printf(FUNC,Behavioural,FUNCTION,"End");
+  };
+
+#undef  FUNCTION
+#define FUNCTION "Vhdl::set_comment"
+  void Vhdl::set_comment (uint32_t depth,
+                          std::string text)
+  {
+    log_printf(FUNC,Behavioural,FUNCTION,"Begin");
+    set_body(depth,"-- "+text);
+    log_printf(FUNC,Behavioural,FUNCTION,"End");
+  };
+  
+  
+}; // end namespace behavioural          
+}; // end namespace morpheo              
+
+#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Vhdl_std_logic.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Vhdl_std_logic.cpp	(revision 93)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Vhdl_std_logic.cpp	(revision 94)
@@ -61,16 +61,27 @@
 #undef  FUNCTION
 #define FUNCTION "Vhdl::std_logic_range"
-  std::string std_logic_range (uint32_t size, uint32_t max, uint32_t min)
+  std::string std_logic_range (uint32_t size, uint32_t max, uint32_t min, bool force)
   {
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
     std::string type;
 
-    if (size < 2)
-      type = "";
+    if (force)
+      {
+        type = "("+toString(max)+" downto "+toString(min)+")";
+      }
     else
-      if (max == min)
-	type = "("+toString(max)+")";
-      else
-	type = "("+toString(max)+" downto "+toString(min)+")";
+      {
+        if (max == min)
+          {
+            type = "("+toString(max)+")";
+          }
+        else
+          {
+            if (size < 2)
+              type = "";
+            else
+              type = "("+toString(max)+" downto "+toString(min)+")";
+          }
+      }
 
     log_printf(FUNC,Behavioural,FUNCTION,"End");
@@ -79,16 +90,27 @@
   };
 
-  std::string std_logic_range (uint32_t max, uint32_t min)
+  std::string std_logic_range (uint32_t max, uint32_t min, bool force)
   {
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
     std::string type;
 
-    if (max == 0)
-      type = "";
+    if (force)
+      {
+        type = "("+toString(max)+" downto "+toString(min)+")";
+      }
     else
-      if (max == min)
-	type = "("+toString(max)+")";
-      else
-	type = "("+toString(max)+" downto "+toString(min)+")";
+      {
+        if (max == min)
+          {
+            type = "("+toString(max)+")";
+          }
+        else
+          {
+            if (max == 0)
+              type = "";
+            else
+              type = "("+toString(max)+" downto "+toString(min)+")";
+          }
+      }
 
     log_printf(FUNC,Behavioural,FUNCTION,"End");
@@ -97,8 +119,8 @@
   };
 
-  std::string std_logic_range (uint32_t size)
+  std::string std_logic_range (uint32_t size, bool force)
   {
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
-    std::string _return = std_logic_range(size-1,0);
+    std::string _return = std_logic_range(size-1,0,force);
     log_printf(FUNC,Behavioural,FUNCTION,"End");
 
@@ -108,5 +130,5 @@
 #undef  FUNCTION
 #define FUNCTION "Vhdl::std_logic_others"
-  std::string std_logic_others (uint32_t size, uint32_t cst  )
+  std::string std_logic_others (uint32_t size, bool cst  )
   {
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
@@ -124,6 +146,4 @@
   }
 
-
-
 }; // end namespace behavioural          
 }; // end namespace morpheo              
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/XML_get_body.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/XML_get_body.cpp	(revision 93)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/XML_get_body.cpp	(revision 94)
@@ -7,4 +7,5 @@
 
 #include "Behavioural/include/XML.h"
+#include "Common/include/Tabulation.h"
 
 namespace morpheo              {
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/XML_indent.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/XML_indent.cpp	(revision 93)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/XML_indent.cpp	(revision 94)
@@ -7,4 +7,5 @@
 
 #include "Behavioural/include/XML.h"
+#include "Common/include/Tabulation.h"
 
 namespace morpheo              {
@@ -16,5 +17,5 @@
   {
     log_printf(FUNC,Behavioural,FUNCTION,"Begin");
-    std::string _return = std::string(depth,'\t');
+    std::string _return = tab(depth);
     log_printf(FUNC,Behavioural,FUNCTION,"End");
 
