OpenCores
URL https://opencores.org/ocsvn/test_project/test_project/trunk

Subversion Repositories test_project

[/] [test_project/] [trunk/] [sw/] [support/] [orp.cfg.old.org] - Blame information for rev 34

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

Line No. Rev Author Line
1 25 julius
/* sim.cfg -- Simulator configuration script file
2
   Copyright (C) 2001, Marko Mlinar, markom@opencores.org
3
 
4
This file includes a lot of help about configurations and default one
5
 
6
This file is part of OpenRISC 1000 Architectural Simulator.
7
 
8
This program is free software; you can redistribute it and/or modify
9
it under the terms of the GNU General Public License as published by
10
the Free Software Foundation; either version 2 of the License, or
11
(at your option) any later version.
12
 
13
This program is distributed in the hope that it will be useful,
14
but WITHOUT ANY WARRANTY; without even the implied warranty of
15
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
GNU General Public License for more details.
17
 
18
You should have received a copy of the GNU General Public License
19
along with this program; if not, write to the Free Software
20
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
21
 
22
 
23
/* INTRODUCTION
24
 
25
   The or1ksim have various parameters, which can be set in configuration
26
   files.  Multiple configurations may be used and switched between at
27
   or1ksim startup.
28
   By default, or1ksim loads condfiguration file from './sim.cfg' and if not
29
   found it checks '~/.or1k/sim.cfg'. If even this file is not found or
30
   all parameters are not defined, default configuration is used.
31
   Users should not rely on default configuration, but rather redefine all
32
   critical settings, since default configuration may differ in newer
33
   versions of the or1ksim.
34
   If multiple configurations are used, user can switch between them by
35
   supplying -f  option when starting simulator.
36
 
37
   This file may contain (standard C) only comments - no // support.
38
 
39
   Like normal configuration file, this file is divided in sections,
40
   where each section is described in detail also.
41
 
42
   Some section also have subsections. One example of such subsection is
43
   block:
44
 
45
   device 
46
     instance specific parameters...
47
   enddevice
48
 
49
   which creates a device instance.
50
*/
51
 
52
 
53
/* MEMORY SECTION
54
 
55
   This section specifies how is initial memory generated and which blocks
56
   it consist of.
57
 
58
   type = random/unknown/pattern
59
      specifies the initial memory values. 'random' parameter generate
60
      random memory using seed 'random_seed' parameter. 'pattern' parameter
61
      fills memory with 'pattern' parameter and 'unknown' does not specify
62
      how memory should be generated - the fastest option.
63
 
64
   random_seed = 
65
      random seed for randomizer, used if type = random
66
 
67
   pattern = 
68
      pattern to fill memory, used if type = pattern
69
 
70
   nmemories = 
71
      number of memory instances connected
72
 
73
   instance specific:
74
     baseaddr = 
75
        memory start address
76
 
77
     size = 
78
        memory size
79
 
80
     name = ""
81
        memory block name
82
 
83
     ce = 
84
        chip enable index of the memory instance
85
 
86
     delayr = 
87
        cycles, required for read access, -1 if instance does not support reading
88
 
89
     delayw = 
90
        cycles, required for write access, -1 if instance does not support writing
91
 
92
     16550 = 0/1
93
        0, if this device is uart 16450 and 1, if it is 16550
94
 
95
     log = ""
96
        filename, where to log memory accesses to, no log, if log command is not specified
97
*/
98
 
99
section memory
100
  /*random_seed = 12345
101
  type = random*/
102
  pattern = 0x00
103
  type = unknown /* Fastest */
104
 
105
  nmemories = 3
106
  device 0
107
    name = "RAM"
108
    ce = 1
109
    baseaddr = 0x00000000
110
    size = 0x00200000
111
    delayr = 1
112
    delayw = 5
113
  enddevice
114
 
115
  device 1
116
    name = "FLASH"
117
    ce = 0
118
    baseaddr = 0x04000000
119
    size = 0x00200000
120
    delayr = 1
121
    delayw = -1
122
  enddevice
123
 
124
  device 2
125
    name = "ICM"
126
    ce = 2
127
    baseaddr = 0x00800000
128
    size = 0x00004000
129
    delayr = 1
130
    delayw = 1
131
  enddevice
132
 
133
end
134
 
