Ignore:
Timestamp:
Sep 30, 2014, 4:53:01 PM (10 years ago)
Author:
devigne
Message:

RWT Commit : cc_vcache_wrapper cosmetic (remove trailing whitespace and tabulation)

File:
1 edited

Legend:

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

    r805 r824  
    5656
    5757////////////////////////////////////////////
    58 template<typename vci_param, 
     58template<typename vci_param,
    5959         size_t   dspin_in_width,
    6060         size_t   dspin_out_width,
     
    6767    typedef typename vci_param::fast_addr_t  paddr_t;
    6868
    69     enum icache_fsm_state_e 
     69    enum icache_fsm_state_e
    7070    {
    7171        ICACHE_IDLE,
     
    9494    };
    9595
    96     enum dcache_fsm_state_e 
     96    enum dcache_fsm_state_e
    9797    {
    9898        DCACHE_IDLE,
     
    108108        DCACHE_TLB_LR_WAIT,
    109109        DCACHE_TLB_RETURN,
    110             // handling processor XTN requests
     110        // handling processor XTN requests
    111111        DCACHE_XTN_SWITCH,
    112112        DCACHE_XTN_SYNC,
     
    128128        DCACHE_DIRTY_GET_PTE,
    129129        DCACHE_DIRTY_WAIT,
    130             // handling processor miss requests
     130        // handling processor miss requests
    131131        DCACHE_MISS_SELECT,
    132132        DCACHE_MISS_CLEAN,
     
    148148    };
    149149
    150     enum cmd_fsm_state_e 
     150    enum cmd_fsm_state_e
    151151    {
    152152        CMD_IDLE,
     
    162162    };
    163163
    164     enum rsp_fsm_state_e 
     164    enum rsp_fsm_state_e
    165165    {
    166166        RSP_IDLE,
     
    173173    };
    174174
    175     enum cc_receive_fsm_state_e 
     175    enum cc_receive_fsm_state_e
    176176    {
    177177        CC_RECEIVE_IDLE,
     
    190190    };
    191191
    192     enum cc_send_fsm_state_e 
     192    enum cc_send_fsm_state_e
    193193    {
    194194        CC_SEND_IDLE,
     
    228228
    229229    // cc_send_type
    230     typedef enum 
     230    typedef enum
    231231    {
    232232        CC_TYPE_CLEANUP,
     
    235235
    236236    // cc_receive_type
    237     typedef enum 
     237    typedef enum
    238238    {
    239239        CC_TYPE_CLACK,
     
    244244
    245245    // TLB Mode : ITLB / DTLB / ICACHE / DCACHE
    246     enum 
     246    enum
    247247    {
    248248        INS_TLB_MASK    = 0x8,
     
    256256    {
    257257        MMU_NONE                      = 0x0000, // None
    258         MMU_WRITE_PT1_UNMAPPED        = 0x0001, // Write & Page fault on PT1
    259         MMU_WRITE_PT2_UNMAPPED        = 0x0002, // Write & Page fault on PT2
     258        MMU_WRITE_PT1_UNMAPPED        = 0x0001, // Write & Page fault on PT1
     259        MMU_WRITE_PT2_UNMAPPED        = 0x0002, // Write & Page fault on PT2
    260260        MMU_WRITE_PRIVILEGE_VIOLATION = 0x0004, // Write & Protected access in user mode
    261261        MMU_WRITE_ACCES_VIOLATION     = 0x0008, // Write to non writable page
     
    264264        MMU_WRITE_PT2_ILLEGAL_ACCESS  = 0x0080, // Write & Bus Error accessing PT2
    265265        MMU_WRITE_DATA_ILLEGAL_ACCESS = 0x0100, // Write & Bus Error in cache access
    266         MMU_READ_PT1_UNMAPPED         = 0x1001, // Read & Page fault on PT1
    267         MMU_READ_PT2_UNMAPPED         = 0x1002, // Read & Page fault on PT2
     266        MMU_READ_PT1_UNMAPPED         = 0x1001, // Read & Page fault on PT1
     267        MMU_READ_PT2_UNMAPPED         = 0x1002, // Read & Page fault on PT2
    268268        MMU_READ_PRIVILEGE_VIOLATION  = 0x1004, // Read & Protected access in user mode
    269269        MMU_READ_EXEC_VIOLATION       = 0x1010, // Read & Exec access to a non exec page
    270         MMU_READ_UNDEFINED_XTN        = 0x1020, // Read & Undefined external access
     270        MMU_READ_UNDEFINED_XTN        = 0x1020, // Read & Undefined external access
    271271        MMU_READ_PT1_ILLEGAL_ACCESS   = 0x1040, // Read & Bus Error accessing PT1
    272272        MMU_READ_PT2_ILLEGAL_ACCESS   = 0x1080, // Read & Bus Error accessing PT2
     
    310310    const size_t                        m_cc_global_id;
    311311    const size_t                        m_nline_width;
    312     const size_t                                                m_itlb_ways;
    313     const size_t                                                m_itlb_sets;
    314     const size_t                                                m_dtlb_ways;
    315     const size_t                                                m_dtlb_sets;
    316     const size_t                                                m_icache_ways;
    317     const size_t                                                m_icache_sets;
    318     const paddr_t                                               m_icache_yzmask;
    319     const size_t                                                m_icache_words;
    320     const size_t                                                m_dcache_ways;
    321     const size_t                                                m_dcache_sets;
    322     const paddr_t                                               m_dcache_yzmask;
    323     const size_t                                                m_dcache_words;
     312    const size_t                        m_itlb_ways;
     313    const size_t                        m_itlb_sets;
     314    const size_t                        m_dtlb_ways;
     315    const size_t                        m_dtlb_sets;
     316    const size_t                        m_icache_ways;
     317    const size_t                        m_icache_sets;
     318    const paddr_t                       m_icache_yzmask;
     319    const size_t                        m_icache_words;
     320    const size_t                        m_dcache_ways;
     321    const size_t                        m_dcache_sets;
     322    const paddr_t                       m_dcache_yzmask;
     323    const size_t                        m_dcache_words;
    324324    const size_t                        m_x_width;
    325325    const size_t                        m_y_width;
    326326    const size_t                        m_proc_id;
    327     const uint32_t                                              m_max_frozen_cycles;
    328     const size_t                                                m_paddr_nbits;
     327    const uint32_t                      m_max_frozen_cycles;
     328    const size_t                        m_paddr_nbits;
    329329    uint32_t                            m_debug_start_cycle;
    330330    bool                                m_debug_ok;
     
    342342
    343343    /////////////////////////////////////////////
    344     // debug variables 
     344    // debug variables
    345345    /////////////////////////////////////////////
    346346    bool                                m_debug_previous_i_hit;
     
    351351    // Software visible REGISTERS
    352352    ///////////////////////////////
    353     sc_signal<uint32_t>     r_mmu_ptpr;                 // page table pointer register
    354     sc_signal<uint32_t>     r_mmu_mode;                 // mmu mode register
    355     sc_signal<uint32_t>     r_mmu_word_lo;              // mmu misc data low
    356     sc_signal<uint32_t>     r_mmu_word_hi;              // mmu misc data hight
    357     sc_signal<uint32_t>     r_mmu_ibvar;                // mmu bad instruction address
    358     sc_signal<uint32_t>     r_mmu_dbvar;                // mmu bad data address
    359     sc_signal<uint32_t>     r_mmu_ietr;                 // mmu instruction error type
    360     sc_signal<uint32_t>     r_mmu_detr;                 // mmu data error type
    361     uint32_t                r_mmu_params;                       // read-only
    362     uint32_t                r_mmu_release;                      // read_only
     353    sc_signal<uint32_t>     r_mmu_ptpr;      // page table pointer register
     354    sc_signal<uint32_t>     r_mmu_mode;      // mmu mode register
     355    sc_signal<uint32_t>     r_mmu_word_lo;   // mmu misc data low
     356    sc_signal<uint32_t>     r_mmu_word_hi;   // mmu misc data hight
     357    sc_signal<uint32_t>     r_mmu_ibvar;     // mmu bad instruction address
     358    sc_signal<uint32_t>     r_mmu_dbvar;     // mmu bad data address
     359    sc_signal<uint32_t>     r_mmu_ietr;      // mmu instruction error type
     360    sc_signal<uint32_t>     r_mmu_detr;      // mmu data error type
     361    uint32_t                r_mmu_params;    // read-only
     362    uint32_t                r_mmu_release;   // read_only
    363363
    364364
     
    368368    sc_signal<int>          r_icache_fsm;               // state register
    369369    sc_signal<int>          r_icache_fsm_save;          // return state for coherence op
    370     sc_signal<paddr_t>      r_icache_vci_paddr;         // physical address
     370    sc_signal<paddr_t>      r_icache_vci_paddr;         // physical address
    371371    sc_signal<uint32_t>     r_icache_vaddr_save;        // virtual address from processor
    372372
    373373    // icache miss handling
    374     sc_signal<size_t>       r_icache_miss_way;              // selected way for cache update
    375     sc_signal<size_t>       r_icache_miss_set;              // selected set for cache update
    376     sc_signal<size_t>       r_icache_miss_word;             // word index ( cache update)
     374    sc_signal<size_t>       r_icache_miss_way;          // selected way for cache update
     375    sc_signal<size_t>       r_icache_miss_set;          // selected set for cache update
     376    sc_signal<size_t>       r_icache_miss_word;         // word index ( cache update)
    377377    sc_signal<bool>         r_icache_miss_inval;        // coherence request matching a miss
    378378    sc_signal<bool>         r_icache_miss_clack;        // waiting for a cleanup acknowledge
    379379
    380380    // coherence request handling
    381     sc_signal<size_t>       r_icache_cc_way;                // selected way for cc update/inval
    382     sc_signal<size_t>       r_icache_cc_set;                // selected set for cc update/inval
    383     sc_signal<size_t>       r_icache_cc_word;               // word counter for cc update
     381    sc_signal<size_t>       r_icache_cc_way;            // selected way for cc update/inval
     382    sc_signal<size_t>       r_icache_cc_set;            // selected set for cc update/inval
     383    sc_signal<size_t>       r_icache_cc_word;           // word counter for cc update
    384384    sc_signal<bool>         r_icache_cc_need_write;     // activate the cache for writing
    385385
    386386    // coherence clack handling
    387387    sc_signal<bool>         r_icache_clack_req;         // clack request
    388     sc_signal<size_t>       r_icache_clack_way;             // clack way
    389     sc_signal<size_t>       r_icache_clack_set;             // clack set
     388    sc_signal<size_t>       r_icache_clack_way;         // clack way
     389    sc_signal<size_t>       r_icache_clack_set;         // clack set
    390390
    391391    // icache flush handling
    392     sc_signal<size_t>       r_icache_flush_count;           // slot counter used for cache flush
     392    sc_signal<size_t>       r_icache_flush_count;       // slot counter used for cache flush
    393393
    394394    // communication between ICACHE FSM and VCI_CMD FSM
     
    397397
    398398    // communication between ICACHE FSM and DCACHE FSM
    399     sc_signal<bool>             r_icache_tlb_miss_req;       // (set icache/reset dcache)
     399    sc_signal<bool>         r_icache_tlb_miss_req;       // (set icache/reset dcache)
    400400    sc_signal<bool>         r_icache_tlb_rsp_error;      // tlb miss response error
    401401
    402402    // Flip-Flop in ICACHE FSM for saving the cleanup victim request
    403     sc_signal<bool>         r_icache_cleanup_victim_req; 
     403    sc_signal<bool>         r_icache_cleanup_victim_req;
    404404    sc_signal<paddr_t>      r_icache_cleanup_victim_nline;
    405405
     
    427427    sc_signal<uint32_t>     r_dcache_save_be;           // byte enable (from proc)
    428428    sc_signal<paddr_t>      r_dcache_save_paddr;        // physical address
    429     sc_signal<size_t>       r_dcache_save_cache_way;    // selected way (from dcache)
    430     sc_signal<size_t>       r_dcache_save_cache_set;    // selected set (from dcache)
    431     sc_signal<size_t>       r_dcache_save_cache_word;   // selected word (from dcache)
     429    sc_signal<size_t>       r_dcache_save_cache_way;    // selected way (from dcache)
     430    sc_signal<size_t>       r_dcache_save_cache_set;    // selected set (from dcache)
     431    sc_signal<size_t>       r_dcache_save_cache_word;   // selected word (from dcache)
    432432    // registers used by the Dirty bit sub-fsm
    433433    sc_signal<paddr_t>      r_dcache_dirty_paddr;       // PTE physical address
    434     sc_signal<size_t>       r_dcache_dirty_way;         // way to invalidate in dcache
    435     sc_signal<size_t>       r_dcache_dirty_set;         // set to invalidate in dcache
     434    sc_signal<size_t>       r_dcache_dirty_way;         // way to invalidate in dcache
     435    sc_signal<size_t>       r_dcache_dirty_set;         // set to invalidate in dcache
    436436
    437437    // communication between DCACHE FSM and VCI_CMD FSM
    438     sc_signal<paddr_t>      r_dcache_vci_paddr;             // physical address for VCI command
    439     sc_signal<uint32_t>     r_dcache_vci_wdata;             // write unc data for VCI command
     438    sc_signal<paddr_t>      r_dcache_vci_paddr;         // physical address for VCI command
     439    sc_signal<uint32_t>     r_dcache_vci_wdata;         // write unc data for VCI command
    440440    sc_signal<bool>         r_dcache_vci_miss_req;      // read miss request
    441441    sc_signal<bool>         r_dcache_vci_unc_req;       // uncacheable request (read/write)
     
    456456
    457457    // register used for XTN inval
    458     sc_signal<size_t>       r_dcache_xtn_way;               // selected way (from dcache)
    459     sc_signal<size_t>       r_dcache_xtn_set;               // selected set (from dcache)
     458    sc_signal<size_t>       r_dcache_xtn_way;           // selected way (from dcache)
     459    sc_signal<size_t>       r_dcache_xtn_set;           // selected set (from dcache)
    460460
    461461    // handling dcache miss
    462     sc_signal<int>              r_dcache_miss_type;                 // depending on the requester
    463     sc_signal<size_t>       r_dcache_miss_word;             // word index for cache update
    464     sc_signal<size_t>       r_dcache_miss_way;              // selected way for cache update
    465     sc_signal<size_t>       r_dcache_miss_set;              // selected set for cache update
     462    sc_signal<int>          r_dcache_miss_type;         // depending on the requester
     463    sc_signal<size_t>       r_dcache_miss_word;         // word index for cache update
     464    sc_signal<size_t>       r_dcache_miss_way;          // selected way for cache update
     465    sc_signal<size_t>       r_dcache_miss_set;          // selected set for cache update
    466466    sc_signal<bool>         r_dcache_miss_inval;        // coherence request matching a miss
    467467    sc_signal<bool>         r_dcache_miss_clack;        // waiting for a cleanup acknowledge
    468468
    469469    // handling coherence requests
    470     sc_signal<size_t>       r_dcache_cc_way;                // selected way for cc update/inval
    471     sc_signal<size_t>       r_dcache_cc_set;                // selected set for cc update/inval
     470    sc_signal<size_t>       r_dcache_cc_way;            // selected way for cc update/inval
     471    sc_signal<size_t>       r_dcache_cc_set;            // selected set for cc update/inval
    472472    sc_signal<int>          r_dcache_cc_state;          // state of selected cache slot
    473     sc_signal<size_t>       r_dcache_cc_word;               // word counter for cc update
     473    sc_signal<size_t>       r_dcache_cc_word;           // word counter for cc update
    474474    sc_signal<bool>         r_dcache_cc_need_write;     // activate the cache for writing
    475475    sc_signal<paddr_t>      r_dcache_cc_inval_addr;     // address for a cleanup transaction
     
    478478    // coherence clack handling
    479479    sc_signal<bool>         r_dcache_clack_req;         // clack request
    480     sc_signal<size_t>       r_dcache_clack_way;             // clack way
    481     sc_signal<size_t>       r_dcache_clack_set;             // clack set
     480    sc_signal<size_t>       r_dcache_clack_way;         // clack way
     481    sc_signal<size_t>       r_dcache_clack_set;         // clack set
    482482
    483483    // dcache flush handling
    484     sc_signal<size_t>       r_dcache_flush_count;           // slot counter used for cache flush
     484    sc_signal<size_t>       r_dcache_flush_count;       // slot counter used for cache flush
    485485
    486486    // ll response handling
    487     sc_signal<size_t>       r_dcache_ll_rsp_count;          // flit counter used for ll rsp
     487    sc_signal<size_t>       r_dcache_ll_rsp_count;      // flit counter used for ll rsp
    488488
    489489    // used by the TLB miss sub-fsm
    490     sc_signal<uint32_t>     r_dcache_tlb_vaddr;             // virtual address for a tlb miss
    491     sc_signal<bool>         r_dcache_tlb_ins;               // target tlb (itlb if true)
    492     sc_signal<paddr_t>      r_dcache_tlb_paddr;             // physical address of pte
    493     sc_signal<uint32_t>     r_dcache_tlb_pte_flags;         // pte1 or first word of pte2
    494     sc_signal<uint32_t>     r_dcache_tlb_pte_ppn;           // second word of pte2
    495     sc_signal<size_t>       r_dcache_tlb_cache_way;         // selected way in dcache
    496     sc_signal<size_t>       r_dcache_tlb_cache_set;         // selected set in dcache
    497     sc_signal<size_t>       r_dcache_tlb_cache_word;    // selected word in dcache
    498     sc_signal<size_t>       r_dcache_tlb_way;               // selected way in tlb
    499     sc_signal<size_t>       r_dcache_tlb_set;               // selected set in tlb
     490    sc_signal<uint32_t>     r_dcache_tlb_vaddr;         // virtual address for a tlb miss
     491    sc_signal<bool>         r_dcache_tlb_ins;           // target tlb (itlb if true)
     492    sc_signal<paddr_t>      r_dcache_tlb_paddr;         // physical address of pte
     493    sc_signal<uint32_t>     r_dcache_tlb_pte_flags;     // pte1 or first word of pte2
     494    sc_signal<uint32_t>     r_dcache_tlb_pte_ppn;       // second word of pte2
     495    sc_signal<size_t>       r_dcache_tlb_cache_way;     // selected way in dcache
     496    sc_signal<size_t>       r_dcache_tlb_cache_set;     // selected set in dcache
     497    sc_signal<size_t>       r_dcache_tlb_cache_word;    // selected word in dcache
     498    sc_signal<size_t>       r_dcache_tlb_way;           // selected way in tlb
     499    sc_signal<size_t>       r_dcache_tlb_set;           // selected set in tlb
    500500
    501501    // ITLB and DTLB invalidation
    502     sc_signal<paddr_t>      r_dcache_tlb_inval_line;    // line index
     502    sc_signal<paddr_t>      r_dcache_tlb_inval_line;    // line index
    503503    sc_signal<size_t>       r_dcache_tlb_inval_set;     // tlb set counter
    504504
     
    508508
    509509    // Filp-Flop in DCACHE FSM for saving the cleanup victim request
    510     sc_signal<bool>         r_dcache_cleanup_victim_req; 
     510    sc_signal<bool>         r_dcache_cleanup_victim_req;
    511511    sc_signal<bool>         r_dcache_cleanup_victim_line_ncc;
    512512    sc_signal<bool>         r_dcache_cleanup_victim_updt_data;
     
    551551    ///////////////////////////////////
    552552    sc_signal<int>          r_vci_cmd_fsm;
    553     sc_signal<size_t>       r_vci_cmd_min;                      // used for write bursts
    554     sc_signal<size_t>       r_vci_cmd_max;                      // used for write bursts
    555     sc_signal<size_t>       r_vci_cmd_cpt;                      // used for write bursts
    556     sc_signal<bool>         r_vci_cmd_imiss_prio;               // round-robin between imiss & dmiss
     553    sc_signal<size_t>       r_vci_cmd_min;                  // used for write bursts
     554    sc_signal<size_t>       r_vci_cmd_max;                  // used for write bursts
     555    sc_signal<size_t>       r_vci_cmd_cpt;                  // used for write bursts
     556    sc_signal<bool>         r_vci_cmd_imiss_prio;           // round-robin between imiss & dmiss
    557557
    558558    ///////////////////////////////////
     
    563563    sc_signal<bool>         r_vci_rsp_ins_error;
    564564    sc_signal<bool>         r_vci_rsp_data_error;
    565     GenericFifo<uint32_t>   r_vci_rsp_fifo_icache;              // response FIFO to ICACHE FSM
    566     GenericFifo<uint32_t>   r_vci_rsp_fifo_dcache;              // response FIFO to DCACHE FSM
     565    GenericFifo<uint32_t>   r_vci_rsp_fifo_icache;          // response FIFO to ICACHE FSM
     566    GenericFifo<uint32_t>   r_vci_rsp_fifo_dcache;          // response FIFO to DCACHE FSM
    567567
    568568
     
    595595    sc_signal<size_t>       r_cc_receive_icache_set;        // cc_receive to icache set
    596596    sc_signal<size_t>       r_cc_receive_icache_updt_tab_idx;  // cc_receive update table index
    597     sc_signal<paddr_t>      r_cc_receive_icache_nline;      // cache line physical address
     597    sc_signal<paddr_t>      r_cc_receive_icache_nline;      // cache line physical address
    598598
    599599    // communication between CC_RECEIVE FSM and DCACHE FSM
     
    603603    sc_signal<size_t>       r_cc_receive_dcache_set;              // cc_receive to dcache set
    604604    sc_signal<size_t>       r_cc_receive_dcache_updt_tab_idx;     // cc_receive update table index
    605     sc_signal<paddr_t>      r_cc_receive_dcache_nline;            // cache line physical address
     605    sc_signal<paddr_t>      r_cc_receive_dcache_nline;            // cache line physical address
    606606    sc_signal<bool>         r_cc_receive_dcache_inval_is_config;  // inval from memcache is config
    607607
     
    611611    sc_signal<bool>         r_dspin_clack_req;
    612612    sc_signal<uint64_t>     r_dspin_clack_flit;
    613    
     613
    614614    //////////////////////////////////////////////////////////////////
    615615    // processor, write buffer, caches , TLBs
     
    617617
    618618    iss_t                       r_iss;
    619     MultiWriteBuffer<paddr_t>   r_wbuf;
    620     GenericCache<paddr_t>       r_icache;
    621     GenericCache<paddr_t>       r_dcache;
    622     GenericTlb<paddr_t>         r_itlb;
    623     GenericTlb<paddr_t>         r_dtlb;
     619    MultiWriteBuffer<paddr_t>   r_wbuf;
     620    GenericCache<paddr_t>       r_icache;
     621    GenericCache<paddr_t>       r_dcache;
     622    GenericTlb<paddr_t>         r_itlb;
     623    GenericTlb<paddr_t>         r_dtlb;
    624624
    625625    //////////////////////////////////////////////////////////////////
     
    648648    uint32_t m_cpt_icache_dir_write;           // ICACHE DIR WRITE
    649649
    650     uint32_t m_cpt_frz_cycles;                 // number of cycles where the cpu is frozen
    651     uint32_t m_cpt_total_cycles;                   // total number of cycles
     650    uint32_t m_cpt_frz_cycles;                 // number of cycles where the cpu is frozen
     651    uint32_t m_cpt_total_cycles;               // total number of cycles
    652652
    653653    // Cache activity counters
     
    764764    uint32_t m_cpt_fsm_cc_send    [64];
    765765
    766     uint32_t m_cpt_stop_simulation;             // used to stop simulation if frozen
    767     bool     m_monitor_ok;                      // used to debug cache output 
    768     uint32_t m_monitor_base;               
    769     uint32_t m_monitor_length;             
     766    uint32_t m_cpt_stop_simulation;     // used to stop simulation if frozen
     767    bool     m_monitor_ok;              // used to debug cache output
     768    uint32_t m_monitor_base;
     769    uint32_t m_monitor_length;
    770770
    771771protected:
     
    807807    void start_monitor(paddr_t,paddr_t);
    808808    void stop_monitor();
    809     inline void iss_set_debug_mask(uint v) 
    810     {
    811             r_iss.set_debug_mask(v);
     809    inline void iss_set_debug_mask(uint v)
     810    {
     811        r_iss.set_debug_mask(v);
    812812    }
    813813
Note: See TracChangeset for help on using the changeset viewer.