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

Subversion Repositories or1k

[/] [or1k/] [branches/] [stable_0_2_x/] [or1ksim/] [testbench/] [mmu.cfg] - Blame information for rev 639

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

Line No. Rev Author Line
1 449 simons
/* sim.cfg -- Simulator configuration script file
2
   Copyright (C) 2001, Marko Mlinar, markom@opencores.org
3
 
4
This file includes a lot of help about configurations and default one
5
 
6
This file is part of OpenRISC 1000 Architectural 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 or1ksim have various parameters, which can be set in configuration
26
   files.  Multiple configurations may be used and switched between at
27
   or1ksim startup.
28
   By default, or1ksim loads condfiguration file from './sim.cfg' and if not
29
   found it checks '~/.or1k/sim.cfg'. If even this file is not found or
30
   all parameters are not defined, default configuration is used.
31
   Users should not rely on default configuration, but rather redefine all
32
   critical settings, since default configuration may differ in newer
33
   versions of the or1ksim.
34
   If multiple configurations are used, user can switch between them by
35
   supplying -f  option when starting simulator.
36
 
37
   This file may contain (standard C) only comments - no // support.
38
 
39
   Like normal configuration file, this file is divided in sections,
40
   where each section is described in detail also.
41
 
42
   Some section also have subsections. One example of such subsection is
43
   block:
44
 
45
   device 
46
     instance specific parameters...
47
   enddevice
48
 
49
   which creates a device instance.
50
*/
51
 
52
 
53
/* MEMORY SECTION
54
 
55
   This section specifies how is initial memory generated and which blocks
56
   it consist of.
57
 
58
   type = random/unknown/pattern
59
      specifies the initial memory values. 'random' parameter generate
60
      random memory using seed 'random_seed' parameter. 'pattern' parameter
61
      fills memory with 'pattern' parameter and 'unknown' does not specify
62
      how memory should be generated - the fastest option.
63
 
64
   random_seed = 
65
      random seed for randomizer, used if type = random
66
 
67
   pattern = 
68
      pattern to fill memory, used if type = pattern
69
 
70
   nmemories = 
71
      number of memory instances connected
72
 
73
   instance specific:
74
     baseaddr = 
75
        memory start address
76
 
77
     size = 
78
        memory size
79
 
80
     name = ""
81
        memory block name
82
 
83
     ce = 
84
        chip enable index of the memory instance
85
 
86
     delayr = 
87
        cycles, required for read access, -1 if instance does not support reading
88
 
89
     delayw = 
90
        cycles, required for write access, -1 if instance does not support writing
91
 
92
     16550 = 0/1
93
        0, if this device is uart 16450 and 1, if it is 16550
94
 
95
     log = ""
96
        filename, where to log memory accesses to, no log, if log command is not specified
97
*/
98
 
99
section memory
100
  /*random_seed = 12345
101
  type = random*/
102
  pattern = 0x00
103
  type = unknown /* Fastest */
104
 
105
  nmemories = 2
106
  device 0
107
    name = "RAM"
108
    ce = 0
109
    baseaddr = 0x40000000
110
    size = 0x00200000
111
    delayr = 1
112
    delayw = 2
113
  enddevice
114
 
115
  device 1
116
    name = "FLASH"
117
    ce = 1
118
    baseaddr = 0x00000000
119
    size = 0x00200000
120
    delayr = 10
121
    delayw = -1
122
  enddevice
123
end
124
 
125
/* IMMU SECTION
126
 
127
    This section configures Instruction Memory Menangement Unit
128
 
129
    enabled = 0/1
130
       whether IMMU is enabled
131
       (NOTE: UPR bit is set)
132
 
133
    nsets = 
134
       number of ITLB sets; must be power of two
135
 
136
    nways = 
137
       number of ITLB ways
138
 
139
    pagesize = 
140
       instruction page size; must be power of two
141
 
142
    entrysize = 
143
       instruction entry size in bytes
144
 
145
    ustates = 
146
       number of ITLB usage states (2, 3, 4 etc., max is 4)
147
*/
148
 
149
section immu
150
  enabled = 1
151 639 simons
  nsets = 64
152 449 simons
  nways = 1
153 639 simons
  ustates = 2
154 457 simons
  pagesize = 8192
155 449 simons
end
156
 
157
/* DMMU SECTION
158
 
159
    This section configures Data Memory Menangement Unit
160
 
161
    enabled = 0/1
162
       whether DMMU is enabled
163
       (NOTE: UPR bit is set)
164
 
165
    nsets = 
166
       number of DTLB sets; must be power of two
167
 
168
    nways = 
169
       number of DTLB ways
170
 
171
    pagesize = 
172
       data page size; must be power of two
173
 
174
    entrysize = 
175
       data entry size in bytes
176
 
177
    ustates = 
178
       number of DTLB usage states (2, 3, 4 etc., max is 4)
179
*/
180
 
181
section dmmu
182
  enabled = 1
183 639 simons
  nsets = 64
184 449 simons
  nways = 1
185 639 simons
  ustates = 2
186 457 simons
  pagesize = 8192
187 449 simons
end
188
 
189
 
190
/* IC SECTION
191
 
192
    This section configures Instruction Cache
193
 
194
    enabled = 0/1
195
       whether IC is enabled
196
       (NOTE: UPR bit is set)
197
 
198
    nsets = 
199
       number of IC sets; must be power of two
200
 
201
    nways = 
202
       number of IC ways
203
 
204
    blocksize = 
205
       IC block size in bytes; must be power of two
206
 
207
    ustates = 
208
       number of IC usage states (2, 3, 4 etc., max is 4)
209
*/
210
 
