source: trunk/modules/vci_io_bridge/caba/metadata/vci_io_bridge.sd @ 375

Last change on this file since 375 was 240, checked in by fraga, 12 years ago

Adding component vci_io_bridge

File size: 5.6 KB
Line 
1
2# -*- python -*-
3
4__id__ = "$Id: vci_io_bridge.sd 20 2012-6-11 $"
5
6Module('caba:vci_io_bridge',
7        classname = 'soclib::caba::VciIoBridge',
8        tmpl_parameters = [ 
9        parameter.Module('vci_param_d', default = 'caba:vci_param',
10                            cell_size   = parameter.Reference("cell_size_d"),
11                            plen_size   = parameter.Reference("plen_size_d"),
12                            addr_size   = parameter.Reference("addr_size_d"),
13                            rerror_size = parameter.Reference("rerror_size_d"),
14                            clen_size   = parameter.Reference("clen_size_d"), 
15                            rflag_size  = parameter.Reference("rflag_size_d"), 
16                            srcid_size  = parameter.Reference("srcid_size_d"),
17                            pktid_size  = parameter.Reference("pktid_size_d"),
18                            trdid_size  = parameter.Reference("trdid_size_d"),
19                            wrplen_size = parameter.Reference("wrplen_size_d")),
20            parameter.Module('vci_param_x', default = 'caba:vci_param',
21                            cell_size   = parameter.Reference("cell_size_x"),
22                            plen_size   = parameter.Reference("plen_size_x"),
23                            addr_size   = parameter.Reference("addr_size_x"),
24                            rerror_size = parameter.Reference("rerror_size_x"),
25                            clen_size   = parameter.Reference("clen_size_x"), 
26                            rflag_size  = parameter.Reference("rflag_size_x"), 
27                            srcid_size  = parameter.Reference("srcid_size_x"),
28                            pktid_size  = parameter.Reference("pktid_size_x"),
29                            trdid_size  = parameter.Reference("trdid_size_x"),
30                            wrplen_size = parameter.Reference("wrplen_size_x")),
31        parameter.Module('vci_param_io', default = 'caba:vci_param', 
32                            cell_size   = parameter.Reference("cell_size_io"),
33                            plen_size   = parameter.Reference("plen_size_io"),
34                            addr_size   = parameter.Reference("addr_size_io"),
35                            rerror_size = parameter.Reference("rerror_size_io"),
36                            clen_size   = parameter.Reference("clen_size_io"), 
37                            rflag_size  = parameter.Reference("rflag_size_io"), 
38                            srcid_size  = parameter.Reference("srcid_size_io"),
39                            pktid_size  = parameter.Reference("pktid_size_io"),
40                            trdid_size  = parameter.Reference("trdid_size_io"),
41                            wrplen_size = parameter.Reference("wrplen_size_io")),
42    ],
43        header_files =         [ '../source/include/vci_io_bridge.h',
44                                 '../source/include/transaction_tab_io.h'],
45        implementation_files = [ '../source/src/vci_io_bridge.cpp' ],
46        uses = [ Uses('caba:base_module'),
47                 Uses('common:mapping_table'),
48                 Uses('caba:generic_fifo'),
49                 Uses('caba:generic_tlb', 
50                       addr_t = parameter.StringExt('sc_dt::sc_uint<%d> ', 
51                       parameter.Reference('addr_size'))),
52                 Uses('common:address_decoding_table', 
53                       input_t  = 'unsigned long',
54                       output_t = 'bool'),
55                 Uses('common:address_decoding_table', 
56                       input_t  = 'unsigned long',
57                       output_t = 'int'),
58#                Uses('common:address_masking_table',
59#                       data_t = parameter.StringExt('sc_dt::sc_uint<%d> ',
60#                       parameter.Reference('addr_size'))),
61           ],
62        ports = [ Port('caba:vci_initiator', 'p_vci_ini_dma'),
63                  Port('caba:vci_target', 'p_vci_tgt_dma'),
64              Port('caba:vci_initiator', 'p_vci_ini_config'),
65                  Port('caba:vci_target', 'p_vci_tgt_config'),
66              Port('caba:vci_initiator', 'p_vci_ini_miss'),
67                  Port('caba:bit_in','p_irq', parameter.Reference('nb_periph')),
68                  Port('caba:bit_in', 'p_resetn', auto = 'resetn'),
69                  Port('caba:clock_in', 'p_clk', auto = 'clock'), ],
70        instance_parameters = [ parameter.Int('nd_periph'),
71                                parameter.Module('mtx', 'common:mapping_table'),
72                                parameter.Module('mtd', 'common:mapping_table'),
73                                parameter.Module('mtio', 'common:mapping_table'),
74                                parameter.Module('seg_config_iob', 'common:segment'), 
75                            parameter.IntTab('tgt_index_iocluster'),
76#                               parameter.IntTab('tgt_index_config'),
77                                parameter.IntTab('init_index_direct'),
78                                parameter.IntTab('tgt_index_iospace'),
79                                parameter.IntTab('init_index_iospace'),
80                                parameter.IntTab('init_index_dma'),
81                                parameter.Int('dcache_words'),
82                                parameter.Int('iotlb_ways'),
83                                parameter.Int('iotlb_sets'),
84                                parameter.Int('max_frozen_cycles'), ],
85        extensions = [ 'dsx:get_ident='
86                       'tgt_index_config:p_vci_tgt_config:mtd,'
87                       'init_index_direct:p_vci_init_miss:mtd,'
88                       'tgt_index_iospace:p_vci_tgt_dma:mtio,'
89                       'init_index_iospace:p_vci_init_config:mtio,'
90                       'init_index_dma:p_vci_ini_dma:mtx,'
91                       'dsx:cpu=wrapper:iss_t',
92                       'dsx:addressable=tgt_index_config,tgt_index_iospace',
93#                       'dsx:on_segment=mc:add_index:initiator_rw_index',
94                       ],
95
96#       debug = True,
97)
98
Note: See TracBrowser for help on using the repository browser.