Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Allocation.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Allocation.h	(revision 134)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Allocation.h	(revision 135)
@@ -154,4 +154,14 @@
 
 #define ALLOC0_INTERFACE_END()
+
+#ifdef VHDL_TESTBENCH
+#define INTERFACE0_TEST(value)			\
+  do                                            \
+    {						\
+      interface->make_testbench(value);		\
+    } while(0)
+#else
+#define INTERFACE0_TEST(value)
+#endif
 
 #define ALLOC0_VAL_ACK_IN(  sig, name, type)                            \
@@ -351,4 +361,15 @@
       delete [] interface;                                              \
     } while (0)
+
+#ifdef VHDL_TESTBENCH
+#define INTERFACE1_TEST(value,x1)		\
+  do                                            \
+    {						\
+      for (uint32_t it1=0; it1<x1; it1++)       \
+        interface [it1]->make_testbench(value);	\
+    } while(0)
+#else
+#define INTERFACE1_TEST(value,x1)
+#endif
 
 #define ALLOC1_VAL_ACK_IN( sig, name, type)                             \
@@ -571,4 +592,16 @@
       delete [] interface;                                              \
     } while (0)
+
+#ifdef VHDL_TESTBENCH
+#define INTERFACE2_TEST(value,x1,x2)                   \
+  do                                                    \
+    {                                                   \
+      for (uint32_t it1=0; it1<x1; it1++)               \
+        for (uint32_t it2=0; it2<x2; it2++)             \
+          interface [it1][it2]->make_testbench(value);	\
+    } while(0)
+#else
+#define INTERFACE2_TEST(value,x1,x2)
+#endif
 
 #define _ALLOC2_VAL_ACK_IN( sig, name, type, x1, x2)                    \
@@ -861,4 +894,17 @@
     } while (0)
 
+#ifdef VHDL_TESTBENCH
+#define INTERFACE3_TEST(value,x1,x2,x3)                         \
+  do                                                            \
+    {                                                           \
+      for (uint32_t it1=0; it1<x1; it1++)                       \
+        for (uint32_t it2=0; it2<x2; it2++)                     \
+          for (uint32_t it3=0; it3<x3; it3++)                   \
+            interface [it1][it2][it3]->make_testbench(value);	\
+    } while(0)
+#else
+#define INTERFACE3_TEST(value,x1,x2,x3)
+#endif
+
 // #define _ALLOC3_VAL_ACK_IN( sig, name, type, x1, x2, x3)
 // #define _ALLOC3_VAL_ACK_OUT( sig, name, type, x1, x2, x3)
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Interface.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Interface.h	(revision 134)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Interface.h	(revision 135)
@@ -55,4 +55,5 @@
 #ifdef VHDL_TESTBENCH
   private   : uint32_t              _nb_cycle     ;
+  protected : bool                  _make_testbench;
 #endif
     
@@ -232,4 +233,5 @@
   public    : Signal *              get_reset            (void);
 
+  public    : void                  make_testbench       (bool value) {_make_testbench = value;}
   public    : void                  testbench            (void);
   public    : void                  testbench_cycle      (void);
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Version.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Version.h	(revision 134)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Version.h	(revision 135)
@@ -10,8 +10,8 @@
 #define MORPHEO_MAJOR_VERSION "0"
 #define MORPHEO_MINOR_VERSION "2"
-#define MORPHEO_REVISION      "134"
+#define MORPHEO_REVISION      "135"
 #define MORPHEO_CODENAME      "Castor"
 
-#define MORPHEO_DATE_DAY      "15"  
+#define MORPHEO_DATE_DAY      "17"  
 #define MORPHEO_DATE_MONTH    "07"
 #define MORPHEO_DATE_YEAR     "2009" 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Vhdl.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Vhdl.h	(revision 134)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Vhdl.h	(revision 135)
@@ -23,4 +23,9 @@
 namespace morpheo              {
   namespace behavioural          {
+
+#define id1(x1)          toString(x1)
+#define id2(x1,x2)       toString(x1)+"_"+toString(x2)
+#define id3(x1,x2,x3)    toString(x1)+"_"+toString(x2)+"_"+toString(x3)
+#define id4(x1,x2,x3,x4) toString(x1)+"_"+toString(x2)+"_"+toString(x3)+"_"+toString(x4)
 
 #define VHDL_EXTENSION ".vhdl"
