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/] [Processor/] [mor1kx.IP] - Blame information for rev 42

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

Line No. Rev Author Line
1 38 alirezamon
#######################################################################
2
##      File: mor1kx.IP
3
##
4
##      Copyright (C) 2014-2016  Alireza Monemi
5
##
6 42 alirezamon
##      This file is part of ProNoC 1.8.1
7 38 alirezamon
##
8
##      WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT
9
##      MAY CAUSE UNEXPECTED BEHAIVOR.
10
################################################################################
11
 
12
$ipgen = bless( {
13 42 alirezamon
                  'gui_status' => {
14
                                    'timeout' => 0,
15
                                    'status' => 'ideal'
16
                                  },
17
                  'modules' => {
18
                                 'mor1k' => {}
19
                               },
20
                  'hdl_files' => [
21
                                   '/mpsoc/src_processor/mor1kx-3.1/rtl/verilog/mor1kx.v',
22
                                   '/mpsoc/src_processor/mor1kx-3.1/rtl/verilog/mor1kx_branch_prediction.v',
23
                                   '/mpsoc/src_processor/mor1kx-3.1/rtl/verilog/mor1kx_bus_if_avalon.v',
24
                                   '/mpsoc/src_processor/mor1kx-3.1/rtl/verilog/mor1kx_bus_if_wb32.v',
25
                                   '/mpsoc/src_processor/mor1kx-3.1/rtl/verilog/mor1kx_cache_lru.v',
26
                                   '/mpsoc/src_processor/mor1kx-3.1/rtl/verilog/mor1kx_cfgrs.v',
27
                                   '/mpsoc/src_processor/mor1kx-3.1/rtl/verilog/mor1kx_cpu.v',
28
                                   '/mpsoc/src_processor/mor1kx-3.1/rtl/verilog/mor1kx_cpu_cappuccino.v',
29
                                   '/mpsoc/src_processor/mor1kx-3.1/rtl/verilog/mor1kx_cpu_espresso.v',
30
                                   '/mpsoc/src_processor/mor1kx-3.1/rtl/verilog/mor1kx_cpu_prontoespresso.v',
31
                                   '/mpsoc/src_processor/mor1kx-3.1/rtl/verilog/mor1kx_ctrl_cappuccino.v',
32
                                   '/mpsoc/src_processor/mor1kx-3.1/rtl/verilog/mor1kx_ctrl_espresso.v',
33
                                   '/mpsoc/src_processor/mor1kx-3.1/rtl/verilog/mor1kx_ctrl_prontoespresso.v',
34
                                   '/mpsoc/src_processor/mor1kx-3.1/rtl/verilog/mor1kx_dcache.v',
35
                                   '/mpsoc/src_processor/mor1kx-3.1/rtl/verilog/mor1kx_decode.v',
36
                                   '/mpsoc/src_processor/mor1kx-3.1/rtl/verilog/mor1kx_decode_execute_cappuccino.v',
37
                                   '/mpsoc/src_processor/mor1kx-3.1/rtl/verilog/mor1kx-defines.v',
38
                                   '/mpsoc/src_processor/mor1kx-3.1/rtl/verilog/mor1kx_dmmu.v',
39
                                   '/mpsoc/src_processor/mor1kx-3.1/rtl/verilog/mor1kx_execute_alu.v',
40
                                   '/mpsoc/src_processor/mor1kx-3.1/rtl/verilog/mor1kx_execute_ctrl_cappuccino.v',
41
                                   '/mpsoc/src_processor/mor1kx-3.1/rtl/verilog/mor1kx_fetch_cappuccino.v',
42
                                   '/mpsoc/src_processor/mor1kx-3.1/rtl/verilog/mor1kx_fetch_espresso.v',
43
                                   '/mpsoc/src_processor/mor1kx-3.1/rtl/verilog/mor1kx_fetch_prontoespresso.v',
44
                                   '/mpsoc/src_processor/mor1kx-3.1/rtl/verilog/mor1kx_fetch_tcm_prontoespresso.v',
45
                                   '/mpsoc/src_processor/mor1kx-3.1/rtl/verilog/mor1kx_icache.v',
46
                                   '/mpsoc/src_processor/mor1kx-3.1/rtl/verilog/mor1kx_immu.v',
47
                                   '/mpsoc/src_processor/mor1kx-3.1/rtl/verilog/mor1kx_lsu_cappuccino.v',
48
                                   '/mpsoc/src_processor/mor1kx-3.1/rtl/verilog/mor1kx_lsu_espresso.v',
49
                                   '/mpsoc/src_processor/mor1kx-3.1/rtl/verilog/mor1kx_pic.v',
50
                                   '/mpsoc/src_processor/mor1kx-3.1/rtl/verilog/mor1kx_rf_cappuccino.v',
51
                                   '/mpsoc/src_processor/mor1kx-3.1/rtl/verilog/mor1kx_rf_espresso.v',
52
                                   '/mpsoc/src_processor/mor1kx-3.1/rtl/verilog/mor1kx_simple_dpram_sclk.v',
53
                                   '/mpsoc/src_processor/mor1kx-3.1/rtl/verilog/mor1kx-sprs.v',
54
                                   '/mpsoc/src_processor/mor1kx-3.1/rtl/verilog/mor1kx_store_buffer.v',
55
                                   '/mpsoc/src_processor/mor1kx-3.1/rtl/verilog/mor1kx_ticktimer.v',
56
                                   '/mpsoc/src_processor/mor1kx-3.1/rtl/verilog/mor1kx_true_dpram_sclk.v',
57
                                   '/mpsoc/src_processor/mor1kx-3.1/rtl/verilog/mor1kx_utils.vh',
58
                                   '/mpsoc/src_processor/mor1kx-3.1/rtl/verilog/mor1kx_wb_mux_cappuccino.v',
59
                                   '/mpsoc/src_processor/mor1kx-3.1/rtl/verilog/mor1kx_wb_mux_espresso.v',
60
                                   '/mpsoc/src_processor/mor1kx-3.1/rtl/mor1k.v'
61
                                 ],
62
                  'module_name' => 'mor1k',
63 38 alirezamon
                  'parameters_order' => [
64
                                          'OPTION_OPERAND_WIDTH',
65 42 alirezamon
                                          'IRQ_NUM',
66
                                          'OPTION_DCACHE_SNOOP',
67
                                          'FEATURE_INSTRUCTIONCACHE',
68
                                          'FEATURE_DATACACHE',
69
                                          'FEATURE_IMMU',
70
                                          'FEATURE_DMMU'
71 38 alirezamon
                                        ],
72 42 alirezamon
                  'sw_files' => [
73
                                  '/mpsoc/src_processor/mor1kx-3.1/sw/link.ld',
74
                                  '/mpsoc/src_processor/mor1kx-3.1/sw/Makefile',
75
                                  '/mpsoc/src_processor/mor1kx-3.1/sw/mor1kx',
76
                                  '/mpsoc/src_processor/src_lib/simple-printf',
77
                                  '/mpsoc/src_processor/mor1kx-3.1/sw/define_printf.h'
78
                                ],
79
                  'version' => 17,
80 38 alirezamon
                  'sockets' => {
81
                                 'interrupt_peripheral' => {
82 42 alirezamon
                                                             'type' => 'param',
83 38 alirezamon
                                                             'value' => 'IRQ_NUM',
84
                                                             '0' => {
85
                                                                      'name' => 'interrupt_peripheral'
86
                                                                    },
87 42 alirezamon
                                                             'connection_num' => 'single connection'
88 38 alirezamon
                                                           }
89
                               },
90 42 alirezamon
                  'ip_name' => 'mor1kx',
91
                  'category' => 'Processor',
92
                  'file_name' => '/home/alireza/mywork/mpsoc/src_processor/mor1kx-3.1/rtl/mor1k.v',
93 38 alirezamon
                  'unused' => {
94
                                'plug:wb_master[1]' => [
95
                                                         'tag_o'
96
                                                       ],
97
                                'plug:wb_master[0]' => [
98
                                                         'tag_o'
99
                                                       ]
100
                              },
101
                  'parameters' => {
102 42 alirezamon
                                    'FEATURE_IMMU' => {
103
                                                        'content' => '"NONE","ENABLED"',
104
                                                        'type' => 'Combo-box',
105
                                                        'default' => '"ENABLED"',
106
                                                        'global_param' => 'Parameter',
107
                                                        'redefine_param' => 1,
108
                                                        'info' => ''
109
                                                      },
110
                                    'OPTION_OPERAND_WIDTH' => {
111
                                                                'type' => 'Fixed',
112
                                                                'default' => '32',
113
                                                                'content' => '',
114
                                                                'info' => 'Parameter',
115
                                                                'redefine_param' => 1,
116
                                                                'global_param' => 'Parameter'
117
                                                              },
118
                                    'FEATURE_DMMU' => {
119
                                                        'info' => '',
120
                                                        'global_param' => 'Parameter',
121
                                                        'redefine_param' => 1,
122
                                                        'type' => 'Combo-box',
123
                                                        'default' => '"ENABLED"',
124
                                                        'content' => '"NONE","ENABLED"'
125
                                                      },
126
                                    'FEATURE_INSTRUCTIONCACHE' => {
127
                                                                    'redefine_param' => 1,
128
                                                                    'global_param' => 'Parameter',
129
                                                                    'info' => '',
130
                                                                    'content' => '"NONE","ENABLED"',
131
                                                                    'default' => '"ENABLED"',
132
                                                                    'type' => 'Combo-box'
133
                                                                  },
134
                                    'OPTION_DCACHE_SNOOP' => {
135
                                                               'info' => '',
136
                                                               'redefine_param' => 1,
137
                                                               'global_param' => 'Parameter',
138
                                                               'default' => '"NONE"',
139
                                                               'type' => 'Combo-box',
140
                                                               'content' => '"NONE","ENABLED"'
141
                                                             },
142
                                    'FEATURE_DATACACHE' => {
143
                                                             'content' => '"NONE","ENABLED"',
144
                                                             'default' => '"ENABLED"',
145
                                                             'type' => 'Combo-box',
146
                                                             'redefine_param' => 1,
147
                                                             'global_param' => 'Parameter',
148
                                                             'info' => ''
149
                                                           },
150 38 alirezamon
                                    'IRQ_NUM' => {
151
                                                   'content' => '',
152
                                                   'type' => 'Fixed',
153
                                                   'default' => '32',
154 42 alirezamon
                                                   'redefine_param' => 1,
155 38 alirezamon
                                                   'global_param' => 'Parameter',
156
                                                   'info' => undef
157 42 alirezamon
                                                 }
158 38 alirezamon
                                  },
159
                  'plugs' => {
160
                               'reset' => {
161
                                            '0' => {
162
                                                     'name' => 'reset'
163
                                                   },
164 42 alirezamon
                                            'value' => 1,
165
                                            'type' => 'num'
166 38 alirezamon
                                          },
167 42 alirezamon
                               'clk' => {
168
                                          '0' => {
169
                                                   'name' => 'clk'
170
                                                 },
171
                                          'value' => 1,
172
                                          'type' => 'num'
173
                                        },
174 38 alirezamon
                               'enable' => {
175 42 alirezamon
                                             'type' => 'num',
176 38 alirezamon
                                             'value' => 1,
177
                                             '0' => {
178
                                                      'name' => 'enable'
179 42 alirezamon
                                                    }
180 38 alirezamon
                                           },
181
                               'wb_master' => {
182
                                                '1' => {
183
                                                         'name' => 'dwb'
184
                                                       },
185
                                                '0' => {
186
                                                         'name' => 'iwb'
187
                                                       },
188
                                                'value' => 2,
189
                                                'type' => 'num'
190 42 alirezamon
                                              },
191
                               'snoop' => {
192
                                            'type' => 'num',
193
                                            '0' => {
194
                                                     'name' => 'snoop'
195
                                                   },
196
                                            'value' => 1
197
                                          }
198 38 alirezamon
                             },
199
                  'ports_order' => [
200
                                     'clk',
201
                                     'rst',
202
                                     'cpu_en',
203 42 alirezamon
                                     'snoop_adr_i',
204
                                     'snoop_en_i',
205 38 alirezamon
                                     'iwbm_adr_o',
206
                                     'iwbm_stb_o',
207
                                     'iwbm_cyc_o',
208
                                     'iwbm_sel_o',
209
                                     'iwbm_we_o',
210
                                     'iwbm_cti_o',
211
                                     'iwbm_bte_o',
212
                                     'iwbm_dat_o',
213
                                     'iwbm_err_i',
214
                                     'iwbm_ack_i',
215
                                     'iwbm_dat_i',
216
                                     'iwbm_rty_i',
217
                                     'dwbm_adr_o',
218
                                     'dwbm_stb_o',
219
                                     'dwbm_cyc_o',
220
                                     'dwbm_sel_o',
221
                                     'dwbm_we_o',
222
                                     'dwbm_cti_o',
223
                                     'dwbm_bte_o',
224
                                     'dwbm_dat_o',
225
                                     'dwbm_err_i',
226
                                     'dwbm_ack_i',
227
                                     'dwbm_dat_i',
228
                                     'dwbm_rty_i',
229
                                     'irq_i'
230
                                   ],
231
                  'system_h' => ' #include "mor1kx/system.h"
232
 
233
 inline void nop (){
234
        __asm__("l.nop 1");
235
 }
236
/*********************
237
//Interrupt template: check mor1kx/int.c for more information
238
// interrupt function
239
void hw_isr(void){
240
        //place your interrupt code here
241
 
242
 
243
        HW_ISR=HW_ISR; //ack the interrupt at the end of isr function
244
        return;
245
}
246
 
247
int main(){
248
 
249
        int_init();
250
        //assume hw interrupt pin is connected to 10th cpu intrrupt pin
251
        int_add(10, hw_isr, 0);
252
        // Enable this interrupt
253
        int_enable(10);
254
        cpu_enable_user_interrupts();
255
        hw_init ( ); // hw interrupt enable function
256
        while(1){
257
        //place rest of the code
258
 
259
        }
260
}
261
*******************************/',
262 42 alirezamon
                  'ports' => {
263
                               'iwbm_stb_o' => {
264
                                                 'intfc_name' => 'plug:wb_master[0]',
265
                                                 'type' => 'output',
266
                                                 'intfc_port' => 'stb_o',
267
                                                 'range' => ''
268
                                               },
269
                               'dwbm_sel_o' => {
270
                                                 'intfc_port' => 'sel_o',
271
                                                 'type' => 'output',
272
                                                 'range' => '3:0',
273
                                                 'intfc_name' => 'plug:wb_master[1]'
274
                                               },
275
                               'iwbm_sel_o' => {
276
                                                 'intfc_name' => 'plug:wb_master[0]',
277
                                                 'intfc_port' => 'sel_o',
278
                                                 'type' => 'output',
279
                                                 'range' => '3:0'
280
                                               },
281
                               'dwbm_stb_o' => {
282
                                                 'intfc_name' => 'plug:wb_master[1]',
283
                                                 'range' => '',
284
                                                 'intfc_port' => 'stb_o',
285
                                                 'type' => 'output'
286
                                               },
287
                               'iwbm_adr_o' => {
288
                                                 'intfc_name' => 'plug:wb_master[0]',
289
                                                 'range' => '31:0',
290
                                                 'intfc_port' => 'adr_o',
291
                                                 'type' => 'output'
292
                                               },
293
                               'iwbm_err_i' => {
294
                                                 'type' => 'input',
295
                                                 'intfc_port' => 'err_i',
296
                                                 'range' => '',
297
                                                 'intfc_name' => 'plug:wb_master[0]'
298
                                               },
299
                               'dwbm_cyc_o' => {
300
                                                 'intfc_name' => 'plug:wb_master[1]',
301
                                                 'type' => 'output',
302
                                                 'range' => '',
303
                                                 'intfc_port' => 'cyc_o'
304
                                               },
305
                               'clk' => {
306
                                          'range' => '',
307
                                          'intfc_port' => 'clk_i',
308
                                          'type' => 'input',
309
                                          'intfc_name' => 'plug:clk[0]'
310
                                        },
311
                               'dwbm_err_i' => {
312
                                                 'range' => '',
313
                                                 'intfc_port' => 'err_i',
314
                                                 'type' => 'input',
315
                                                 'intfc_name' => 'plug:wb_master[1]'
316
                                               },
317
                               'iwbm_rty_i' => {
318
                                                 'intfc_name' => 'plug:wb_master[0]',
319
                                                 'type' => 'input',
320
                                                 'intfc_port' => 'rty_i',
321
                                                 'range' => ''
322
                                               },
323
                               'dwbm_dat_o' => {
324
                                                 'type' => 'output',
325
                                                 'intfc_port' => 'dat_o',
326
                                                 'range' => '31:0',
327
                                                 'intfc_name' => 'plug:wb_master[1]'
328
                                               },
329
                               'cpu_en' => {
330
                                             'intfc_name' => 'plug:enable[0]',
331
                                             'type' => 'input',
332
                                             'intfc_port' => 'enable_i',
333
                                             'range' => ''
334
                                           },
335
                               'iwbm_bte_o' => {
336
                                                 'intfc_name' => 'plug:wb_master[0]',
337
                                                 'type' => 'output',
338
                                                 'intfc_port' => 'bte_o',
339
                                                 'range' => '1:0'
340
                                               },
341
                               'iwbm_ack_i' => {
342
                                                 'intfc_name' => 'plug:wb_master[0]',
343
                                                 'range' => '',
344
                                                 'intfc_port' => 'ack_i',
345
                                                 'type' => 'input'
346
                                               },
347
                               'dwbm_rty_i' => {
348
                                                 'type' => 'input',
349
                                                 'intfc_port' => 'rty_i',
350
                                                 'range' => '',
351
                                                 'intfc_name' => 'plug:wb_master[1]'
352
                                               },
353
                               'dwbm_ack_i' => {
354
                                                 'type' => 'input',
355
                                                 'intfc_port' => 'ack_i',
356
                                                 'range' => '',
357
                                                 'intfc_name' => 'plug:wb_master[1]'
358
                                               },
359
                               'snoop_en_i' => {
360
                                                 'intfc_name' => 'plug:snoop[0]',
361
                                                 'intfc_port' => 'snoop_en_i',
362
                                                 'range' => '',
363
                                                 'type' => 'input'
364
                                               },
365
                               'dwbm_adr_o' => {
366
                                                 'intfc_name' => 'plug:wb_master[1]',
367
                                                 'range' => '31:0',
368
                                                 'intfc_port' => 'adr_o',
369
                                                 'type' => 'output'
370
                                               },
371
                               'iwbm_cyc_o' => {
372
                                                 'intfc_port' => 'cyc_o',
373
                                                 'range' => '',
374
                                                 'type' => 'output',
375
                                                 'intfc_name' => 'plug:wb_master[0]'
376
                                               },
377
                               'dwbm_bte_o' => {
378
                                                 'intfc_name' => 'plug:wb_master[1]',
379
                                                 'range' => '1:0',
380
                                                 'type' => 'output',
381
                                                 'intfc_port' => 'bte_o'
382
                                               },
383
                               'dwbm_dat_i' => {
384
                                                 'range' => '31:0',
385
                                                 'type' => 'input',
386
                                                 'intfc_port' => 'dat_i',
387
                                                 'intfc_name' => 'plug:wb_master[1]'
388
                                               },
389
                               'irq_i' => {
390
                                            'intfc_name' => 'socket:interrupt_peripheral[array]',
391
                                            'type' => 'input',
392
                                            'intfc_port' => 'int_i',
393
                                            'range' => '31:0'
394
                                          },
395
                               'snoop_adr_i' => {
396
                                                  'intfc_name' => 'plug:snoop[0]',
397
                                                  'intfc_port' => 'snoop_adr_i',
398
                                                  'range' => '31:0',
399
                                                  'type' => 'input'
400
                                                },
401
                               'dwbm_cti_o' => {
402
                                                 'intfc_port' => 'cti_o',
403
                                                 'range' => '2:0',
404
                                                 'type' => 'output',
405
                                                 'intfc_name' => 'plug:wb_master[1]'
406
                                               },
407
                               'iwbm_dat_o' => {
408
                                                 'intfc_name' => 'plug:wb_master[0]',
409
                                                 'range' => '31:0',
410
                                                 'intfc_port' => 'dat_o',
411
                                                 'type' => 'output'
412
                                               },
413
                               'iwbm_dat_i' => {
414
                                                 'type' => 'input',
415
                                                 'intfc_port' => 'dat_i',
416
                                                 'range' => '31:0',
417
                                                 'intfc_name' => 'plug:wb_master[0]'
418
                                               },
419
                               'iwbm_we_o' => {
420
                                                'intfc_port' => 'we_o',
421
                                                'type' => 'output',
422
                                                'range' => '',
423
                                                'intfc_name' => 'plug:wb_master[0]'
424
                                              },
425
                               'iwbm_cti_o' => {
426
                                                 'intfc_name' => 'plug:wb_master[0]',
427
                                                 'range' => '2:0',
428
                                                 'intfc_port' => 'cti_o',
429
                                                 'type' => 'output'
430
                                               },
431
                               'dwbm_we_o' => {
432
                                                'intfc_port' => 'we_o',
433
                                                'type' => 'output',
434
                                                'range' => '',
435
                                                'intfc_name' => 'plug:wb_master[1]'
436
                                              },
437
                               'rst' => {
438
                                          'intfc_name' => 'plug:reset[0]',
439
                                          'range' => '',
440
                                          'intfc_port' => 'reset_i',
441
                                          'type' => 'input'
442
                                        }
443
                             }
444 38 alirezamon
                }, 'ip_gen' );

powered by: WebSVN 2.1.0

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