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

Subversion Repositories or1k

[/] [or1k/] [branches/] [stable_0_2_x/] [or1ksim/] [sim.cfg] - Blame information for rev 1778

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

Line No. Rev Author Line
1 264 markom
/* sim.cfg -- Simulator configuration script file
2 897 markom
   Copyright (C) 2001-2002, Marko Mlinar, markom@opencores.org
3 428 markom
 
4 264 markom
This file is part of OpenRISC 1000 Architectural Simulator.
5 876 rherveille
It contains the default configuration and help about configuring
6
the simulator.
7 264 markom
 
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 312 markom
 
23
/* INTRODUCTION
24
 
25 876 rherveille
   The ork1sim has various parameters, that are set in configuration files
26
   like this one. The user can switch between configurations at startup by
27
   specifying the required configuration file with the -f  option.
28
   If no configuration file is specified or1ksim searches for the default
29
   configuration file sim.cfg. First it searches for './sim.cfg'. If this
30
   file is not found, it searches for '~/or1k/sim.cfg'. If this file is
31
   not found too, it reverts to the built-in default configuration.
32 1021 rherveille
 
33 876 rherveille
   NOTE: Users should not rely on the built-in configuration, since the
34
         default configuration may differ between version.
35
         Rather create a configuration file that sets all critical values.
36
 
37
   This file may contain (standard C) comments only - no // support.
38 1021 rherveille
 
39 876 rherveille
   Configure files may be be included, using:
40 568 markom
   include "file_name_to_include"
41 312 markom
 
42 876 rherveille
   Like normal configuration files, the included file is divided into
43
   sections. Each section is described in detail also.
44 428 markom
 
45 876 rherveille
   Some section have subsections. One example of such a subsection is:
46 428 markom
 
47 312 markom
   device 
48
     instance specific parameters...
49
   enddevice
50 428 markom
 
51 312 markom
   which creates a device instance.
52
*/
53
 
54 876 rherveille
 
55 312 markom
/* MEMORY SECTION
56
 
57 876 rherveille
   This section specifies how the memory is generated and the blocks
58
   it consists of.
59 428 markom
 
60 312 markom
   type = random/unknown/pattern
61 876 rherveille
      Specifies the initial memory values.
62
      'random' generates random memory using seed 'random_seed'.
63
      'pattern' fills memory with 'pattern'.
64
      'unknown' does not specify how memory should be generated,
65
      leaving the memory in a undefined state. This is the fastest
66
      option.
67 428 markom
 
68 312 markom
   random_seed = 
69 876 rherveille
      random seed for randomizer, used if type = 'random'.
70 428 markom
 
71 312 markom
   pattern = 
72 876 rherveille
      pattern to fill memory, used if type = 'pattern'.
73 428 markom
 
74 424 markom
   nmemories = 
75 428 markom
      number of memory instances connected
76
 
77 1486 nogj
   baseaddr = 
78
      memory start address
79 428 markom
 
80 1486 nogj
   size = 
81
      memory size
82 424 markom
 
83 1486 nogj
   name = ""
84
      memory block name
85 428 markom
 
86 1486 nogj
   ce = 
87
      chip enable index of the memory instance
88 424 markom
 
89 1486 nogj
   mc = 
90
      memory controller this memory is connected to
91 428 markom
 
92 1486 nogj
   delayr = 
93
      cycles, required for read access, -1 if instance does not support reading
94 428 markom
 
95 1486 nogj
   delayw = 
96
      cycles, required for write access, -1 if instance does not support writing
97
 
98
   log = ""
99
      filename, where to log memory accesses to, no log, if log command is not specified
100 312 markom
*/
101
 
102 1021 rherveille
 
103 262 markom
section memory
104 264 markom
  /*random_seed = 12345
105
  type = random*/
106 269 markom
  pattern = 0x00
107
  type = unknown /* Fastest */
108 428 markom
 
109 1486 nogj
  name = "FLASH"
110
  ce = 0
