source: trunk/platforms/tsar_generic_iob/tsar_iob_cluster/caba/metadata/tsar_iob_cluster.sd @ 972

Last change on this file since 972 was 972, checked in by alain, 9 years ago

Modify the tsar_generic_iob platform:
The vci_multi_dma component replicated in all cluster is replaced by a vci_mwmr_dma component.
This new component supports all hardware coprocessors respection the "coproc" interface.
Amongst the available coprocessors (defined in the SocLib? "coprocessor_components" directory)
the MWR_CPY coprocessor provide an improved memory copy service throughput x 2).

File size: 5.8 KB
Line 
1
2# -*- python -*-
3
4Module('caba:tsar_iob_cluster',
5    classname = 'soclib::caba::TsarIobCluster',
6
7    tmpl_parameters = [
8        parameter.Module('vci_param_int', default = 'caba:vci_param', 
9                          cell_size = parameter.Reference('vci_data_width_int')),
10        parameter.Module('vci_param_ext', default = 'caba:vci_param', 
11                          cell_size = parameter.Reference('vci_data_width_ext')),
12        parameter.Int('dspin_int_cmd_width'),
13        parameter.Int('dspin_int_rsp_width'),
14        parameter.Int('dspin_ram_cmd_width'),
15        parameter.Int('dspin_ram_rsp_width'),
16    ],
17
18    header_files = [ 
19        '../source/include/tsar_iob_cluster.h', 
20    ],
21
22    implementation_files = [ 
23        '../source/src/tsar_iob_cluster.cpp', 
24    ],
25
26    uses = [
27        Uses('caba:base_module'),
28        Uses('common:mapping_table'),
29        Uses('common:iss2'),
30        Uses('common:elf_file_loader'),
31        Uses('caba:coproc_signals'),
32
33        # internal network components
34        Uses('caba:vci_cc_vcache_wrapper', 
35              cell_size          = parameter.Reference('vci_data_width_int'),
36              dspin_in_width     = parameter.Reference('dspin_int_cmd_width'),
37              dspin_out_width    = parameter.Reference('dspin_int_rsp_width'),
38              iss_t              = 'common:gdb_iss', 
39              gdb_iss_t          = 'common:mips32el'),
40
41        Uses('caba:vci_mem_cache',
42              memc_cell_size_int   = parameter.Reference('vci_data_width_int'),
43              memc_cell_size_ext   = parameter.Reference('vci_data_width_ext'),
44              memc_dspin_in_width  = parameter.Reference('dspin_int_rsp_width'),
45              memc_dspin_out_width = parameter.Reference('dspin_int_cmd_width')),
46
47        Uses('caba:vci_xicu',
48              cell_size          = parameter.Reference('vci_data_width_int')),
49
50        Uses('caba:vci_mwmr_dma',
51              cell_size          = parameter.Reference('vci_data_width_int')),
52
53        Uses('caba:coproc_gcd'),
54        Uses('caba:coproc_dct'),
55        Uses('caba:coproc_cpy'),
56
57        Uses('caba:vci_local_crossbar', 
58              cell_size          = parameter.Reference('vci_data_width_int')),
59
60        Uses('caba:dspin_local_crossbar', 
61              flit_width         = parameter.Reference('dspin_int_cmd_width')),
62
63        Uses('caba:dspin_local_crossbar', 
64              flit_width         = parameter.Reference('dspin_int_rsp_width')),
65
66        Uses('caba:dspin_local_crossbar', 
67              flit_width         = parameter.Reference('dspin_ram_cmd_width')),
68
69        Uses('caba:dspin_local_crossbar', 
70              flit_width         = parameter.Reference('dspin_ram_rsp_width')),
71
72        Uses('caba:vci_dspin_initiator_wrapper', 
73              cell_size          = parameter.Reference('vci_data_width_int'),
74              dspin_cmd_width    = parameter.Reference('dspin_int_cmd_width'),
75              dspin_rsp_width    = parameter.Reference('dspin_int_rsp_width')),
76
77        Uses('caba:vci_dspin_target_wrapper',
78              cell_size          = parameter.Reference('vci_data_width_int'),
79              dspin_cmd_width    = parameter.Reference('dspin_int_cmd_width'),
80              dspin_rsp_width    = parameter.Reference('dspin_int_rsp_width')),
81
82        Uses('caba:virtual_dspin_router', 
83              flit_width         = parameter.Reference('dspin_int_cmd_width')),
84
85        Uses('caba:virtual_dspin_router', 
86              flit_width         = parameter.Reference('dspin_int_rsp_width')),
87
88        # RAM network components
89        Uses('caba:vci_dspin_initiator_wrapper', 
90              cell_size          = parameter.Reference('vci_data_width_ext'),
91              dspin_cmd_width    = parameter.Reference('dspin_ram_cmd_width'),
92              dspin_rsp_width    = parameter.Reference('dspin_ram_rsp_width')),
93
94        Uses('caba:vci_dspin_target_wrapper',
95              cell_size          = parameter.Reference('vci_data_width_ext'),
96              dspin_cmd_width    = parameter.Reference('dspin_ram_cmd_width'),
97              dspin_rsp_width    = parameter.Reference('dspin_ram_rsp_width')),
98
99        Uses('caba:dspin_router', 
100              flit_width         = parameter.Reference('dspin_ram_cmd_width')),
101
102        Uses('caba:dspin_router', 
103              flit_width         = parameter.Reference('dspin_ram_rsp_width')),
104
105        Uses('caba:vci_simple_ram',
106              cell_size          = parameter.Reference('vci_data_width_ext')),
107
108        # IOX network components
109        Uses('caba:vci_io_bridge', 
110              iob_cell_size_int  = parameter.Reference('vci_data_width_int'),
111              iob_cell_size_ext  = parameter.Reference('vci_data_width_ext')),
112        ],
113
114    ports = [
115        Port('caba:bit_in', 'p_resetn', auto = 'resetn'),
116        Port('caba:clock_in', 'p_clk', auto = 'clock'),
117
118        Port('caba:dspin_output', 'p_int_cmd_out', [4, 3], 
119              dspin_data_size = parameter.Reference('dspin_int_cmd_width')),
120        Port('caba:dspin_input', 'p_int_cmd_in', [4, 3], 
121              dspin_data_size = parameter.Reference('dspin_int_cmd_width')),
122        Port('caba:dspin_output', 'p_int_rsp_out', [4, 2], 
123              dspin_data_size = parameter.Reference('dspin_int_rsp_width')), 
124        Port('caba:dspin_input', 'p_int_rsp_in', [4, 2], 
125              dspin_data_size = parameter.Reference('dspin_int_rsp_width')),
126
127        Port('caba:dspin_output', 'p_ram_cmd_out', [4], 
128              dspin_data_size = parameter.Reference('dspin_ram_cmd_width')),
129        Port('caba:dspin_input', 'p_ram_cmd_in', [4], 
130              dspin_data_size = parameter.Reference('dspin_ram_cmd_width')),
131        Port('caba:dspin_output', 'p_ram_rsp_out', [4], 
132              dspin_data_size = parameter.Reference('dspin_ram_rsp_width')), 
133        Port('caba:dspin_input', 'p_ram_rsp_in', [4], 
134              dspin_data_size = parameter.Reference('dspin_ram_rsp_width')),
135        ],
136)
137
138
Note: See TracBrowser for help on using the repository browser.