Index: branches/ODCCP/communication/dspin_dhccp_param/caba/source/include/dspin_dhccp_param.h
===================================================================
--- trunk/communication/dspin_dhccp_param/caba/source/include/dspin_dhccp_param.h	(revision 376)
+++ branches/ODCCP/communication/dspin_dhccp_param/caba/source/include/dspin_dhccp_param.h	(revision 460)
@@ -49,5 +49,10 @@
  * flit 2
  * ----------------------------------------------------------------------------------------------
- * EOP:1 |                                                                         NLINE(32 bits)
+ * EOP:0/1 |                                                                       NLINE(32 bits)
+ * ----------------------------------------------------------------------------------------------
+ *
+ * flit N for data
+ * ----------------------------------------------------------------------------------------------
+ * EOP:0/1 |                                                                       WDATA(32 bits)
  * ----------------------------------------------------------------------------------------------
  *
@@ -135,87 +140,91 @@
   public:
 
-    static const uint8_t  from_memc_flit_width         = 40;
-    static const uint8_t  from_l1_flit_width           = 33;
-
-    static const uint8_t  UPDT_INDEX_WIDTH             = 4;
-    static const uint8_t  NLINE_WIDTH                  = 34;
-    static const uint8_t  SRCID_WIDTH                  = 14;
-    static const uint8_t  GLOBALID_WIDTH               = 10;
-    static const uint8_t  WORD_INDEX_WIDTH             = 4;
-    static const uint8_t  BE_WIDTH                     = 4;
-    static const uint8_t  DATA_WIDTH                   = 32;
-    static const uint8_t  SET_INDEX_WIDTH              = 16;
-    static const uint8_t  WAY_INDEX_WIDTH              = 2;
-    static const uint8_t  BROADCAST_BOX_WIDTH          = 20;
-    static const uint8_t  MC_TYPE_WIDTH                = 3;
-    static const uint8_t  L1_TYPE_WIDTH                = 2;
-
-    static const uint8_t  FROM_L1_TYPE_SHIFT           = 1;
-    static const uint64_t FROM_L1_TYPE_MASK            = ((1ULL<<L1_TYPE_WIDTH)-1);
-    static const uint8_t  FROM_L1_EOP_SHIFT            = 32;
-    static const uint64_t FROM_L1_EOP_MASK             = 1;
-    static const uint8_t  FROM_L1_BC_SHIFT             = 0;
-    static const uint64_t FROM_L1_BC_MASK              = 1;
-
-    static const uint8_t  CLEANUP_DEST_SHIFT           = 22;
-    static const uint64_t CLEANUP_DEST_MASK            = ((1ULL<<GLOBALID_WIDTH)-1);
-    static const uint8_t  CLEANUP_SRCID_SHIFT          = 8;
-    static const uint64_t CLEANUP_SRCID_MASK           = ((1ULL<<SRCID_WIDTH)-1);
-    static const uint8_t  CLEANUP_NLINE_MSB_SHIFT      = 6;
-    static const uint64_t CLEANUP_NLINE_MSB_MASK       = ((1ULL<< 2)-1);
-    static const uint8_t  CLEANUP_WAY_INDEX_SHIFT      = 3;
-    static const uint64_t CLEANUP_WAY_INDEX_MASK       = ((1ULL<<WAY_INDEX_WIDTH)-1);
-    static const uint8_t  CLEANUP_NLINE_LSB_SHIFT      = 0;
-    static const uint64_t CLEANUP_NLINE_LSB_MASK       = ((1ULL<<32)-1);
-
-    static const uint8_t  MULTI_ACK_DEST_SHIFT         = CLEANUP_DEST_SHIFT;
-    static const uint64_t MULTI_ACK_DEST_MASK          = CLEANUP_DEST_MASK;
-    static const uint8_t  MULTI_ACK_UPDT_INDEX_SHIFT   = 3;
-    static const uint64_t MULTI_ACK_UPDT_INDEX_MASK    = ((1ULL<<UPDT_INDEX_WIDTH)-1);
-
-    static const uint8_t  FROM_MC_TYPE_SHIFT           = 1;
-    static const uint64_t FROM_MC_TYPE_MASK            = ((1ULL<<MC_TYPE_WIDTH)-1);
-    static const uint8_t  FROM_MC_EOP_SHIFT            = 39;
-    static const uint64_t FROM_MC_EOP_MASK             = 1;
-    static const uint8_t  FROM_MC_BC_SHIFT             = 0;
-    static const uint64_t FROM_MC_BC_MASK              = 1;
-
-    static const uint8_t  MULTI_INVAL_DEST_SHIFT       = 25;
-    static const uint64_t MULTI_INVAL_DEST_MASK        = ((1ULL<<SRCID_WIDTH)-1);
-    static const uint8_t  MULTI_INVAL_SRCID_SHIFT      = 8;
-    static const uint64_t MULTI_INVAL_SRCID_MASK       = ((1ULL<<SRCID_WIDTH)-1);
-    static const uint8_t  MULTI_INVAL_UPDT_INDEX_SHIFT = 4;
-    static const uint64_t MULTI_INVAL_UPDT_INDEX_MASK  = ((1ULL<<UPDT_INDEX_WIDTH)-1);
-    static const uint8_t  MULTI_INVAL_NLINE_SHIFT      = 0;
-    static const uint64_t MULTI_INVAL_NLINE_MASK       = ((1ULL<<NLINE_WIDTH)-1);
-
-    static const uint8_t  MULTI_UPDT_DEST_SHIFT        = MULTI_INVAL_DEST_SHIFT;
-    static const uint64_t MULTI_UPDT_DEST_MASK         = MULTI_INVAL_DEST_MASK;
-    static const uint8_t  MULTI_UPDT_SRCID_SHIFT       = MULTI_INVAL_SRCID_SHIFT;
-    static const uint64_t MULTI_UPDT_SRCID_MASK        = MULTI_INVAL_SRCID_MASK;
-    static const uint8_t  MULTI_UPDT_UPDT_INDEX_SHIFT  = MULTI_INVAL_UPDT_INDEX_SHIFT;
-    static const uint64_t MULTI_UPDT_UPDT_INDEX_MASK   = MULTI_INVAL_UPDT_INDEX_MASK;
-    static const uint8_t  MULTI_UPDT_WORD_INDEX_SHIFT  = 34;
-    static const uint64_t MULTI_UPDT_WORD_INDEX_MASK   = ((1ULL<<WORD_INDEX_WIDTH)-1);
-    static const uint8_t  MULTI_UPDT_NLINE_SHIFT       = MULTI_INVAL_NLINE_SHIFT;
-    static const uint64_t MULTI_UPDT_NLINE_MASK        = MULTI_INVAL_NLINE_MASK;
-    static const uint8_t  MULTI_UPDT_BE_SHIFT          = 32;
-    static const uint64_t MULTI_UPDT_BE_MASK           = ((1ULL<<BE_WIDTH)-1);
-    static const uint8_t  MULTI_UPDT_DATA_SHIFT        = 0;
-    static const uint64_t MULTI_UPDT_DATA_MASK         = ((1ULL<<DATA_WIDTH)-1);
-
-    static const uint8_t  CLEANUP_ACK_DEST_SHIFT       = MULTI_INVAL_DEST_SHIFT;
-    static const uint64_t CLEANUP_ACK_DEST_MASK        = MULTI_INVAL_DEST_MASK;
-    static const uint8_t  CLEANUP_ACK_SET_SHIFT        = 6;
-    static const uint64_t CLEANUP_ACK_SET_MASK         = ((1ULL<<SET_INDEX_WIDTH)-1);
-    static const uint8_t  CLEANUP_ACK_WAY_SHIFT        = 4;
-    static const uint64_t CLEANUP_ACK_WAY_MASK         = ((1ULL<<WAY_INDEX_WIDTH)-1);
-
-    static const uint8_t  BROADCAST_BOX_SHIFT          = 19;
-    static const uint64_t BROADCAST_BOX_MASK           = ((1ULL<<BROADCAST_BOX_WIDTH)-1);
-    static const uint8_t  BROADCAST_SRCID_SHIFT        = 5;
-    static const uint64_t BROADCAST_SRCID_MASK         = MULTI_INVAL_SRCID_MASK;
-    static const uint8_t  BROADCAST_NLINE_SHIFT        = 0;
-    static const uint64_t BROADCAST_NLINE_MASK         = MULTI_INVAL_NLINE_MASK;
+    static const uint8_t  from_memc_flit_width            = 40;
+    static const uint8_t  from_l1_flit_width              = 33;
+
+    static const uint8_t  UPDT_INDEX_WIDTH                = 4;
+    static const uint8_t  NLINE_WIDTH                     = 34;
+    static const uint8_t  SRCID_WIDTH                     = 14;
+    static const uint8_t  GLOBALID_WIDTH                  = 10;
+    static const uint8_t  WORD_INDEX_WIDTH                = 4;
+    static const uint8_t  BE_WIDTH                        = 4;
+    static const uint8_t  DATA_WIDTH                      = 32;
+    static const uint8_t  SET_INDEX_WIDTH                 = 16;
+    static const uint8_t  WAY_INDEX_WIDTH                 = 2;
+    static const uint8_t  BROADCAST_BOX_WIDTH             = 20;
+    static const uint8_t  MC_TYPE_WIDTH                   = 3;
+    static const uint8_t  L1_TYPE_WIDTH                   = 2;
+
+    static const uint8_t  FROM_L1_TYPE_SHIFT              = 1;
+    static const uint64_t FROM_L1_TYPE_MASK               = ((1ULL<<L1_TYPE_WIDTH)-1);
+    static const uint8_t  FROM_L1_EOP_SHIFT               = 32;
+    static const uint64_t FROM_L1_EOP_MASK                = 1;
+    static const uint8_t  FROM_L1_BC_SHIFT                = 0;
+    static const uint64_t FROM_L1_BC_MASK                 = 1;
+
+    static const uint8_t  CLEANUP_NCC_SHIFT               = 5;
+    static const uint64_t CLEANUP_NCC_MASK                = 1;
+    static const uint8_t  CLEANUP_DEST_SHIFT              = 22;
+    static const uint64_t CLEANUP_DEST_MASK               = ((1ULL<<GLOBALID_WIDTH)-1);
+    static const uint8_t  CLEANUP_SRCID_SHIFT             = 8;
+    static const uint64_t CLEANUP_SRCID_MASK              = ((1ULL<<SRCID_WIDTH)-1);
+    static const uint8_t  CLEANUP_NLINE_MSB_SHIFT         = 6;
+    static const uint64_t CLEANUP_NLINE_MSB_MASK          = ((1ULL<< 2)-1);
+    static const uint8_t  CLEANUP_WAY_INDEX_SHIFT         = 3;
+    static const uint64_t CLEANUP_WAY_INDEX_MASK          = ((1ULL<<WAY_INDEX_WIDTH)-1);
+    static const uint8_t  CLEANUP_NLINE_LSB_SHIFT         = 0;
+    static const uint64_t CLEANUP_NLINE_LSB_MASK          = ((1ULL<<32)-1);
+    static const uint8_t  CLEANUP_DATA_UPDT_SHIFT         = 0;
+    static const uint64_t CLEANUP_DATA_UPDT_MASK          = ((1ULL<<32)-1);
+
+    static const uint8_t  MULTI_ACK_DEST_SHIFT            = CLEANUP_DEST_SHIFT;
+    static const uint64_t MULTI_ACK_DEST_MASK             = CLEANUP_DEST_MASK;
+    static const uint8_t  MULTI_ACK_UPDT_INDEX_SHIFT      = 3;
+    static const uint64_t MULTI_ACK_UPDT_INDEX_MASK       = ((1ULL<<UPDT_INDEX_WIDTH)-1);
+
+    static const uint8_t  FROM_MC_TYPE_SHIFT              = 1;
+    static const uint64_t FROM_MC_TYPE_MASK               = ((1ULL<<MC_TYPE_WIDTH)-1);
+    static const uint8_t  FROM_MC_EOP_SHIFT               = 39;
+    static const uint64_t FROM_MC_EOP_MASK                = 1;
+    static const uint8_t  FROM_MC_BC_SHIFT                = 0;
+    static const uint64_t FROM_MC_BC_MASK                 = 1;
+
+    static const uint8_t  MULTI_INVAL_DEST_SHIFT          = 25;
+    static const uint64_t MULTI_INVAL_DEST_MASK           = ((1ULL<<SRCID_WIDTH)-1);
+    static const uint8_t  MULTI_INVAL_SRCID_SHIFT         = 8;
+    static const uint64_t MULTI_INVAL_SRCID_MASK          = ((1ULL<<SRCID_WIDTH)-1);
+    static const uint8_t  MULTI_INVAL_UPDT_INDEX_SHIFT    = 4;
+    static const uint64_t MULTI_INVAL_UPDT_INDEX_MASK     = ((1ULL<<UPDT_INDEX_WIDTH)-1);
+    static const uint8_t  MULTI_INVAL_NLINE_SHIFT         = 0;
+    static const uint64_t MULTI_INVAL_NLINE_MASK          = ((1ULL<<NLINE_WIDTH)-1);
+
+    static const uint8_t  MULTI_UPDT_DEST_SHIFT           = MULTI_INVAL_DEST_SHIFT;
+    static const uint64_t MULTI_UPDT_DEST_MASK            = MULTI_INVAL_DEST_MASK;
+    static const uint8_t  MULTI_UPDT_SRCID_SHIFT          = MULTI_INVAL_SRCID_SHIFT;
+    static const uint64_t MULTI_UPDT_SRCID_MASK           = MULTI_INVAL_SRCID_MASK;
+    static const uint8_t  MULTI_UPDT_UPDT_INDEX_SHIFT     = MULTI_INVAL_UPDT_INDEX_SHIFT;
+    static const uint64_t MULTI_UPDT_UPDT_INDEX_MASK      = MULTI_INVAL_UPDT_INDEX_MASK;
+    static const uint8_t  MULTI_UPDT_WORD_INDEX_SHIFT     = 34;
+    static const uint64_t MULTI_UPDT_WORD_INDEX_MASK      = ((1ULL<<WORD_INDEX_WIDTH)-1);
+    static const uint8_t  MULTI_UPDT_NLINE_SHIFT          = MULTI_INVAL_NLINE_SHIFT;
+    static const uint64_t MULTI_UPDT_NLINE_MASK           = MULTI_INVAL_NLINE_MASK;
+    static const uint8_t  MULTI_UPDT_BE_SHIFT             = 32;
+    static const uint64_t MULTI_UPDT_BE_MASK              = ((1ULL<<BE_WIDTH)-1);
+    static const uint8_t  MULTI_UPDT_DATA_SHIFT           = 0;
+    static const uint64_t MULTI_UPDT_DATA_MASK            = ((1ULL<<DATA_WIDTH)-1);
+
+    static const uint8_t  CLEANUP_ACK_DEST_SHIFT          = MULTI_INVAL_DEST_SHIFT;
+    static const uint64_t CLEANUP_ACK_DEST_MASK           = MULTI_INVAL_DEST_MASK;
+    static const uint8_t  CLEANUP_ACK_SET_SHIFT           = 6;
+    static const uint64_t CLEANUP_ACK_SET_MASK            = ((1ULL<<SET_INDEX_WIDTH)-1);
+    static const uint8_t  CLEANUP_ACK_WAY_SHIFT           = 4;
+    static const uint64_t CLEANUP_ACK_WAY_MASK            = ((1ULL<<WAY_INDEX_WIDTH)-1);
+
+    static const uint8_t  BROADCAST_BOX_SHIFT             = 19;
+    static const uint64_t BROADCAST_BOX_MASK              = ((1ULL<<BROADCAST_BOX_WIDTH)-1);
+    static const uint8_t  BROADCAST_SRCID_SHIFT           = 5;
+    static const uint64_t BROADCAST_SRCID_MASK            = MULTI_INVAL_SRCID_MASK;
+    static const uint8_t  BROADCAST_NLINE_SHIFT           = 0;
+    static const uint64_t BROADCAST_NLINE_MASK            = MULTI_INVAL_NLINE_MASK;
 
     /*
@@ -252,4 +261,5 @@
       FROM_L1_BC,
 
+      CLEANUP_NCC,
       CLEANUP_DEST,
       CLEANUP_SRCID,
@@ -257,4 +267,5 @@
       CLEANUP_WAY_INDEX,
       CLEANUP_NLINE_LSB,
+      CLEANUP_DATA_UPDT,
 
       MULTI_ACK_DEST,
@@ -294,4 +305,5 @@
         GET_FIELD(flit,FROM_L1_EOP);
         GET_FIELD(flit,FROM_L1_BC);
+        GET_FIELD(flit,CLEANUP_NCC);
         GET_FIELD(flit,CLEANUP_DEST);
         GET_FIELD(flit,CLEANUP_SRCID);
@@ -299,4 +311,5 @@
         GET_FIELD(flit,CLEANUP_WAY_INDEX);
         GET_FIELD(flit,CLEANUP_NLINE_LSB);
+        GET_FIELD(flit,CLEANUP_DATA_UPDT);
         GET_FIELD(flit,MULTI_ACK_DEST);
         GET_FIELD(flit,MULTI_ACK_UPDT_INDEX);
@@ -333,4 +346,5 @@
         SET_FIELD(flit,value,FROM_L1_EOP);
         SET_FIELD(flit,value,FROM_L1_BC);
+        SET_FIELD(flit,value,CLEANUP_NCC);
         SET_FIELD(flit,value,CLEANUP_DEST);
         SET_FIELD(flit,value,CLEANUP_SRCID);
@@ -338,4 +352,5 @@
         SET_FIELD(flit,value,CLEANUP_WAY_INDEX);
         SET_FIELD(flit,value,CLEANUP_NLINE_LSB);
+        SET_FIELD(flit,value,CLEANUP_DATA_UPDT);
         SET_FIELD(flit,value,MULTI_ACK_DEST);
         SET_FIELD(flit,value,MULTI_ACK_UPDT_INDEX);