111
  mc = 0
112
  baseaddr = 0xf0000000
113
  size = 0x00800000
114
  delayr = 10
115
  delayw = -1
116
end
117 1021 rherveille
 
118 1486 nogj
section memory
119
  /*random_seed = 12345
120
  type = random*/
121
  pattern = 0x00
122
  type = unknown /* Fastest */
123 428 markom
 
124 1486 nogj
  name = "RAM"
125
  ce = 1
126
  mc = 0
127
  baseaddr = 0x00000000
128
  size = 0x00400000
129
  delayr = 1
130
  delayw = 2
131
end
132 1021 rherveille
 
133 1486 nogj
section memory
134
  /*random_seed = 12345
135
  type = random*/
136
  pattern = 0x00
137
  type = unknown /* Fastest */
138
 
139
  name = "SRAM"
140
  mc = 0
141
  ce = 2
142
  baseaddr = 0x08000000
143
  size = 0x00400000
144
  delayr = 1
145
  delayw = 2
146 262 markom
end
147
 
148 434 markom
 
149 427 markom
/* IMMU SECTION
150 312 markom
 
151 876 rherveille
    This section configures the Instruction Memory Manangement Unit
152 428 markom
 
153 427 markom
    enabled = 0/1
154 876 rherveille
       '0': disabled
155
       '1': enabled
156 428 markom
       (NOTE: UPR bit is set)
157
 
158 427 markom
    nsets = 
159 428 markom
       number of ITLB sets; must be power of two
160
 
161 427 markom
    nways = 
162
       number of ITLB ways
163 428 markom
 
164 427 markom
    pagesize = 
165
       instruction page size; must be power of two
166 428 markom
 
167 427 markom
    entrysize = 
168
       instruction entry size in bytes
169 428 markom
 
170 427 markom
    ustates = 
171
       number of ITLB usage states (2, 3, 4 etc., max is 4)
172 1021 rherveille
 
173 541 markom
    hitdelay = 
174
       number of cycles immu hit costs
175 1021 rherveille
 
176 541 markom
    missdelay = 
177
       number of cycles immu miss costs
178 427 markom
*/
179
 
180
section immu
181 1021 rherveille
  enabled = 1
182
  nsets = 64
183 427 markom
  nways = 1
184 428 markom
  pagesize = 8192
185 541 markom
  hitdelay = 0
186
  missdelay = 0
187 427 markom
end
188 428 markom
 
189 434 markom
 
190 427 markom
/* DMMU SECTION
191
 
192 876 rherveille
    This section configures the Data Memory Manangement Unit
193 428 markom
 
194 427 markom
    enabled = 0/1
195 876 rherveille
       '0': disabled
196
       '1': enabled
197 428 markom
       (NOTE: UPR bit is set)
198
 
199 427 markom
    nsets = 
200
       number of DTLB sets; must be power of two
201 428 markom
 
202 427 markom
    nways = 
203
       number of DTLB ways
204 428 markom
 
205 427 markom
    pagesize = 
206
       data page size; must be power of two
207 428 markom
 
208 427 markom
    entrysize = 
209
       data entry size in bytes
210 428 markom
 
211 427 markom
    ustates = 
212
       number of DTLB usage states (2, 3, 4 etc., max is 4)
213 541 markom
 
214
    hitdelay = 
215 876 rherveille
       number of cycles dmmu hit costs
216
 
217 541 markom
    missdelay = 
218 876 rherveille
       number of cycles dmmu miss costs
219 427 markom
*/
220
 
221
section dmmu
222 1021 rherveille
  enabled = 1
223
  nsets = 64
224 427 markom
  nways = 1
225 428 markom
  pagesize = 8192
226 541 markom
  hitdelay = 0
227
  missdelay = 0
228 427 markom
end
229
 
230 428 markom
 
