# -*- python -*-

__id__ = "$Id: vci_local_ring_network_2.sd 917 2009-03-12 10:10:06Z nipo $"
__version__ = "$Revision: 917 $"

Module('caba:vci_local_ring_network_2',
	classname = 'soclib::caba::VciLocalRingNetwork2',
	tmpl_parameters = [
	    parameter.Module('vci_param', default = 'caba:vci_param'),
            parameter.Int('ring_cmd_data_size'),
            parameter.Int('ring_rsp_data_size'),           	    
	],
	header_files = ['../source/include/vci_local_ring_network_2.h',],
	implementation_files = ['../source/src/vci_local_ring_network_2.cpp',],
	ports = [
            Port('caba:vci_initiator', 'p_to_target', parameter.Reference('nb_attached_target')),
	    Port('caba:vci_target', 'p_to_initiator', parameter.Reference('nb_attached_initiator')),
	    # FIXME: Ports vci
	    Port('caba:bit_in', 'p_resetn', auto = 'resetn'),
	    Port('caba:clock_in', 'p_clk', auto = 'clock'),
            Port('caba:gate_initiator_2', 'p_gate_initiator'),
	    Port('caba:gate_target_2',    'p_gate_target'), 

	],
	instance_parameters = [
		parameter.Module('mt', 'common:mapping_table'),
	        parameter.IntTab('ringid'),
                parameter.Int('wrapper_fifo_depth'),
                parameter.Int('half_gateway_fifo_depth'),
                parameter.Int('nb_attached_initiator'),
                parameter.Int('nb_attached_target'),

	],
	uses = [
	    Uses('caba:base_module'),
	    Uses('common:mapping_table'),
	    Uses('caba:vci_ring_initiator'),
	    Uses('caba:vci_ring_target'),
	    Uses('caba:ring_signals_2'),
	    Uses('caba:half_gateway_initiator_2'),
	    Uses('caba:half_gateway_target_2'),
	    Uses('caba:generic_fifo'),
	],
	   extensions = [
	'dsx:interconnect=root',
	'dsx:mapping_type=interconnect',
	'dsx:obtain_ident_method=port',
	],        
)
