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

Subversion Repositories or1k

[/] [or1k/] [tags/] [nog_patch_40/] [or1ksim/] [sim.cfg] - Blame information for rev 1021

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

powered by: WebSVN 2.1.0

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