Ignore:
Timestamp:
Jul 18, 2013, 11:37:47 AM (11 years ago)
Author:
cfuguet
Message:

Modifications in vci_cc_vcache_wrapper:

  • Merging the states DCACHE/ICACHE_CC_BROADCAST and DCACHE/ICACHE_CC_INVAL. This is because, the BROADCAST INVALIDATE and the MULTICAST INVALIDATE are both acknowledged by a CLEANUP.
  • Adding third port for the clack coherence network.
  • Renaming the port dspin_in to dspin_m2p and the port dspin_out to dspin_p2m
File:
1 edited

Legend:

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

    r443 r446  
    8989        // handling coherence requests
    9090        ICACHE_CC_CHECK,
     91        ICACHE_CC_UPDT,
    9192        ICACHE_CC_INVAL,
    92         ICACHE_CC_UPDT,
    93         ICACHE_CC_BROADCAST,
    9493        ICACHE_CC_SEND_WAIT,
    9594    };
     
    138137        // handling coherence requests
    139138        DCACHE_CC_CHECK,
     139        DCACHE_CC_UPDT,
    140140        DCACHE_CC_INVAL,
    141         DCACHE_CC_UPDT,
    142         DCACHE_CC_BROADCAST,
    143141        DCACHE_CC_SEND_WAIT,
    144142        // handling TLB inval (after a coherence or XTN request)
     
    285283
    286284public:
    287     sc_in<bool>                                 p_clk;
    288     sc_in<bool>                                 p_resetn;
    289     sc_in<bool>                                 p_irq[iss_t::n_irq];
    290     soclib::caba::VciInitiator<vci_param>       p_vci;
    291     soclib::caba::DspinInput <dspin_in_width>   p_dspin_in;
    292     soclib::caba::DspinOutput<dspin_out_width>  p_dspin_out;
     285    sc_in<bool>                                p_clk;
     286    sc_in<bool>                                p_resetn;
     287    sc_in<bool>                                p_irq[iss_t::n_irq];
     288    soclib::caba::VciInitiator<vci_param>      p_vci;
     289    soclib::caba::DspinInput<dspin_in_width>   p_dspin_m2p;
     290    soclib::caba::DspinOutput<dspin_out_width> p_dspin_p2m;
     291    soclib::caba::DspinInput<dspin_in_width>   p_dspin_clack;
    293292
    294293private:
     
    371370    sc_signal<bool>         r_icache_cc_need_write;     // activate the cache for writing
    372371
     372    // coherence clack handling
     373    sc_signal<bool>         r_icache_clack_req;         // clack request
     374    sc_signal<size_t>       r_icache_clack_way;             // clack way
     375    sc_signal<size_t>       r_icache_clack_set;             // clack set
     376
    373377    // icache flush handling
    374378    sc_signal<size_t>       r_icache_flush_count;           // slot counter used for cache flush
     
    444448    sc_signal<bool>         r_dcache_cc_need_write;     // activate the cache for writing
    445449
     450    // coherence clack handling
     451    sc_signal<bool>         r_dcache_clack_req;         // clack request
     452    sc_signal<size_t>       r_dcache_clack_way;             // clack way
     453    sc_signal<size_t>       r_dcache_clack_set;             // clack set
     454
    446455    // dcache flush handling
    447456    sc_signal<size_t>       r_dcache_flush_count;           // slot counter used for cache flush
     
    537546    sc_signal<paddr_t>      r_cc_receive_dcache_nline;      // cache line physical address
    538547
     548    ///////////////////////////////////
     549    //  DSPIN CLACK INTERFACE REGISTER
     550    ///////////////////////////////////
     551    sc_signal<bool>         r_dspin_clack_req;
     552    sc_signal<uint64_t>     r_dspin_clack_flit;
     553   
    539554    //////////////////////////////////////////////////////////////////
    540555    // processor, write buffer, caches , TLBs
Note: See TracChangeset for help on using the changeset viewer.