211
section ic
212 639 simons
  enabled = 1
213
  nsets = 256
214 449 simons
  nways = 1
215 639 simons
  ustates = 2
216 449 simons
  blocksize = 16
217
end
218
 
219
/* DC SECTION
220
 
221
    This section configures Data Cache
222
 
223
    enabled = 0/1
224
       whether DC is enabled
225
       (NOTE: UPR bit is set)
226
 
227
    nsets = 
228
       number of DC sets; must be power of two
229
 
230
    nways = 
231
       number of DC ways
232
 
233
    blocksize = 
234
       DC block size in bytes; must be power of two
235
 
236
    ustates = 
237
       number of DC usage states (2, 3, 4 etc., max is 4)
238
*/
239
 
240
section dc
241 639 simons
  enabled = 1
242
  nsets = 256
243 449 simons
  nways = 1
244 639 simons
  ustates = 2
245 449 simons
  blocksize = 16
246
end
247
 
248
/* SIM SECTION
249
 
250
  This section specifies how should sim behave.
251
 
252
  verbose = 0/1
253
      whether to print out extra messages
254
 
255
  debug = 0-9
256
      = 0 disabled debug messages
257
      1-9 level of sim debug information, greater the number more verbose is
258
          the output
259
 
260
  profile = 0/1
261
      whether to generate profiling file 'sim.profile'
262
 
263
  prof_fn = ""
264
      filename, where to generate profiling info, used
265
      only if 'profile' is set
266
 
267
  history = 0/1
268
      whether instruction execution flow is tracked for
269
      display by simulator hist command. Useful for
270
      back-trace debugging.
271
 
272
  iprompt = 0/1
273
      whether we strart in interactive prompt
274
 
275
  exe_log = 0/1
276
      whether execution log should be generated
277
 
278
  exe_log_fn = ""
279
      where to put execution log in, used only if 'exe_log'
280
      is set
281
 
282
  clkcycle = [ps|ns|us|ms]
283
      specifies time measurement for one cycle
284
*/
285
 
286
section sim
287
  /* verbose = 1 */
288
  debug = 0
289
  profile = 0
290
  prof_fn = "sim.profile"
291
 
292
  history = 1
293
  /* iprompt = 0 */
294
  exe_log = 0
295
  exe_log_fn = "executed.log"
296
end
297
 
298
 
299
/* SECTION VAPI
300
 
301
    This section configures Verification API, used for Advanced
302
    Core Verification.
303
 
304
    enabled = 0/1
305
        whether to start VAPI server
306
 
307
    server_port = 
308
        TCP/IP port to start VAPI server on
309
 
310
    log_enabled = 0/1
311
       whether logging of VAPI requests is enabled
312
 
313
    vapi_fn = 
314
       specifies filename where to log into, if log_enabled is selected
315
*/
316
 
317
section VAPI
318
  enabled = 0
319
  server_port = 9998
320
  log_enabled = 0
321
  vapi_log_fn = "vapi.log"
322
end
323
 
324
 
325
/* CPU SECTION
326
 
327
   This section specifies various CPU parameters.
328
 
329
   ver = 
330
   rev = 
331
      specifies version and revision of the CPU used
332
 
333
   upr = 
334
      changes the upr register
335
 
336
   superscalar = 0/1
337
      whether CPU is scalar or superscalar
338
      (modify cpu/or32/execute.c to tune superscalar model)
339
 
340
   hazards = 0/1
341
      whether data hazards are tracked in superscalar CPU
342
      and displayed by the simulator r command
343
 
344
   dependstats = 0/1
345
      whether inter-instruction dependencies are calculated
346
      and displayed by simulator stats command.
347
*/
348
 
349
section cpu
350
  ver = 0x1200
351
  rev = 0x0001
352
  /* upr = */
353
  superscalar = 0
354
  hazards = 0
355
  dependstats = 0
356 541 markom
end
357
 
358
section bpb
359
  enabled = 0
360 449 simons
  btic = 0
361
end
362
 
363
 
364
/* DEBUG SECTION
365
 
366
   This sections specifies how debug unit should behave.
367
 
368
   enabled = 0/1
369
      whether debug unit is enabled
370
 
371
   gdb_enabled = 0/1
372
      whether to start gdb server at 'server_port' port
373
 
374
   server_port = 
375
      TCP/IP port to start gdb server on, used only if gdb_enabled
376
      is set
377
 
378
section debug
379
  enabled = 0
380
  gdb_enabled = 0
381
  server_port = 9999
382
end
383
 
384
 
385
/* MC SECTION
386
 
387
   This section configures the memory controller
388
 
389
   enabled = 0/1
390
      whether memory controller is enabled
391
 
392
   baseaddr = 
393
      address of first MC register
394
 
395
   POC = 
396
      Power On Configuration register
397
*/
398
 
399
section mc
400
  enabled = 0
401
  baseaddr = 0xa0000000
402
  POC = 0x00000008                 /* Power on configuration register */
403
end
404
 
405
 
406
/* TICK TIMER SECTION
407
 
408
    This section configures tick timer
409
 
410
    enabled = 0/1
411
      whether tick timer is enabled
412
 
413
    irq = 
414
      irq number
415
*/
416
 
417
section tick
418
  enabled = 0
419
  irq = 3
420
end

powered by: WebSVN 2.1.0

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