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 38

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

powered by: WebSVN 2.1.0

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