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

Subversion Repositories minsoc

[/] [minsoc/] [tags/] [release-0.9/] [sw/] [support/] [orp.cfg] - Blame information for rev 106

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

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

powered by: WebSVN 2.1.0

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