231
/* IC SECTION
232
 
233 876 rherveille
   This section configures the Instruction Cache
234 428 markom
 
235 541 markom
   enabled = 0/1
236 876 rherveille
       '0': disabled
237
       '1': enabled
238 541 markom
      (NOTE: UPR bit is set)
239 428 markom
 
240 541 markom
   nsets = 
241
      number of IC sets; must be power of two
242 428 markom
 
243 541 markom
   nways = 
244
      number of IC ways
245 428 markom
 
246 541 markom
   blocksize = 
247
      IC block size in bytes; must be power of two
248 428 markom
 
249 541 markom
   ustates = 
250
      number of IC usage states (2, 3, 4 etc., max is 4)
251
 
252
   hitdelay = 
253
      number of cycles ic hit costs
254 1021 rherveille
 
255 541 markom
    missdelay = 
256
      number of cycles ic miss costs
257 428 markom
*/
258
 
259
section ic
260 1021 rherveille
  enabled = 1
261
  nsets = 256
262 428 markom
  nways = 1
263
  blocksize = 16
264 541 markom
  hitdelay = 0
265
  missdelay = 0
266 428 markom
end
267
 
268 434 markom
 
269 428 markom
/* DC SECTION
270
 
271 876 rherveille
   This section configures the Data Cache
272 428 markom
 
273 541 markom
   enabled = 0/1
274 876 rherveille
       '0': disabled
275
       '1': enabled
276 541 markom
      (NOTE: UPR bit is set)
277 428 markom
 
278 541 markom
   nsets = 
279
      number of DC sets; must be power of two
280 428 markom
 
281 541 markom
   nways = 
282
      number of DC ways
283 428 markom
 
284 541 markom
   blocksize = 
285
      DC block size in bytes; must be power of two
286 428 markom
 
287 541 markom
   ustates = 
288
      number of DC usage states (2, 3, 4 etc., max is 4)
289
 
290
   load_hitdelay = 
291
      number of cycles dc load hit costs
292 1021 rherveille
 
293 541 markom
   load_missdelay = 
294
      number of cycles dc load miss costs
295 1021 rherveille
 
296 541 markom
   store_hitdelay = 
297
      number of cycles dc load hit costs
298 1021 rherveille
 
299 541 markom
   store_missdelay = 
300
      number of cycles dc load miss costs
301 428 markom
*/
302
 
303
section dc
304 1021 rherveille
  enabled = 1
305
  nsets = 256
306 428 markom
  nways = 1
307
  blocksize = 16
308 541 markom
  load_hitdelay = 0
309
  load_missdelay = 0
310
  store_hitdelay = 0
311
  store_missdelay = 0
312 428 markom
end
313
 
314 1021 rherveille
 
315 312 markom
/* SIM SECTION
316
 
317 876 rherveille
  This section specifies how or1ksim should behave.
318 428 markom
 
319 312 markom
  verbose = 0/1
320 876 rherveille
       '0': don't print extra messages
321
       '1': print extra messages
322 428 markom
 
323 344 markom
  debug = 0-9
324 876 rherveille
 
325
      1-9: debug message level.
326
           higher numbers produce more messages
327 428 markom
 
328 312 markom
  profile = 0/1
329 876 rherveille
      '0': don't generate profiling file 'sim.profile'
330
      '1': don't generate profiling file 'sim.profile'
331 428 markom
 
332 312 markom
  prof_fn = ""
333 876 rherveille
      optional filename for the profiling file.
334
      valid only if 'profile' is set
335 1021 rherveille
 
336 547 markom
  mprofile = 0/1
337 876 rherveille
      '0': don't generate memory profiling file 'sim.mprofile'
338
      '1': generate memory profiling file 'sim.mprofile'
339 428 markom
 
340 547 markom
  mprof_fn = ""
341 876 rherveille
      optional filename for the memory profiling file.
342
      valid only if 'mprofile' is set
343 547 markom
 
344 394 markom
  history = 0/1
345 876 rherveille
      '0': don't track execution flow
346
      '1': track execution flow
347
      Execution flow can be tracked for the simulator's
348
      'hist' command. Useful for back-trace debugging.
349 428 markom
 
350 312 markom
  iprompt = 0/1
351 876 rherveille
     '0': start in  (so what do we start in ???)
352
     '1': start in interactive prompt.
353 312 markom
 
354
  exe_log = 0/1
355 876 rherveille
      '0': don't generate execution log.
356
      '1': generate execution log.
357 1021 rherveille
 
358 675 markom
  exe_log = default/hardware/simple/software
359 876 rherveille
      type of execution log, default is used when not specified
360 1021 rherveille
 
361 672 markom
  exe_log_start = 
362 876 rherveille
      index of first instruction to start logging, default = 0
363 1021 rherveille
 
364 672 markom
  exe_log_end = 
365 876 rherveille
      index of last instruction to end logging; not limited, if omitted
366 1021 rherveille
 
367 672 markom
  exe_log_marker = 
368
       specifies number of instructions before horizontal marker is
369
      printed; if zero, markers are disabled (default)
370 428 markom
 
371 312 markom
  exe_log_fn = ""
372 876 rherveille
      filename for the exection log file.
373
      valid only if 'exe_log' is set
374 624 ivang
 
375 433 markom
  clkcycle = [ps|ns|us|ms]
376
      specifies time measurement for one cycle
377 335 markom
*/
378
 
