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

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [sim.cfg] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
/* 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
*/
43
 
44
 
45
/* MEMORY SECTION
46
 
47
   This section specifies how is initial memory generated and which blocks
48
   it consist of.
49
 
50
   type = random/unknown/pattern
51
      specifies the initial memory values. 'random' parameter generate
52
      random memory using seed 'random_seed' parameter. 'pattern' parameter
53
      fills memory with 'pattern' parameter and 'unknown' does not specify
54
      how memory should be generated - the fastest option.
55
 
56
   random_seed = 
57
      random seed for randomizer, used if type = random
58
 
59
   pattern = 
60
      pattern to fill memory, used if type = pattern
61
 
62 1737 nogj
   baseaddr = 
63
      memory start address
64 1275 phoenix
 
65 1737 nogj
   size = 
66
      memory size
67 1275 phoenix
 
68 1737 nogj
   name = ""
69
      memory block name
70 1275 phoenix
 
71 1737 nogj
   ce = 
72
      chip enable index of the memory instance
73 1275 phoenix
 
74 1737 nogj
   delayr = 
75
      cycles, required for read access, -1 if instance does not support reading
76 1275 phoenix
 
77 1737 nogj
   delayw = 
78
      cycles, required for write access, -1 if instance does not support writing
79 1275 phoenix
 
80 1737 nogj
   16550 = 0/1
81
      0, if this device is uart 16450 and 1, if it is 16550
82 1275 phoenix
 
83 1737 nogj
   log = ""
84
      filename, where to log memory accesses to, no log, if log command is not specified
85 1275 phoenix
*/
86
 
87
section memory
88
  /*random_seed = 12345
89
  type = random*/
90
  pattern = 0x00
91
  type = unknown /* Fastest */
92
    name = "FLASH"
93
    ce = 0
94
    baseaddr = 0xf0000000
95
    size = 0x00800000
96
    delayr = 1
97
    delayw = -1
98 1737 nogj
    log = "flash.log"
99
end
100 1275 phoenix
 
101 1737 nogj
section memory
102 1275 phoenix
    name = "RAM"
103
    ce = 1
104
    baseaddr = 0x00000000
105
    size = 0x02000000
106
/*    size = 0x00800000 */
107
    delayr = 1
108
    delayw = 2
109
/*    log = "ram.log"*/
110 1737 nogj
end
111
 
112
section memory
113 1275 phoenix
    name = "SRAM"
114
    ce = 2
115
    baseaddr = 0x08000000
116
    size = 0x00400000
117
    delayr = 1
118
    delayw = 2
119
/*    log = "ram.log"*/
120
end
121
 
122
/* IMMU SECTION
123
 
124
    This section configures Instruction Memory Menangement Unit
125
 
126
    enabled = 0/1
127
       whether IMMU is enabled
128
       (NOTE: UPR bit is set)
129
 
130
    nsets = 
131
       number of ITLB sets; must be power of two
132
 
133
    nways = 
134
       number of ITLB ways
135
 
136
    pagesize = 
137
       instruction page size; must be power of two
138
 
139
    entrysize = 
140
       instruction entry size in bytes
141
 
142
    ustates = 
143
       number of ITLB usage states (2, 3, 4 etc., max is 4)
144
*/
145
 
146
section immu
147
  enabled = 1
148
  nsets = 64
149
  nways = 1
150
  pagesize = 8192
151
end
152
 
153
/* DMMU SECTION
154
 
155
    This section configures Data Memory Menangement Unit
156
 
157
    enabled = 0/1
158
       whether DMMU is enabled
159
       (NOTE: UPR bit is set)
160
 
161
    nsets = 
162
       number of DTLB sets; must be power of two
163
 
164
    nways = 
165
       number of DTLB ways
166
 
167
    pagesize = 
168
       data page size; must be power of two
169
 
170
    entrysize = 
171
       data entry size in bytes
172
 
173
    ustates = 
174
       number of DTLB usage states (2, 3, 4 etc., max is 4)
175
*/
176
 
177
section dmmu
178
  enabled = 1
179
  nsets = 64
180
  nways = 1
181
  pagesize = 8192
182
end
183
 
184
 
185
/* IC SECTION
186
 
187
    This section configures Instruction Cache
188
 
189
    enabled = 0/1
190
       whether IC is enabled
191
       (NOTE: UPR bit is set)
192
 
193
    nsets = 
194
       number of IC sets; must be power of two
195
 
196
    nways = 
197
       number of IC ways
198
 
199
    blocksize = 
200
       IC block size in bytes; must be power of two
201
 
202
    ustates = 
203
       number of IC usage states (2, 3, 4 etc., max is 4)
204
*/
205
 
