Ignore:
Timestamp:
Aug 8, 2013, 1:33:39 PM (11 years ago)
Author:
haoliu
Message:

Bug fixed in vci_cc_vcache_wrapper component:
1) The r_dcache_paddr_ext is utiliszed in the state DCACHE_XTN_DC_INVAL_VA(DCACHE FSM)
for constructing the physical address when the tlb is not activated.

2) In the ICACHE FSM and DCACHE FSM, the state MISS_SELECT will not be blocked by the
r_icache_cc_send_req (r_dcache_cc_send_req for DCACHE FSM) when a victim solt is found,
because we should assure that the cache L1 can consume the response of the miss read
request when the response has arrived.
(The reason of this condtion comes from a deadlock detected in the above version)

A new filp-flop is utilized in the ICACHE FSM (same in DCACHE FSM) for saving the cleanup victim
request when the r_icache_cc_send_req is true. This saving request will be sent later
in the states MISS_WAIT or MISS_UPDT_DIR when r_icache_cc_send_req is false.

File:
1 edited

Legend:

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

    r468 r487  
    175175        CC_RECEIVE_INS_UPDT_HEADER,
    176176        CC_RECEIVE_INS_UPDT_NLINE,
    177         CC_RECEIVE_INS_UPDT_DATA,
    178177        CC_RECEIVE_DATA_INVAL_HEADER,
    179178        CC_RECEIVE_DATA_INVAL_NLINE,
    180179        CC_RECEIVE_DATA_UPDT_HEADER,
    181180        CC_RECEIVE_DATA_UPDT_NLINE,
     181        CC_RECEIVE_INS_UPDT_DATA,
    182182        CC_RECEIVE_DATA_UPDT_DATA,
    183183    };
     
    388388    sc_signal<bool>         r_icache_tlb_rsp_error;      // tlb miss response error
    389389
     390    // Filp-Flop in ICACHE FSM for saving the cleanup victim request
     391    sc_signal<bool>         r_icache_cleanup_victim_req;
     392    sc_signal<paddr_t>      r_icache_cleanup_victim_nline;
     393
    390394    // communication between ICACHE FSM and CC_SEND FSM
    391395    sc_signal<bool>         r_icache_cc_send_req;           // ICACHE cc_send request
     
    480484    sc_signal<bool>         r_dcache_xtn_req;           // xtn request (caused by processor)
    481485    sc_signal<int>          r_dcache_xtn_opcode;        // xtn request type
     486
     487    // Filp-Flop in DCACHE FSM for saving the cleanup victim request
     488    sc_signal<bool>         r_dcache_cleanup_victim_req;
     489    sc_signal<paddr_t>      r_dcache_cleanup_victim_nline;
    482490
    483491    // communication between DCACHE FSM and CC_SEND FSM
Note: See TracChangeset for help on using the changeset viewer.