Ignore:
Timestamp:
Sep 15, 2014, 11:43:32 AM (10 years ago)
Author:
devigne
Message:

RWT commit :

Update from the trunk (paddr extension)

File:
1 edited

Legend:

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

    r771 r805  
    114114        DCACHE_XTN_IC_FLUSH,
    115115        DCACHE_XTN_IC_INVAL_PA,
     116        DCACHE_XTN_IC_PADDR_EXT,
    116117        DCACHE_XTN_IT_INVAL,
    117118        DCACHE_XTN_DC_FLUSH,
     
    329330    bool                                m_debug_ok;
    330331
     332    uint32_t                            m_dcache_paddr_ext_reset;
     333    uint32_t                            m_icache_paddr_ext_reset;
     334
    331335    ////////////////////////////////////////
    332336    // Communication with processor ISS
     
    396400    sc_signal<bool>         r_icache_tlb_rsp_error;      // tlb miss response error
    397401
     402    // Flip-Flop in ICACHE FSM for saving the cleanup victim request
     403    sc_signal<bool>         r_icache_cleanup_victim_req;
     404    sc_signal<paddr_t>      r_icache_cleanup_victim_nline;
    398405
    399406    // communication between ICACHE FSM and CC_SEND FSM
     
    403410    sc_signal<size_t>       r_icache_cc_send_way;           // ICACHE cc_send way
    404411    sc_signal<size_t>       r_icache_cc_send_updt_tab_idx;  // ICACHE cc_send update table index
    405    
    406     // Filp-Flop in ICACHE FSM for saving the cleanup victim request
    407     sc_signal<bool>         r_icache_cleanup_victim_req;
    408     sc_signal<paddr_t>      r_icache_cleanup_victim_nline;
     412
     413    // Physical address extension for data access
     414    sc_signal<uint32_t>     r_icache_paddr_ext;             // CP2 register (if vci_address > 32)
    409415
    410416    ///////////////////////////////
     
    468474    sc_signal<bool>         r_dcache_cc_need_write;     // activate the cache for writing
    469475    sc_signal<paddr_t>      r_dcache_cc_inval_addr;     // address for a cleanup transaction
    470     sc_signal<uint32_t>     r_dcache_cc_inval_data_cpt; 
     476    sc_signal<uint32_t>     r_dcache_cc_inval_data_cpt;
    471477
    472478    // coherence clack handling
     
    503509    // Filp-Flop in DCACHE FSM for saving the cleanup victim request
    504510    sc_signal<bool>         r_dcache_cleanup_victim_req;
    505     sc_signal<bool>         r_dcache_cleanup_victim_line_ncc; 
    506     sc_signal<bool>         r_dcache_cleanup_victim_updt_data; 
     511    sc_signal<bool>         r_dcache_cleanup_victim_line_ncc;
     512    sc_signal<bool>         r_dcache_cleanup_victim_updt_data;
    507513    sc_signal<paddr_t>      r_dcache_cleanup_victim_nline;
    508514
     
    513519    sc_signal<size_t>       r_dcache_cc_send_way;           // DCACHE cc_send way
    514520    sc_signal<size_t>       r_dcache_cc_send_updt_tab_idx;  // DCACHE cc_send update table index
    515    
     521
    516522    // special registers for RWT
    517523    sc_signal<bool>         r_dcache_cc_cleanup_updt_data;     // Register for cleanup with data (wb updt)
     
    519525    sc_signal<bool>         r_dcache_miss_victim_no_coherence; // Register for victim in no coherence mode
    520526    sc_signal<bool>         r_dcache_line_no_coherence;        // Register for line current in no coherence mode
    521     sc_signal<bool>         r_dcache_dirty_save;             
     527    sc_signal<bool>         r_dcache_dirty_save;
    522528    sc_signal<uint32_t>     r_cc_send_cpt_word;
    523529    sc_signal<uint32_t>     r_dcache_miss_data_cpt;
     
    559565    GenericFifo<uint32_t>   r_vci_rsp_fifo_icache;              // response FIFO to ICACHE FSM
    560566    GenericFifo<uint32_t>   r_vci_rsp_fifo_dcache;              // response FIFO to DCACHE FSM
    561    
     567
    562568
    563569    //RWT
    564570    GenericFifo<bool>       r_vci_rsp_fifo_rpktid;
    565     GenericFifo<uint32_t>   r_cc_send_data_fifo;   
     571    GenericFifo<uint32_t>   r_cc_send_data_fifo;
    566572
    567573    ///////////////////////////////////
     
    626632    sc_signal<bool>                        r_dcache_llsc_valid;
    627633
    628    
     634
    629635    sc_signal<bool>                        r_cache_frozen;
    630636
     
    806812    }
    807813
     814    /////////////////////////////////////////////////////////////
     815    // Set the m_dcache_paddr_ext_reset attribute
     816    //
     817    // The r_dcache_paddr_ext register will be initialized after
     818    // reset with the m_dcache_paddr_ext_reset value
     819    /////////////////////////////////////////////////////////////
     820    inline void set_dcache_paddr_ext_reset(uint32_t v)
     821    {
     822        m_dcache_paddr_ext_reset = v;
     823    }
     824
     825    /////////////////////////////////////////////////////////////
     826    // Set the m_icache_paddr_ext_reset attribute
     827    //
     828    // The r_icache_paddr_ext register will be initialized after
     829    // reset with the m_icache_paddr_ext_reset value
     830    /////////////////////////////////////////////////////////////
     831    inline void set_icache_paddr_ext_reset(uint32_t v)
     832    {
     833        m_icache_paddr_ext_reset = v;
     834    }
     835
    808836private:
    809837    void transition();
Note: See TracChangeset for help on using the changeset viewer.