379 312 markom
section sim
380 335 markom
  /* verbose = 1 */
381 879 markom
  debug = 0
382 689 markom
  profile = 0
383 312 markom
  prof_fn = "sim.profile"
384 428 markom
 
385 394 markom
  history = 1
386 312 markom
  /* iprompt = 0 */
387
  exe_log = 0
388 1021 rherveille
  exe_log_type = software
389 672 markom
  exe_log_start = 0
390 1021 rherveille
/*  exe_log_end = 20000000*/
391
  exe_log_marker = 10000
392 312 markom
  exe_log_fn = "executed.log"
393 1021 rherveille
 
394 624 ivang
  clkcycle = 100ns
395 312 markom
end
396
 
397
 
398
/* SECTION VAPI
399
 
400 876 rherveille
    This section configures the Verification API, used for Advanced
401 312 markom
    Core Verification.
402 428 markom
 
403 312 markom
    enabled = 0/1
404 876 rherveille
        '0': disbable VAPI server
405
        '1': enable/start VAPI server
406 428 markom
 
407 312 markom
    server_port = 
408
        TCP/IP port to start VAPI server on
409 428 markom
 
410 355 markom
    log_enabled = 0/1
411 876 rherveille
       '0': disable VAPI requests logging
412
       '1': enable VAPI requests logging
413 428 markom
 
414 486 erez
    hide_device_id = 0/1
415 876 rherveille
       '0': don't log device id (for compatability with old version)
416
       '1': log device id
417 1021 rherveille
 
418 486 erez
 
419 355 markom
    vapi_fn = 
420 876 rherveille
       filename for the log file.
421
       valid only if log_enabled is set
422 312 markom
*/
423
 
424
section VAPI
425
  enabled = 0
426
  server_port = 9998
427 355 markom
  log_enabled = 0
428 427 markom
  vapi_log_fn = "vapi.log"
429 312 markom
end
430
 
431
 
432
/* CPU SECTION
433
 
434
   This section specifies various CPU parameters.
435 428 markom
 
436 312 markom
   ver = 
437
   rev = 
438
      specifies version and revision of the CPU used
439 428 markom
 
440 312 markom
   upr = 
441
      changes the upr register
442 1021 rherveille
 
443 556 markom
   sr = 
444
      sets the initial Supervision Register value
445 428 markom
 
446 312 markom
   superscalar = 0/1
447 876 rherveille
      '0': CPU is scalar
448
      '1': CPU is superscalar
449 388 lampret
      (modify cpu/or32/execute.c to tune superscalar model)
450
 
451 312 markom
   hazards = 0/1
452 876 rherveille
      '0': don't track data hazards in superscalar CPU
453
      '1': track data hazards in superscalar CPU
454
      If tracked, data hazards can be displayed using the
455
      simulator's 'r' command.
456 388 lampret
 
457 312 markom
   dependstats = 0/1
458 876 rherveille
      '0': don't calculate inter-instruction dependencies.
459
      '1': calculate inter-instruction dependencies.
460
      If calculated, inter-instruction dependencies can be
461
      displayed using the simulator's 'stat' command.
462 388 lampret
 
463 626 markom
   sbuf_len = 
464
      length of store buffer (<= 256), 0 = disabled
465 312 markom
*/
466
 
