Ignore:
Timestamp:
Jul 1, 2013, 4:20:05 PM (11 years ago)
Author:
cfuguet
Message:

Modifications in vci_mem_cache:

  • Adding error treatment for segmentation violation in memory cache. The assert was replaced by a VCI error response to the faulty commmand initiator.

To do so, a communication buffer have been introduced between the
TGT_CMD FSM and the TGT_RSP FSM. The TGT_CMD FSM makes the
segmentation violation verification and if one is detected, the
TGT_CMD FSM makes a request to the TGT_RSP FSM.

File:
1 edited

Legend:

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

    r403 r430  
    7979      enum tgt_cmd_fsm_state_e{
    8080        TGT_CMD_IDLE,
     81        TGT_CMD_ERROR,
    8182        TGT_CMD_READ,
    8283        TGT_CMD_WRITE,
     
    8788      enum tgt_rsp_fsm_state_e
    8889      {
     90        TGT_RSP_TGT_CMD_IDLE,
    8991        TGT_RSP_READ_IDLE,
    9092        TGT_RSP_WRITE_IDLE,
    9193        TGT_RSP_CAS_IDLE,
    9294        TGT_RSP_XRAM_IDLE,
    93         TGT_RSP_INIT_IDLE,
     95        TGT_RSP_MULTI_ACK_IDLE,
    9496        TGT_RSP_CLEANUP_IDLE,
     97        TGT_RSP_TGT_CMD,
    9598        TGT_RSP_READ,
    9699        TGT_RSP_WRITE,
    97100        TGT_RSP_CAS,
    98101        TGT_RSP_XRAM,
    99         TGT_RSP_INIT,
     102        TGT_RSP_MULTI_ACK,
    100103        TGT_RSP_CLEANUP
    101104      };
     
    473476      //////////////////////////////////////////////////
    474477
     478      sc_signal<int>         r_tgt_cmd_fsm;
     479
    475480      // Fifo between TGT_CMD fsm and READ fsm
    476481      GenericFifo<addr_t>    m_cmd_read_addr_fifo;
     
    503508      GenericFifo<uint64_t>  m_cc_receive_to_multi_ack_fifo;
    504509
    505       sc_signal<int>         r_tgt_cmd_fsm;
     510      // Buffer between TGT_CMD fsm and TGT_RSP fsm
     511      // (segmentation violation response request)
     512      sc_signal<bool>     r_tgt_cmd_to_tgt_rsp_req;
     513      sc_signal<size_t>   r_tgt_cmd_to_tgt_rsp_srcid;
     514      sc_signal<size_t>   r_tgt_cmd_to_tgt_rsp_trdid;
     515      sc_signal<size_t>   r_tgt_cmd_to_tgt_rsp_pktid;
    506516
    507517      ///////////////////////////////////////////////////////
Note: See TracChangeset for help on using the changeset viewer.