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] - Blame information for rev 43

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

powered by: WebSVN 2.1.0

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