467 263 markom
section cpu
468
  ver = 0x1200
469
  rev = 0x0001
470
  /* upr = */
471
  superscalar = 0
472
  hazards = 0
473
  dependstats = 0
474 626 markom
  sbuf_len = 0
475 263 markom
end
476
 
477 312 markom
 
478 557 markom
/* PM SECTION
479
 
480 876 rherveille
   This section specifies Power Management parameters
481
 
482 557 markom
   enabled = 0/1
483 876 rherveille
      '0': disable power management
484
      '1': enable power management
485 557 markom
*/
486
 
487
section pm
488
  enabled = 0
489
end
490
 
491 1021 rherveille
 
492 541 markom
/* BPB SECTION
493
 
494
   This section specifies how branch prediction should behave.
495 1021 rherveille
 
496 541 markom
   enabled = 0/1
497 876 rherveille
     '0': disable branch prediction
498
     '1': enable branch prediction
499 1021 rherveille
 
500 541 markom
   btic = 0/1
501 876 rherveille
     '0': disable branch target instruction cache model
502
     '1': enable branch target instruction cache model
503 541 markom
 
504
   sbp_bf_fwd = 0/1
505 876 rherveille
     Static branch prediction for 'l.bf'
506
     '0': don't use forward prediction
507 1021 rherveille
     '1': use forward prediction
508
 
509 541 markom
   sbp_bnf_fwd = 0/1
510 876 rherveille
     Static branch prediction for 'l.bnf'
511
     '0': don't use forward prediction
512
     '1': use forward prediction
513 541 markom
 
514
   hitdelay = 
515
       number of cycles bpb hit costs
516 1021 rherveille
 
517 541 markom
   missdelay = 
518
       number of cycles bpb miss costs
519
*/
520
 
521
section bpb
522
  enabled = 0
523
  btic = 0
524
  sbp_bf_fwd = 0
525
  sbp_bnf_fwd = 0
526
  hitdelay = 0
527
  missdelay = 0
528
end
529
 
530
 
531 312 markom
/* DEBUG SECTION
532
 
533 876 rherveille
   This sections specifies how the debug unit should behave.
534 428 markom
 
535 312 markom
   enabled = 0/1
536 876 rherveille
      '0': disable debug unit
537
      '1': enable debug unit
538 428 markom
 
539 312 markom
   gdb_enabled = 0/1
540 876 rherveille
      '0': don't start gdb server
541
      '1': start gdb server at port 'server_port'
542 428 markom
 
543 312 markom
   server_port = 
544 876 rherveille
      TCP/IP port to start gdb server on
545
      valid only if gdb_enabled is set
546 486 erez
 
547
   vapi_id = 
548
      Used to create "fake" vapi log file containing the JTAG proxy messages.
549 479 markom
*/
550 428 markom
 
551 269 markom
section debug
552 1021 rherveille
  enabled = 0
553 312 markom
  gdb_enabled = 0
554 269 markom
  server_port = 9999
555
end
556
 
557 264 markom
 
558 312 markom
/* MC SECTION
559
 
560
   This section configures the memory controller
561
 
562
   enabled = 0/1
563 876 rherveille
     '0': disable memory controller
564
     '1': enable memory controller
565 428 markom
 
566 312 markom
   baseaddr = 
567
      address of first MC register
568 428 markom
 
569 312 markom
   POC = 
570
      Power On Configuration register
571 1486 nogj
 
572
   index = 
573
      Index of this memory controller amongst all the memory controllers
574 312 markom
*/
575
 
