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/] [Communication/] [ethmac_100.IP] - Blame information for rev 38

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 38 alirezamon
#######################################################################
2
##      File: ethmac_100.IP
3
##
4
##      Copyright (C) 2014-2016  Alireza Monemi
5
##
6
##      This file is part of ProNoC 1.7.0
7
##
8
##      WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT
9
##      MAY CAUSE UNEXPECTED BEHAIVOR.
10
################################################################################
11
 
12
$ethtop = bless( {
13
                   'version' => 1,
14
                   'module_name' => 'ethtop',
15
                   'unused' => {
16
                                 'plug:wb_master[0]' => [
17
                                                          'bte_o',
18
                                                          'rty_i',
19
                                                          'cti_o',
20
                                                          'tag_o'
21
                                                        ],
22
                                 'plug:wb_slave[0]' => [
23
                                                         'cti_i',
24
                                                         'bte_i',
25
                                                         'tag_i',
26
                                                         'rty_o'
27
                                                       ]
28
                               },
29
                   'plugs' => {
30
                                'wb_master' => {
31
                                                 'wb_master' => {},
32
                                                 'value' => 1,
33
                                                 'type' => 'num',
34
                                                 '0' => {
35
                                                          'name' => 'wb_master'
36
                                                        }
37
                                               },
38
                                'wb_slave' => {
39
                                                'value' => 1,
40
                                                'wb_slave' => {},
41
                                                'type' => 'num',
42
                                                '0' => {
43
                                                         'addr' => '0x9200_0000 0x92ff_ffff             Ethernet Controller',
44
                                                         'width' => 11,
45
                                                         'name' => 'wb_slave'
46
                                                       }
47
                                              },
48
                                'clk' => {
49
                                           'value' => 1,
50
                                           'clk' => {},
51
                                           'type' => 'num',
52
                                           '0' => {
53
                                                    'name' => 'clk'
54
                                                  }
55
                                         },
56
                                'interrupt_peripheral' => {
57
                                                            'value' => 1,
58
                                                            'interrupt_peripheral' => {},
59
                                                            '0' => {
60
                                                                     'name' => 'interrupt_peripheral'
61
                                                                   },
62
                                                            'type' => 'num'
63
                                                          },
64
                                'reset' => {
65
                                             'value' => 1,
66
                                             '0' => {
67
                                                      'name' => 'reset'
68
                                                    },
69
                                             'type' => 'num',
70
                                             'reset' => {}
71
                                           }
72
                              },
73
                   'custom_file_num' => 1,
74
                   'ports' => {
75
                                'wb_clk_i' => {
76
                                                'range' => '',
77
                                                'intfc_name' => 'plug:clk[0]',
78
                                                'intfc_port' => 'clk_i',
79
                                                'type' => 'input'
80
                                              },
81
                                'm_wb_adr_o' => {
82
                                                  'intfc_port' => 'adr_o',
83
                                                  'type' => 'output',
84
                                                  'range' => '31:0',
85
                                                  'intfc_name' => 'plug:wb_master[0]'
86
                                                },
87
                                'mtxd_pad_o' => {
88
                                                  'intfc_port' => 'IO',
89
                                                  'type' => 'output',
90
                                                  'range' => '3:0',
91
                                                  'intfc_name' => 'IO'
92
                                                },
93
                                'int_o' => {
94
                                             'intfc_port' => 'int_o',
95
                                             'type' => 'output',
96
                                             'range' => '',
97
                                             'intfc_name' => 'plug:interrupt_peripheral[0]'
98
                                           },
99
                                'mdc_pad_o' => {
100
                                                 'intfc_port' => 'IO',
101
                                                 'type' => 'output',
102
                                                 'range' => '',
103
                                                 'intfc_name' => 'IO'
104
                                               },
105
                                'wb_ack_o' => {
106
                                                'intfc_port' => 'ack_o',
107
                                                'type' => 'output',
108
                                                'range' => '',
109
                                                'intfc_name' => 'plug:wb_slave[0]'
110
                                              },
111
                                'mtxen_pad_o' => {
112
                                                   'intfc_port' => 'IO',
113
                                                   'type' => 'output',
114
                                                   'range' => '',
115
                                                   'intfc_name' => 'IO'
116
                                                 },
117
                                'wb_dat_i' => {
118
                                                'intfc_port' => 'dat_i',
119
                                                'type' => 'input',
120
                                                'range' => '31:0',
121
                                                'intfc_name' => 'plug:wb_slave[0]'
122
                                              },
123
                                'wb_stb_i' => {
124
                                                'type' => 'input',
125
                                                'intfc_port' => 'stb_i',
126
                                                'intfc_name' => 'plug:wb_slave[0]',
127
                                                'range' => ''
128
                                              },
129
                                'mcrs_pad_i' => {
130
                                                  'intfc_name' => 'IO',
131
                                                  'range' => '',
132
                                                  'type' => 'input',
133
                                                  'intfc_port' => 'IO'
134
                                                },
135
                                'wb_rst_i' => {
136
                                                'type' => 'input',
137
                                                'intfc_port' => 'reset_i',
138
                                                'intfc_name' => 'plug:reset[0]',
139
                                                'range' => ''
140
                                              },
141
                                'm_wb_dat_i' => {
142
                                                  'range' => '31:0',
143
                                                  'intfc_name' => 'plug:wb_master[0]',
144
                                                  'intfc_port' => 'dat_i',
145
                                                  'type' => 'input'
146
                                                },
147
                                'md_pad_o' => {
148
                                                'range' => '',
149
                                                'intfc_name' => 'IO',
150
                                                'intfc_port' => 'IO',
151
                                                'type' => 'output'
152
                                              },
153
                                'mcoll_pad_i' => {
154
                                                   'range' => '',
155
                                                   'intfc_name' => 'IO',
156
                                                   'intfc_port' => 'IO',
157
                                                   'type' => 'input'
158
                                                 },
159
                                'm_wb_stb_o' => {
160
                                                  'range' => '',
161
                                                  'intfc_name' => 'plug:wb_master[0]',
162
                                                  'intfc_port' => 'stb_o',
163
                                                  'type' => 'output'
164
                                                },
165
                                'm_wb_err_i' => {
166
                                                  'type' => 'input',
167
                                                  'intfc_port' => 'err_i',
168
                                                  'intfc_name' => 'plug:wb_master[0]',
169
                                                  'range' => ''
170
                                                },
171
                                'm_wb_cyc_o' => {
172
                                                  'intfc_port' => 'cyc_o',
173
                                                  'type' => 'output',
174
                                                  'range' => '',
175
                                                  'intfc_name' => 'plug:wb_master[0]'
176
                                                },
177
                                'mtx_clk_pad_i' => {
178
                                                     'intfc_port' => 'IO',
179
                                                     'type' => 'input',
180
                                                     'range' => '',
181
                                                     'intfc_name' => 'IO'
182
                                                   },
183
                                'wb_err_o' => {
184
                                                'intfc_port' => 'err_o',
185
                                                'type' => 'output',
186
                                                'range' => '',
187
                                                'intfc_name' => 'plug:wb_slave[0]'
188
                                              },
189
                                'wb_cyc_i' => {
190
                                                'intfc_name' => 'plug:wb_slave[0]',
191
                                                'range' => '',
192
                                                'type' => 'input',
193
                                                'intfc_port' => 'cyc_i'
194
                                              },
195
                                'm_wb_dat_o' => {
196
                                                  'range' => '31:0',
197
                                                  'intfc_name' => 'plug:wb_master[0]',
198
                                                  'intfc_port' => 'dat_o',
199
                                                  'type' => 'output'
200
                                                },
201
                                'mrxdv_pad_i' => {
202
                                                   'intfc_port' => 'IO',
203
                                                   'type' => 'input',
204
                                                   'range' => '',
205
                                                   'intfc_name' => 'IO'
206
                                                 },
207
                                'md_padoe_o' => {
208
                                                  'intfc_name' => 'IO',
209
                                                  'range' => '',
210
                                                  'type' => 'output',
211
                                                  'intfc_port' => 'IO'
212
                                                },
213
                                'wb_dat_o' => {
214
                                                'range' => '31:0',
215
                                                'intfc_name' => 'plug:wb_slave[0]',
216
                                                'intfc_port' => 'dat_o',
217
                                                'type' => 'output'
218
                                              },
219
                                'm_wb_ack_i' => {
220
                                                  'range' => '',
221
                                                  'intfc_name' => 'plug:wb_master[0]',
222
                                                  'intfc_port' => 'ack_i',
223
                                                  'type' => 'input'
224
                                                },
225
                                'm_wb_we_o' => {
226
                                                 'intfc_name' => 'plug:wb_master[0]',
227
                                                 'range' => '',
228
                                                 'type' => 'output',
229
                                                 'intfc_port' => 'we_o'
230
                                               },
231
                                'mrx_clk_pad_i' => {
232
                                                     'intfc_port' => 'IO',
233
                                                     'type' => 'input',
234
                                                     'range' => '',
235
                                                     'intfc_name' => 'IO'
236
                                                   },
237
                                'wb_sel_i' => {
238
                                                'intfc_name' => 'plug:wb_slave[0]',
239
                                                'range' => '3:0',
240
                                                'type' => 'input',
241
                                                'intfc_port' => 'sel_i'
242
                                              },
243
                                'm_wb_sel_o' => {
244
                                                  'type' => 'output',
245
                                                  'intfc_port' => 'sel_o',
246
                                                  'intfc_name' => 'plug:wb_master[0]',
247
                                                  'range' => '3:0'
248
                                                },
249
                                'mtxerr_pad_o' => {
250
                                                    'range' => '',
251
                                                    'intfc_name' => 'IO',
252
                                                    'intfc_port' => 'IO',
253
                                                    'type' => 'output'
254
                                                  },
255
                                'wb_we_i' => {
256
                                               'intfc_name' => 'plug:wb_slave[0]',
257
                                               'range' => '',
258
                                               'type' => 'input',
259
                                               'intfc_port' => 'we_i'
260
                                             },
261
                                'mrxerr_pad_i' => {
262
                                                    'intfc_name' => 'IO',
263
                                                    'range' => '',
264
                                                    'type' => 'input',
265
                                                    'intfc_port' => 'IO'
266
                                                  },
267
                                'wb_adr_i' => {
268
                                                'type' => 'input',
269
                                                'intfc_port' => 'adr_i',
270
                                                'intfc_name' => 'plug:wb_slave[0]',
271
                                                'range' => '9:0'
272
                                              },
273
                                'mrxd_pad_i' => {
274
                                                  'type' => 'input',
275
                                                  'intfc_port' => 'IO',
276
                                                  'intfc_name' => 'IO',
277
                                                  'range' => '3:0'
278
                                                },
279
                                'md_pad_i' => {
280
                                                'intfc_name' => 'IO',
281
                                                'range' => '',
282
                                                'type' => 'input',
283
                                                'intfc_port' => 'IO'
284
                                              }
285
                              },
286
                   'system_h' => '
287
 
288
void ${IP}_init();
289
void ${IP}_interrupt();
290
void ${IP}_recv_ack(void);
291
int ${IP}_send(int length);   //return (-1) or length (still processing previous) or asserted
292
 
293
#define ${IP}_BASE_ADDR         $BASE
294
#define ${IP}_MODER                     (*((volatile unsigned int *) (${IP}_BASE_ADDR+0x00 )))
295
#define ${IP}_INT_SOURCE                (*((volatile unsigned int *) (${IP}_BASE_ADDR+0x04 )))
296
#define ${IP}_INT_MASK                   (*((volatile unsigned int *) (${IP}_BASE_ADDR+0x08 )))
297
#define ${IP}_IPGT                       (*((volatile unsigned int *) (${IP}_BASE_ADDR+0x0C )))
298
#define ${IP}_IPGR1                      (*((volatile unsigned int *) (${IP}_BASE_ADDR+0x10 )))
299
#define ${IP}_IPGR2                     (*((volatile unsigned int *) (${IP}_BASE_ADDR+0x14 )))
300
#define ${IP}_PACKETLEN                  (*((volatile unsigned int *) (${IP}_BASE_ADDR+0x18 )))
301
#define ${IP}_COLLCONF                   (*((volatile unsigned int *) (${IP}_BASE_ADDR+0x1C )))
302
#define ${IP}_TX_BD_NUM                  (*((volatile unsigned int *) (${IP}_BASE_ADDR+0x20 )))
303
#define ${IP}_CTRLMODER                  (*((volatile unsigned int *) (${IP}_BASE_ADDR+0x24 )))
304
#define ${IP}_MIIMODER                   (*((volatile unsigned int *) (${IP}_BASE_ADDR+0x28 )))
305
#define ${IP}_MIICOMMAND                 (*((volatile unsigned int *) (${IP}_BASE_ADDR+0x2C )))
306
#define ${IP}_MIIADDR                    (*((volatile unsigned int *) (${IP}_BASE_ADDR+0x30 )))
307
#define ${IP}_MIITX_DATA                 (*((volatile unsigned int *) (${IP}_BASE_ADDR+0x34 )))
308
#define ${IP}_MIIRX_DATA                 (*((volatile unsigned int *) (${IP}_BASE_ADDR+0x38 )))
309
#define ${IP}_MIISTATUS                  (*((volatile unsigned int *) (${IP}_BASE_ADDR+0x3C )))
310
#define ${IP}_MAC_ADDR0                  (*((volatile unsigned int *) (${IP}_BASE_ADDR+0x40 )))
311
#define ${IP}_MAC_ADDR1                  (*((volatile unsigned int *) (${IP}_BASE_ADDR+0x44 )))
312
#define ${IP}_HASH0_ADR                  (*((volatile unsigned int *) (${IP}_BASE_ADDR+0x48 )))
313
#define ${IP}_HASH1_ADR                  (*((volatile unsigned int *) (${IP}_BASE_ADDR+0x4C )))
314
#define ${IP}_TXCTRL                             (*((volatile unsigned int *) (${IP}_BASE_ADDR+0x50 )))
315
#define ${IP}_TXBD0H                    (*((volatile unsigned int *) (${IP}_BASE_ADDR+0x404 )))
316
#define ${IP}_TXBD0L                            (*((volatile unsigned int *) (${IP}_BASE_ADDR+0x400 )))
317
#define ${IP}_RXBD0H                    (*((volatile unsigned int *) (${IP}_BASE_ADDR+0x604 ))) //this depends on TX_BD_NUM but this is the standard value
318
#define ${IP}_RXBD0L                            (*((volatile unsigned int *) (${IP}_BASE_ADDR+0x600 ))) //this depends on TX_BD_NUM but this is the standard value
319
 
320
 
321
#include "${IP}.h"',
322
                   'ip_name' => 'ethmac_100',
323
                   'file_name' => '/home/alireza/Mywork/mpsoc/src_peripheral/ethmac/ethtop.v',
324
                   'ports_order' => [
325
                                      'wb_clk_i',
326
                                      'wb_rst_i',
327
                                      'wb_dat_i',
328
                                      'wb_dat_o',
329
                                      'wb_adr_i',
330
                                      'wb_sel_i',
331
                                      'wb_we_i',
332
                                      'wb_cyc_i',
333
                                      'wb_stb_i',
334
                                      'wb_ack_o',
335
                                      'wb_err_o',
336
                                      'm_wb_adr_o',
337
                                      'm_wb_sel_o',
338
                                      'm_wb_we_o',
339
                                      'm_wb_dat_o',
340
                                      'm_wb_dat_i',
341
                                      'm_wb_cyc_o',
342
                                      'm_wb_stb_o',
343
                                      'm_wb_ack_i',
344
                                      'm_wb_err_i',
345
                                      'mtx_clk_pad_i',
346
                                      'mtxd_pad_o',
347
                                      'mtxen_pad_o',
348
                                      'mtxerr_pad_o',
349
                                      'mrx_clk_pad_i',
350
                                      'mrxd_pad_i',
351
                                      'mrxdv_pad_i',
352
                                      'mrxerr_pad_i',
353
                                      'mcoll_pad_i',
354
                                      'mcrs_pad_i',
355
                                      'mdc_pad_o',
356
                                      'md_pad_i',
357
                                      'md_pad_o',
358
                                      'md_padoe_o',
359
                                      'int_o'
360
                                    ],
361
                   'hdl_files' => [
362
                                    '/mpsoc/src_peripheral/ethmac/rtl/eth_clockgen.v',
363
                                    '/mpsoc/src_peripheral/ethmac/rtl/eth_cop.v',
364
                                    '/mpsoc/src_peripheral/ethmac/rtl/eth_crc.v',
365
                                    '/mpsoc/src_peripheral/ethmac/rtl/eth_fifo.v',
366
                                    '/mpsoc/src_peripheral/ethmac/rtl/ethmac.v',
367
                                    '/mpsoc/src_peripheral/ethmac/rtl/eth_maccontrol.v',
368
                                    '/mpsoc/src_peripheral/ethmac/rtl/ethmac_defines.v',
369
                                    '/mpsoc/src_peripheral/ethmac/rtl/eth_macstatus.v',
370
                                    '/mpsoc/src_peripheral/ethmac/rtl/eth_miim.v',
371
                                    '/mpsoc/src_peripheral/ethmac/rtl/eth_outputcontrol.v',
372
                                    '/mpsoc/src_peripheral/ethmac/rtl/eth_random.v',
373
                                    '/mpsoc/src_peripheral/ethmac/rtl/eth_receivecontrol.v',
374
                                    '/mpsoc/src_peripheral/ethmac/rtl/eth_register.v',
375
                                    '/mpsoc/src_peripheral/ethmac/rtl/eth_registers.v',
376
                                    '/mpsoc/src_peripheral/ethmac/rtl/eth_rxaddrcheck.v',
377
                                    '/mpsoc/src_peripheral/ethmac/rtl/eth_rxcounters.v',
378
                                    '/mpsoc/src_peripheral/ethmac/rtl/eth_rxethmac.v',
379
                                    '/mpsoc/src_peripheral/ethmac/rtl/eth_rxstatem.v',
380
                                    '/mpsoc/src_peripheral/ethmac/rtl/eth_shiftreg.v',
381
                                    '/mpsoc/src_peripheral/ethmac/rtl/eth_spram_256x32.v',
382
                                    '/mpsoc/src_peripheral/ethmac/rtl/eth_top.v',
383
                                    '/mpsoc/src_peripheral/ethmac/rtl/eth_transmitcontrol.v',
384
                                    '/mpsoc/src_peripheral/ethmac/rtl/eth_txcounters.v',
385
                                    '/mpsoc/src_peripheral/ethmac/rtl/eth_txethmac.v',
386
                                    '/mpsoc/src_peripheral/ethmac/rtl/eth_txstatem.v',
387
                                    '/mpsoc/src_peripheral/ethmac/rtl/eth_wishbone.v',
388
                                    '/mpsoc/src_peripheral/ethmac/rtl/timescale.v',
389
                                    '/mpsoc/src_peripheral/ethmac/rtl/xilinx_dist_ram_16x32.v',
390
                                    '/mpsoc/src_peripheral/ethmac/ethtop.v',
391
                                    '/mpsoc/src_peripheral/ethmac/eth_generic_ram.v'
392
                                  ],
393
                   'parameters_order' => [
394
                                           'TX_FIFO_DATA_WIDTH',
395
                                           'TX_FIFO_DEPTH',
396
                                           'TX_FIFO_CNT_WIDTH',
397
                                           'RX_FIFO_DATA_WIDTH',
398
                                           'RX_FIFO_DEPTH',
399
                                           'RX_FIFO_CNT_WIDTH'
400
                                         ],
401
                   'description' => 'The Ethernet MAC 10/100 Mbps.
402
For more information please check: https://opencores.org/project,ethmac',
403
                   'gen_sw_files' => [
404
                                       '/mpsoc/src_peripheral/ethmac/ethfrename_sep_t${IP}.h'
405
                                     ],
406
                   'parameters' => {
407
                                     'RX_FIFO_DEPTH' => {
408
                                                          'content' => '',
409
                                                          'redefine_param' => 1,
410
                                                          'default' => ' 16',
411
                                                          'info' => undef,
412
                                                          'type' => 'Fixed',
413
                                                          'global_param' => 0
414
                                                        },
415
                                     'TX_FIFO_DEPTH' => {
416
                                                          'content' => '',
417
                                                          'redefine_param' => 1,
418
                                                          'default' => ' 16',
419
                                                          'info' => undef,
420
                                                          'global_param' => 0,
421
                                                          'type' => 'Fixed'
422
                                                        },
423
                                     'RX_FIFO_DATA_WIDTH' => {
424
                                                               'type' => 'Fixed',
425
                                                               'global_param' => 0,
426
                                                               'content' => '',
427
                                                               'redefine_param' => 1,
428
                                                               'info' => undef,
429
                                                               'default' => ' 32'
430
                                                             },
431
                                     'TX_FIFO_DATA_WIDTH' => {
432
                                                               'redefine_param' => 1,
433
                                                               'content' => '',
434
                                                               'default' => ' 32',
435
                                                               'info' => undef,
436
                                                               'type' => 'Fixed',
437
                                                               'global_param' => 0
438
                                                             },
439
                                     'RX_FIFO_CNT_WIDTH' => {
440
                                                              'default' => ' 5',
441
                                                              'redefine_param' => 1,
442
                                                              'content' => '',
443
                                                              'info' => undef,
444
                                                              'global_param' => 0,
445
                                                              'type' => 'Fixed'
446
                                                            },
447
                                     'TX_FIFO_CNT_WIDTH' => {
448
                                                              'type' => 'Fixed',
449
                                                              'global_param' => 0,
450
                                                              'info' => undef,
451
                                                              'redefine_param' => 1,
452
                                                              'content' => '',
453
                                                              'default' => ' 5'
454
                                                            }
455
                                   },
456
                   'sw_files' => [],
457
                   'gui_status' => {
458
                                     'status' => 'ideal',
459
                                     'timeout' => 0
460
                                   },
461
                   'custom_file' => {
462
                                      '0' => {}
463
                                    },
464
                   'category' => 'Communication',
465
                   'modules' => {
466
                                  'ethtop' => {}
467
                                }
468
                 }, 'ip_gen' );

powered by: WebSVN 2.1.0

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