
# -*- python -*-

__id__ = "$Id: vci_mem_cache_v3.sd 20 2010-04-14 03:27:59Z nipo $"
__version__ = "$Revision: 20 $"

Module('caba:vci_mem_cache_v3',
       classname = 'soclib::caba::VciMemCacheV3',
       tmpl_parameters = [parameter.Module('vci_param', default = 'caba:vci_param'),],
       header_files = ['../source/include/vci_mem_cache_v3.h',
                       '../source/include/xram_transaction_v3.h',
                       '../source/include/mem_cache_directory_v3.h',
                       '../source/include/atomic_tab_v3.h',
                       '../source/include/update_tab_v3.h',],
       implementation_files = ['../source/src/vci_mem_cache_v3.cpp',],
       uses = [Uses('caba:base_module'),
               Uses('common:loader'),
               Uses('common:mapping_table'),
               Uses('caba:generic_fifo'),
               ],
       ports = [Port('caba:vci_target', 'p_vci_tgt'),
		Port('caba:vci_target','p_vci_tgt_cleanup'),
		Port('caba:vci_initiator','p_vci_ini'),
		Port('caba:vci_initiator','p_vci_ixr'),
                Port('caba:bit_in', 'p_resetn', auto = 'resetn'),
                Port('caba:clock_in', 'p_clk', auto = 'clock'),],
       instance_parameters = [
		parameter.Module('mtp', 'common:mapping_table'),
		parameter.Module('mtc', 'common:mapping_table'),
		parameter.Module('mtx', 'common:mapping_table'),
		parameter.IntTab('vci_ixr_index'),
		parameter.IntTab('vci_ini_index'),
		parameter.IntTab('vci_tgt_index'),
		parameter.IntTab('vci_tgt_index_cleanup'),
    parameter.Int('nways'),
		parameter.Int('nsets'),
		parameter.Int('nwords'),
		parameter.Int('heap_size'),
		],
       extensions = [
          'dsx:get_ident='
          'vci_ini_index:p_vci_ini:mtc,'
          'vci_tgt_index_cleanup:p_vci_tgt_cleanup:mtc,'
          'vci_tgt_index:p_vci_tgt:mtp,'
          'vci_ixr_index:p_vci_ixr:mtx',
		'dsx:addressable=vci_tgt_index,vci_tgt_index_cleanup',
       ],
)