206
section ic
207
  enabled = 1
208
  nsets = 512
209
  nways = 1
210
  blocksize = 16
211
end
212
 
213
/* DC SECTION
214
 
215
    This section configures Data Cache
216
 
217
    enabled = 0/1
218
       whether DC is enabled
219
       (NOTE: UPR bit is set)
220
 
221
    nsets = 
222
       number of DC sets; must be power of two
223
 
224
    nways = 
225
       number of DC ways
226
 
227
    blocksize = 
228
       DC block size in bytes; must be power of two
229
 
230
    ustates = 
231
       number of DC usage states (2, 3, 4 etc., max is 4)
232
*/
233
 
234
section dc
235
  enabled = 1
236
  nsets = 512
237
  nways = 1
238
  blocksize = 16
239
end
240
 
241
/* SIM SECTION
242
 
243
  This section specifies how should sim behave.
244
 
245
  verbose = 0/1
246
      whether to print out extra messages
247
 
248
  debug = 0-9
249
      = 0 disabled debug messages
250
      1-9 level of sim debug information, greater the number more verbose is
251
          the output
252
 
253
  profile = 0/1
254
      whether to generate profiling file 'sim.profile'
255
 
256
  prof_fn = ""
257
      filename, where to generate profiling info, used
258
      only if 'profile' is set
259
 
260
  history = 0/1
261
      whether instruction execution flow is tracked for
262
      display by simulator hist command. Useful for
263
      back-trace debugging.
264
 
265
  iprompt = 0/1
266
      whether we strart in interactive prompt
267
 
268
  exe_log = 0/1
269
      whether execution log should be generated
270
 
271
  exe_log_fn = ""
272
      where to put execution log in, used only if 'exe_log'
273
      is set
274
 
275
  clkcycle = [ps|ns|us|ms]
276
      specifies time measurement for one cycle
277
*/
278
 
279
section sim
280
  verbose = 1
281
  debug = 0
282
  profile = 0
283
  prof_fn = "sim.profile"
284
 
285
  history = 1
286
  /* iprompt = 0 */
287
  exe_log = 1
288
  exe_log_type = software
289
  exe_log_start = 26000000
290
  exe_log_end =   26800000
291
  exe_log_marker = 50
292
  exe_log_fn = "executed-1.log"
293
end
294
 
295
 
296
/* SECTION VAPI
297
 
298
    This section configures Verification API, used for Advanced
299
    Core Verification.
300
 
301
    enabled = 0/1
302
        whether to start VAPI server
303
 
304
    server_port = 
305
        TCP/IP port to start VAPI server on
306
 
307
    log_enabled = 0/1
308
       whether logging of VAPI requests is enabled
309
 
310
    vapi_fn = 
311
       specifies filename where to log into, if log_enabled is selected
312
*/
313
 
314
section VAPI
315
  enabled = 0
316
  server_port = 9998
317
  log_enabled = 0
318
  vapi_log_fn = "vapi.log"
319
end
320
 
321
 
322
/* CPU SECTION
323
 
324
   This section specifies various CPU parameters.
325
 
326
   ver = 
327
   rev = 
328
      specifies version and revision of the CPU used
329
 
330
   upr = 
331
      changes the upr register
332
 
333
   superscalar = 0/1
334
      whether CPU is scalar or superscalar
335
      (modify cpu/or32/execute.c to tune superscalar model)
336
 
337
   hazards = 0/1
338
      whether data hazards are tracked in superscalar CPU
339
      and displayed by the simulator r command
340
 
341
   dependstats = 0/1
342
      whether inter-instruction dependencies are calculated
343
      and displayed by simulator stats command.
344
 
345
      parameters for CPU analysis
346
*/
347
 
348
section cpu
349
  ver = 0x1200
350
  rev = 0x0000
351
  superscalar = 0
352
  hazards = 0
353
  dependstats = 0
354
end
355
 
356
 
