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/] [Or1200.IP] - Blame information for rev 48

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 38 alirezamon
#######################################################################
2
##      File: Or1200.IP
3
##
4 48 alirezamon
##      Copyright (C) 2014-2019  Alireza Monemi
5 38 alirezamon
##
6 48 alirezamon
##      This file is part of ProNoC 1.9.1
7 38 alirezamon
##
8
##      WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT
9
##      MAY CAUSE UNEXPECTED BEHAIVOR.
10
################################################################################
11
 
12 48 alirezamon
$ipgen = bless( {
13
                  'ip_name' => 'Or1200',
14
                  'parameters_order' => [
15
                                          'dw',
16
                                          'aw',
17
                                          'ppic_ints',
18
                                          'boot_adr',
19
                                          'Data_cashe_size',
20
                                          'Instruction_cashe_size',
21
                                          'Data_cashe_enable',
22
                                          'Instruction_cashe_enable',
23
                                          'Data_MMU_enable',
24
                                          'Instruction_MMU_enable',
25
                                          'implementation_addc',
26
                                          'implement_sub',
27
                                          'implement_cy',
28
                                          'implement_0v',
29
                                          'implement_OVE',
30
                                          'implement_alu_rotate',
31
                                          'implement_alu_compare',
32
                                          'implement_alu_ext',
33
                                          'multiplier_type',
34
                                          'divider_type'
35
                                        ],
36
                  'version' => 34,
37
                  'hdl_files' => [
38
                                   '/mpsoc/src_processor/or1200/verilog/or1200.v',
39
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_alu.v',
40
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_amultp2_32x32.v',
41
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_cfgr.v',
42
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_cpu.v',
43
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_ctrl.v',
44
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_dc_fsm.v',
45
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_dc_ram.v',
46
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_dc_tag.v',
47
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_dc_top.v',
48
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_dmmu_tlb.v',
49
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_dmmu_top.v',
50
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_dpram.v',
51
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_dpram_32x32.v',
52
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_dpram_256x32.v',
53
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_du.v',
54
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_except.v',
55
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_fpu.v',
56
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_fpu_addsub.v',
57
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_fpu_arith.v',
58
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_fpu_div.v',
59
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_fpu_fcmp.v',
60
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_fpu_intfloat_conv.v',
61
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_fpu_intfloat_conv_except.v',
62
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_fpu_mul.v',
63
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_fpu_post_norm_addsub.v',
64
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_fpu_post_norm_div.v',
65
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_fpu_post_norm_intfloat_conv.v',
66
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_fpu_post_norm_mul.v',
67
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_fpu_pre_norm_addsub.v',
68
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_fpu_pre_norm_div.v',
69
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_fpu_pre_norm_mul.v',
70
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_freeze.v',
71
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_genpc.v',
72
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_gmultp2_32x32.v',
73
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_ic_fsm.v',
74
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_ic_ram.v',
75
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_ic_tag.v',
76
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_ic_top.v',
77
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_if.v',
78
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_immu_tlb.v',
79
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_immu_top.v',
80
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_iwb_biu.v',
81
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_lsu.v',
82
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_mem2reg.v',
83
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_mult_mac.v',
84
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_operandmuxes.v',
85
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_pic.v',
86
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_pm.v',
87
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_qmem_top.v',
88
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_reg2mem.v',
89
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_rf.v',
90
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_rfram_generic.v',
91
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_sb.v',
92
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_sb_fifo.v',
93
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_spram.v',
94
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_spram_32_bw.v',
95
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_spram_32x24.v',
96
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_spram_64x14.v',
97
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_spram_64x22.v',
98
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_spram_64x24.v',
99
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_spram_128x32.v',
100
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_spram_256x21.v',
101
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_spram_512x20.v',
102
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_spram_1024x8.v',
103
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_spram_1024x32.v',
104
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_spram_1024x32_bw.v',
105
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_spram_2048x8.v',
106
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_spram_2048x32.v',
107
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_spram_2048x32_bw.v',
108
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_sprs.v',
109
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_top.v',
110
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_tpram_32x32.v',
111
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_tt.v',
112
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_wb_biu.v',
113
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_wbmux.v',
114
                                   '/mpsoc/src_processor/or1200/verilog/src/or1200_xcv_ram32x8d.v',
115
                                   '/mpsoc/src_processor/or1200/verilog/src/timescale.v'
116 38 alirezamon
                                 ],
117 48 alirezamon
                  'gen_hw_files' => [
118
                                      '/mpsoc/src_processor/or1200/verilog/or1200_definesfrename_sep_tlib/or1200_defines.v'
119
                                    ],
120
                  'ports' => {
121
                               'iwb_stb_o' => {
122
                                                'intfc_port' => 'stb_o',
123 38 alirezamon
                                                'type' => 'output',
124 48 alirezamon
                                                'intfc_name' => 'plug:wb_master[0]',
125
                                                'range' => ''
126 38 alirezamon
                                              },
127 48 alirezamon
                               'en_i' => {
128
                                           'intfc_name' => 'plug:enable[0]',
129
                                           'type' => 'input',
130 38 alirezamon
                                           'range' => '',
131 48 alirezamon
                                           'intfc_port' => 'enable_i'
132 38 alirezamon
                                         },
133 48 alirezamon
                               'iwb_bte_o' => {
134
                                                'intfc_port' => 'bte_o',
135
                                                'intfc_name' => 'plug:wb_master[0]',
136
                                                'type' => 'output',
137
                                                'range' => '1:0'
138
                                              },
139
                               'dwb_dat_o' => {
140
                                                'intfc_port' => 'dat_o',
141
                                                'range' => 'dw-1:0',
142
                                                'intfc_name' => 'plug:wb_master[1]',
143
                                                'type' => 'output'
144
                                              },
145
                               'iwb_err_i' => {
146
                                                'range' => '',
147
                                                'type' => 'input',
148
                                                'intfc_name' => 'plug:wb_master[0]',
149
                                                'intfc_port' => 'err_i'
150
                                              },
151
                               'reset' => {
152
                                            'intfc_port' => 'reset_i',
153
                                            'intfc_name' => 'plug:reset[0]',
154
                                            'type' => 'input'
155 38 alirezamon
                                          },
156 48 alirezamon
                               'dwb_stb_o' => {
157
                                                'intfc_port' => 'stb_o',
158
                                                'range' => '',
159
                                                'type' => 'output',
160
                                                'intfc_name' => 'plug:wb_master[1]'
161
                                              },
162
                               'iwb_dat_o' => {
163
                                                'intfc_port' => 'dat_o',
164
                                                'range' => 'dw-1:0',
165 38 alirezamon
                                                'intfc_name' => 'plug:wb_master[0]',
166 48 alirezamon
                                                'type' => 'output'
167
                                              },
168
                               'iwb_rty_i' => {
169
                                                'intfc_port' => 'rty_i',
170 38 alirezamon
                                                'range' => '',
171 48 alirezamon
                                                'type' => 'input',
172
                                                'intfc_name' => 'plug:wb_master[0]'
173
                                              },
174
                               'dwb_we_o' => {
175
                                               'intfc_port' => 'we_o',
176
                                               'type' => 'output',
177
                                               'intfc_name' => 'plug:wb_master[1]',
178
                                               'range' => ''
179
                                             },
180
                               'iwb_dat_i' => {
181
                                                'range' => 'dw-1:0',
182
                                                'intfc_name' => 'plug:wb_master[0]',
183
                                                'type' => 'input',
184
                                                'intfc_port' => 'dat_i'
185
                                              },
186
                               'iwb_we_o' => {
187
                                               'intfc_port' => 'we_o',
188
                                               'type' => 'output',
189
                                               'intfc_name' => 'plug:wb_master[0]',
190
                                               'range' => ''
191
                                             },
192
                               'dwb_cyc_o' => {
193
                                                'intfc_port' => 'cyc_o',
194
                                                'range' => '',
195
                                                'intfc_name' => 'plug:wb_master[1]',
196 38 alirezamon
                                                'type' => 'output'
197
                                              },
198 48 alirezamon
                               'dwb_cti_o' => {
199
                                                'intfc_port' => 'cti_o',
200
                                                'range' => '2:0',
201
                                                'intfc_name' => 'plug:wb_master[1]',
202
                                                'type' => 'output'
203
                                              },
204
                               'iwb_cyc_o' => {
205
                                                'intfc_name' => 'plug:wb_master[0]',
206
                                                'type' => 'output',
207
                                                'range' => '',
208
                                                'intfc_port' => 'cyc_o'
209
                                              },
210
                               'dwb_err_i' => {
211
                                                'intfc_port' => 'err_i',
212
                                                'range' => '',
213
                                                'intfc_name' => 'plug:wb_master[1]',
214
                                                'type' => 'input'
215
                                              },
216
                               'pic_ints_i' => {
217
                                                 'intfc_port' => 'int_i',
218
                                                 'range' => 'ppic_ints-1:0',
219
                                                 'intfc_name' => 'socket:interrupt_peripheral[array]',
220
                                                 'type' => 'input'
221 38 alirezamon
                                               },
222 48 alirezamon
                               'iwb_sel_o' => {
223
                                                'intfc_port' => 'sel_o',
224
                                                'range' => '3:0',
225
                                                'intfc_name' => 'plug:wb_master[0]',
226
                                                'type' => 'output'
227
                                              },
228
                               'dwb_rty_i' => {
229
                                                'intfc_port' => 'rty_i',
230
                                                'type' => 'input',
231
                                                'intfc_name' => 'plug:wb_master[1]',
232
                                                'range' => ''
233
                                              },
234
                               'dwb_adr_o' => {
235
                                                'intfc_port' => 'adr_o',
236
                                                'range' => 'aw-1:0',
237
                                                'intfc_name' => 'plug:wb_master[1]',
238
                                                'type' => 'output'
239
                                              },
240
                               'iwb_cti_o' => {
241
                                                'intfc_port' => 'cti_o',
242
                                                'intfc_name' => 'plug:wb_master[0]',
243
                                                'type' => 'output',
244
                                                'range' => '2:0'
245
                                              },
246
                               'dwb_sel_o' => {
247
                                                'type' => 'output',
248
                                                'intfc_name' => 'plug:wb_master[1]',
249
                                                'range' => '3:0',
250
                                                'intfc_port' => 'sel_o'
251
                                              },
252
                               'iwb_adr_o' => {
253
                                                'range' => 'aw-1:0',
254
                                                'intfc_name' => 'plug:wb_master[0]',
255
                                                'type' => 'output',
256
                                                'intfc_port' => 'adr_o'
257
                                              },
258
                               'dwb_bte_o' => {
259
                                                'intfc_port' => 'bte_o',
260
                                                'range' => '1:0',
261
                                                'intfc_name' => 'plug:wb_master[1]',
262
                                                'type' => 'output'
263
                                              },
264
                               'dwb_dat_i' => {
265
                                                'intfc_name' => 'plug:wb_master[1]',
266
                                                'type' => 'input',
267
                                                'range' => 'dw-1:0',
268
                                                'intfc_port' => 'dat_i'
269
                                              },
270
                               'iwb_ack_i' => {
271
                                                'range' => '',
272
                                                'type' => 'input',
273
                                                'intfc_name' => 'plug:wb_master[0]',
274
                                                'intfc_port' => 'ack_i'
275
                                              },
276
                               'clk' => {
277
                                          'intfc_port' => 'clk_i',
278
                                          'range' => '',
279
                                          'type' => 'input',
280
                                          'intfc_name' => 'plug:clk[0]'
281
                                        },
282
                               'dwb_ack_i' => {
283
                                                'range' => '',
284
                                                'intfc_name' => 'plug:wb_master[1]',
285
                                                'type' => 'input',
286
                                                'intfc_port' => 'ack_i'
287
                                              }
288
                             },
289
                  'system_h' => ' #include "or1200/system.h"
290
 
291
 
292
static inline void nop (){
293
        __asm__("l.nop 1");
294
}',
295
                  'plugs' => {
296
                               'reset' => {
297
                                            '0' => {
298
                                                     'name' => 'reset'
299
                                                   },
300
                                            'type' => 'num',
301
                                            'value' => 1
302
                                          },
303
                               'clk' => {
304
                                          'value' => 1,
305
                                          'type' => 'num',
306
                                          '0' => {
307
                                                   'name' => 'clk'
308
                                                 }
309
                                        },
310
                               'wb_master' => {
311
                                                'type' => 'num',
312
                                                '0' => {
313
                                                         'name' => 'iwb'
314
                                                       },
315
                                                '1' => {
316
                                                         'name' => 'dwb'
317
                                                       },
318
                                                'value' => 2
319
                                              },
320
                               'enable' => {
321
                                             '0' => {
322
                                                      'name' => 'enable'
323
                                                    },
324
                                             'type' => 'num',
325
                                             'value' => 1,
326
                                             'enable' => {}
327
                                           }
328
                             },
329
                  'ports_order' => [
330
                                     'clk',
331
                                     'reset',
332
                                     'en_i',
333
                                     'pic_ints_i',
334
                                     'iwb_ack_i',
335
                                     'iwb_err_i',
336
                                     'iwb_rty_i',
337
                                     'iwb_dat_i',
338
                                     'iwb_cyc_o',
339
                                     'iwb_adr_o',
340
                                     'iwb_stb_o',
341
                                     'iwb_we_o',
342
                                     'iwb_sel_o',
343
                                     'iwb_dat_o',
344
                                     'iwb_cti_o',
345
                                     'iwb_bte_o',
346
                                     'dwb_ack_i',
347
                                     'dwb_err_i',
348
                                     'dwb_rty_i',
349
                                     'dwb_dat_i',
350
                                     'dwb_cyc_o',
351
                                     'dwb_adr_o',
352
                                     'dwb_stb_o',
353
                                     'dwb_we_o',
354
                                     'dwb_sel_o',
355
                                     'dwb_dat_o',
356
                                     'dwb_cti_o',
357
                                     'dwb_bte_o'
358
                                   ],
359
                  'modules' => {
360
                                 'or1200' => {}
361
                               },
362
                  'unused' => {
363
                                'plug:wb_master[0]' => [
364
                                                         'tag_o'
365
                                                       ],
366
                                'plug:wb_master[1]' => [
367
                                                         'tag_o'
368
                                                       ]
369 38 alirezamon
                              },
370 48 alirezamon
                  'parameters' => {
371
                                    'implement_alu_ext' => {
372
                                                             'redefine_param' => 0,
373
                                                             'info' => 'Implement l.extXs and l.extXz instructions',
374
                                                             'default' => 'NO_EXT',
375
                                                             'type' => 'Combo-box',
376
                                                             'global_param' => 'Don\'t include',
377
                                                             'content' => 'EXT,NO_EXT'
378
                                                           },
379
                                    'multiplier_type' => {
380
                                                           'global_param' => 'Don\'t include',
381
                                                           'content' => 'SERIAL,PARALLEL',
382
                                                           'default' => 'SERIAL',
383
                                                           'redefine_param' => 0,
384
                                                           'info' => undef,
385
                                                           'type' => 'Combo-box'
386
                                                         },
387
                                    'Instruction_cashe_size' => {
388
                                                                  'default' => '8K',
389
                                                                  'redefine_param' => 0,
390
                                                                  'info' => 'Instruction Cashe Size in B',
391
                                                                  'type' => 'Combo-box',
392
                                                                  'global_param' => 'Don\'t include',
393
                                                                  'content' => '512,4K,8K,16K,32K'
394
                                                                },
395
                                    'divider_type' => {
396
                                                        'global_param' => 'Don\'t include',
397
                                                        'content' => 'SERIAL,PARALLEL',
398
                                                        'info' => undef,
399
                                                        'redefine_param' => 0,
400
                                                        'default' => 'SERIAL',
401
                                                        'type' => 'Combo-box'
402
                                                      },
403
                                    'dw' => {
404
                                              'global_param' => 'Localparam',
405
                                              'content' => '',
406
                                              'default' => '32',
407
                                              'info' => 'Parameter',
408
                                              'redefine_param' => 1,
409
                                              'type' => 'Fixed'
410
                                            },
411
                                    'implement_alu_compare' => {
412
                                                                 'default' => '2',
413
                                                                 'redefine_param' => 0,
414
                                                                 'info' => 'Type of ALU compare to implement
415
Try to find which synthesizes with most efficient logic use or highest speed.',
416
                                                                 'type' => 'Combo-box',
417
                                                                 'global_param' => 'Don\'t include',
418
                                                                 'content' => '1,2,3'
419
                                                               },
420
                                    'implement_alu_rotate' => {
421
                                                                'type' => 'Combo-box',
422
                                                                'default' => 'ROTATE',
423
                                                                'info' => 'Implement rotate in the ALU
424
At the time of writing this, or32  C/C++ compiler doesn\'t generate rotate instructions. However or32 assembler can assemble code that uses rotate insn.
425
This means that rotate instructions must be used manually inserted.
426
By default implementation of rotate is disabled to save area and increase is disabled to save area and increase clock frequency.',
427
                                                                'redefine_param' => 0,
428
                                                                'content' => 'ROTATE,NO_ROTATE',
429
                                                                'global_param' => 'Don\'t include'
430
                                                              },
431
                                    'implement_OVE' => {
432
                                                         'global_param' => 'Don\'t include',
433
                                                         'content' => 'OVE,NO_OVE',
434
                                                         'default' => 'NO_OVE',
435 38 alirezamon
                                                         'redefine_param' => 0,
436 48 alirezamon
                                                         'info' => 'Implement carry bit SR[OVE]
437
Overflow interrupt indicator. When enabled, SR[OV] flag does not remain asserted after exception.',
438 38 alirezamon
                                                         'type' => 'Combo-box'
439
                                                       },
440 48 alirezamon
                                    'Data_cashe_enable' => {
441
                                                             'type' => 'Combo-box',
442
                                                             'default' => 'YES',
443
                                                             'info' => undef,
444
                                                             'redefine_param' => 0,
445
                                                             'content' => 'NO,YES',
446
                                                             'global_param' => 'Don\'t include'
447
                                                           },
448
                                    'ppic_ints' => {
449
                                                     'default' => '20',
450
                                                     'redefine_param' => 1,
451
                                                     'info' => 'Number of interrupts',
452
                                                     'type' => 'Spin-button',
453
                                                     'global_param' => 'Localparam',
454
                                                     'content' => '3,31,1'
455
                                                   },
456
                                    'Instruction_cashe_enable' => {
457
                                                                    'info' => undef,
458
                                                                    'redefine_param' => 0,
459
                                                                    'default' => 'YES',
460
                                                                    'type' => 'Combo-box',
461
                                                                    'global_param' => 'Don\'t include',
462
                                                                    'content' => 'NO,YES'
463
                                                                  },
464
                                    'implementation_addc' => {
465
                                                               'default' => 'ADDC',
466
                                                               'info' => 'Implement l.addc/l.addic instructions
467 38 alirezamon
By default implementation of l.addc/l.addic  instructions is enabled in case you need them.
468 48 alirezamon
If you don\'t use them, then disable implementation  to save area.',
469
                                                               'redefine_param' => 0,
470
                                                               'type' => 'Combo-box',
471
                                                               'global_param' => 'Don\'t include',
472
                                                               'content' => 'ADDC,NO_ADDC'
473
                                                             },
474
                                    'aw' => {
475
                                              'content' => '',
476
                                              'global_param' => 'Localparam',
477
                                              'type' => 'Fixed',
478
                                              'info' => 'Parameter',
479
                                              'redefine_param' => 1,
480
                                              'default' => '32'
481
                                            },
482
                                    'implement_sub' => {
483
                                                         'content' => 'SUB,NO_SUB',
484
                                                         'global_param' => 'Don\'t include',
485
                                                         'type' => 'Combo-box',
486
                                                         'info' => 'Implement l.sub instruction
487 38 alirezamon
By default implementation of l.sub instructions  is enabled to be compliant with the simulator.
488
If you don\'t use carry bit, then disable  implementation to save area.',
489
                                                         'redefine_param' => 0,
490 48 alirezamon
                                                         'default' => 'SUB'
491 38 alirezamon
                                                       },
492 48 alirezamon
                                    'Data_cashe_size' => {
493
                                                           'global_param' => 'Don\'t include',
494
                                                           'content' => '512,4K,8K,16K,32K',
495
                                                           'default' => '8K',
496
                                                           'redefine_param' => 0,
497
                                                           'info' => 'Data Cashe Size in B',
498
                                                           'type' => 'Combo-box'
499
                                                         },
500
                                    'Data_MMU_enable' => {
501
                                                           'default' => 'YES',
502
                                                           'redefine_param' => 0,
503
                                                           'info' => undef,
504
                                                           'type' => 'Combo-box',
505
                                                           'global_param' => 'Don\'t include',
506
                                                           'content' => 'NO,YES'
507
                                                         },
508
                                    'boot_adr' => {
509
                                                    'type' => 'Fixed',
510
                                                    'default' => '32\'h00000100',
511
                                                    'info' => 'Parameter',
512
                                                    'redefine_param' => 1,
513
                                                    'content' => '',
514
                                                    'global_param' => 'Localparam'
515
                                                  },
516
                                    'implement_0v' => {
517
                                                        'content' => '0V,NO_0V',
518
                                                        'global_param' => 'Don\'t include',
519
                                                        'type' => 'Combo-box',
520
                                                        'default' => '0V',
521
                                                        'redefine_param' => 0,
522
                                                        'info' => 'Implement carry bit SR[OV]
523
Compiler doesn\'t use this, but other code may like  to.'
524
                                                      },
525
                                    'implement_cy' => {
526
                                                        'content' => 'CY,NO_CY',
527
                                                        'global_param' => 'Don\'t include',
528
                                                        'type' => 'Combo-box',
529
                                                        'info' => 'Implement carry bit SR[CY]
530
By default implementation of SR[CY] is enabled  to be compliant with the simulator. However SR[CY] is explicitly only used by l.addc/l.addic/l.sub instructions and if these three insns are not implemented there is not much point having SR[CY].',
531
                                                        'redefine_param' => 0,
532
                                                        'default' => 'CY'
533
                                                      },
534
                                    'Instruction_MMU_enable' => {
535 38 alirezamon
                                                                  'global_param' => 'Don\'t include',
536 48 alirezamon
                                                                  'content' => 'NO,YES',
537 38 alirezamon
                                                                  'redefine_param' => 0,
538 48 alirezamon
                                                                  'info' => undef,
539
                                                                  'default' => 'YES',
540
                                                                  'type' => 'Combo-box'
541
                                                                }
542
                                  },
543
                  'gui_status' => {
544
                                    'status' => 'ideal',
545
                                    'timeout' => 0
546
                                  },
547
                  'sockets' => {
548
                                 'interrupt_peripheral' => {
549
                                                             'connection_num' => 'single connection',
550
                                                             'value' => 'ppic_ints',
551
                                                             '0' => {
552
                                                                      'name' => 'interrupt'
553
                                                                    },
554
                                                             'type' => 'param'
555
                                                           }
556
                               },
557
                  'sw_files' => [
558
                                  '/mpsoc/src_processor/or1200/sw/Makefile',
559
                                  '/mpsoc/src_processor/or1200/sw/or1200',
560
                                  '/mpsoc/src_processor/or1200/sw/link.ld',
561
                                  '/mpsoc/src_processor/or1200/sw/define_printf.h',
562
                                  '/mpsoc/src_processor/src_lib/simple-printf'
563
                                ],
564
                  'category' => 'Processor',
565
                  'module_name' => 'or1200',
566
                  'file_name' => 'mpsoc/src_processor/or1200/verilog/or1200.v'
567
                }, 'ip_gen' );

powered by: WebSVN 2.1.0

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