Ignore:
Timestamp:
Jul 16, 2013, 6:58:00 PM (11 years ago)
Author:
alain
Message:

Improving the Config Interface.

File:
1 edited

Legend:

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

    r434 r439  
    9090      enum tgt_rsp_fsm_state_e
    9191      {
     92        TGT_RSP_CONFIG_IDLE,
    9293        TGT_RSP_TGT_CMD_IDLE,
    9394        TGT_RSP_READ_IDLE,
     
    9798        TGT_RSP_MULTI_ACK_IDLE,
    9899        TGT_RSP_CLEANUP_IDLE,
     100        TGT_RSP_CONFIG,
    99101        TGT_RSP_TGT_CMD,
    100102        TGT_RSP_READ,
     
    118120      enum cc_send_fsm_state_e
    119121      {
     122        CC_SEND_CONFIG_IDLE,
    120123        CC_SEND_XRAM_RSP_IDLE,
    121124        CC_SEND_WRITE_IDLE,
    122125        CC_SEND_CAS_IDLE,
    123126        CC_SEND_CLEANUP_IDLE,
     127        CC_SEND_CONFIG_INVAL_HEADER,
     128        CC_SEND_CONFIG_INVAL_NLINE,
     129        CC_SEND_CONFIG_BRDCAST_HEADER,
     130        CC_SEND_CONFIG_BRDCAST_NLINE,
    124131        CC_SEND_CLEANUP_ACK,
    125132        CC_SEND_XRAM_RSP_BRDCAST_HEADER,
     
    158165        CONFIG_DIR_REQ,
    159166        CONFIG_DIR_ACCESS,
    160         CONFIG_DIR_INVAL,
    161         CONFIG_BC_UPT_LOCK,
     167        CONFIG_DIR_UPT_LOCK,
    162168        CONFIG_BC_SEND,
    163169        CONFIG_BC_WAIT,
    164        
    165         CONFIG_UPT_WAIT,
    166 
    167         CONFIG_UPT_LOCK,
    168 
    169         CONFIG_HEAP_REQ
     170        CONFIG_INV_SEND,
     171        CONFIG_HEAP_REQ,
     172        CONFIG_HEAP_SCAN,
     173        CONFIG_HEAP_LAST,
     174        CONFIG_INV_WAIT
    170175      };
    171176
     
    345350        ALLOC_HEAP_CAS,
    346351        ALLOC_HEAP_CLEANUP,
    347         ALLOC_HEAP_XRAM_RSP
     352        ALLOC_HEAP_XRAM_RSP,
     353        ALLOC_HEAP_CONFIG
    348354      };
    349355
     
    568574      ///////////////////////////////////////////////////////
    569575
    570       sc_signal<int>      r_config_fsm;        // FSM state
    571       sc_signal<bool>     r_config_lock;       // lock protecting exclusive access
    572       sc_signal<int>      r_config_cmd;        // config request status
    573       sc_signal<addr_t>   r_config_address;    // target buffer physical address
    574       sc_signal<size_t>   r_config_srcid;      // config request srcid
    575       sc_signal<size_t>   r_config_trdid;      // config request trdid
    576       sc_signal<size_t>   r_config_pktid;      // config request pktid
    577       sc_signal<size_t>   r_config_nlines;     // number of lines covering the buffer
    578       sc_signal<size_t>   r_config_way;        // selected way
    579       sc_signal<size_t>   r_config_count;      // number of copies
     576      sc_signal<int>      r_config_fsm;            // FSM state
     577      sc_signal<bool>     r_config_lock;           // lock protecting exclusive access
     578      sc_signal<int>      r_config_cmd;            // config request status
     579      sc_signal<addr_t>   r_config_address;        // target buffer physical address
     580      sc_signal<size_t>   r_config_srcid;          // config request srcid
     581      sc_signal<size_t>   r_config_trdid;          // config request trdid
     582      sc_signal<size_t>   r_config_pktid;          // config request pktid
     583      sc_signal<size_t>   r_config_nlines;         // number of lines covering the buffer
     584      sc_signal<size_t>   r_config_dir_way;        // DIR: selected way
     585      sc_signal<size_t>   r_config_dir_count;      // DIR: number of copies
     586      sc_signal<bool>     r_config_dir_is_cnt;     // DIR: counter mode (broadcast required)
     587      sc_signal<size_t>   r_config_dir_copy_srcid; // DIR: first copy SRCID
     588      sc_signal<bool>     r_config_dir_copy_inst;  // DIR: first copy L1 type
     589      sc_signal<size_t>   r_config_dir_next_ptr;   // DIR: index of next copy in HEAP
     590      sc_signal<size_t>   r_config_heap_next;      // current pointer to scan HEAP
     591
    580592      sc_signal<size_t>   r_config_upt_index;  // UPT index
    581       sc_signal<bool>     r_config_is_cnt;     // counter mode (broadcast required)
    582593
    583594      // Buffer between CONFIG fsm and TGT_RSP fsm (send a done response to L1 cache)
     
    591602      sc_signal<bool>     r_config_to_cc_send_multi_req;    // multi-inval request
    592603      sc_signal<bool>     r_config_to_cc_send_brdcast_req;  // broadcast-inval request
    593       sc_signal<size_t>   r_config_to_cc_send_nline;        // line index
     604      sc_signal<addr_t>   r_config_to_cc_send_nline;        // line index
    594605      sc_signal<size_t>   r_config_to_cc_send_trdid;        // UPT index
     606      GenericFifo<bool>   m_config_to_cc_send_inst_fifo;    // fifo for the L1 type
     607      GenericFifo<size_t> m_config_to_cc_send_srcid_fifo;   // fifo for owners srcid
     608
     609#if L1_MULTI_CACHE
     610      GenericFifo<size_t> m_config_to_cc_send_cache_id_fifo; // fifo for cache_id
     611#endif
    595612
    596613      ///////////////////////////////////////////////////////
Note: See TracChangeset for help on using the changeset viewer.