- Timestamp:
- Jul 19, 2013, 9:50:00 AM (11 years ago)
- Location:
- branches/ODCCP
- Files:
-
- 6 edited
- 2 moved
Legend:
- Unmodified
- Added
- Removed
-
branches/ODCCP/communication/dspin_odccp_param/caba/metadata/dspin_odccp_param.sd
r452 r453 1 Module('caba:dspin_ dhccp_param',2 classname = 'soclib::caba::Dspin DhccpParam',3 header_files = ['../source/include/dspin_ dhccp_param.h',]1 Module('caba:dspin_odccp_param', 2 classname = 'soclib::caba::DspinOdccpParam', 3 header_files = ['../source/include/dspin_odccp_param.h',] 4 4 ) -
branches/ODCCP/communication/dspin_odccp_param/caba/source/include/dspin_odccp_param.h
r452 r453 1 1 /* -*- c++ -*- 2 * File : dspin_ dhccp_param.h2 * File : dspin_odccp_param.h 3 3 * Date : 01/03/2013 4 4 * Copyright : UPMC / LIP6 5 5 * Authors : Cesar Fuguet 6 * 6 * mainteiners : Clément Devigne 7 7 * SOCLIB_LGPL_HEADER_BEGIN 8 8 * … … 27 27 28 28 29 #ifndef DSPIN_ DHCCP_PARAMS_H30 #define DSPIN_ DHCCP_PARAMS_H29 #ifndef DSPIN_ODCCP_PARAMS_H 30 #define DSPIN_ODCCP_PARAMS_H 31 31 32 32 #include <inttypes.h> … … 38 38 * L1 cache to Memory Cache command packets 39 39 * 40 * CLEANUP 40 * CLEANUP and N flits data if CLEANUP DATA 41 41 * 42 42 * flit 1 … … 136 136 case z: x |= ((y & z##_MASK) << z##_SHIFT);break 137 137 138 class Dspin DhccpParam138 class DspinOdccpParam 139 139 { 140 140 public: … … 335 335 GET_FIELD(flit,BROADCAST_NLINE); 336 336 337 default: assert(false && "Incorrect DHCCP DSPIN field");337 default: assert(false && "Incorrect ODCCP DSPIN field"); 338 338 } 339 339 } … … 376 376 SET_FIELD(flit,value,BROADCAST_NLINE); 377 377 378 default: assert(false && "Incorrect DHCCP DSPIN field");378 default: assert(false && "Incorrect ODCCP DSPIN field"); 379 379 } 380 380 } -
branches/ODCCP/modules/vci_cc_vcache_wrapper/caba/metadata/vci_cc_vcache_wrapper.sd
r452 r453 32 32 parameter.Reference('addr_size')) 33 33 ), 34 Uses('caba:dspin_ dhccp_param'),34 Uses('caba:dspin_odccp_param'), 35 35 ], 36 36 -
branches/ODCCP/modules/vci_cc_vcache_wrapper/caba/source/include/vci_cc_vcache_wrapper.h
r452 r453 42 42 #include "vci_initiator.h" 43 43 #include "dspin_interface.h" 44 #include "dspin_ dhccp_param.h"44 #include "dspin_odccp_param.h" 45 45 #include "mapping_table.h" 46 46 #include "static_assert.h" -
branches/ODCCP/modules/vci_cc_vcache_wrapper/caba/source/src/vci_cc_vcache_wrapper.cpp
r452 r453 5992 5992 uint64_t receive_data = p_dspin_in.data.read(); 5993 5993 // initialize coherence packet type 5994 uint64_t receive_type = Dspin DhccpParam::dspin_get(receive_data,5995 Dspin DhccpParam::FROM_MC_TYPE);5994 uint64_t receive_type = DspinOdccpParam::dspin_get(receive_data, 5995 DspinOdccpParam::FROM_MC_TYPE); 5996 5996 // initialize data/ins flip_flop (0 data / 1 ins) 5997 5997 r_cc_receive_data_ins = (bool)(receive_type & 0x1); 5998 5998 // test for a broadcast 5999 if (Dspin DhccpParam::dspin_get(receive_data,DspinDhccpParam::FROM_MC_BC))5999 if (DspinOdccpParam::dspin_get(receive_data,DspinOdccpParam::FROM_MC_BC)) 6000 6000 { 6001 6001 r_cc_receive_fsm = CC_RECEIVE_BRDCAST_HEADER; 6002 6002 } 6003 6003 // test for a CLACK 6004 else if ((receive_type == Dspin DhccpParam::TYPE_CLEANUP_ACK_DATA) or6005 (receive_type == Dspin DhccpParam::TYPE_CLEANUP_ACK_INST))6004 else if ((receive_type == DspinOdccpParam::TYPE_CLEANUP_ACK_DATA) or 6005 (receive_type == DspinOdccpParam::TYPE_CLEANUP_ACK_INST)) 6006 6006 { 6007 6007 r_cc_receive_fsm = CC_RECEIVE_CLACK; 6008 6008 } 6009 6009 // test for a multi updt 6010 else if ((receive_type == Dspin DhccpParam::TYPE_MULTI_UPDT_DATA) or6011 (receive_type == Dspin DhccpParam::TYPE_MULTI_UPDT_INST))6010 else if ((receive_type == DspinOdccpParam::TYPE_MULTI_UPDT_DATA) or 6011 (receive_type == DspinOdccpParam::TYPE_MULTI_UPDT_INST)) 6012 6012 { 6013 6013 r_cc_receive_fsm = CC_RECEIVE_UPDT_HEADER; … … 6033 6033 // request dcache to handle the CLACK 6034 6034 r_cc_receive_dcache_req = true; 6035 r_cc_receive_dcache_set = Dspin DhccpParam::dspin_get(receive_data,6036 Dspin DhccpParam::CLEANUP_ACK_SET) &6035 r_cc_receive_dcache_set = DspinOdccpParam::dspin_get(receive_data, 6036 DspinOdccpParam::CLEANUP_ACK_SET) & 6037 6037 ((1ULL<<(uint32_log2(m_dcache_sets)))-1); 6038 r_cc_receive_dcache_way = Dspin DhccpParam::dspin_get(receive_data,6039 Dspin DhccpParam::CLEANUP_ACK_WAY) &6038 r_cc_receive_dcache_way = DspinOdccpParam::dspin_get(receive_data, 6039 DspinOdccpParam::CLEANUP_ACK_WAY) & 6040 6040 ((1ULL<<(uint32_log2(m_dcache_ways)))-1); 6041 6041 r_cc_receive_dcache_type = CC_TYPE_CLACK; … … 6050 6050 // request icache to handle the CLACK 6051 6051 r_cc_receive_icache_req = true; 6052 r_cc_receive_icache_set = Dspin DhccpParam::dspin_get(receive_data,6053 Dspin DhccpParam::CLEANUP_ACK_SET) &6052 r_cc_receive_icache_set = DspinOdccpParam::dspin_get(receive_data, 6053 DspinOdccpParam::CLEANUP_ACK_SET) & 6054 6054 ((1ULL<<(uint32_log2(m_icache_sets)))-1); 6055 r_cc_receive_icache_way = Dspin DhccpParam::dspin_get(receive_data,6056 Dspin DhccpParam::CLEANUP_ACK_WAY) &6055 r_cc_receive_icache_way = DspinOdccpParam::dspin_get(receive_data, 6056 DspinOdccpParam::CLEANUP_ACK_WAY) & 6057 6057 ((1ULL<<(uint32_log2(m_icache_ways)))-1); 6058 6058 r_cc_receive_icache_type = CC_TYPE_CLACK; … … 6086 6086 // request dcache to handle the BROADCAST 6087 6087 r_cc_receive_dcache_req = true; 6088 r_cc_receive_dcache_nline = Dspin DhccpParam::dspin_get(receive_data,6089 Dspin DhccpParam::BROADCAST_NLINE);6088 r_cc_receive_dcache_nline = DspinOdccpParam::dspin_get(receive_data, 6089 DspinOdccpParam::BROADCAST_NLINE); 6090 6090 r_cc_receive_dcache_type = CC_TYPE_BRDCAST; 6091 6091 // request icache to handle the BROADCAST 6092 6092 r_cc_receive_icache_req = true; 6093 r_cc_receive_icache_nline = Dspin DhccpParam::dspin_get(receive_data,6094 Dspin DhccpParam::BROADCAST_NLINE);6093 r_cc_receive_icache_nline = DspinOdccpParam::dspin_get(receive_data, 6094 DspinOdccpParam::BROADCAST_NLINE); 6095 6095 r_cc_receive_icache_type = CC_TYPE_BRDCAST; 6096 6096 // get back to idle state … … 6110 6110 not (r_cc_receive_dcache_req.read())) 6111 6111 { 6112 r_cc_receive_dcache_updt_tab_idx = Dspin DhccpParam::dspin_get(receive_data,6113 Dspin DhccpParam::MULTI_INVAL_UPDT_INDEX);6112 r_cc_receive_dcache_updt_tab_idx = DspinOdccpParam::dspin_get(receive_data, 6113 DspinOdccpParam::MULTI_INVAL_UPDT_INDEX); 6114 6114 r_cc_receive_fsm = CC_RECEIVE_INVAL_NLINE; 6115 6115 break; … … 6119 6119 not (r_cc_receive_icache_req.read())) 6120 6120 { 6121 r_cc_receive_icache_updt_tab_idx = Dspin DhccpParam::dspin_get(receive_data,6122 Dspin DhccpParam::MULTI_INVAL_UPDT_INDEX);6121 r_cc_receive_icache_updt_tab_idx = DspinOdccpParam::dspin_get(receive_data, 6122 DspinOdccpParam::MULTI_INVAL_UPDT_INDEX); 6123 6123 r_cc_receive_fsm = CC_RECEIVE_INVAL_NLINE; 6124 6124 break; … … 6139 6139 // request dcache to handle the INVAL 6140 6140 r_cc_receive_dcache_req = true; 6141 r_cc_receive_dcache_nline = Dspin DhccpParam::dspin_get(receive_data,DspinDhccpParam::MULTI_INVAL_NLINE);6141 r_cc_receive_dcache_nline = DspinOdccpParam::dspin_get(receive_data,DspinOdccpParam::MULTI_INVAL_NLINE); 6142 6142 r_cc_receive_dcache_type = CC_TYPE_INVAL; 6143 6143 // get back to idle state … … 6150 6150 // request icache to handle the INVAL 6151 6151 r_cc_receive_icache_req = true; 6152 r_cc_receive_icache_nline = Dspin DhccpParam::dspin_get(receive_data,DspinDhccpParam::MULTI_INVAL_NLINE);6152 r_cc_receive_icache_nline = DspinOdccpParam::dspin_get(receive_data,DspinOdccpParam::MULTI_INVAL_NLINE); 6153 6153 r_cc_receive_icache_type = CC_TYPE_INVAL; 6154 6154 // get back to idle state … … 6168 6168 if ((r_cc_receive_data_ins.read() == 0) and not r_cc_receive_dcache_req.read() and r_cc_receive_updt_fifo_be.empty()) 6169 6169 { 6170 r_cc_receive_dcache_updt_tab_idx = Dspin DhccpParam::dspin_get(receive_data,DspinDhccpParam::MULTI_UPDT_UPDT_INDEX);6170 r_cc_receive_dcache_updt_tab_idx = DspinOdccpParam::dspin_get(receive_data,DspinOdccpParam::MULTI_UPDT_UPDT_INDEX); 6171 6171 r_cc_receive_fsm = CC_RECEIVE_UPDT_NLINE; 6172 6172 break; … … 6176 6176 if ((r_cc_receive_data_ins.read() == 1) and not r_cc_receive_icache_req.read() and r_cc_receive_updt_fifo_be.empty()) 6177 6177 { 6178 r_cc_receive_icache_updt_tab_idx = Dspin DhccpParam::dspin_get(receive_data,DspinDhccpParam::MULTI_UPDT_UPDT_INDEX);6178 r_cc_receive_icache_updt_tab_idx = DspinOdccpParam::dspin_get(receive_data,DspinOdccpParam::MULTI_UPDT_UPDT_INDEX); 6179 6179 r_cc_receive_fsm = CC_RECEIVE_UPDT_NLINE; 6180 6180 break; … … 6195 6195 (p_dspin_in.write.read()) ) 6196 6196 { 6197 r_cc_receive_dcache_nline = Dspin DhccpParam::dspin_get(receive_data,DspinDhccpParam::MULTI_UPDT_NLINE);6198 r_cc_receive_word_idx = Dspin DhccpParam::dspin_get(receive_data,DspinDhccpParam::MULTI_UPDT_WORD_INDEX);6197 r_cc_receive_dcache_nline = DspinOdccpParam::dspin_get(receive_data,DspinOdccpParam::MULTI_UPDT_NLINE); 6198 r_cc_receive_word_idx = DspinOdccpParam::dspin_get(receive_data,DspinOdccpParam::MULTI_UPDT_WORD_INDEX); 6199 6199 r_cc_receive_dcache_type = CC_TYPE_UPDT; 6200 6200 // get back to idle state … … 6209 6209 (p_dspin_in.write.read())) 6210 6210 { 6211 r_cc_receive_icache_nline = Dspin DhccpParam::dspin_get(receive_data,DspinDhccpParam::MULTI_UPDT_NLINE);6212 r_cc_receive_word_idx = Dspin DhccpParam::dspin_get(receive_data,DspinDhccpParam::MULTI_UPDT_WORD_INDEX);6211 r_cc_receive_icache_nline = DspinOdccpParam::dspin_get(receive_data,DspinOdccpParam::MULTI_UPDT_NLINE); 6212 r_cc_receive_word_idx = DspinOdccpParam::dspin_get(receive_data,DspinOdccpParam::MULTI_UPDT_WORD_INDEX); 6213 6213 r_cc_receive_icache_type = CC_TYPE_UPDT; 6214 6214 // get back to idle state … … 6233 6233 uint64_t receive_data = p_dspin_in.data.read(); 6234 6234 bool receive_eop = p_dspin_in.eop.read(); 6235 cc_receive_updt_fifo_be = Dspin DhccpParam::dspin_get(receive_data,DspinDhccpParam::MULTI_UPDT_BE);6236 cc_receive_updt_fifo_data = Dspin DhccpParam::dspin_get(receive_data,DspinDhccpParam::MULTI_UPDT_DATA);6235 cc_receive_updt_fifo_be = DspinOdccpParam::dspin_get(receive_data,DspinOdccpParam::MULTI_UPDT_BE); 6236 cc_receive_updt_fifo_data = DspinOdccpParam::dspin_get(receive_data,DspinOdccpParam::MULTI_UPDT_DATA); 6237 6237 cc_receive_updt_fifo_eop = receive_eop; 6238 6238 cc_receive_updt_fifo_put = true; … … 6454 6454 { 6455 6455 // initialize dspin send data 6456 Dspin DhccpParam::dspin_set(dspin_send_data,6456 DspinOdccpParam::dspin_set(dspin_send_data, 6457 6457 m_cc_global_id, 6458 Dspin DhccpParam::CLEANUP_SRCID);6459 Dspin DhccpParam::dspin_set(dspin_send_data,6458 DspinOdccpParam::CLEANUP_SRCID); 6459 DspinOdccpParam::dspin_set(dspin_send_data, 6460 6460 0, 6461 Dspin DhccpParam::FROM_L1_BC);6461 DspinOdccpParam::FROM_L1_BC); 6462 6462 6463 6463 if(r_cc_send_last_client.read() == 0) // dcache active request … … 6465 6465 uint64_t dest = (uint64_t) r_dcache_cc_send_nline.read() 6466 6466 >> (m_nline_width - m_x_width - m_y_width) 6467 << (Dspin DhccpParam::GLOBALID_WIDTH - m_x_width - m_y_width);6468 Dspin DhccpParam::dspin_set(dspin_send_data,6467 << (DspinOdccpParam::GLOBALID_WIDTH - m_x_width - m_y_width); 6468 DspinOdccpParam::dspin_set(dspin_send_data, 6469 6469 dest, 6470 Dspin DhccpParam::CLEANUP_DEST);6471 6472 Dspin DhccpParam::dspin_set(dspin_send_data,6470 DspinOdccpParam::CLEANUP_DEST); 6471 6472 DspinOdccpParam::dspin_set(dspin_send_data, 6473 6473 (r_dcache_cc_send_nline.read() & 0x300000000ULL)>>32, 6474 Dspin DhccpParam::CLEANUP_NLINE_MSB);6475 6476 Dspin DhccpParam::dspin_set(dspin_send_data,6474 DspinOdccpParam::CLEANUP_NLINE_MSB); 6475 6476 DspinOdccpParam::dspin_set(dspin_send_data, 6477 6477 r_dcache_cc_send_way.read(), 6478 Dspin DhccpParam::CLEANUP_WAY_INDEX);6479 6480 Dspin DhccpParam::dspin_set(dspin_send_data,6481 Dspin DhccpParam::TYPE_CLEANUP_DATA,6482 Dspin DhccpParam::FROM_L1_TYPE);6478 DspinOdccpParam::CLEANUP_WAY_INDEX); 6479 6480 DspinOdccpParam::dspin_set(dspin_send_data, 6481 DspinOdccpParam::TYPE_CLEANUP_DATA, 6482 DspinOdccpParam::FROM_L1_TYPE); 6483 6483 /*ODCCP*/ // If cleanup on NCC line we set the CLEANUP_NCC bit in cleanup flit 6484 6484 if (r_dcache_cleanup_ncc.read()) 6485 6485 { 6486 Dspin DhccpParam::dspin_set(dspin_send_data,6486 DspinOdccpParam::dspin_set(dspin_send_data, 6487 6487 1, 6488 Dspin DhccpParam::CLEANUP_NCC);6488 DspinOdccpParam::CLEANUP_NCC); 6489 6489 } 6490 6490 else 6491 6491 { 6492 Dspin DhccpParam::dspin_set(dspin_send_data,6492 DspinOdccpParam::dspin_set(dspin_send_data, 6493 6493 0, 6494 Dspin DhccpParam::CLEANUP_NCC);6494 DspinOdccpParam::CLEANUP_NCC); 6495 6495 } 6496 6496 … … 6500 6500 uint64_t dest = (uint64_t) r_icache_cc_send_nline.read() 6501 6501 >> (m_nline_width - m_x_width - m_y_width) 6502 << (Dspin DhccpParam::GLOBALID_WIDTH - m_x_width - m_y_width);6503 6504 Dspin DhccpParam::dspin_set(dspin_send_data,6502 << (DspinOdccpParam::GLOBALID_WIDTH - m_x_width - m_y_width); 6503 6504 DspinOdccpParam::dspin_set(dspin_send_data, 6505 6505 dest, 6506 Dspin DhccpParam::CLEANUP_DEST);6507 6508 Dspin DhccpParam::dspin_set(dspin_send_data,6506 DspinOdccpParam::CLEANUP_DEST); 6507 6508 DspinOdccpParam::dspin_set(dspin_send_data, 6509 6509 (r_icache_cc_send_nline.read() & 0x300000000ULL)>>32, 6510 Dspin DhccpParam::CLEANUP_NLINE_MSB);6511 6512 Dspin DhccpParam::dspin_set(dspin_send_data,6510 DspinOdccpParam::CLEANUP_NLINE_MSB); 6511 6512 DspinOdccpParam::dspin_set(dspin_send_data, 6513 6513 r_icache_cc_send_way.read(), 6514 Dspin DhccpParam::CLEANUP_WAY_INDEX);6515 6516 Dspin DhccpParam::dspin_set(dspin_send_data,6517 Dspin DhccpParam::TYPE_CLEANUP_INST,6518 Dspin DhccpParam::FROM_L1_TYPE);6514 DspinOdccpParam::CLEANUP_WAY_INDEX); 6515 6516 DspinOdccpParam::dspin_set(dspin_send_data, 6517 DspinOdccpParam::TYPE_CLEANUP_INST, 6518 DspinOdccpParam::FROM_L1_TYPE); 6519 6519 6520 Dspin DhccpParam::dspin_set(dspin_send_data,6520 DspinOdccpParam::dspin_set(dspin_send_data, 6521 6521 0, 6522 Dspin DhccpParam::CLEANUP_NCC);6522 DspinOdccpParam::CLEANUP_NCC); 6523 6523 } 6524 6524 // send flit … … 6544 6544 if(r_cc_send_last_client.read() == 0) // dcache active request 6545 6545 { 6546 Dspin DhccpParam::dspin_set(dspin_send_data,6546 DspinOdccpParam::dspin_set(dspin_send_data, 6547 6547 r_dcache_cc_send_nline.read() & 0xFFFFFFFFULL, 6548 Dspin DhccpParam::CLEANUP_NLINE_LSB);6548 DspinOdccpParam::CLEANUP_NLINE_LSB); 6549 6549 } 6550 6550 else // icache active request 6551 6551 { 6552 Dspin DhccpParam::dspin_set(dspin_send_data,6552 DspinOdccpParam::dspin_set(dspin_send_data, 6553 6553 r_icache_cc_send_nline.read() & 0xFFFFFFFFULL, 6554 Dspin DhccpParam::CLEANUP_NLINE_LSB);6554 DspinOdccpParam::CLEANUP_NLINE_LSB); 6555 6555 } 6556 6556 // send flit … … 6571 6571 } 6572 6572 6573 Dspin DhccpParam::dspin_set(dspin_send_data,6573 DspinOdccpParam::dspin_set(dspin_send_data, 6574 6574 r_cc_send_data_fifo.read(), 6575 Dspin DhccpParam::CLEANUP_DATA_UPDT);6575 DspinOdccpParam::CLEANUP_DATA_UPDT); 6576 6576 6577 6577 p_dspin_out.data = dspin_send_data; … … 6583 6583 { 6584 6584 // initialize dspin send data 6585 // Dspin DhccpParam::dspin_set(dspin_send_data,6585 // DspinOdccpParam::dspin_set(dspin_send_data, 6586 6586 // 1, 6587 // Dspin DhccpParam::FROM_L1_EOP);6588 Dspin DhccpParam::dspin_set(dspin_send_data,6587 // DspinOdccpParam::FROM_L1_EOP); 6588 DspinOdccpParam::dspin_set(dspin_send_data, 6589 6589 0, 6590 Dspin DhccpParam::FROM_L1_BC);6591 Dspin DhccpParam::dspin_set(dspin_send_data,6592 Dspin DhccpParam::TYPE_MULTI_ACK,6593 Dspin DhccpParam::FROM_L1_TYPE);6590 DspinOdccpParam::FROM_L1_BC); 6591 DspinOdccpParam::dspin_set(dspin_send_data, 6592 DspinOdccpParam::TYPE_MULTI_ACK, 6593 DspinOdccpParam::FROM_L1_TYPE); 6594 6594 6595 6595 if(r_cc_send_last_client.read() == 0) // dcache active request … … 6597 6597 uint64_t dest = (uint64_t) r_dcache_cc_send_nline.read() 6598 6598 >> (m_nline_width - m_x_width - m_y_width) 6599 << (Dspin DhccpParam::GLOBALID_WIDTH - m_x_width - m_y_width);6599 << (DspinOdccpParam::GLOBALID_WIDTH - m_x_width - m_y_width); 6600 6600 6601 Dspin DhccpParam::dspin_set(dspin_send_data,6601 DspinOdccpParam::dspin_set(dspin_send_data, 6602 6602 dest, 6603 Dspin DhccpParam::MULTI_ACK_DEST);6604 6605 Dspin DhccpParam::dspin_set(dspin_send_data,6603 DspinOdccpParam::MULTI_ACK_DEST); 6604 6605 DspinOdccpParam::dspin_set(dspin_send_data, 6606 6606 r_dcache_cc_send_updt_tab_idx.read(), 6607 Dspin DhccpParam::MULTI_ACK_UPDT_INDEX);6607 DspinOdccpParam::MULTI_ACK_UPDT_INDEX); 6608 6608 } 6609 6609 else // icache active request … … 6611 6611 uint64_t dest = (uint64_t) r_icache_cc_send_nline.read() 6612 6612 >> (m_nline_width - m_x_width - m_y_width) 6613 << (Dspin DhccpParam::GLOBALID_WIDTH - m_x_width - m_y_width);6613 << (DspinOdccpParam::GLOBALID_WIDTH - m_x_width - m_y_width); 6614 6614 6615 6615 6616 Dspin DhccpParam::dspin_set(dspin_send_data,6616 DspinOdccpParam::dspin_set(dspin_send_data, 6617 6617 dest, 6618 Dspin DhccpParam::MULTI_ACK_DEST);6619 6620 Dspin DhccpParam::dspin_set(dspin_send_data,6618 DspinOdccpParam::MULTI_ACK_DEST); 6619 6620 DspinOdccpParam::dspin_set(dspin_send_data, 6621 6621 r_icache_cc_send_updt_tab_idx.read(), 6622 Dspin DhccpParam::MULTI_ACK_UPDT_INDEX);6622 DspinOdccpParam::MULTI_ACK_UPDT_INDEX); 6623 6623 } 6624 6624 // send flit -
branches/ODCCP/modules/vci_mem_cache/caba/metadata/vci_mem_cache.sd
r452 r453 40 40 Uses('caba:generic_fifo'), 41 41 Uses('caba:generic_llsc_global_table'), 42 Uses('caba:dspin_ dhccp_param')42 Uses('caba:dspin_odccp_param') 43 43 ], 44 44 -
branches/ODCCP/modules/vci_mem_cache/caba/source/include/vci_mem_cache.h
r452 r453 50 50 #include "update_tab.h" 51 51 #include "dspin_interface.h" 52 #include "dspin_ dhccp_param.h"52 #include "dspin_odccp_param.h" 53 53 54 54 #define TRT_ENTRIES 4 // Number of entries in TRT -
branches/ODCCP/modules/vci_mem_cache/caba/source/src/vci_mem_cache.cpp
r452 r453 1438 1438 { 1439 1439 uint64_t flit = m_cc_receive_to_multi_ack_fifo.read(); 1440 updt_index = Dspin DhccpParam::dspin_get(flit,1441 Dspin DhccpParam::MULTI_ACK_UPDT_INDEX);1440 updt_index = DspinOdccpParam::dspin_get(flit, 1441 DspinOdccpParam::MULTI_ACK_UPDT_INDEX); 1442 1442 1443 1443 cc_receive_to_multi_ack_fifo_get = true; … … 4552 4552 uint64_t flit = m_cc_receive_to_cleanup_fifo.read(); 4553 4553 uint32_t srcid = 4554 Dspin DhccpParam::dspin_get(4554 DspinOdccpParam::dspin_get( 4555 4555 flit, 4556 Dspin DhccpParam::CLEANUP_SRCID);4556 DspinOdccpParam::CLEANUP_SRCID); 4557 4557 4558 4558 uint8_t type = 4559 Dspin DhccpParam::dspin_get(4559 DspinOdccpParam::dspin_get( 4560 4560 flit, 4561 Dspin DhccpParam::FROM_L1_TYPE);4561 DspinOdccpParam::FROM_L1_TYPE); 4562 4562 4563 4563 r_cleanup_way_index = 4564 Dspin DhccpParam::dspin_get(4564 DspinOdccpParam::dspin_get( 4565 4565 flit, 4566 Dspin DhccpParam::CLEANUP_WAY_INDEX);4566 DspinOdccpParam::CLEANUP_WAY_INDEX); 4567 4567 4568 4568 r_cleanup_nline = 4569 Dspin DhccpParam::dspin_get(4569 DspinOdccpParam::dspin_get( 4570 4570 flit, 4571 Dspin DhccpParam::CLEANUP_NLINE_MSB) << 32;4571 DspinOdccpParam::CLEANUP_NLINE_MSB) << 32; 4572 4572 4573 4573 /*ODCCP*/ // Cleanup on no coherent line if 1 4574 4574 r_cleanup_ncc = 4575 Dspin DhccpParam::dspin_get(4575 DspinOdccpParam::dspin_get( 4576 4576 flit, 4577 Dspin DhccpParam::CLEANUP_NCC);4578 4579 r_cleanup_inst = (type == Dspin DhccpParam::TYPE_CLEANUP_INST);4577 DspinOdccpParam::CLEANUP_NCC); 4578 4579 r_cleanup_inst = (type == DspinOdccpParam::TYPE_CLEANUP_INST); 4580 4580 r_cleanup_srcid = srcid; 4581 4581 … … 4599 4599 << " CLEANUP_IDLE> Cleanup request:" << std::hex 4600 4600 << " / owner_id = " << srcid 4601 << " / owner_ins = " << (type == Dspin DhccpParam::TYPE_CLEANUP_INST) << std::endl;4601 << " / owner_ins = " << (type == DspinOdccpParam::TYPE_CLEANUP_INST) << std::endl; 4602 4602 #endif 4603 4603 break; … … 4613 4613 4614 4614 addr_t nline = r_cleanup_nline.read() | 4615 Dspin DhccpParam::dspin_get(flit, DspinDhccpParam::CLEANUP_NLINE_LSB);4615 DspinOdccpParam::dspin_get(flit, DspinOdccpParam::CLEANUP_NLINE_LSB); 4616 4616 4617 bool eop = Dspin DhccpParam::dspin_get(flit, DspinDhccpParam::FROM_L1_EOP);4617 bool eop = DspinOdccpParam::dspin_get(flit, DspinOdccpParam::FROM_L1_EOP); 4618 4618 4619 4619 /*ODCCP*/ // if not eop (more than 2 flits) there is a cleanup no coherent with data … … 4652 4652 4653 4653 uint32_t data = 4654 Dspin DhccpParam::dspin_get (flit, DspinDhccpParam::CLEANUP_DATA_UPDT);4654 DspinOdccpParam::dspin_get (flit, DspinOdccpParam::CLEANUP_DATA_UPDT); 4655 4655 4656 4656 r_cleanup_data[r_cleanup_data_index.read()] = data; … … 6982 6982 6983 6983 uint8_t type = 6984 Dspin DhccpParam::dspin_get(6984 DspinOdccpParam::dspin_get( 6985 6985 p_dspin_in.data.read(), 6986 Dspin DhccpParam::FROM_L1_TYPE);6987 6988 if((type == Dspin DhccpParam::TYPE_CLEANUP_DATA) or6989 (type == Dspin DhccpParam::TYPE_CLEANUP_INST))6986 DspinOdccpParam::FROM_L1_TYPE); 6987 6988 if((type == DspinOdccpParam::TYPE_CLEANUP_DATA) or 6989 (type == DspinOdccpParam::TYPE_CLEANUP_INST)) 6990 6990 { 6991 6991 r_cc_receive_fsm = CC_RECEIVE_CLEANUP; … … 6993 6993 } 6994 6994 6995 if(type == Dspin DhccpParam::TYPE_MULTI_ACK)6995 if(type == DspinOdccpParam::TYPE_MULTI_ACK) 6996 6996 { 6997 6997 r_cc_receive_fsm = CC_RECEIVE_MULTI_ACK; … … 8713 8713 if(m_config_to_cc_send_inst_fifo.read()) 8714 8714 { 8715 multi_inval_type = Dspin DhccpParam::TYPE_MULTI_INVAL_INST;8715 multi_inval_type = DspinOdccpParam::TYPE_MULTI_INVAL_INST; 8716 8716 } 8717 8717 else 8718 8718 { 8719 multi_inval_type = Dspin DhccpParam::TYPE_MULTI_INVAL_DATA;8719 multi_inval_type = DspinOdccpParam::TYPE_MULTI_INVAL_DATA; 8720 8720 } 8721 8721 8722 8722 uint64_t flit = 0; 8723 8723 uint64_t dest = m_config_to_cc_send_srcid_fifo.read() << 8724 (Dspin DhccpParam::SRCID_WIDTH - vci_param_int::S);8725 8726 Dspin DhccpParam::dspin_set( flit,8724 (DspinOdccpParam::SRCID_WIDTH - vci_param_int::S); 8725 8726 DspinOdccpParam::dspin_set( flit, 8727 8727 dest, 8728 Dspin DhccpParam::MULTI_INVAL_DEST);8729 8730 Dspin DhccpParam::dspin_set( flit,8728 DspinOdccpParam::MULTI_INVAL_DEST); 8729 8730 DspinOdccpParam::dspin_set( flit, 8731 8731 m_cc_global_id, 8732 Dspin DhccpParam::MULTI_INVAL_SRCID);8733 8734 Dspin DhccpParam::dspin_set( flit,8732 DspinOdccpParam::MULTI_INVAL_SRCID); 8733 8734 DspinOdccpParam::dspin_set( flit, 8735 8735 r_config_to_cc_send_trdid.read(), 8736 Dspin DhccpParam::MULTI_INVAL_UPDT_INDEX);8737 8738 Dspin DhccpParam::dspin_set( flit,8736 DspinOdccpParam::MULTI_INVAL_UPDT_INDEX); 8737 8738 DspinOdccpParam::dspin_set( flit, 8739 8739 multi_inval_type, 8740 Dspin DhccpParam::FROM_MC_TYPE);8740 DspinOdccpParam::FROM_MC_TYPE); 8741 8741 p_dspin_out.write = true; 8742 8742 p_dspin_out.data = flit; … … 8747 8747 { 8748 8748 uint64_t flit = 0; 8749 Dspin DhccpParam::dspin_set( flit,8749 DspinOdccpParam::dspin_set( flit, 8750 8750 r_config_to_cc_send_nline.read(), 8751 Dspin DhccpParam::MULTI_INVAL_NLINE);8751 DspinOdccpParam::MULTI_INVAL_NLINE); 8752 8752 p_dspin_out.eop = true; 8753 8753 p_dspin_out.write = true; … … 8761 8761 if(r_cleanup_to_cc_send_inst.read()) 8762 8762 { 8763 cleanup_ack_type = Dspin DhccpParam::TYPE_CLEANUP_ACK_INST;8763 cleanup_ack_type = DspinOdccpParam::TYPE_CLEANUP_ACK_INST; 8764 8764 } 8765 8765 else 8766 8766 { 8767 cleanup_ack_type = Dspin DhccpParam::TYPE_CLEANUP_ACK_DATA;8767 cleanup_ack_type = DspinOdccpParam::TYPE_CLEANUP_ACK_DATA; 8768 8768 } 8769 8769 … … 8771 8771 uint64_t dest = 8772 8772 r_cleanup_to_cc_send_srcid.read() << 8773 (Dspin DhccpParam::SRCID_WIDTH - vci_param_int::S);8774 8775 Dspin DhccpParam::dspin_set(8773 (DspinOdccpParam::SRCID_WIDTH - vci_param_int::S); 8774 8775 DspinOdccpParam::dspin_set( 8776 8776 flit, 8777 8777 dest, 8778 Dspin DhccpParam::CLEANUP_ACK_DEST);8779 8780 Dspin DhccpParam::dspin_set(8778 DspinOdccpParam::CLEANUP_ACK_DEST); 8779 8780 DspinOdccpParam::dspin_set( 8781 8781 flit, 8782 8782 r_cleanup_to_cc_send_set_index.read(), 8783 Dspin DhccpParam::CLEANUP_ACK_SET);8784 8785 Dspin DhccpParam::dspin_set(8783 DspinOdccpParam::CLEANUP_ACK_SET); 8784 8785 DspinOdccpParam::dspin_set( 8786 8786 flit, 8787 8787 r_cleanup_to_cc_send_way_index.read(), 8788 Dspin DhccpParam::CLEANUP_ACK_WAY);8789 8790 Dspin DhccpParam::dspin_set(8788 DspinOdccpParam::CLEANUP_ACK_WAY); 8789 8790 DspinOdccpParam::dspin_set( 8791 8791 flit, 8792 8792 cleanup_ack_type, 8793 Dspin DhccpParam::FROM_MC_TYPE);8793 DspinOdccpParam::FROM_MC_TYPE); 8794 8794 8795 8795 p_dspin_out.eop = true; … … 8808 8808 if(m_xram_rsp_to_cc_send_inst_fifo.read()) 8809 8809 { 8810 multi_inval_type = Dspin DhccpParam::TYPE_MULTI_INVAL_INST;8810 multi_inval_type = DspinOdccpParam::TYPE_MULTI_INVAL_INST; 8811 8811 } 8812 8812 else 8813 8813 { 8814 multi_inval_type = Dspin DhccpParam::TYPE_MULTI_INVAL_DATA;8814 multi_inval_type = DspinOdccpParam::TYPE_MULTI_INVAL_DATA; 8815 8815 } 8816 8816 8817 8817 uint64_t flit = 0; 8818 8818 uint64_t dest = m_xram_rsp_to_cc_send_srcid_fifo.read() << 8819 (Dspin DhccpParam::SRCID_WIDTH - vci_param_int::S);8820 8821 Dspin DhccpParam::dspin_set( flit,8819 (DspinOdccpParam::SRCID_WIDTH - vci_param_int::S); 8820 8821 DspinOdccpParam::dspin_set( flit, 8822 8822 dest, 8823 Dspin DhccpParam::MULTI_INVAL_DEST);8824 8825 Dspin DhccpParam::dspin_set( flit,8823 DspinOdccpParam::MULTI_INVAL_DEST); 8824 8825 DspinOdccpParam::dspin_set( flit, 8826 8826 m_cc_global_id, 8827 Dspin DhccpParam::MULTI_INVAL_SRCID);8828 8829 Dspin DhccpParam::dspin_set( flit,8827 DspinOdccpParam::MULTI_INVAL_SRCID); 8828 8829 DspinOdccpParam::dspin_set( flit, 8830 8830 r_xram_rsp_to_cc_send_trdid.read(), 8831 Dspin DhccpParam::MULTI_INVAL_UPDT_INDEX);8832 8833 Dspin DhccpParam::dspin_set( flit,8831 DspinOdccpParam::MULTI_INVAL_UPDT_INDEX); 8832 8833 DspinOdccpParam::dspin_set( flit, 8834 8834 multi_inval_type, 8835 Dspin DhccpParam::FROM_MC_TYPE);8835 DspinOdccpParam::FROM_MC_TYPE); 8836 8836 p_dspin_out.write = true; 8837 8837 p_dspin_out.data = flit; … … 8844 8844 uint64_t flit = 0; 8845 8845 8846 Dspin DhccpParam::dspin_set( flit,8846 DspinOdccpParam::dspin_set( flit, 8847 8847 r_xram_rsp_to_cc_send_nline.read(), 8848 Dspin DhccpParam::MULTI_INVAL_NLINE);8848 DspinOdccpParam::MULTI_INVAL_NLINE); 8849 8849 p_dspin_out.eop = true; 8850 8850 p_dspin_out.write = true; … … 8861 8861 uint64_t flit = 0; 8862 8862 8863 Dspin DhccpParam::dspin_set( flit,8863 DspinOdccpParam::dspin_set( flit, 8864 8864 m_broadcast_boundaries, 8865 Dspin DhccpParam::BROADCAST_BOX);8866 8867 Dspin DhccpParam::dspin_set( flit,8865 DspinOdccpParam::BROADCAST_BOX); 8866 8867 DspinOdccpParam::dspin_set( flit, 8868 8868 m_cc_global_id, 8869 Dspin DhccpParam::BROADCAST_SRCID);8870 8871 Dspin DhccpParam::dspin_set( flit,8869 DspinOdccpParam::BROADCAST_SRCID); 8870 8871 DspinOdccpParam::dspin_set( flit, 8872 8872 1ULL, 8873 Dspin DhccpParam::FROM_MC_BC);8873 DspinOdccpParam::FROM_MC_BC); 8874 8874 p_dspin_out.write = true; 8875 8875 p_dspin_out.data = flit; … … 8880 8880 { 8881 8881 uint64_t flit = 0; 8882 Dspin DhccpParam::dspin_set( flit,8882 DspinOdccpParam::dspin_set( flit, 8883 8883 r_xram_rsp_to_cc_send_nline.read(), 8884 Dspin DhccpParam::BROADCAST_NLINE);8884 DspinOdccpParam::BROADCAST_NLINE); 8885 8885 p_dspin_out.write = true; 8886 8886 p_dspin_out.eop = true; … … 8892 8892 { 8893 8893 uint64_t flit = 0; 8894 Dspin DhccpParam::dspin_set( flit,8894 DspinOdccpParam::dspin_set( flit, 8895 8895 r_config_to_cc_send_nline.read(), 8896 Dspin DhccpParam::BROADCAST_NLINE);8896 DspinOdccpParam::BROADCAST_NLINE); 8897 8897 p_dspin_out.write = true; 8898 8898 p_dspin_out.eop = true; … … 8904 8904 { 8905 8905 uint64_t flit = 0; 8906 Dspin DhccpParam::dspin_set( flit,8906 DspinOdccpParam::dspin_set( flit, 8907 8907 r_write_to_cc_send_nline.read(), 8908 Dspin DhccpParam::BROADCAST_NLINE);8908 DspinOdccpParam::BROADCAST_NLINE); 8909 8909 p_dspin_out.write = true; 8910 8910 p_dspin_out.eop = true; … … 8916 8916 { 8917 8917 uint64_t flit = 0; 8918 Dspin DhccpParam::dspin_set( flit,8918 DspinOdccpParam::dspin_set( flit, 8919 8919 r_cas_to_cc_send_nline.read(), 8920 Dspin DhccpParam::BROADCAST_NLINE);8920 DspinOdccpParam::BROADCAST_NLINE); 8921 8921 p_dspin_out.write = true; 8922 8922 p_dspin_out.eop = true; … … 8932 8932 if(m_write_to_cc_send_inst_fifo.read()) 8933 8933 { 8934 multi_updt_type = Dspin DhccpParam::TYPE_MULTI_UPDT_INST;8934 multi_updt_type = DspinOdccpParam::TYPE_MULTI_UPDT_INST; 8935 8935 } 8936 8936 else 8937 8937 { 8938 multi_updt_type = Dspin DhccpParam::TYPE_MULTI_UPDT_DATA;8938 multi_updt_type = DspinOdccpParam::TYPE_MULTI_UPDT_DATA; 8939 8939 } 8940 8940 … … 8942 8942 uint64_t dest = 8943 8943 m_write_to_cc_send_srcid_fifo.read() << 8944 (Dspin DhccpParam::SRCID_WIDTH - vci_param_int::S);8945 8946 Dspin DhccpParam::dspin_set(8944 (DspinOdccpParam::SRCID_WIDTH - vci_param_int::S); 8945 8946 DspinOdccpParam::dspin_set( 8947 8947 flit, 8948 8948 dest, 8949 Dspin DhccpParam::MULTI_UPDT_DEST);8950 8951 Dspin DhccpParam::dspin_set(8949 DspinOdccpParam::MULTI_UPDT_DEST); 8950 8951 DspinOdccpParam::dspin_set( 8952 8952 flit, 8953 8953 m_cc_global_id, 8954 Dspin DhccpParam::MULTI_UPDT_SRCID);8955 8956 Dspin DhccpParam::dspin_set(8954 DspinOdccpParam::MULTI_UPDT_SRCID); 8955 8956 DspinOdccpParam::dspin_set( 8957 8957 flit, 8958 8958 r_write_to_cc_send_trdid.read(), 8959 Dspin DhccpParam::MULTI_UPDT_UPDT_INDEX);8960 8961 Dspin DhccpParam::dspin_set(8959 DspinOdccpParam::MULTI_UPDT_UPDT_INDEX); 8960 8961 DspinOdccpParam::dspin_set( 8962 8962 flit, 8963 8963 multi_updt_type, 8964 Dspin DhccpParam::FROM_MC_TYPE);8964 DspinOdccpParam::FROM_MC_TYPE); 8965 8965 8966 8966 p_dspin_out.write = true; … … 8974 8974 uint64_t flit = 0; 8975 8975 8976 Dspin DhccpParam::dspin_set(8976 DspinOdccpParam::dspin_set( 8977 8977 flit, 8978 8978 r_write_to_cc_send_index.read(), 8979 Dspin DhccpParam::MULTI_UPDT_WORD_INDEX);8980 8981 Dspin DhccpParam::dspin_set(8979 DspinOdccpParam::MULTI_UPDT_WORD_INDEX); 8980 8981 DspinOdccpParam::dspin_set( 8982 8982 flit, 8983 8983 r_write_to_cc_send_nline.read(), 8984 Dspin DhccpParam::MULTI_UPDT_NLINE);8984 DspinOdccpParam::MULTI_UPDT_NLINE); 8985 8985 8986 8986 p_dspin_out.write = true; … … 9001 9001 uint64_t flit = 0; 9002 9002 9003 Dspin DhccpParam::dspin_set(9003 DspinOdccpParam::dspin_set( 9004 9004 flit, 9005 9005 multi_updt_be, 9006 Dspin DhccpParam::MULTI_UPDT_BE);9007 9008 Dspin DhccpParam::dspin_set(9006 DspinOdccpParam::MULTI_UPDT_BE); 9007 9008 DspinOdccpParam::dspin_set( 9009 9009 flit, 9010 9010 multi_updt_data, 9011 Dspin DhccpParam::MULTI_UPDT_DATA);9011 DspinOdccpParam::MULTI_UPDT_DATA); 9012 9012 9013 9013 p_dspin_out.write = true; … … 9025 9025 if(m_cas_to_cc_send_inst_fifo.read()) 9026 9026 { 9027 multi_updt_type = Dspin DhccpParam::TYPE_MULTI_UPDT_INST;9027 multi_updt_type = DspinOdccpParam::TYPE_MULTI_UPDT_INST; 9028 9028 } 9029 9029 else 9030 9030 { 9031 multi_updt_type = Dspin DhccpParam::TYPE_MULTI_UPDT_DATA;9031 multi_updt_type = DspinOdccpParam::TYPE_MULTI_UPDT_DATA; 9032 9032 } 9033 9033 … … 9035 9035 uint64_t dest = 9036 9036 m_cas_to_cc_send_srcid_fifo.read() << 9037 (Dspin DhccpParam::SRCID_WIDTH - vci_param_int::S);9038 9039 Dspin DhccpParam::dspin_set(9037 (DspinOdccpParam::SRCID_WIDTH - vci_param_int::S); 9038 9039 DspinOdccpParam::dspin_set( 9040 9040 flit, 9041 9041 dest, 9042 Dspin DhccpParam::MULTI_UPDT_DEST);9043 9044 Dspin DhccpParam::dspin_set(9042 DspinOdccpParam::MULTI_UPDT_DEST); 9043 9044 DspinOdccpParam::dspin_set( 9045 9045 flit, 9046 9046 m_cc_global_id, 9047 Dspin DhccpParam::MULTI_UPDT_SRCID);9048 9049 Dspin DhccpParam::dspin_set(9047 DspinOdccpParam::MULTI_UPDT_SRCID); 9048 9049 DspinOdccpParam::dspin_set( 9050 9050 flit, 9051 9051 r_cas_to_cc_send_trdid.read(), 9052 Dspin DhccpParam::MULTI_UPDT_UPDT_INDEX);9053 9054 Dspin DhccpParam::dspin_set(9052 DspinOdccpParam::MULTI_UPDT_UPDT_INDEX); 9053 9054 DspinOdccpParam::dspin_set( 9055 9055 flit, 9056 9056 multi_updt_type, 9057 Dspin DhccpParam::FROM_MC_TYPE);9057 DspinOdccpParam::FROM_MC_TYPE); 9058 9058 9059 9059 p_dspin_out.write = true; … … 9067 9067 uint64_t flit = 0; 9068 9068 9069 Dspin DhccpParam::dspin_set(9069 DspinOdccpParam::dspin_set( 9070 9070 flit, 9071 9071 r_cas_to_cc_send_index.read(), 9072 Dspin DhccpParam::MULTI_UPDT_WORD_INDEX);9073 9074 Dspin DhccpParam::dspin_set(9072 DspinOdccpParam::MULTI_UPDT_WORD_INDEX); 9073 9074 DspinOdccpParam::dspin_set( 9075 9075 flit, 9076 9076 r_cas_to_cc_send_nline.read(), 9077 Dspin DhccpParam::MULTI_UPDT_NLINE);9077 DspinOdccpParam::MULTI_UPDT_NLINE); 9078 9078 9079 9079 p_dspin_out.write = true; … … 9087 9087 uint64_t flit = 0; 9088 9088 9089 Dspin DhccpParam::dspin_set(9089 DspinOdccpParam::dspin_set( 9090 9090 flit, 9091 9091 0xF, 9092 Dspin DhccpParam::MULTI_UPDT_BE);9093 9094 Dspin DhccpParam::dspin_set(9092 DspinOdccpParam::MULTI_UPDT_BE); 9093 9094 DspinOdccpParam::dspin_set( 9095 9095 flit, 9096 9096 r_cas_to_cc_send_wdata.read(), 9097 Dspin DhccpParam::MULTI_UPDT_DATA);9097 DspinOdccpParam::MULTI_UPDT_DATA); 9098 9098 9099 9099 p_dspin_out.write = true; … … 9108 9108 uint64_t flit = 0; 9109 9109 9110 Dspin DhccpParam::dspin_set(9110 DspinOdccpParam::dspin_set( 9111 9111 flit, 9112 9112 0xF, 9113 Dspin DhccpParam::MULTI_UPDT_BE);9114 9115 Dspin DhccpParam::dspin_set(9113 DspinOdccpParam::MULTI_UPDT_BE); 9114 9115 DspinOdccpParam::dspin_set( 9116 9116 flit, 9117 9117 r_cas_to_cc_send_wdata_high.read(), 9118 Dspin DhccpParam::MULTI_UPDT_DATA);9118 DspinOdccpParam::MULTI_UPDT_DATA); 9119 9119 9120 9120 p_dspin_out.write = true;
Note: See TracChangeset
for help on using the changeset viewer.