576 243 markom
section mc
577 1021 rherveille
  enabled = 1
578
  baseaddr = 0x93000000
579 261 markom
  POC = 0x00000008                 /* Power on configuration register */
580 1486 nogj
  index = 0
581 243 markom
end
582 261 markom
 
583 312 markom
 
584
/* UART SECTION
585
 
586 876 rherveille
   This section configures the UARTs
587 312 markom
 
588 1461 nogj
     enabled = <0|1>
589
        Enable/disable the peripheral.  By default if it is enabled.
590
 
591 312 markom
     baseaddr = 
592
        address of first UART register for this device
593 428 markom
 
594 1126 sfurman
 
595
     channel = :
596
 
597
        The channel parameter indicates the source of received UART characters
598
        and the sink for transmitted UART characters.
599 428 markom
 
600 1126 sfurman
        The  can be either "file", "xterm", "tcp", "fd", or "tty"
601
        (without quotes).
602 332 markom
 
603 1126 sfurman
          A) To send/receive characters from a pair of files, use a file
604
             channel:
605
 
606
               channel=file:,
607
 
608
          B) To create an interactive terminal window, use an xterm channel:
609
 
610
               channel=xterm:[]*
611
 
612
          C) To create a bidirectional tcp socket which one could, for example,
613
             access via telnet, use a tcp channel:
614
 
615
               channel=tcp:
616
 
617
          D) To cause the UART to read/write from existing numeric file
618
             descriptors, use an fd channel:
619
 
620
               channel=fd:,
621
 
622
          E) To connect the UART to a physical serial port, create a tty
623
             channel:
624
 
625
               channel=tty:device=/dev/ttyS0,baud=9600
626
 
627 332 markom
     irq = 
628
        irq number for this device
629 428 markom
 
630 341 markom
     16550 = 0/1
631 876 rherveille
        '0': this device is a UART16450
632
        '1': this device is a UART16550
633 428 markom
 
634 312 markom
     jitter = 
635
        in msecs... time to block, -1 to disable it
636 428 markom
 
637 313 markom
     vapi_id = 
638
        VAPI id of this instance
639 312 markom
*/
640
 
641 261 markom
section uart
642 1461 nogj
  enabled = 1
643 1367 nogj
  baseaddr = 0x90000000
644
  irq = 2
645
  channel = "file:uart0.rx,uart0.tx"
646
  jitter = -1                     /* async behaviour */
647
  16550 = 1
648 261 markom
end
649
 
650 312 markom
 
651
/* DMA SECTION
652
 
653 876 rherveille
   This section configures the DMAs
654 312 markom
 
655 1461 nogj
     enabled = <0|1>
656
        Enable/disable the peripheral.  By default if it is enabled.
657
 
658 312 markom
     baseaddr = 
659
        address of first DMA register for this device
660
 
661
     irq = 
662
        irq number for this device
663 428 markom
 
664 313 markom
     vapi_id = 
665
        VAPI id of this instance
666 312 markom
*/
667
 
668 261 markom
section dma
669 1461 nogj
  enabled = 1
670 1370 nogj
  baseaddr = 0x9a000000
671
  irq = 11
672 261 markom
end
673 293 markom
 
674 304 markom
 