135
/* IMMU SECTION
136
 
137
    This section configures Instruction Memory Menangement Unit
138
 
139
    enabled = 0/1
140
       whether IMMU is enabled
141
       (NOTE: UPR bit is set)
142
 
143
    nsets = 
144
       number of ITLB sets; must be power of two
145
 
146
    nways = 
147
       number of ITLB ways
148
 
149
    pagesize = 
150
       instruction page size; must be power of two
151
 
152
    entrysize = 
153
       instruction entry size in bytes
154
 
155
    ustates = 
156
       number of ITLB usage states (2, 3, 4 etc., max is 4)
157
*/
158
 
159
section immu
160
  enabled = 1
161
  nsets = 32
162
  nways = 1
163
  pagesize = 8192
164
end
165
 
166
/* DMMU SECTION
167
 
168
    This section configures Data Memory Menangement Unit
169
 
170
    enabled = 0/1
171
       whether DMMU is enabled
172
       (NOTE: UPR bit is set)
173
 
174
    nsets = 
175
       number of DTLB sets; must be power of two
176
 
177
    nways = 
178
       number of DTLB ways
179
 
180
    pagesize = 
181
       data page size; must be power of two
182
 
183
    entrysize = 
184
       data entry size in bytes
185
 
186
    ustates = 
187
       number of DTLB usage states (2, 3, 4 etc., max is 4)
188
*/
189
 
190
section dmmu
191
  enabled = 1
192
  nsets = 32
193
  nways = 1
194
  pagesize = 8192
195
end
196
 
197
 
198
/* IC SECTION
199
 
200
    This section configures Instruction Cache
201
 
202
    enabled = 0/1
203
       whether IC is enabled
204
       (NOTE: UPR bit is set)
205
 
206
    nsets = 
207
       number of IC sets; must be power of two
208
 
209
    nways = 
210
       number of IC ways
211
 
212
    blocksize = 
213
       IC block size in bytes; must be power of two
214
 
215
    ustates = 
216
       number of IC usage states (2, 3, 4 etc., max is 4)
217
*/
218
 
219
section ic
220
  enabled = 1
221
  nsets = 512
222
  nways = 1
223
  blocksize = 16
224
end
225
 
226
/* DC SECTION
227
 
228
    This section configures Data Cache
229
 
230
    enabled = 0/1
231
       whether DC is enabled
232
       (NOTE: UPR bit is set)
233
 
234
    nsets = 
235
       number of DC sets; must be power of two
236
 
237
    nways = 
238
       number of DC ways
239
 
240
    blocksize = 
241
       DC block size in bytes; must be power of two
242
 
243
    ustates = 
244
       number of DC usage states (2, 3, 4 etc., max is 4)
245
*/
246
 
247
section dc
248
  enabled = 1
249
  nsets = 512
250
  nways = 1
251
  blocksize = 16
252
end
253
 
254
/* SIM SECTION
255
 
256
  This section specifies how should sim behave.
257
 
258
  verbose = 0/1
259
      whether to print out extra messages
260
 
261
  debug = 0-9
262
      = 0 disabled debug messages
263
      1-9 level of sim debug information, greater the number more verbose is
264
          the output
265
 
266
  profile = 0/1
267
      whether to generate profiling file 'sim.profile'
268
 
269
  prof_fn = ""
270
      filename, where to generate profiling info, used
271
      only if 'profile' is set
272
 
273
  history = 0/1
274
      whether instruction execution flow is tracked for
275
      display by simulator hist command. Useful for
276
      back-trace debugging.
277
 
278
  iprompt = 0/1
279
      whether we strart in interactive prompt
280
 
281
  exe_log = 0/1
282
      whether execution log should be generated
283
 
284
  exe_log_fn = ""
285
      where to put execution log in, used only if 'exe_log'
286
      is set
287
 
288
  clkcycle = [ps|ns|us|ms]
289
      specifies time measurement for one cycle
290
*/
291
 
292
section sim
293
  /* verbose = 1 */
294
  debug = 0
295
  profile = 0
296
  prof_fn = "sim.profile"
297
  mprofile = 0
298
  mprof_fn = "sim.mprofile"
299
 
300
  history = 1
301
  /* iprompt = 0 */
302
  exe_log = 1
303
  exe_log_type = hardware
304
  exe_log_fn = "executed.log"
305
  spr_log = 1
306
  spr_log_fn = "sprs.log"
