Ignore:
Timestamp:
Mar 21, 2012, 12:43:18 PM (13 years ago)
Author:
bouyer
Message:

cache_monitor(): monitor the icache as well as the dcache
Add missing break for CLEANUP_INS_GO and CLEANUP_DATA_GO (this cause
the INS cleanup to be missed if one occurs one cycle after a DATA cleanup
is being sent)

Location:
trunk/modules/vci_cc_vcache_wrapper_v4/caba/source
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/modules/vci_cc_vcache_wrapper_v4/caba/source/include/vci_cc_vcache_wrapper_v4.h

    r206 r211  
    274274    bool                                m_debug_ok;
    275275    bool                                m_debug_previous_hit;
     276    bool                                m_idebug_previous_hit;
    276277    bool                                m_debug_dcache_fsm;
    277278    bool                                m_debug_icache_fsm;
  • trunk/modules/vci_cc_vcache_wrapper_v4/caba/source/src/vci_cc_vcache_wrapper_v4.cpp

    r210 r211  
    483483                                           &cache_set,
    484484                                           &cache_word );
     485    bool        icache_hit = r_icache.read_neutral( addr,
     486                                           &cache_rdata,
     487                                           &cache_way,
     488                                           &cache_set,
     489                                           &cache_word );
    485490    if ( cache_hit != m_debug_previous_hit )
    486491    {
    487492        std::cout << "PROC " << name()
    488                   << " cache change at cycle " << std::dec << m_cpt_total_cycles
     493                  << " dcache change at cycle " << std::dec << m_cpt_total_cycles
    489494                  << " for adresse " << std::hex << addr
    490495                  << " / HIT = " << cache_hit << std::endl;
    491     }
    492     m_debug_previous_hit = cache_hit;
     496        m_debug_previous_hit = cache_hit;
     497    }
     498    if ( icache_hit != m_idebug_previous_hit )
     499    {
     500        std::cout << "PROC " << name()
     501                  << " icache change at cycle " << std::dec << m_cpt_total_cycles
     502                  << " for adresse " << std::hex << addr
     503                  << " / HIT = " << icache_hit << std::endl;
     504        m_idebug_previous_hit = icache_hit;
     505    }
    493506}
    494 
    495 
    496507
    497508/*
     
    721732        // Debug variables
    722733        m_debug_previous_hit      = false;
     734        m_idebug_previous_hit      = false;
    723735        m_debug_dcache_fsm        = false;
    724736        m_debug_icache_fsm        = false;
     
    47094721#endif
    47104722            }
     4723            break;
    47114724        }
    47124725        ////////////////////////
     
    47274740#endif
    47284741            }
     4742            break;
    47294743        }
    47304744    } // end switch CLEANUP FSM
Note: See TracChangeset for help on using the changeset viewer.