675 312 markom
/* ETHERNET SECTION
676
 
677 876 rherveille
   This section configures the ETHERNETs
678 312 markom
 
679 1461 nogj
     enabled = <0|1>
680
        Enable/disable the peripheral.  By default if it is enabled.
681
 
682 312 markom
     baseaddr = 
683
        address of first ethernet register for this device
684
 
685
     dma = 
686
        which controller is this ethernet "connected" to
687 428 markom
 
688 724 ivang
     irq = 
689
        ethernet mac IRQ level
690
 
691 725 ivang
     rtx_type = 
692
        use 0 - file interface, 1 - socket interface
693
 
694 312 markom
     rx_channel = 
695
        DMA channel used for RX
696 428 markom
 
697 312 markom
     tx_channel = 
698
        DMA channel used for TX
699
 
700 664 markom
     rxfile = ""
701 312 markom
        filename, where to read data from
702 428 markom
 
703 664 markom
     txfile = ""
704 312 markom
        filename, where to write data to
705 428 markom
 
706 724 ivang
     sockif = ""
707
        interface name of ethernet socket
708
 
709 313 markom
     vapi_id = 
710
        VAPI id of this instance
711 312 markom
*/
712
 
713 304 markom
section ethernet
714 1461 nogj
  enabled = 1
715 1372 nogj
  baseaddr = 0x92000000
716
  dma = 0
717
  irq = 4
718
  rtx_type = 1
719
  tx_channel = 0
720
  rx_channel = 1
721
  rxfile = "eth0.rx"
722
  txfile = "eth0.tx"
723
  sockif = "eth0"
724 304 markom
end
725 332 markom
 
726 1021 rherveille
 
727 486 erez
/* GPIO SECTION
728
 
729 876 rherveille
   This section configures the GPIOs
730 486 erez
 
731 1461 nogj
     enabled = <0|1>
732
        Enable/disable the peripheral.  By default if it is enabled.
733
 
734 486 erez
     baseaddr = 
735
        address of first GPIO register for this device
736
 
737
     irq = 
738
        irq number for this device
739
 
740
     base_vapi_id = 
741
        first VAPI id of this instance
742
        GPIO uses 8 consecutive VAPI IDs
743
*/
744
 
745
section gpio
746 1461 nogj
  enabled = 1
747 1374 nogj
  baseaddr = 0x91000000
748
  irq = 3
749
  base_vapi_id = 0x0200
750 486 erez
end
751
 
752 645 markom
/* VGA SECTION
753 1021 rherveille
 
754 876 rherveille
    This section configures the VGA/LCD controller
755 1021 rherveille
 
756 1461 nogj
      enabled = <0|1>
757
        Enable/disable the peripheral.  By default if it is enabled.
758
 
759 645 markom
      baseaddr = 
760
        address of first VGA register
761 1021 rherveille
 
762 645 markom
      irq = 
763
        irq number for this device
764 1021 rherveille
 
765 645 markom
      refresh_rate = 
766
        number of cycles between screen dumps
767 1021 rherveille
 
768 645 markom
      filename = ""
769
        template name for generated names (e.g. "primary" produces "primary0023.bmp")
770
*/
771
 
772
section vga
773 1461 nogj
  enabled = 1
774 1368 nogj
  baseaddr = 0x97100000
775
  irq = 8
776
  refresh_rate = 100000
777
  filename = "primary"
778 645 markom
end
779
 
780 876 rherveille
 
781 1021 rherveille
/* TICK TIMER SECTION
782 876 rherveille
 
783 1021 rherveille
    This section configures tick timer
784
 
785 645 markom
    enabled = 0/1
786 1021 rherveille
      whether tick timer is enabled
787
 
788
    irq = 
789
      irq number
790
*/
791
/*
792
section tick
793
  enabled = 1
794
  irq = 0
795
end
796
*/
797
 
798
/* FB SECTION
799
 
800
    This section configures the frame buffer
801
 
802 1461 nogj
    enabled = <0|1>
803
      Enable/disable the peripheral.  By default if it is enabled.
804
 
805 664 markom
    baseaddr = 
806 645 markom
      base address of frame buffer
807 1021 rherveille
 
808 645 markom
    paladdr = 
809
      base address of first palette entry
810 1021 rherveille
 
811 645 markom
    refresh_rate = 
812
      number of cycles between screen dumps
813 1021 rherveille
 
814 645 markom
    filename = ""
815
      template name for generated names (e.g. "primary" produces "primary0023.bmp")
816
*/
817
 
