Ignore:
Timestamp:
Mar 12, 2013, 3:20:33 PM (12 years ago)
Author:
cfuguet
Message:

Erasing useless template parameters for the communication/dspin_dhccp_param class.

Modifying consequently the vci_mem_cache_dspin_coherence class to use the
dspin_dhccp_param class without templates.

Introducing in the vci_mem_cache and the vci_mem_cache_dspin_coherence modules
the state CAS_DIR_HIT_COMPARE.

Before this modification, the comparison between the expected data and the actual
data was done directly in the CAS_DIR_HIT_READ state using the data obtained in the
same cycle from the cache.

Now, the data obtained from the cache is stored in a buffer and the next cycle,
in the CAS_DIR_HIT_COMPARE state, the comparison is made using the data from the
buffer.

This modifications allows to eliminate a critical path obtained in the ASIC
synthesis of the memory cache.

File:
1 edited

Legend:

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

    r307 r313  
    5858  using namespace sc_core;
    5959
    60   template<typename vci_param, int from_mc_flit_width, int from_l1_flit_width>
     60  template<typename vci_param>
    6161    class VciMemCache
    6262    : public soclib::caba::BaseModule
     
    6969      typedef uint32_t be_t;
    7070      typedef uint32_t copy_t;
    71 
    72       typedef soclib::caba::DspinDhccpParam
    73         <from_mc_flit_width
    74         ,from_l1_flit_width> dspin_param;
    7571
    7672      /* States of the TGT_CMD fsm */
     
    225221        CAS_DIR_LOCK,
    226222        CAS_DIR_HIT_READ,
     223        CAS_DIR_HIT_COMPARE,
    227224        CAS_DIR_HIT_WRITE,
    228225        CAS_UPT_LOCK,
     
    383380      soclib::caba::VciInitiator<vci_param> p_vci_ixr;
    384381
    385       soclib::caba::DspinInput <from_l1_flit_width> p_dspin_in;
    386       soclib::caba::DspinOutput<from_mc_flit_width> p_dspin_out;
     382      soclib::caba::DspinInput<33>          p_dspin_in;
     383      soclib::caba::DspinOutput<40>        p_dspin_out;
    387384
    388385      VciMemCache(
     
    690687      sc_signal<size_t>   r_cas_trt_index;  // Transaction Table index
    691688      sc_signal<size_t>   r_cas_upt_index;  // Update Table index
     689      sc_signal<data_t> * r_cas_data;       // cache line data
    692690
    693691      // Buffer between CAS fsm and IXR_CMD fsm (XRAM write)
Note: See TracChangeset for help on using the changeset viewer.