Changeset 597 for trunk/modules/vci_mem_cache/caba
- Timestamp:
- Dec 11, 2013, 4:50:35 PM (11 years ago)
- Location:
- trunk/modules/vci_mem_cache/caba/source
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/modules/vci_mem_cache/caba/source/include/vci_mem_cache.h
r596 r597 499 499 const soclib::common::IntTab &srcid_x, // global index RAM network 500 500 const soclib::common::IntTab &tgtid_d, // global index INT network 501 const size_t cc_global_id, // global index CC network 501 const size_t x_self, // self X coordinate 502 const size_t y_self, // self Y coordinate 502 503 const size_t x_width, // X width in platform 503 504 const size_t y_width, // Y width in platform … … 542 543 const size_t m_sets; // Number of cache sets 543 544 const size_t m_words; // Number of words in a line 544 const size_t m_cc_global_id; // global_index on cc network 545 const size_t m_xwidth; // number of x bits in platform 546 const size_t m_ywidth; // number of y bits in platform 545 const size_t m_x_self; // X self coordinate 546 const size_t m_y_self; // Y self coordinate 547 const size_t m_x_width; // number of x bits in platform 548 const size_t m_y_width; // number of y bits in platform 547 549 size_t m_debug_start_cycle; 548 550 bool m_debug_ok; -
trunk/modules/vci_mem_cache/caba/source/src/vci_mem_cache.cpp
r596 r597 334 334 const IntTab &srcid_x, // global index on external network 335 335 const IntTab &tgtid_d, // global index on direct network 336 const size_t cc_global_id, // global index on cc network 336 const size_t x_self, // self x coordinate 337 const size_t y_self, // self y coordinate 337 338 const size_t x_width, // number of x bits in platform 338 339 const size_t y_width, // number of x bits in platform … … 366 367 m_sets(nsets), 367 368 m_words(nwords), 368 m_cc_global_id(cc_global_id), 369 m_xwidth(x_width), 370 m_ywidth(y_width), 369 m_x_self(x_self), 370 m_y_self(y_self), 371 m_x_width(x_width), 372 m_y_width(y_width), 371 373 m_debug_start_cycle(debug_start_cycle), 372 374 m_debug_ok(debug_ok), … … 644 646 { 645 647 const uint32_t srcid_width = vci_param_int::S; 646 uint8_t self_x_srcid = m_cc_global_id >> (srcid_width - m_xwidth); 647 uint8_t self_y_srcid = (m_cc_global_id >> (srcid_width - m_ywidth)) & ((1 << m_xwidth) - 1); 648 649 uint8_t x_srcid = req_srcid >> (srcid_width - m_xwidth); 650 uint8_t y_srcid = (req_srcid >> (srcid_width - m_ywidth - m_xwidth)) & ((1 << m_xwidth) - 1); 651 return abs(self_x_srcid - x_srcid) + abs(self_y_srcid - y_srcid); 648 649 uint8_t req_x = (req_srcid >> (srcid_width - m_x_width)); 650 uint8_t req_y = (req_srcid >> (srcid_width - m_x_width - m_y_width)) & ((1 << m_y_width) - 1); 651 652 return abs(m_x_self - req_x) + abs(m_y_self - req_y); 652 653 } 653 654 … … 8460 8461 8461 8462 DspinDhccpParam::dspin_set( flit, 8462 m_cc_global_id,8463 DspinDhccpParam::MULTI_INVAL_SRCID);8464 8465 DspinDhccpParam::dspin_set( flit,8466 8463 r_config_to_cc_send_trdid.read(), 8467 8464 DspinDhccpParam::MULTI_INVAL_UPDT_INDEX); … … 8510 8507 8511 8508 DspinDhccpParam::dspin_set( flit, 8512 m_cc_global_id,8513 DspinDhccpParam::MULTI_INVAL_SRCID);8514 8515 DspinDhccpParam::dspin_set( flit,8516 8509 r_xram_rsp_to_cc_send_trdid.read(), 8517 8510 DspinDhccpParam::MULTI_INVAL_UPDT_INDEX); … … 8550 8543 m_broadcast_boundaries, 8551 8544 DspinDhccpParam::BROADCAST_BOX); 8552 8553 DspinDhccpParam::dspin_set( flit,8554 m_cc_global_id,8555 DspinDhccpParam::BROADCAST_SRCID);8556 8545 8557 8546 DspinDhccpParam::dspin_set( flit, … … 8637 8626 DspinDhccpParam::dspin_set( 8638 8627 flit, 8639 m_cc_global_id,8640 DspinDhccpParam::MULTI_UPDT_SRCID);8641 8642 DspinDhccpParam::dspin_set(8643 flit,8644 8628 r_write_to_cc_send_trdid.read(), 8645 8629 DspinDhccpParam::MULTI_UPDT_UPDT_INDEX); … … 8727 8711 dest, 8728 8712 DspinDhccpParam::MULTI_UPDT_DEST); 8729 8730 DspinDhccpParam::dspin_set(8731 flit,8732 m_cc_global_id,8733 DspinDhccpParam::MULTI_UPDT_SRCID);8734 8713 8735 8714 DspinDhccpParam::dspin_set(
Note: See TracChangeset
for help on using the changeset viewer.