Changeset 1041 for trunk/modules
- Timestamp:
- May 19, 2016, 3:01:50 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/modules/vci_cc_vcache_wrapper/caba/source/src/vci_cc_vcache_wrapper.cpp
r970 r1041 1383 1383 size_t set = r_icache_flush_count.read() % m_icache_sets; 1384 1384 1385 if (r_icache_flush_count.read() == (m_icache_sets * m_icache_ways)) // last slot 1386 { 1387 r_dcache_xtn_req = false; 1388 m_drsp.valid = true; 1389 r_icache_fsm = ICACHE_IDLE; 1390 break; 1391 } 1392 1393 1385 1394 #ifdef INSTRUMENTATION 1386 1395 m_cpt_icache_dir_read++; … … 1404 1413 r_icache_fsm = ICACHE_XTN_CACHE_FLUSH_GO; 1405 1414 } 1406 else if (r_icache_flush_count.read() == 1407 (m_icache_sets*m_icache_ways - 1)) // last slot 1408 { 1409 r_dcache_xtn_req = false; 1410 m_drsp.valid = true; 1411 r_icache_fsm = ICACHE_IDLE; 1412 } 1413 1414 // saturation counter, to have the same last slot condition 1415 // in ICACHE_XTN_CACHE_FLUSH and ICACHE_XTN_CACHE_FLUSH_GO states 1416 if (r_icache_flush_count.read() < (m_icache_sets * m_icache_ways - 1)) 1417 { 1415 else { 1416 // saturation counter, to have the same last slot condition 1417 // in ICACHE_XTN_CACHE_FLUSH and ICACHE_XTN_CACHE_FLUSH_GO states 1418 1418 r_icache_flush_count = r_icache_flush_count.read() + 1; 1419 1419 } … … 1435 1435 CACHE_SLOT_STATE_ZOMBI); 1436 1436 1437 if (r_icache_flush_count.read() == 1438 (m_icache_sets*m_icache_ways - 1)) // last slot 1439 { 1440 r_dcache_xtn_req = false; 1441 m_drsp.valid = true; 1437 if (r_icache_flush_count.read() == (m_icache_sets * m_icache_ways - 1)) // last slot 1438 { 1442 1439 r_icache_fsm = ICACHE_IDLE; 1443 } 1444 else 1445 { 1446 r_icache_fsm = ICACHE_XTN_CACHE_FLUSH; 1447 } 1440 break; 1441 } 1442 r_icache_flush_count = r_icache_flush_count.read() + 1; 1443 r_icache_fsm = ICACHE_XTN_CACHE_FLUSH; 1448 1444 break; 1449 1445 }
Note: See TracChangeset
for help on using the changeset viewer.