307
end
308
 
309
 
310
/* SECTION VAPI
311
 
312
    This section configures Verification API, used for Advanced
313
    Core Verification.
314
 
315
    enabled = 0/1
316
        whether to start VAPI server
317
 
318
    server_port = 
319
        TCP/IP port to start VAPI server on
320
 
321
    log_enabled = 0/1
322
       whether logging of VAPI requests is enabled
323
 
324
    vapi_fn = 
325
       specifies filename where to log into, if log_enabled is selected
326
*/
327
 
328
section VAPI
329
  enabled = 0
330
  server_port = 9998
331
  log_enabled = 0
332
  vapi_log_fn = "vapi.log"
333
end
334
 
335
 
336
/* CPU SECTION
337
 
338
   This section specifies various CPU parameters.
339
 
340
   ver = 
341
   rev = 
342
      specifies version and revision of the CPU used
343
 
344
   upr = 
345
      changes the upr register
346
 
347
   superscalar = 0/1
348
      whether CPU is scalar or superscalar
349
      (modify cpu/or32/execute.c to tune superscalar model)
350
 
351
   hazards = 0/1
352
      whether data hazards are tracked in superscalar CPU
353
      and displayed by the simulator r command
354
 
355
   dependstats = 0/1
356
      whether inter-instruction dependencies are calculated
357
      and displayed by simulator stats command.
358
*/
359
 
360
section cpu
361
  ver = 0x1200
362
  rev = 0x0001
363
  /* upr = */
364
  superscalar = 0
365
  hazards = 1
366
  dependstats = 1
367
  sbuf_len = 1
368
end
369
 
370
section bpb
371
  enabled = 1
372
  btic = 1
373
end
374
 
375
 
376
/* DEBUG SECTION
377
 
378
   This sections specifies how debug unit should behave.
379
 
380
   enabled = 0/1
381
      whether debug unit is enabled
382
 
383
   gdb_enabled = 0/1
384
      whether to start gdb server at 'server_port' port
385
 
386
   server_port = 
387
      TCP/IP port to start gdb server on, used only if gdb_enabled
388
      is set
389
 
390
section debug
391
  enabled = 0
392
  gdb_enabled = 0
393
  server_port = 9999
394
end
395
 
396
 
397
/* MC SECTION
398
 
399
   This section configures the memory controller
400
 
401
   enabled = 0/1
402
      whether memory controller is enabled
403
 
404
   baseaddr = 
405
      address of first MC register
406
 
407
   POC = 
408
      Power On Configuration register
409
*/
410
 
411
section mc
412
  enabled = 1
413
  baseaddr = 0x60000000
414
  POC = 0x00000008                 /* Power on configuration register */
415
end
416
 
417
 
418
/* TICK TIMER SECTION
419
 
420
    This section configures tick timer
421
 
422
    enabled = 0/1
423
      whether tick timer is enabled
424
 
425
    irq = 
426
      irq number
427
*/
428
 
429
section tick
430
  enabled = 1
431
  irq = 3
432
end
433
 
434
section uart
435
  nuarts = 1
436
 
437
  device 0
438
    baseaddr = 0x90000000
439
    irq = 2
440
    channel = "file:uart0.rx,uart0.tx"
441
    jitter = -1                     /* async behaviour */
442
  enddevice
443
end
444
 
445
/* CUC SECTION
446
 
447
    This section configures the OpenRISC Custom Unit Compiler
448
 
449
    memory_order = none/weak/strong/exact
450
      none   different memory ordering, even if there are dependencies,
451
             burst can be made, width can change
452
      weak   different memory ordering, if there cannot be dependencies
453
             burst can be made, width can change
454
      strong same memory ordering, burst can be made, width can change
455
      exact  exacltly the same memory ordering and widths
456
 
457
    calling_convention = 0/1
458
      whether programs follow OpenRISC calling conventions
459
 
460
    enable_bursts = 0/1
461
      whether burst are detected
462
 
463
    no_multicycle = 0/1
464
      if selected no multicycle logic paths will be generated
465
 
466
    timings_fn = ""
467
*/
468
 
469
section cuc
470
  memory_order = weak
471
  calling_convention = 1
472
  enable_bursts = 1
473
  no_multicycle = 1
474
  timings_fn = "../support/virtex.tim"
475
end

powered by: WebSVN 2.1.0

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