
# -*- python -*-

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

Module('caba:vci_cc_xcache_wrapper_multi',
	classname = 'soclib::caba::VciCcXCacheWrapperMulti',
	tmpl_parameters = [
		parameter.Module('vci_param', default = 'caba:vci_param'),
		parameter.Module('iss_t'),
		],
	header_files = [
		'../source/include/vci_cc_xcache_wrapper_multi.h',
		],
	implementation_files = [
		'../source/src/vci_cc_xcache_wrapper_multi.cpp',
		],
	uses = [
		Uses('caba:base_module'),
		Uses('common:mapping_table'),
		Uses('common:iss2'),
		Uses('caba:multi_write_buffer'),
		Uses('caba:generic_cache', addr_t = 'uint32_t'),
		],
	ports = [
		Port('caba:vci_initiator', 'p_vci_ini_d'),
        Port('caba:vci_initiator', 'p_vci_ini_c'),
		Port('caba:vci_target', 'p_vci_tgt'),
		Port('caba:bit_in', 'p_irq', parameter.Constant('n_irq')),
		Port('caba:bit_in', 'p_resetn', auto = 'resetn'),
		Port('caba:clock_in', 'p_clk', auto = 'clock'),
		],
	instance_parameters = [
		parameter.Int('proc_id'),
		parameter.Module('mtp', 'common:mapping_table'),
		parameter.Module('mtc', 'common:mapping_table'),
		parameter.IntTab('initiator_rw_index'),
		parameter.IntTab('initiator_c_index'),
		parameter.IntTab('target_index'),
		parameter.Int('icache_ways'),
		parameter.Int('icache_sets'),
		parameter.Int('icache_words'),
		parameter.Int('dcache_ways'),
		parameter.Int('dcache_sets'),
		parameter.Int('dcache_words'),
		parameter.Int('wbuf_nwords'),
		parameter.Int('wbuf_nlines'),
		],
	   extensions = [
	'dsx:get_ident='
        'initiator_rw_index:p_vci_ini_d:mt,'
        'initiator_c_index:p_vci_ini_c:mc,'
        'target_index:p_vci_tgt:mc',
	'dsx:cpu=wrapper:iss_t',
	'dsx:addressable=target_index',
    'dsx:on_segment=mc:add_index:initiator_rw_index',
	'dsx:mapping_type=processor:proc_id',
   ],
)


