- Timestamp:
- Jul 17, 2013, 12:13:51 PM (11 years ago)
- Location:
- branches/v5/communication/dspin_dhccp_param
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/v5/communication/dspin_dhccp_param
-
Property
svn:mergeinfo
set to
/trunk/communication/dspin_dhccp_param merged eligible
-
Property
svn:mergeinfo
set to
-
branches/v5/communication/dspin_dhccp_param/caba/source/include/dspin_dhccp_param.h
r356 r442 61 61 62 62 /* 63 * Memory Cache to L1 cache command packets 64 * 65 * CLEANUP ACKNOWLEDGEMENT 66 * 67 * flit 1 68 * ---------------------------------------------------------------------------------------------- 69 * EOP:1 | DEST(14 bits) | X(3 bits) | SET_INDEX(16 bits) | WAY_INDEX(2 bits) | TYPE:0b10X | BC:0 70 * ---------------------------------------------------------------------------------------------- 71 * | X: 0 DATA | 72 * | 1 INST | 63 * M2P command packets 73 64 * 74 65 * MULTICAST UPDATE … … 76 67 * flit 1 77 68 * ---------------------------------------------------------------------------------------------- 78 * EOP:0 | DEST(14 bits) | X( 3 bits) | MEMC_ID(14 bits) | UPDT_INDEX(4 bits) | TYPE:0b00X| BC:069 * EOP:0 | DEST(14 bits) | X(4 bits) | MEMC_ID(14 bits) | UPDT_INDEX(4 bits) | TYPE:0b0X | BC:0 79 70 * ---------------------------------------------------------------------------------------------- 80 71 * | X: 0 DATA | … … 99 90 * flit 1 100 91 * ---------------------------------------------------------------------------------------------- 101 * EOP:0 | DEST(14 bits) | X( 3 bits) | MEMC_ID(14 bits) | UPDT_INDEX(4 bits) | TYPE:0b01X| BC:092 * EOP:0 | DEST(14 bits) | X(4 bits) | MEMC_ID(14 bits) | UPDT_INDEX(4 bits) | TYPE:0b1X | BC:0 102 93 * ---------------------------------------------------------------------------------------------- 103 94 * | X: 0 DATA | … … 120 111 * EOP:1 | X(5 bits) | NLINE (34 bits) 121 112 * ---------------------------------------------------------------------------------------------- 113 * 114 * M2P clack commands 115 * 116 * CLEANUP ACKNOWLEDGEMENT 117 * 118 * flit 1 119 * ---------------------------------------------------------------------------------------------- 120 * EOP:1 | DEST(14 bits) | X(5 bits) | SET_INDEX(16 bits) | WAY_INDEX(2 bits) | TYPE:0bX | BC:0 121 * ---------------------------------------------------------------------------------------------- 122 * | X: 0 CLACK | 123 * | DATA | 124 * | 1 CLACK | 125 * | INST | 126 * 122 127 */ 123 128 … … 135 140 public: 136 141 137 static const uint8_t from_memc_flit_width = 40; 138 static const uint8_t from_l1_flit_width = 33; 142 static const uint8_t m2p_flit_width = 40; 143 static const uint8_t p2m_flit_width = 33; 144 static const uint8_t clack_flit_width = 40; 139 145 140 146 static const uint8_t UPDT_INDEX_WIDTH = 4; … … 148 154 static const uint8_t WAY_INDEX_WIDTH = 2; 149 155 static const uint8_t BROADCAST_BOX_WIDTH = 20; 150 static const uint8_t MC_TYPE_WIDTH = 3; 151 static const uint8_t L1_TYPE_WIDTH = 2; 152 153 static const uint8_t FROM_L1_TYPE_SHIFT = 1; 154 static const uint64_t FROM_L1_TYPE_MASK = ((1ULL<<L1_TYPE_WIDTH)-1); 155 static const uint8_t FROM_L1_EOP_SHIFT = 32; 156 static const uint64_t FROM_L1_EOP_MASK = 1; 157 static const uint8_t FROM_L1_BC_SHIFT = 0; 158 static const uint64_t FROM_L1_BC_MASK = 1; 156 static const uint8_t M2P_TYPE_WIDTH = 2; 157 static const uint8_t P2M_TYPE_WIDTH = 2; 158 static const uint8_t CLACK_TYPE_WIDTH = 1; 159 160 static const uint8_t P2M_TYPE_SHIFT = 1; 161 static const uint64_t P2M_TYPE_MASK = ((1ULL<<P2M_TYPE_WIDTH)-1); 162 static const uint8_t P2M_EOP_SHIFT = 32; 163 static const uint64_t P2M_EOP_MASK = 1; 164 static const uint8_t P2M_BC_SHIFT = 0; 165 static const uint64_t P2M_BC_MASK = 1; 159 166 160 167 static const uint8_t CLEANUP_DEST_SHIFT = 22; … … 174 181 static const uint64_t MULTI_ACK_UPDT_INDEX_MASK = ((1ULL<<UPDT_INDEX_WIDTH)-1); 175 182 176 static const uint8_t FROM_MC_TYPE_SHIFT= 1;177 static const uint64_t FROM_MC_TYPE_MASK = ((1ULL<<MC_TYPE_WIDTH)-1);178 static const uint8_t FROM_MC_EOP_SHIFT= 39;179 static const uint64_t FROM_MC_EOP_MASK= 1;180 static const uint8_t FROM_MC_BC_SHIFT= 0;181 static const uint64_t FROM_MC_BC_MASK= 1;183 static const uint8_t M2P_TYPE_SHIFT = 1; 184 static const uint64_t M2P_TYPE_MASK = ((1ULL<<M2P_TYPE_WIDTH)-1); 185 static const uint8_t M2P_EOP_SHIFT = 39; 186 static const uint64_t M2P_EOP_MASK = 1; 187 static const uint8_t M2P_BC_SHIFT = 0; 188 static const uint64_t M2P_BC_MASK = 1; 182 189 183 190 static const uint8_t MULTI_INVAL_DEST_SHIFT = 25; … … 205 212 static const uint64_t MULTI_UPDT_DATA_MASK = ((1ULL<<DATA_WIDTH)-1); 206 213 207 static const uint8_t CLEANUP_ACK_DEST_SHIFT = MULTI_INVAL_DEST_SHIFT;208 static const uint64_t CLEANUP_ACK_DEST_MASK = MULTI_INVAL_DEST_MASK;209 static const uint8_t CLEANUP_ACK_SET_SHIFT = 6;210 static const uint64_t CLEANUP_ACK_SET_MASK = ((1ULL<<SET_INDEX_WIDTH)-1);211 static const uint8_t CLEANUP_ACK_WAY_SHIFT = 4;212 static const uint64_t CLEANUP_ACK_WAY_MASK = ((1ULL<<WAY_INDEX_WIDTH)-1);213 214 214 static const uint8_t BROADCAST_BOX_SHIFT = 19; 215 215 static const uint64_t BROADCAST_BOX_MASK = ((1ULL<<BROADCAST_BOX_WIDTH)-1); … … 219 219 static const uint64_t BROADCAST_NLINE_MASK = MULTI_INVAL_NLINE_MASK; 220 220 221 static const uint8_t CLACK_TYPE_SHIFT = 1; 222 static const uint64_t CLACK_TYPE_MASK = ((1ULL<<CLACK_TYPE_WIDTH)-1); 223 static const uint8_t CLACK_EOP_SHIFT = 39; 224 static const uint64_t CLACK_EOP_MASK = 1; 225 static const uint8_t CLACK_BC_SHIFT = 0; 226 static const uint64_t CLACK_BC_MASK = 1; 227 static const uint8_t CLACK_DEST_SHIFT = 25; 228 static const uint64_t CLACK_DEST_MASK = ((1ULL<<SRCID_WIDTH)-1); 229 static const uint8_t CLACK_SET_SHIFT = 6; 230 static const uint64_t CLACK_SET_MASK = ((1ULL<<SET_INDEX_WIDTH)-1); 231 static const uint8_t CLACK_WAY_SHIFT = 4; 232 static const uint64_t CLACK_WAY_MASK = ((1ULL<<WAY_INDEX_WIDTH)-1); 233 221 234 /* 222 * L1 cache to Memory Cachecommand types235 * P2M command types 223 236 */ 224 237 enum … … 231 244 232 245 /* 233 * M emory Cache to L1 cachecommand types246 * M2P command types 234 247 */ 235 248 enum … … 240 253 TYPE_MULTI_INVAL = 2, 241 254 TYPE_MULTI_INVAL_DATA = TYPE_MULTI_INVAL, 242 TYPE_MULTI_INVAL_INST = 3, 243 TYPE_CLEANUP_ACK = 4, 244 TYPE_CLEANUP_ACK_DATA = TYPE_CLEANUP_ACK, 245 TYPE_CLEANUP_ACK_INST = 5 255 TYPE_MULTI_INVAL_INST = 3 246 256 }; 247 257 258 /* 259 * CLACK command types 260 */ 261 enum 262 { 263 TYPE_CLACK = 0, 264 TYPE_CLACK_DATA = TYPE_CLACK, 265 TYPE_CLACK_INST = 1 266 }; 267 248 268 enum flit_field_e 249 269 { 250 FROM_L1_TYPE,251 FROM_L1_EOP,252 FROM_L1_BC,270 P2M_TYPE, 271 P2M_EOP, 272 P2M_BC, 253 273 254 274 CLEANUP_DEST, … … 261 281 MULTI_ACK_UPDT_INDEX, 262 282 263 FROM_MC_TYPE,264 FROM_MC_EOP,265 FROM_MC_BC,283 M2P_TYPE, 284 M2P_EOP, 285 M2P_BC, 266 286 267 287 MULTI_INVAL_DEST, … … 278 298 MULTI_UPDT_DATA, 279 299 280 CLEANUP_ACK_DEST, 281 CLEANUP_ACK_SET, 282 CLEANUP_ACK_WAY, 300 CLACK_TYPE, 301 302 CLACK_DEST, 303 CLACK_SET, 304 CLACK_WAY, 283 305 284 306 BROADCAST_BOX, … … 291 313 switch(field) 292 314 { 293 GET_FIELD(flit, FROM_L1_TYPE);294 GET_FIELD(flit, FROM_L1_EOP);295 GET_FIELD(flit, FROM_L1_BC);315 GET_FIELD(flit,P2M_TYPE); 316 GET_FIELD(flit,P2M_EOP); 317 GET_FIELD(flit,P2M_BC); 296 318 GET_FIELD(flit,CLEANUP_DEST); 297 319 GET_FIELD(flit,CLEANUP_SRCID); … … 301 323 GET_FIELD(flit,MULTI_ACK_DEST); 302 324 GET_FIELD(flit,MULTI_ACK_UPDT_INDEX); 303 GET_FIELD(flit, FROM_MC_TYPE);304 GET_FIELD(flit, FROM_MC_EOP);305 GET_FIELD(flit, FROM_MC_BC);325 GET_FIELD(flit,M2P_TYPE); 326 GET_FIELD(flit,M2P_EOP); 327 GET_FIELD(flit,M2P_BC); 306 328 GET_FIELD(flit,MULTI_INVAL_DEST); 307 329 GET_FIELD(flit,MULTI_INVAL_SRCID); … … 315 337 GET_FIELD(flit,MULTI_UPDT_BE); 316 338 GET_FIELD(flit,MULTI_UPDT_DATA); 317 GET_FIELD(flit,CLEANUP_ACK_DEST); 318 GET_FIELD(flit,CLEANUP_ACK_SET); 319 GET_FIELD(flit,CLEANUP_ACK_WAY); 339 GET_FIELD(flit,CLACK_TYPE); 340 GET_FIELD(flit,CLACK_DEST); 341 GET_FIELD(flit,CLACK_SET); 342 GET_FIELD(flit,CLACK_WAY); 320 343 GET_FIELD(flit,BROADCAST_BOX); 321 344 GET_FIELD(flit,BROADCAST_SRCID); … … 330 353 switch(field) 331 354 { 332 SET_FIELD(flit,value, FROM_L1_TYPE);333 SET_FIELD(flit,value, FROM_L1_EOP);334 SET_FIELD(flit,value, FROM_L1_BC);355 SET_FIELD(flit,value,P2M_TYPE); 356 SET_FIELD(flit,value,P2M_EOP); 357 SET_FIELD(flit,value,P2M_BC); 335 358 SET_FIELD(flit,value,CLEANUP_DEST); 336 359 SET_FIELD(flit,value,CLEANUP_SRCID); … … 340 363 SET_FIELD(flit,value,MULTI_ACK_DEST); 341 364 SET_FIELD(flit,value,MULTI_ACK_UPDT_INDEX); 342 SET_FIELD(flit,value, FROM_MC_TYPE);343 SET_FIELD(flit,value, FROM_MC_EOP);344 SET_FIELD(flit,value, FROM_MC_BC);365 SET_FIELD(flit,value,M2P_TYPE); 366 SET_FIELD(flit,value,M2P_EOP); 367 SET_FIELD(flit,value,M2P_BC); 345 368 SET_FIELD(flit,value,MULTI_INVAL_DEST); 346 369 SET_FIELD(flit,value,MULTI_INVAL_SRCID); … … 354 377 SET_FIELD(flit,value,MULTI_UPDT_BE); 355 378 SET_FIELD(flit,value,MULTI_UPDT_DATA); 356 SET_FIELD(flit,value,CLEANUP_ACK_DEST); 357 SET_FIELD(flit,value,CLEANUP_ACK_SET); 358 SET_FIELD(flit,value,CLEANUP_ACK_WAY); 379 SET_FIELD(flit,value,CLACK_TYPE); 380 SET_FIELD(flit,value,CLACK_DEST); 381 SET_FIELD(flit,value,CLACK_SET); 382 SET_FIELD(flit,value,CLACK_WAY); 359 383 SET_FIELD(flit,value,BROADCAST_BOX); 360 384 SET_FIELD(flit,value,BROADCAST_SRCID);
Note: See TracChangeset
for help on using the changeset viewer.