Changeset 479 for branches/ODCCP/communication
- Timestamp:
- Jul 29, 2013, 11:31:38 AM (11 years ago)
- Location:
- branches/ODCCP/communication/dspin_dhccp_param
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/ODCCP/communication/dspin_dhccp_param
-
Property
svn:mergeinfo
set to
(toggle deleted branches)
/trunk/communication/dspin_dhccp_param merged eligible /branches/v5/communication/dspin_dhccp_param 377-467
-
Property
svn:mergeinfo
set to
(toggle deleted branches)
-
branches/ODCCP/communication/dspin_dhccp_param/caba/source/include/dspin_dhccp_param.h
r460 r479 66 66 67 67 /* 68 * Memory Cache to L1 cache command packets 69 * 70 * CLEANUP ACKNOWLEDGEMENT 71 * 72 * flit 1 73 * ---------------------------------------------------------------------------------------------- 74 * EOP:1 | DEST(14 bits) | X(3 bits) | SET_INDEX(16 bits) | WAY_INDEX(2 bits) | TYPE:0b10X | BC:0 75 * ---------------------------------------------------------------------------------------------- 76 * | X: 0 DATA | 77 * | 1 INST | 68 * M2P command packets 78 69 * 79 70 * MULTICAST UPDATE … … 81 72 * flit 1 82 73 * ---------------------------------------------------------------------------------------------- 83 * EOP:0 | DEST(14 bits) | X( 3 bits) | MEMC_ID(14 bits) | UPDT_INDEX(4 bits) | TYPE:0b00X| BC:074 * EOP:0 | DEST(14 bits) | X(4 bits) | MEMC_ID(14 bits) | UPDT_INDEX(4 bits) | TYPE:0b0X | BC:0 84 75 * ---------------------------------------------------------------------------------------------- 85 76 * | X: 0 DATA | … … 104 95 * flit 1 105 96 * ---------------------------------------------------------------------------------------------- 106 * EOP:0 | DEST(14 bits) | X( 3 bits) | MEMC_ID(14 bits) | UPDT_INDEX(4 bits) | TYPE:0b01X| BC:097 * EOP:0 | DEST(14 bits) | X(4 bits) | MEMC_ID(14 bits) | UPDT_INDEX(4 bits) | TYPE:0b1X | BC:0 107 98 * ---------------------------------------------------------------------------------------------- 108 99 * | X: 0 DATA | … … 125 116 * EOP:1 | X(5 bits) | NLINE (34 bits) 126 117 * ---------------------------------------------------------------------------------------------- 118 * 119 * M2P clack commands 120 * 121 * CLEANUP ACKNOWLEDGEMENT 122 * 123 * flit 1 124 * ---------------------------------------------------------------------------------------------- 125 * EOP:1 | DEST(14 bits) | X(5 bits) | SET_INDEX(16 bits) | WAY_INDEX(2 bits) | TYPE:0bX | BC:0 126 * ---------------------------------------------------------------------------------------------- 127 * | X: 0 CLACK | 128 * | DATA | 129 * | 1 CLACK | 130 * | INST | 131 * 127 132 */ 128 133 … … 140 145 public: 141 146 142 static const uint8_t from_memc_flit_width = 40; 143 static const uint8_t from_l1_flit_width = 33; 144 145 static const uint8_t UPDT_INDEX_WIDTH = 4; 146 static const uint8_t NLINE_WIDTH = 34; 147 static const uint8_t SRCID_WIDTH = 14; 148 static const uint8_t GLOBALID_WIDTH = 10; 149 static const uint8_t WORD_INDEX_WIDTH = 4; 150 static const uint8_t BE_WIDTH = 4; 151 static const uint8_t DATA_WIDTH = 32; 152 static const uint8_t SET_INDEX_WIDTH = 16; 153 static const uint8_t WAY_INDEX_WIDTH = 2; 154 static const uint8_t BROADCAST_BOX_WIDTH = 20; 155 static const uint8_t MC_TYPE_WIDTH = 3; 156 static const uint8_t L1_TYPE_WIDTH = 2; 157 158 static const uint8_t FROM_L1_TYPE_SHIFT = 1; 159 static const uint64_t FROM_L1_TYPE_MASK = ((1ULL<<L1_TYPE_WIDTH)-1); 160 static const uint8_t FROM_L1_EOP_SHIFT = 32; 161 static const uint64_t FROM_L1_EOP_MASK = 1; 162 static const uint8_t FROM_L1_BC_SHIFT = 0; 163 static const uint64_t FROM_L1_BC_MASK = 1; 147 static const uint8_t m2p_flit_width = 40; 148 static const uint8_t p2m_flit_width = 33; 149 static const uint8_t clack_flit_width = 40; 150 151 static const uint8_t UPDT_INDEX_WIDTH = 4; 152 static const uint8_t NLINE_WIDTH = 34; 153 static const uint8_t SRCID_WIDTH = 14; 154 static const uint8_t GLOBALID_WIDTH = 10; 155 static const uint8_t WORD_INDEX_WIDTH = 4; 156 static const uint8_t BE_WIDTH = 4; 157 static const uint8_t DATA_WIDTH = 32; 158 static const uint8_t SET_INDEX_WIDTH = 16; 159 static const uint8_t WAY_INDEX_WIDTH = 2; 160 static const uint8_t BROADCAST_BOX_WIDTH = 20; 161 static const uint8_t M2P_TYPE_WIDTH = 2; 162 static const uint8_t P2M_TYPE_WIDTH = 2; 163 static const uint8_t CLACK_TYPE_WIDTH = 1; 164 165 static const uint8_t P2M_TYPE_SHIFT = 1; 166 static const uint64_t P2M_TYPE_MASK = ((1ULL<<P2M_TYPE_WIDTH)-1); 167 static const uint8_t P2M_EOP_SHIFT = 32; 168 static const uint64_t P2M_EOP_MASK = 1; 169 static const uint8_t P2M_BC_SHIFT = 0; 170 static const uint64_t P2M_BC_MASK = 1; 164 171 165 172 static const uint8_t CLEANUP_NCC_SHIFT = 5; … … 183 190 static const uint64_t MULTI_ACK_UPDT_INDEX_MASK = ((1ULL<<UPDT_INDEX_WIDTH)-1); 184 191 185 static const uint8_t FROM_MC_TYPE_SHIFT= 1;186 static const uint64_t FROM_MC_TYPE_MASK = ((1ULL<<MC_TYPE_WIDTH)-1);187 static const uint8_t FROM_MC_EOP_SHIFT= 39;188 static const uint64_t FROM_MC_EOP_MASK= 1;189 static const uint8_t FROM_MC_BC_SHIFT= 0;190 static const uint64_t FROM_MC_BC_MASK= 1;192 static const uint8_t M2P_TYPE_SHIFT = 1; 193 static const uint64_t M2P_TYPE_MASK = ((1ULL<<M2P_TYPE_WIDTH)-1); 194 static const uint8_t M2P_EOP_SHIFT = 39; 195 static const uint64_t M2P_EOP_MASK = 1; 196 static const uint8_t M2P_BC_SHIFT = 0; 197 static const uint64_t M2P_BC_MASK = 1; 191 198 192 199 static const uint8_t MULTI_INVAL_DEST_SHIFT = 25; … … 214 221 static const uint64_t MULTI_UPDT_DATA_MASK = ((1ULL<<DATA_WIDTH)-1); 215 222 216 static const uint8_t CLEANUP_ACK_DEST_SHIFT = MULTI_INVAL_DEST_SHIFT;217 static const uint64_t CLEANUP_ACK_DEST_MASK = MULTI_INVAL_DEST_MASK;218 static const uint8_t CLEANUP_ACK_SET_SHIFT = 6;219 static const uint64_t CLEANUP_ACK_SET_MASK = ((1ULL<<SET_INDEX_WIDTH)-1);220 static const uint8_t CLEANUP_ACK_WAY_SHIFT = 4;221 static const uint64_t CLEANUP_ACK_WAY_MASK = ((1ULL<<WAY_INDEX_WIDTH)-1);222 223 223 static const uint8_t BROADCAST_BOX_SHIFT = 19; 224 224 static const uint64_t BROADCAST_BOX_MASK = ((1ULL<<BROADCAST_BOX_WIDTH)-1); … … 228 228 static const uint64_t BROADCAST_NLINE_MASK = MULTI_INVAL_NLINE_MASK; 229 229 230 static const uint8_t CLACK_TYPE_SHIFT = 1; 231 static const uint64_t CLACK_TYPE_MASK = ((1ULL<<CLACK_TYPE_WIDTH)-1); 232 static const uint8_t CLACK_EOP_SHIFT = 39; 233 static const uint64_t CLACK_EOP_MASK = 1; 234 static const uint8_t CLACK_BC_SHIFT = 0; 235 static const uint64_t CLACK_BC_MASK = 1; 236 static const uint8_t CLACK_DEST_SHIFT = 25; 237 static const uint64_t CLACK_DEST_MASK = ((1ULL<<SRCID_WIDTH)-1); 238 static const uint8_t CLACK_SET_SHIFT = 6; 239 static const uint64_t CLACK_SET_MASK = ((1ULL<<SET_INDEX_WIDTH)-1); 240 static const uint8_t CLACK_WAY_SHIFT = 4; 241 static const uint64_t CLACK_WAY_MASK = ((1ULL<<WAY_INDEX_WIDTH)-1); 242 230 243 /* 231 * L1 cache to Memory Cachecommand types244 * P2M command types 232 245 */ 233 246 enum … … 240 253 241 254 /* 242 * M emory Cache to L1 cachecommand types255 * M2P command types 243 256 */ 244 257 enum … … 249 262 TYPE_MULTI_INVAL = 2, 250 263 TYPE_MULTI_INVAL_DATA = TYPE_MULTI_INVAL, 251 TYPE_MULTI_INVAL_INST = 3, 252 TYPE_CLEANUP_ACK = 4, 253 TYPE_CLEANUP_ACK_DATA = TYPE_CLEANUP_ACK, 254 TYPE_CLEANUP_ACK_INST = 5 264 TYPE_MULTI_INVAL_INST = 3 255 265 }; 256 266 267 /* 268 * CLACK command types 269 */ 270 enum 271 { 272 TYPE_CLACK = 0, 273 TYPE_CLACK_DATA = TYPE_CLACK, 274 TYPE_CLACK_INST = 1 275 }; 276 257 277 enum flit_field_e 258 278 { 259 FROM_L1_TYPE,260 FROM_L1_EOP,261 FROM_L1_BC,279 P2M_TYPE, 280 P2M_EOP, 281 P2M_BC, 262 282 263 283 CLEANUP_NCC, … … 272 292 MULTI_ACK_UPDT_INDEX, 273 293 274 FROM_MC_TYPE,275 FROM_MC_EOP,276 FROM_MC_BC,294 M2P_TYPE, 295 M2P_EOP, 296 M2P_BC, 277 297 278 298 MULTI_INVAL_DEST, … … 289 309 MULTI_UPDT_DATA, 290 310 291 CLEANUP_ACK_DEST, 292 CLEANUP_ACK_SET, 293 CLEANUP_ACK_WAY, 311 CLACK_TYPE, 312 313 CLACK_DEST, 314 CLACK_SET, 315 CLACK_WAY, 294 316 295 317 BROADCAST_BOX, … … 302 324 switch(field) 303 325 { 304 GET_FIELD(flit, FROM_L1_TYPE);305 GET_FIELD(flit, FROM_L1_EOP);306 GET_FIELD(flit, FROM_L1_BC);326 GET_FIELD(flit,P2M_TYPE); 327 GET_FIELD(flit,P2M_EOP); 328 GET_FIELD(flit,P2M_BC); 307 329 GET_FIELD(flit,CLEANUP_NCC); 308 330 GET_FIELD(flit,CLEANUP_DEST); … … 314 336 GET_FIELD(flit,MULTI_ACK_DEST); 315 337 GET_FIELD(flit,MULTI_ACK_UPDT_INDEX); 316 GET_FIELD(flit, FROM_MC_TYPE);317 GET_FIELD(flit, FROM_MC_EOP);318 GET_FIELD(flit, FROM_MC_BC);338 GET_FIELD(flit,M2P_TYPE); 339 GET_FIELD(flit,M2P_EOP); 340 GET_FIELD(flit,M2P_BC); 319 341 GET_FIELD(flit,MULTI_INVAL_DEST); 320 342 GET_FIELD(flit,MULTI_INVAL_SRCID); … … 328 350 GET_FIELD(flit,MULTI_UPDT_BE); 329 351 GET_FIELD(flit,MULTI_UPDT_DATA); 330 GET_FIELD(flit,CLEANUP_ACK_DEST); 331 GET_FIELD(flit,CLEANUP_ACK_SET); 332 GET_FIELD(flit,CLEANUP_ACK_WAY); 352 GET_FIELD(flit,CLACK_TYPE); 353 GET_FIELD(flit,CLACK_DEST); 354 GET_FIELD(flit,CLACK_SET); 355 GET_FIELD(flit,CLACK_WAY); 333 356 GET_FIELD(flit,BROADCAST_BOX); 334 357 GET_FIELD(flit,BROADCAST_SRCID); … … 343 366 switch(field) 344 367 { 345 SET_FIELD(flit,value, FROM_L1_TYPE);346 SET_FIELD(flit,value, FROM_L1_EOP);347 SET_FIELD(flit,value, FROM_L1_BC);368 SET_FIELD(flit,value,P2M_TYPE); 369 SET_FIELD(flit,value,P2M_EOP); 370 SET_FIELD(flit,value,P2M_BC); 348 371 SET_FIELD(flit,value,CLEANUP_NCC); 349 372 SET_FIELD(flit,value,CLEANUP_DEST); … … 355 378 SET_FIELD(flit,value,MULTI_ACK_DEST); 356 379 SET_FIELD(flit,value,MULTI_ACK_UPDT_INDEX); 357 SET_FIELD(flit,value, FROM_MC_TYPE);358 SET_FIELD(flit,value, FROM_MC_EOP);359 SET_FIELD(flit,value, FROM_MC_BC);380 SET_FIELD(flit,value,M2P_TYPE); 381 SET_FIELD(flit,value,M2P_EOP); 382 SET_FIELD(flit,value,M2P_BC); 360 383 SET_FIELD(flit,value,MULTI_INVAL_DEST); 361 384 SET_FIELD(flit,value,MULTI_INVAL_SRCID); … … 369 392 SET_FIELD(flit,value,MULTI_UPDT_BE); 370 393 SET_FIELD(flit,value,MULTI_UPDT_DATA); 371 SET_FIELD(flit,value,CLEANUP_ACK_DEST); 372 SET_FIELD(flit,value,CLEANUP_ACK_SET); 373 SET_FIELD(flit,value,CLEANUP_ACK_WAY); 394 SET_FIELD(flit,value,CLACK_TYPE); 395 SET_FIELD(flit,value,CLACK_DEST); 396 SET_FIELD(flit,value,CLACK_SET); 397 SET_FIELD(flit,value,CLACK_WAY); 374 398 SET_FIELD(flit,value,BROADCAST_BOX); 375 399 SET_FIELD(flit,value,BROADCAST_SRCID);
Note: See TracChangeset
for help on using the changeset viewer.