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

Subversion Repositories or1k

[/] [or1k/] [branches/] [stable_0_1_x/] [or1ksim/] [sim.cfg] - Blame information for rev 1771

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

powered by: WebSVN 2.1.0

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