Index: trunk/platforms/tsar_generic_xbar/tsar_xbar_cluster/caba/metadata/tsar_xbar_cluster.sd
===================================================================
--- trunk/platforms/tsar_generic_xbar/tsar_xbar_cluster/caba/metadata/tsar_xbar_cluster.sd	(revision 389)
+++ trunk/platforms/tsar_generic_xbar/tsar_xbar_cluster/caba/metadata/tsar_xbar_cluster.sd	(revision 396)
@@ -2,72 +2,91 @@
 # -*- python -*-
 
-Module('caba:tsar_xbar_cluster',
+Module('caba:tsar_xbar_cluster', 
     classname = 'soclib::caba::TsarXbarCluster',
-    tmpl_parameters = [
-        parameter.Module('iss_t'),
-        parameter.Int('cmd_width'),
-        parameter.Int('rsp_width'),
+	tmpl_parameters = [
+		parameter.Int('dspin_cmd_width'),
+		parameter.Int('dspin_rsp_width'),
+        parameter.Module('vci_param_int'),
+        parameter.Module('vci_param_ext'),
         ],
-    header_files = [ '../source/include/tsar_xbar_cluster.h', ],
-    implementation_files = [ '../source/src/tsar_xbar_cluster.cpp', ],
-    uses = [
-        Uses('caba:base_module'),
-        Uses('common:mapping_table'),
-        Uses('common:iss2'),
-        Uses('caba:vci_cc_vcache_wrapper', 
-              vci_param       = 'caba:vci_param',
-              dspin_in_width  = parameter.Reference('cmd_width'),
-              dspin_out_width = parameter.Reference('rsp_width'),
+
+	header_files = [ '../source/include/tsar_xbar_cluster.h', ],
+	implementation_files = [ '../source/src/tsar_xbar_cluster.cpp', ],
+
+	uses = [
+		Uses('caba:base_module'),
+		Uses('common:mapping_table'),
+		Uses('common:iss2'),
+              
+		Uses('caba:vci_cc_vcache_wrapper', 
+              vci_param       = parameter.Reference('vci_param_int'),
+              dspin_in_width  = parameter.Reference('dspin_cmd_width'),
+              dspin_out_width = parameter.Reference('dspin_rsp_width'),
               iss_t           = 'common:gdb_iss', 
-              gdb_iss_t       = 'common:mips32el'
-            ),
-        Uses('caba:vci_mem_cache',
+              gdb_iss_t       = 'common:mips32el'),
+
+		Uses('caba:vci_simple_ram',
+              vci_param       = parameter.Reference('vci_param_int')),
+
+		Uses('caba:vci_simple_ram',
+              vci_param       = parameter.Reference('vci_param_ext')),
+
+        Uses('caba:vci_xicu',
+              vci_param       = parameter.Reference('vci_param_int')),
+
+        Uses('caba:dspin_local_crossbar', 
+              flit_width      = parameter.Reference('dspin_cmd_width')),
+
+        Uses('caba:dspin_local_crossbar', 
+              flit_width      = parameter.Reference('dspin_rsp_width')),
+
+        Uses('caba:virtual_dspin_router', 
+              flit_width      = parameter.Reference('dspin_cmd_width')),
+
+        Uses('caba:virtual_dspin_router', 
+              flit_width      = parameter.Reference('dspin_rsp_width')),
+            
+        Uses('caba:vci_multi_tty',
+              vci_param       = parameter.Reference('vci_param_int')),
+
+        Uses('caba:vci_framebuffer',
+              vci_param       = parameter.Reference('vci_param_int')),
+
+        Uses('caba:vci_multi_nic',
+              vci_param       = parameter.Reference('vci_param_int')),
+
+		Uses('caba:vci_block_device_tsar',
+              vci_param       = parameter.Reference('vci_param_int')),
+
+		Uses('caba:vci_multi_dma',
+              vci_param       = parameter.Reference('vci_param_int')),
+
+        Uses('caba:vci_dspin_target_wrapper',
+              vci_param       = parameter.Reference('vci_param_int')),
+
+        Uses('caba:vci_dspin_initiator_wrapper',
+              vci_param       = parameter.Reference('vci_param_int')),
+
+		Uses('caba:vci_mem_cache',
               vci_param_int   = 'caba:vci_param',
               vci_param_ext   = 'caba:vci_param_bis',
-              dspin_in_width  = parameter.Reference('rsp_width'),
-              dspin_out_width = parameter.Reference('cmd_width')
-            ),
-        Uses('caba:vci_simple_ram',
-              vci_param       = 'caba:vci_param_bis'
-            ),
-        Uses('caba:vci_simple_ram',
-              vci_param       = 'caba:vci_param'
-            ),
-        Uses('caba:vci_xicu'),
-        Uses('caba:dspin_local_crossbar', 
-              flit_width      = parameter.Reference('cmd_width')
-            ),
-        Uses('caba:dspin_local_crossbar', 
-              flit_width      = parameter.Reference('rsp_width')
-            ),
-        Uses('caba:vci_dspin_initiator_wrapper', 
-              dspin_cmd_width = parameter.Reference('cmd_width'),
-              dspin_rsp_width = parameter.Reference('rsp_width')
-            ),
-        Uses('caba:vci_dspin_target_wrapper',
-              dspin_cmd_width = parameter.Reference('cmd_width'),
-              dspin_rsp_width = parameter.Reference('rsp_width')
-            ),
-        Uses('caba:virtual_dspin_router', 
-              flit_width      = parameter.Reference('cmd_width')
-            ),
-        Uses('caba:virtual_dspin_router', 
-              flit_width      = parameter.Reference('rsp_width')
-            ),
-        Uses('caba:vci_multi_tty'),
-        Uses('caba:vci_framebuffer'),
-        Uses('caba:vci_multi_nic'),
-        Uses('caba:vci_block_device_tsar'),
-        Uses('caba:vci_multi_dma'),
-        Uses('common:elf_file_loader'),
-        ],
-    ports = [
-        Port('caba:bit_in'      , 'p_resetn' , auto = 'resetn'),
-        Port('caba:clock_in'    , 'p_clk'    , auto = 'clock'),
-        Port('caba:dspin_output', 'p_cmd_out', [2, 4], dspin_data_size = parameter.Reference('cmd_width')),
-        Port('caba:dspin_input' , 'p_cmd_in' , [2, 4], dspin_data_size = parameter.Reference('cmd_width')),
-        Port('caba:dspin_output', 'p_rsp_out', [2, 4], dspin_data_size = parameter.Reference('rsp_width')), 
-        Port('caba:dspin_input' , 'p_rsp_in' , [2, 4], dspin_data_size = parameter.Reference('rsp_width')),
-        ],
+              dspin_in_width  = parameter.Reference('dspin_rsp_width'),
+              dspin_out_width = parameter.Reference('dspin_cmd_width')),
+
+		Uses('common:elf_file_loader'),
+		],
+
+	ports = [
+		Port('caba:bit_in', 'p_resetn', auto = 'resetn'),
+		Port('caba:clock_in', 'p_clk', auto = 'clock'),
+		Port('caba:dspin_output', 'p_cmd_out', [2, 4], 
+              dspin_data_size = parameter.Reference('dspin_cmd_width')),
+		Port('caba:dspin_input', 'p_cmd_in', [2, 4], 
+              dspin_data_size = parameter.Reference('dspin_cmd_width')),
+		Port('caba:dspin_output', 'p_rsp_out', [2, 4], 
+              dspin_data_size = parameter.Reference('dspin_rsp_width')), 
+		Port('caba:dspin_input', 'p_rsp_in', [2, 4], 
+              dspin_data_size = parameter.Reference('dspin_rsp_width')),
+		],
 )
 
