OpenCores
URL https://opencores.org/ocsvn/an-fpga-implementation-of-low-latency-noc-based-mpsoc/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk

Subversion Repositories an-fpga-implementation-of-low-latency-noc-based-mpsoc

[/] [an-fpga-implementation-of-low-latency-noc-based-mpsoc/] [trunk/] [mpsoc/] [perl_gui/] [lib/] [ip/] [Other/] [gcd.IP.back] - Blame information for rev 43

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 43 alirezamon
#######################################################################
2
##      File: gcd.IP
3
##
4
##      Copyright (C) 2014-2016  Alireza Monemi
5
##
6
##      This file is part of ProNoC 1.5.0
7
##
8
##      WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT
9
##      MAY CAUSE UNEXPECTED BEHAIVOR.
10
################################################################################
11
 
12
$gcd_ip = bless( {
13
                   'hdl_files' => [
14
                                    '/mpsoc/src_peripheral/Other/gcd.v',
15
                                    '/mpsoc/src_peripheral/Other/gcd_ip.v'
16
                                  ],
17
                   'system_h' => '      #define  ${IP}_DONE_ADDR        (*((volatile unsigned int *) ($BASE  )))
18
        #define  ${IP}_IN_1_ADDR        (*((volatile unsigned int *) ($BASE+4)))
19
        #define  ${IP}_IN_2_ADDR        (*((volatile unsigned int *) ($BASE+8)))
20
        #define ${IP}_GCD_ADDR  (*((volatile unsigned int *) ($BASE+12)))
21
 
22
        #define ${IP}_IN1_WRITE(value)  ${IP}_IN_1_ADDR=value
23
        #define ${IP}_IN2_WRITE(value)  ${IP}_IN_2_ADDR=value
24
 
25
        #define   ${IP}_DONE_READ()     ${IP}_DONE_ADDR
26
        #define   ${IP}_GCD_READ()      ${IP}_GCD_ADDR
27
 
28
        unsigned int gcd_hardware ( unsigned int p, unsigned int q ){
29
                ${IP}_IN1_WRITE(p) ;
30
                ${IP}_IN2_WRITE(q) ;
31
                while (${IP}_DONE_READ()!=1);
32
                return ${IP}_GCD_READ();
33
        }',
34
                   'description' => 'Greatest Common Divisor hardware accelerator.',
35
                   'ip_name' => 'gcd',
36
                   'parameters' => {
37
                                     'GCDw' => {
38
                                                 'info' => "GCD\x{2019}s Input/output width in bits",
39
                                                 'default' => '32',
40
                                                 'global_param' => 'Localparam',
41
                                                 'content' => '8,16,32',
42
                                                 'redefine_param' => 1,
43
                                                 'type' => 'Combo-box'
44
                                               },
45
                                     'Aw' => {
46
                                               'info' => 'Parameter',
47
                                               'default' => '2',
48
                                               'global_param' => 'Localparam',
49
                                               'content' => '',
50
                                               'redefine_param' => 1,
51
                                               'type' => 'Fixed'
52
                                             },
53
                                     'TAGw' => {
54
                                                 'info' => 'Parameter',
55
                                                 'default' => '3',
56
                                                 'global_param' => 'Localparam',
57
                                                 'content' => '',
58
                                                 'redefine_param' => 1,
59
                                                 'type' => 'Fixed'
60
                                               },
61
                                     'SELw' => {
62
                                                 'info' => 'Parameter',
63
                                                 'default' => '4',
64
                                                 'global_param' => 'Localparam',
65
                                                 'content' => '',
66
                                                 'redefine_param' => 1,
67
                                                 'type' => 'Fixed'
68
                                               },
69
                                     'Dw' => {
70
                                               'info' => 'Parameter',
71
                                               'default' => 'GCDw',
72
                                               'global_param' => 'Localparam',
73
                                               'content' => '',
74
                                               'redefine_param' => 1,
75
                                               'type' => 'Fixed'
76
                                             }
77
                                   },
78
                   'gui_status' => {
79
                                     'status' => 'ideal',
80
                                     'timeout' => 0
81
                                   },
82
                   'plugs' => {
83
                                'clk' => {
84
                                           'clk' => {},
85
                                           'value' => 1,
86
                                           '0' => {
87
                                                    'name' => 'clk'
88
                                                  },
89
                                           'type' => 'num'
90
                                         },
91
                                'reset' => {
92
                                             'reset' => {},
93
                                             'value' => 1,
94
                                             '0' => {
95
                                                      'name' => 'reset'
96
                                                    },
97
                                             'type' => 'num'
98
                                           },
99
                                'wb_slave' => {
100
                                                'value' => 1,
101
                                                '0' => {
102
                                                         'width' => 5,
103
                                                         'name' => 'wb_slave',
104
                                                         'addr' => '0xb800_0000 0xbfff_ffff             custom devices'
105
                                                       },
106
                                                'type' => 'num',
107
                                                'wb_slave' => {}
108
                                              }
109
                              },
110
                   'modules' => {
111
                                  'gcd_ip' => {}
112
                                },
113
                   'ports_order' => [
114
                                      'clk',
115
                                      'reset',
116
                                      's_dat_i',
117
                                      's_sel_i',
118
                                      's_addr_i',
119
                                      's_tag_i',
120
                                      's_stb_i',
121
                                      's_cyc_i',
122
                                      's_we_i',
123
                                      's_dat_o',
124
                                      's_ack_o',
125
                                      's_err_o',
126
                                      's_rty_o'
127
                                    ],
128
                   'parameters_order' => [
129
                                           'GCDw',
130
                                           'Dw',
131
                                           'Aw',
132
                                           'TAGw',
133
                                           'SELw'
134
                                         ],
135
                   'ports' => {
136
                                's_sel_i' => {
137
                                               'intfc_port' => 'sel_i',
138
                                               'intfc_name' => 'plug:wb_slave[0]',
139
                                               'range' => 'SELw-1     :   0',
140
                                               'type' => 'input'
141
                                             },
142
                                's_err_o' => {
143
                                               'intfc_port' => 'err_o',
144
                                               'intfc_name' => 'plug:wb_slave[0]',
145
                                               'range' => '',
146
                                               'type' => 'output'
147
                                             },
148
                                's_dat_i' => {
149
                                               'intfc_port' => 'dat_i',
150
                                               'intfc_name' => 'plug:wb_slave[0]',
151
                                               'range' => 'Dw-1       :   0',
152
                                               'type' => 'input'
153
                                             },
154
                                's_cyc_i' => {
155
                                               'intfc_port' => 'cyc_i',
156
                                               'intfc_name' => 'plug:wb_slave[0]',
157
                                               'range' => '',
158
                                               'type' => 'input'
159
                                             },
160
                                's_ack_o' => {
161
                                               'intfc_port' => 'ack_o',
162
                                               'intfc_name' => 'plug:wb_slave[0]',
163
                                               'range' => '',
164
                                               'type' => 'output'
165
                                             },
166
                                's_we_i' => {
167
                                              'intfc_port' => 'we_i',
168
                                              'intfc_name' => 'plug:wb_slave[0]',
169
                                              'range' => '',
170
                                              'type' => 'input'
171
                                            },
172
                                's_stb_i' => {
173
                                               'intfc_port' => 'stb_i',
174
                                               'intfc_name' => 'plug:wb_slave[0]',
175
                                               'range' => '',
176
                                               'type' => 'input'
177
                                             },
178
                                's_tag_i' => {
179
                                               'intfc_port' => 'tag_i',
180
                                               'intfc_name' => 'plug:wb_slave[0]',
181
                                               'range' => 'TAGw-1     :   0',
182
                                               'type' => 'input'
183
                                             },
184
                                'clk' => {
185
                                           'intfc_port' => 'clk_i',
186
                                           'intfc_name' => 'plug:clk[0]',
187
                                           'range' => '',
188
                                           'type' => 'input'
189
                                         },
190
                                'reset' => {
191
                                             'intfc_port' => 'reset_i',
192
                                             'intfc_name' => 'plug:reset[0]',
193
                                             'range' => '',
194
                                             'type' => 'input'
195
                                           },
196
                                's_rty_o' => {
197
                                               'intfc_port' => 'rty_o',
198
                                               'intfc_name' => 'plug:wb_slave[0]',
199
                                               'range' => '',
200
                                               'type' => 'output'
201
                                             },
202
                                's_addr_i' => {
203
                                                'intfc_port' => 'adr_i',
204
                                                'intfc_name' => 'plug:wb_slave[0]',
205
                                                'range' => 'Aw-1       :   0',
206
                                                'type' => 'input'
207
                                              },
208
                                's_dat_o' => {
209
                                               'intfc_port' => 'dat_o',
210
                                               'intfc_name' => 'plug:wb_slave[0]',
211
                                               'range' => 'Dw-1       :   0',
212
                                               'type' => 'output'
213
                                             }
214
                              },
215
                   'file_name' => '/home/alireza/Mywork/mpsoc_doc/usermanual/tutorial2/gcd_ip.v',
216
                   'module_name' => 'gcd_ip',
217
                   'category' => 'Other',
218
                   'unused' => {
219
                                 'plug:wb_slave[0]' => [
220
                                                         'cti_i',
221
                                                         'bte_i'
222
                                                       ]
223
                               }
224
                 }, 'ip_gen' );

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.