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

Subversion Repositories or1k

[/] [or1k/] [tags/] [nog_patch_67/] [or1ksim/] [sim.cfg] - Blame information for rev 1076

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 664 markom
     rxfile = ""
592 312 markom
        filename, where to read data from
593 428 markom
 
594 664 markom
     txfile = ""
595 312 markom
        filename, where to write data to
596 332 markom
 
597
     irq = 
598
        irq number for this device
599 428 markom
 
600 341 markom
     16550 = 0/1
601 876 rherveille
        '0': this device is a UART16450
602
        '1': this device is a UART16550
603 428 markom
 
604 312 markom
     jitter = 
605
        in msecs... time to block, -1 to disable it
606 428 markom
 
607 313 markom
     vapi_id = 
608
        VAPI id of this instance
609 312 markom
*/
610
 
611 261 markom
section uart
612
  nuarts = 1
613 428 markom
 
614 261 markom
  device 0
615 624 ivang
    baseaddr = 0x90000000
616 332 markom
    irq = 2
617 1076 rprescott
    channel = "file:uart0.rx,uart0.tx"
618 261 markom
    jitter = -1                     /* async behaviour */
619 1021 rherveille
    16550 = 1
620 261 markom
  enddevice
621
end
622
 
623 312 markom
 
624
/* DMA SECTION
625
 
626 876 rherveille
   This section configures the DMAs
627 312 markom
 
628
   ndmas = 
629
      make specified number of instances, configure each
630
      instance within device - enddevice construct.
631 428 markom
 
632 312 markom
   instance specific:
633
     baseaddr = 
634
        address of first DMA register for this device
635
 
636
     irq = 
637
        irq number for this device
638 428 markom
 
639 313 markom
     vapi_id = 
640
        VAPI id of this instance
641 312 markom
*/
642
 
643 261 markom
section dma
644 624 ivang
  ndmas = 0
645 1021 rherveille
 
646
  /*
647 261 markom
  device 0
648 1021 rherveille
    baseaddr = 0x9a000000
649
    irq = 11
650 261 markom
  enddevice
651 1021 rherveille
  */
652 261 markom
end
653 293 markom
 
654 304 markom
 
655 312 markom
/* ETHERNET SECTION
656
 
657 876 rherveille
   This section configures the ETHERNETs
658 312 markom
 
659
   nethernets = 
660
      make specified number of instances, configure each
661
      instance within device - enddevice construct.
662 428 markom
 
663 312 markom
   instance specific:
664
     baseaddr = 
665
        address of first ethernet register for this device
666
 
667
     dma = 
668
        which controller is this ethernet "connected" to
669 428 markom
 
670 724 ivang
     irq = 
671
        ethernet mac IRQ level
672
 
673 725 ivang
     rtx_type = 
674
        use 0 - file interface, 1 - socket interface
675
 
676 312 markom
     rx_channel = 
677
        DMA channel used for RX
678 428 markom
 
679 312 markom
     tx_channel = 
680
        DMA channel used for TX
681
 
682 664 markom
     rxfile = ""
683 312 markom
        filename, where to read data from
684 428 markom
 
685 664 markom
     txfile = ""
686 312 markom
        filename, where to write data to
687 428 markom
 
688 724 ivang
     sockif = ""
689
        interface name of ethernet socket
690
 
691 313 markom
     vapi_id = 
692
        VAPI id of this instance
693 312 markom
*/
694
 
695 304 markom
section ethernet
696 702 ivang
  nethernets = 1
697 428 markom
 
698 310 markom
  device 0
699 1021 rherveille
    baseaddr = 0x92000000
700 310 markom
    dma = 0
701 1021 rherveille
    irq = 4
702
    rtx_type = 1
703 310 markom
    tx_channel = 0
704
    rx_channel = 1
705 1021 rherveille
    rxfile = "eth0.rx"
706
    txfile = "eth0.tx"
707
    sockif = "eth0"
708 310 markom
  enddevice
709 304 markom
end
710 332 markom
 
711 1021 rherveille
 
712 486 erez
/* GPIO SECTION
713
 
714 876 rherveille
   This section configures the GPIOs
715 486 erez
 
716
   ngpios = 
717
      make specified number of instances, configure each
718
      instance within device - enddevice construct.
719
 
720
   instance specific:
721
     baseaddr = 
722
        address of first GPIO register for this device
723
 
724
     irq = 
725
        irq number for this device
726
 
727
     base_vapi_id = 
728
        first VAPI id of this instance
729
        GPIO uses 8 consecutive VAPI IDs
730
*/
731
 
732
section gpio
733
  ngpios = 1
734
 
735
  device 0
736 1021 rherveille
    baseaddr = 0x91000000
737
    irq = 3
738 486 erez
    base_vapi_id = 0x0200
739
  enddevice
740
end
741
 
742 645 markom
/* VGA SECTION
743 1021 rherveille
 
744 876 rherveille
    This section configures the VGA/LCD controller
745 1021 rherveille
 
746 645 markom
    nvgas = 
747
       number of VGA devices connected
748 1021 rherveille
 
749 645 markom
    instance specific:
750
      baseaddr = 
751
        address of first VGA register
752 1021 rherveille
 
753 645 markom
      irq = 
754
        irq number for this device
755 1021 rherveille
 
756 645 markom
      refresh_rate = 
757
        number of cycles between screen dumps
758 1021 rherveille
 
759 645 markom
      filename = ""
760
        template name for generated names (e.g. "primary" produces "primary0023.bmp")
761
*/
762
 
