Ignore:
Timestamp:
Sep 26, 2013, 11:43:56 AM (11 years ago)
Author:
cfuguet
Message:

Modification in vci_mem_cache:

  • When a BROADCAST INVALIDATE is needed after a WRITE request, the the data from the cache is merged with the new data of the WRITE request.

Before this commit, the DATA from the cache was read in the
WRITE_DIR_LOCK state, but this creates a critical path RAM-to-RAM.
Therefore, this commit changes the state for read the data to
WRITE_BC_DIR_READ and because the synchronous behavior of the
RAMs, the data is available in the WRITE_BC_TRT_LOCK state.

File:
1 edited

Legend:

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

    r530 r535  
    449449      uint32_t     m_cpt_write_miss;     // Number of MISS WRITE
    450450      uint32_t     m_cpt_write_dirty;    // Cumulated length for WRITE transactions
     451      uint32_t     m_cpt_write_broadcast;// Number of BROADCAST INVAL because write
    451452
    452453      uint32_t     m_cpt_trt_rb;         // Read blocked by a hit in trt
     
    724725      sc_signal<bool>     r_write_sc_fail;            // sc command failed
    725726      sc_signal<data_t>   r_write_sc_key;             // sc command key
     727      sc_signal<bool>     r_write_bc_data_we;         // Write enable for data buffer
    726728
    727729      // Buffer between WRITE fsm and TGT_RSP fsm (acknowledge a write command from L1)
Note: See TracChangeset for help on using the changeset viewer.