Index: /branches/reconfiguration/modules/vci_xicu/caba/source/include/vci_xicu.h
===================================================================
--- /branches/reconfiguration/modules/vci_xicu/caba/source/include/vci_xicu.h	(revision 998)
+++ /branches/reconfiguration/modules/vci_xicu/caba/source/include/vci_xicu.h	(revision 999)
@@ -62,4 +62,6 @@
     uint32_t                                        *r_cfg_reg;
 
+    size_t                                          m_faulty_wti_reg;
+    int                                             m_faulty_wti_msk;
     uint32_t                                        m_clock_cycles;
 
@@ -101,4 +103,10 @@
              size_t cfg_count = 0 );
 
+    inline void set_faulty_wti(const int index, const int mask)
+    {
+        m_faulty_wti_reg = index;
+        m_faulty_wti_msk = mask;
+    }
+
     soclib_static_assert(vci_param::B == 4);
 };
Index: /branches/reconfiguration/modules/vci_xicu/caba/source/src/vci_xicu.cpp
===================================================================
--- /branches/reconfiguration/modules/vci_xicu/caba/source/src/vci_xicu.cpp	(revision 998)
+++ /branches/reconfiguration/modules/vci_xicu/caba/source/src/vci_xicu.cpp	(revision 999)
@@ -72,6 +72,9 @@
         case XICU_WTI_REG:
         CHECK_BOUNDS(wti);
+        if (idx == m_faulty_wti_reg) {
+            data &= m_faulty_wti_msk;
+        }
+        r_wti_pending |= 1<<idx;
         r_wti_reg[idx] = data;
-        r_wti_pending |= 1<<idx;
 
 #if SOCLIB_MODULE_DEBUG
@@ -510,4 +513,6 @@
            r_pti_val(new uint32_t[pti_count]),
            r_wti_reg(new uint32_t[wti_count]),
+           m_faulty_wti_reg(0xFFFFFFFF),
+           m_faulty_wti_msk(0x00000000),
            m_clock_cycles(0),
            p_clk("clk"),