763
section vga
764
  nvgas = 1
765
 
766
  device 0
767 1021 rherveille
    baseaddr = 0x97100000
768
    irq = 8
769 645 markom
    refresh_rate = 100000
770
    filename = "primary"
771
  enddevice
772
end
773
 
774 876 rherveille
 
775 1021 rherveille
/* TICK TIMER SECTION
776 876 rherveille
 
777 1021 rherveille
    This section configures tick timer
778
 
779 645 markom
    enabled = 0/1
780 1021 rherveille
      whether tick timer is enabled
781
 
782
    irq = 
783
      irq number
784
*/
785
/*
786
section tick
787
  enabled = 1
788
  irq = 0
789
end
790
*/
791
 
792
/* FB SECTION
793
 
794
    This section configures the frame buffer
795
 
796
    enabled = 0/1
797 645 markom
      whether frame buffer is enabled
798 1021 rherveille
 
799 664 markom
    baseaddr = 
800 645 markom
      base address of frame buffer
801 1021 rherveille
 
802 645 markom
    paladdr = 
803
      base address of first palette entry
804 1021 rherveille
 
805 645 markom
    refresh_rate = 
806
      number of cycles between screen dumps
807 1021 rherveille
 
808 645 markom
    filename = ""
809
      template name for generated names (e.g. "primary" produces "primary0023.bmp")
810
*/
811
 
812
section fb
813
  enabled = 1
814 1021 rherveille
  baseaddr = 0x97000000
815
  refresh_rate = 1000000
816 645 markom
  filename = "primary"
817
end
818 664 markom
 
819 1021 rherveille
 
820 664 markom
/* KBD SECTION
821
 
822 876 rherveille
    This section configures the PS/2 compatible keyboard
823 1021 rherveille
 
824 664 markom
    enabled = 0/1
825
      whether keyboard is enabled
826 1021 rherveille
 
827 664 markom
    baseaddr = 
828
      base address of the keyboard device
829 1021 rherveille
 
830 664 markom
    rxfile = ""
831
      filename, where to read data from
832
*/
833
 
834
section kbd
835
  enabled = 1
836 1021 rherveille
  irq = 5
837
  baseaddr = 0x94000000
838
  rxfile = "kbd.rx"
839 664 markom
end
840 876 rherveille
 
841
 
842
/* ATA SECTION
843 1021 rherveille
 
844 876 rherveille
    This section configures the ATA/ATAPI host controller
845 1021 rherveille
 
846 876 rherveille
    natas = 
847
       number of ATA hosts connected
848 1021 rherveille
 
849 876 rherveille
    instance specific:
850
      baseaddr = 
851
        address of first ATA register
852 1021 rherveille
 
853 876 rherveille
      irq = 
854
        irq number for this device
855
 
856
      debug = 
857
        debug level for ata models.
858
        0: no debug messages
859
        1: verbose messages
860
        3: normal messages (more messages than verbose)
861
        5: debug messages (normal debug messages)
862
        7: flow control messages (debug statemachine flows)
863
        9: low priority message (display everything the code does)
864
 
865
      dev_type0/1 = 
866
        ata device 0 type
867
        0: NO_CONNeCT: none (not connected)
868
        1: FILE      : simulated harddisk
869
        2: LOCAL     : local system harddisk
870
 
871
      dev_file0/1 = ""
872
        filename for simulated ATA device
873
        valid only if dev_type0 == 1
874
 
875
      dev_size0/1 = 
876
        size of simulated hard-disk (in MBytes)
877
        valid only if dev_type0 == 1
878
 
879
      dev_packet0/1 = 
880
        0: simulated ATA device does NOT implement PACKET command feature set
881
        1: simulated ATA device does implement PACKET command feature set
882
 
883
   FIXME: irq number
884
*/
885
 
886
section ata
887
  natas = 1
888
 
889
  device 0
890 1021 rherveille
    baseaddr = 0x9e000000
891
    irq = 15
892 876 rherveille
 
893
    dev_type0   = 1
894
    dev_file0   = "/tmp/sim_atadev0"
895
    dev_size0   = 1
896
    dev_packet0 = 0
897
 
898
    dev_type1   = 0
899
    dev_file1   = ""
900
    dev_size1   = 0
901
    dev_packet1 = 0
902
  enddevice
903
end
904 897 markom
 
905
 
906
/* CUC SECTION
907
 
908
    This section configures the OpenRISC Custom Unit Compiler
909
 
910
    memory_order = none/weak/strong/exact
911
      none   different memory ordering, even if there are dependencies,
912
             burst can be made, width can change
913
      weak   different memory ordering, if there cannot be dependencies
914
             burst can be made, width can change
915
      strong same memory ordering, burst can be made, width can change
916
      exact  exacltly the same memory ordering and widths
917
 
918
    calling_convention = 0/1
919
      whether programs follow OpenRISC calling conventions
920
 
921
    enable_bursts = 0/1
922
      whether burst are detected
923
 
924
    no_multicycle = 0/1
925
      if selected no multicycle logic paths will be generated
926
 
927
    timings_fn = ""
928
*/
929
 
930
section cuc
931
  memory_order = weak
932
  calling_convention = 1
933
  enable_bursts = 1
934
  no_multicycle = 1
935
  timings_fn = "virtex.tim"
936
end
937
 

powered by: WebSVN 2.1.0

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