357
/* DEBUG SECTION
358
 
359
   This sections specifies how debug unit should behave.
360
 
361
   enabled = 0/1
362
      whether debug unit is enabled
363
 
364
   gdb_enabled = 0/1
365
      whether to start gdb server at 'server_port' port
366
 
367
   server_port = 
368
      TCP/IP port to start gdb server on, used only if gdb_enabled
369
      is set
370
 
371
section debug
372
  enabled = 0
373
  gdb_enabled = 0
374
  server_port = 9999
375
end
376
 
377
 
378
/* MC SECTION
379
 
380
   This section configures the memory controller
381
 
382
   enabled = 0/1
383
      whether memory controller is enabled
384
 
385
   baseaddr = 
386
      address of first MC register
387
 
388
   POC = 
389
      Power On Configuration register
390
*/
391
 
392
section mc
393
  enabled = 1
394
  baseaddr = 0x93000000
395
  POC = 0x00000008                 /* Power on configuration register */
396
end
397
 
398
 
399
/* UART SECTION
400
 
401
   This section configures UARTs
402
 
403 1737 nogj
   baseaddr = 
404
      address of first UART register for this device
405 1275 phoenix
 
406 1737 nogj
   rx_file = ""
407
      filename, where to read data from
408 1275 phoenix
 
409 1737 nogj
   tx_file = ""
410
      filename, where to write data to
411 1275 phoenix
 
412 1737 nogj
   irq = 
413
      irq number for this device
414 1275 phoenix
 
415 1737 nogj
   16550 = 0/1
416
      0, if this device is uart 16450 and 1, if it is 16550
417 1275 phoenix
 
418 1737 nogj
   jitter = 
419
      in msecs... time to block, -1 to disable it
420 1275 phoenix
 
421 1737 nogj
   vapi_id = 
422
      VAPI id of this instance
423 1275 phoenix
*/
424
 
425
section uart
426
    baseaddr = 0x90000000
427
    irq = 2
428
    channel = "file:uart0.rx,uart0.tx"
429
    jitter = -1                     /* async behaviour */
430
    16550 = 1
431
end
432
 
433
 
434
/* DMA SECTION
435
 
436
   This section configures DMAs
437
 
438 1737 nogj
   baseaddr = 
439
      address of first DMA register for this device
440 1275 phoenix
 
441 1737 nogj
   irq = 
442
      irq number for this device
443 1275 phoenix
 
444 1737 nogj
   vapi_id = 
445
      VAPI id of this instance
446 1275 phoenix
*/
447
 
448
section dma
449
    baseaddr = 0x9a000000
450
    irq = 11
451
end
452
 
453
 
454
/* ETHERNET SECTION
455
 
456
   This section configures ethernets
457
 
458
   enabled = 0/1
459
      whether ethernets are enabled
460
 
461 1737 nogj
   baseaddr = 
462
      address of first ethernet register for this device
463 1275 phoenix
 
464 1737 nogj
   dma = 
465
      which controller is this ethernet "connected" to
466 1275 phoenix
 
467 1737 nogj
   rtx_type = 0 ETH_RTX_FILE
468
              1 ETH_RTX_SOCK
469 1275 phoenix
 
470 1737 nogj
   rx_channel = 
471
      DMA channel used for RX
472 1275 phoenix
 
473 1737 nogj
   tx_channel = 
474
      DMA channel used for TX
475 1275 phoenix
 
476 1737 nogj
   rx_file = ""
477
      filename, where to read data from
478 1275 phoenix
 
479 1737 nogj
   tx_file = ""
480
      filename, where to write data to
481 1275 phoenix
 
482 1737 nogj
   vapi_id = 
483
      VAPI id of this instance
484 1275 phoenix
*/
485
 
486
section ethernet
487
    baseaddr = 0x92000000
488
    dma = 0
489
    irq = 4
490
    rtx_type = 1
491
    tx_channel = 0
492
    rx_channel = 1
493
    rxfile = "eth0.rx"
494
    txfile = "eth0.tx"
495
    sockif = "eth0"
496
end
497
 
498
section fb
499
  enabled = 1
500
  baseaddr = 0x97000000
501
  refresh_rate = 10000000
502
  filename = "primary"
503
end
504
 
505
/* KBD SECTION
506
 
507
    This section configures PS/2 compatible keyboard
508
 
509
    enabled = 0/1
510
      whether keyboard is enabled
511
 
512
    baseaddr = 
513
      base address of the keyboard device
514
 
515
    rxfile = ""
516
      filename, where to read data from
517
*/
518
 
519
section kbd
520
  enabled = 1
521
  irq = 5
522
  baseaddr = 0x94000000
523
  rxfile = "kbd.rx"
524
end
525
 

powered by: WebSVN 2.1.0

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