source: branches/v5/vci_cc_vcache_wrapper/caba/metadata/vci_cc_vcache_wrapper.sd @ 296

Last change on this file since 296 was 296, checked in by alain, 11 years ago

introducing major modifications in vci_cc_vcache_wrappers

  • remove speculative access to ICACHE and DCACHE
  • reduce write pipe-line to 2 stages
  • introduce ZOMBI state for cleanup registration
  • remove the generic CAM
  • introduce scalable LL/SC
  • handling 3 stages broadcast: CC_BROADCAST -> CLEANUP -> CLACK
File size: 2.5 KB
Line 
1
2# -*- python -*-
3
4Module('caba:vci_cc_vcache_wrapper',
5        classname = 'soclib::caba::VciCcVCacheWrapper',
6        tmpl_parameters = [ parameter.Module('vci_param', default = 'caba:vci_param'),
7                            parameter.Module('iss_t') ],
8        header_files =         [ '../source/include/vci_cc_vcache_wrapper.h' ],
9        implementation_files = [ '../source/src/vci_cc_vcache_wrapper.cpp' ],
10        uses = [ Uses('caba:base_module'),
11                 Uses('common:mapping_table'),
12                 Uses('common:iss2'),
13                 Uses('caba:multi_write_buffer'),
14                 Uses('caba:generic_fifo'),
15                 Uses('caba:generic_cache_tsar', 
16                       addr_t = parameter.StringExt('sc_dt::sc_uint<%d> ', 
17                       parameter.Reference('addr_size'))),
18                 Uses('caba:generic_tlb', 
19                       addr_t = parameter.StringExt('sc_dt::sc_uint<%d> ', 
20                       parameter.Reference('addr_size'))),
21                 Uses('common:address_masking_table', 
22                       data_t = parameter.StringExt('sc_dt::sc_uint<%d> ', 
23                       parameter.Reference('addr_size'))) ],
24        ports = [ Port('caba:vci_initiator', 'p_vci_ini_d'),
25                  Port('caba:vci_initiator', 'p_vci_ini_c'),
26                  Port('caba:vci_target', 'p_vci_tgt_d'),
27                  Port('caba:bit_in','p_irq', parameter.Constant('n_irq')),
28                  Port('caba:bit_in', 'p_resetn', auto = 'resetn'),
29                  Port('caba:clock_in', 'p_clk', auto = 'clock'), ],
30        instance_parameters = [ parameter.Int('proc_id'),
31                                parameter.Module('mt', 'common:mapping_table'),
32                                parameter.Module('mc', 'common:mapping_table'),
33                                parameter.IntTab('initiator_rw_index'),
34                                parameter.IntTab('initiator_c_index'),
35                                parameter.IntTab('target_index'),
36                                parameter.Int('itlb_ways'),
37                                parameter.Int('itlb_sets'),
38                                parameter.Int('dtlb_ways'),
39                                parameter.Int('dtlb_sets'),
40                                parameter.Int('icache_ways'),
41                                parameter.Int('icache_sets'),
42                                parameter.Int('icache_words'),
43                                parameter.Int('dcache_ways'),
44                                parameter.Int('dcache_sets'),
45                                parameter.Int('dcache_words'),
46                                parameter.Int('wbuf_nlines'),
47                                parameter.Int('wbuf_nwords'),
48                                parameter.Int('max_frozen_cycles'), ],
49)
50
51
Note: See TracBrowser for help on using the repository browser.