818
section fb
819 1461 nogj
  enabled = 1
820 1021 rherveille
  baseaddr = 0x97000000
821
  refresh_rate = 1000000
822 645 markom
  filename = "primary"
823
end
824 664 markom
 
825 1021 rherveille
 
826 664 markom
/* KBD SECTION
827
 
828 876 rherveille
    This section configures the PS/2 compatible keyboard
829 1021 rherveille
 
830 664 markom
    baseaddr = 
831
      base address of the keyboard device
832 1021 rherveille
 
833 664 markom
    rxfile = ""
834
      filename, where to read data from
835
*/
836
 
837
section kbd
838 1461 nogj
  enabled = 1
839 1021 rherveille
  irq = 5
840
  baseaddr = 0x94000000
841
  rxfile = "kbd.rx"
842 664 markom
end
843 876 rherveille
 
844
 
845
/* ATA SECTION
846 1021 rherveille
 
847 876 rherveille
    This section configures the ATA/ATAPI host controller
848 1021 rherveille
 
849 876 rherveille
      baseaddr = 
850
        address of first ATA register
851 1021 rherveille
 
852 1461 nogj
      enabled = <0|1>
853
        Enable/disable the peripheral.  By default if it is enabled.
854
 
855 876 rherveille
      irq = 
856
        irq number for this device
857
 
858
      debug = 
859
        debug level for ata models.
860
        0: no debug messages
861
        1: verbose messages
862
        3: normal messages (more messages than verbose)
863
        5: debug messages (normal debug messages)
864
        7: flow control messages (debug statemachine flows)
865
        9: low priority message (display everything the code does)
866
 
867
      dev_type0/1 = 
868
        ata device 0 type
869
        0: NO_CONNeCT: none (not connected)
870
        1: FILE      : simulated harddisk
871
        2: LOCAL     : local system harddisk
872
 
873
      dev_file0/1 = ""
874
        filename for simulated ATA device
875
        valid only if dev_type0 == 1
876
 
877
      dev_size0/1 = 
878
        size of simulated hard-disk (in MBytes)
879
        valid only if dev_type0 == 1
880
 
881
      dev_packet0/1 = 
882
        0: simulated ATA device does NOT implement PACKET command feature set
883
        1: simulated ATA device does implement PACKET command feature set
884
 
885
   FIXME: irq number
886
*/
887
 
888
section ata
889 1461 nogj
  enabled = 1
890 1364 nogj
  baseaddr = 0x9e000000
891
  irq = 15
892 876 rherveille
 
893 1364 nogj
  dev_type0   = 1
894
  dev_file0   = "/tmp/sim_atadev0"
895
  dev_size0   = 1
896
  dev_packet0 = 0
897 876 rherveille
 
898 1364 nogj
  dev_type1   = 0
899
  dev_file1   = ""
900
  dev_size1   = 0
901
  dev_packet1 = 0
902 876 rherveille
end
903 897 markom
 
904
 
905
/* CUC SECTION
906
 
907
    This section configures the OpenRISC Custom Unit Compiler
908
 
909
    memory_order = none/weak/strong/exact
910
      none   different memory ordering, even if there are dependencies,
911
             burst can be made, width can change
912
      weak   different memory ordering, if there cannot be dependencies
913
             burst can be made, width can change
914
      strong same memory ordering, burst can be made, width can change
915
      exact  exacltly the same memory ordering and widths
916
 
917
    calling_convention = 0/1
918
      whether programs follow OpenRISC calling conventions
919
 
920
    enable_bursts = 0/1
921
      whether burst are detected
922
 
923
    no_multicycle = 0/1
924
      if selected no multicycle logic paths will be generated
925
 
926
    timings_fn = ""
927
*/
928
 
929
section cuc
930
  memory_order = weak
931
  calling_convention = 1
932
  enable_bursts = 1
933
  no_multicycle = 1
934
  timings_fn = "virtex.tim"
935
end
936
 

powered by: WebSVN 2.1.0

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