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

Subversion Repositories mips_enhanced

[/] [mips_enhanced/] [trunk/] [grlib-gpl-1.0.19-b3188/] [designs/] [leon3-gr-cpci-ax/] [config.help] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 dimamali
 
2
 
3
Prompt for target technology
4
CONFIG_SYN_INFERRED
5
  Selects the target technology for memory and pads.
6
  The following are available:
7
 
8
  - Inferred: Generic FPGA or ASIC targets if your synthesis tool
9
    is capable of inferring RAMs and pads automatically.
10
 
11
  - Actel ProAsic/P/3 and Axellerator FPGAs
12
  - Aeroflex UT25CRH Rad-Hard 0.25 um CMOS
13
  - Altera: Most Altera FPGA families
14
  - Altera-Stratix: Altera Stratix FPGA family
15
  - Altera-StratixII: Altera Stratix-II FPGA family
16
  - ATC18: Atmel-Nantes 0.18 um rad-hard CMOS
17
  - IHP25: IHP 0.25 um CMOS
18
  - IHP25RH: IHP Rad-Hard 0.25 um CMOS
19
  - Lattice : EC/ECP/XP FPGAs
20
  - Quicklogic : Eclipse/E/II FPGAs
21
  - UMC-0.18 : UMC 0.18 um CMOS with Virtual Silicon libraries
22
  - Xilinx-Spartan/2/3: Xilinx Spartan/2/3 libraries
23
  - Xilinx-Spartan3E: Xilinx Spartan3E libraries
24
  - Xilinx-Virtex/E: Xilinx Virtex/E libraries
25
  - Xilinx-Virtex2/4/5: Xilinx Virtex2/4/5 libraries
26
 
27
 
28
Ram library
29
CONFIG_MEM_VIRAGE
30
  Select RAM generators for ASIC targets.
31
 
32
Infer ram
33
CONFIG_SYN_INFER_RAM
34
  Say Y here if you want the synthesis tool to infer your
35
  RAM automatically. Say N to directly instantiate technology-
36
  specific RAM cells for the selected target technology package.
37
 
38
Infer pads
39
CONFIG_SYN_INFER_PADS
40
  Say Y here if you want the synthesis tool to infer pads.
41
  Say N to directly instantiate technology-specific pads from
42
  the selected target technology package.
43
 
44
No async reset
45
CONFIG_SYN_NO_ASYNC
46
  Say Y here if you disable asynchronous reset in some of the IP cores.
47
  Might be necessary if the target library does not have cells with
48
  asynchronous set/reset.
49
 
50
 
51
Use Virtex CLKDLL for clock synchronisation
52
CONFIG_CLK_INFERRED
53
  Certain target technologies include clock generators to scale or
54
  phase-adjust the system and SDRAM clocks. This is currently supported
55
  for Xilinx and Altera FPGAs. Depending on technology, you can select
56
  to use the Xilinx CKLDLL macro (Virtex, VirtexE, Spartan1/2), the
57
  Xilinx DCM (Virtex-2, Spartan3, Virtex-4), or the Altera ALTDLL
58
  (Stratix, Cyclone). Choose the 'inferred' option if you are not
59
  using Xilinx or Altera FPGAs.
60
 
61
  Using a technology specific clock generator is necessary to
62
  re-syncronize the SDRAM clock. For this to work, connect the
63
  external SDCLK signal with PLLREF.
64
 
65
Clock multiplier
66
CONFIG_CLK_MUL
67
  When using the Xilinx DCM or Altera ALTPLL, the system clock can
68
  be multiplied with a factor of 2 - 32, and divided by a factor of
69
  1 - 32. This makes it possible to generate almost any desired
70
  processor frequency. When using the Xilinx CLKDLL generator,
71
  the resulting frequency scale factor (mul/div) must be one of
72
  1/2, 1 or 2.
73
 
74
  WARNING: The resulting clock must be within the limits specified
75
  by the target FPGA family.
76
 
77
Clock divider
78
CONFIG_CLK_DIV
79
  When using the Xilinx DCM or Altera ALTPLL, the system clock can
80
  be multiplied with a factor of 2 - 32, and divided by a factor of
81
  1 - 32. This makes it possible to generate almost any desired
82
  processor frequency. When using the Xilinx CLKDLL generator,
83
  the resulting frequency scale factor (mul/div) must be one of
84
  1/2, 1 or 2.
85
 
86
  WARNING: The resulting clock must be within the limits specified
87
  by the target FPGA family.
88
 
89
System clock multiplier
90
CONFIG_CLKDLL_1_2
91
  The Xilinx CLKDLL can scale the input clock with a factor of 0.5, 1.0,
92
  or 2.0. Useful when the target board has an oscillator with a too high
93
  (or low) frequency for your design. The divided clock will be used as the
94
  main clock for the whole processor (except PCI and ethernet clocks).
95
 
96
System clock multiplier
97
CONFIG_DCM_2_3
98
  The Xilinx DCM and Altera ALTDLL can scale the input clock with a large
99
  range of factors. Useful when the target board has an oscillator with a
100
  too high (or low) frequency for your design. The divided clock will
101
  be used as the main clock for the whole processor (except PCI and
102
  ethernet clocks). NOTE: the resulting frequency must be at least
103
  24 MHz or the DCM and ALTDLL might not work.
104
 
105
Enable CLKDLL for PCI clock
106
CONFIG_PCI_CLKDLL
107
  Say Y here to re-synchronize the PCI clock using a
108
  Virtex BUFGDLL macro. Will improve PCI clock-to-output
109
  delays on the expense of input-setup requirements.
110
 
111
Use PCI clock system clock
112
CONFIG_PCI_SYSCLK
113
  Say Y here to the PCI clock to generate the system clock.
114
  The PCI clock can be scaled using the DCM or CLKDLL to
115
  generate a suitable processor clock.
116
 
117
External SDRAM clock feedback
118
CONFIG_CLK_NOFB
119
  Say Y here to disable the external clock feedback to synchronize the
120
  SDRAM clock. This option is necessary if your board or design does not
121
  have an external clock feedback that is connected to the pllref input
122
  of the clock generator.
123
 
124
Number of processors
125
CONFIG_PROC_NUM
126
  The number of processor cores. The LEON3MP design can accomodate
127
  up to 4 LEON3 processor cores. Use 1 unless you know what you are
128
  doing ...
129
 
130
Number of SPARC register windows
131
CONFIG_IU_NWINDOWS
132
  The SPARC architecture (and LEON) allows 2 - 32 register windows.
133
  However, any number except 8 will require that you modify and
134
  recompile your run-time system or kernel. Unless you know what
135
  you are doing, use 8.
136
 
137
SPARC V8 multiply and divide instruction
138
CONFIG_IU_V8MULDIV
139
  If you say Y here, the SPARC V8 multiply and divide instructions
140
  will be implemented. The instructions are: UMUL, UMULCC, SMUL,
141
  SMULCC, UDIV, UDIVCC, SDIV, SDIVCC. In code containing frequent
142
  integer multiplications and divisions, significant performance
143
  increase can be achieved. Emulated floating-point operations will
144
  also benefit from this option.
145
 
146
  By default, the gcc compiler does not emit multiply or divide
147
  instructions and your code must be compiled with -mv8 to see any
148
  performance increase. On the other hand, code compiled with -mv8
149
  will generate an illegal instruction trap when executed on processors
150
  with this option disabled.
151
 
152
  The divider consumes approximately 2 kgates, the multiplier 6 kgates.
153
 
154
Multiplier latency
155
CONFIG_IU_MUL_LATENCY_4
156
  The multiplier used for UMUL/SMUL instructions is implemented
157
  with a 16x16 multiplier which is iterated 4 times. This leads
158
  to a 4-cycle latency for multiply operations. To improve timing,
159
  a pipeline stage can be inserted into the 16x16 multiplier which
160
  will lead to a 5-cycle latency for the multiply oprations.
161
 
162
Multiplier latency
163
CONFIG_IU_MUL_MAC
164
  If you say Y here, the SPARC V8e UMAC/SMAC (multiply-accumulate)
165
  instructions will be enabled. The instructions implement a
166
  single-cycle 16x16->32 bits multiply with a 40-bits accumulator.
167
  The details of these instructions can be found in the LEON manual,
168
 
169
Single vector trapping
170
CONFIG_IU_SVT
171
  Single-vector trapping is a SPARC V8e option to reduce code-size
172
  in small applications. If enabled, the processor will jump to
173
  the address of trap 0 (tt = 0x00) for all traps. No trap table
174
  is then needed. The trap type is present in %psr.tt and must
175
  be decoded by the O/S. Saves 4 Kbyte of code, but increases
176
  trap and interrupt overhead. Currently, the only O/S supporting
177
  this option is eCos. To enable SVT, the O/S must also set bit 13
178
  in %asr17.
179
 
180
Load latency
181
CONFIG_IU_LDELAY
182
  Defines the pipeline load delay (= pipeline cycles before the data
183
  from a load instruction is available for the next instruction).
184
  One cycle gives best performance, but might create a critical path
185
  on targets with slow (data) cache memories. A 2-cycle delay can
186
  improve timing but will reduce performance with about 5%.
187
 
188
Reset address
189
CONFIG_IU_RSTADDR
190
  By default, a SPARC processor starts execution at address 0.
191
  With this option, any 4-kbyte aligned reset start address can be
192
  choosen. Keep at 0 unless you really know what you are doing.
193
 
194
Power-down
195
CONFIG_PWD
196
  Say Y here to enable the power-down feature of the processor.
197
  Might reduce the maximum frequency slightly on FPGA targets.
198
  For details on the power-down operation, see the LEON3 manual.
199
 
200
Hardware watchpoints
201
CONFIG_IU_WATCHPOINTS
202
  The processor can have up to 4 hardware watchpoints, allowing to
203
  create both data and instruction breakpoints at any memory location,
204
  also in PROM. Each watchpoint will use approximately 500 gates.
205
  Use 0 to disable the watchpoint function.
206
 
207
Floating-point enable
208
CONFIG_FPU_ENABLE
209
  Say Y here to enable the floating-point interface for the MEIKO
210
  or GRFPU. Note that no FPU's are provided with the GPL version
211
  of GRLIB. Both the Gaisler GRFPU and the Meiko FPU are commercial
212
  cores and must be obtained separately.
213
 
214
FPU selection
215
CONFIG_FPU_GRFPU
216
  Select between Gaisler Research's GRFPU and GRFPU-lite FPUs or the Sun
217
  Meiko FPU core. All cores  are fully IEEE-754 compatible and support
218
  all SPARC FPU instructions.
219
 
220
GRFPU Multiplier
221
CONFIG_FPU_GRFPU_INFMUL
222
  On FPGA targets choose inferred multiplier. For ASIC implementations
223
  choose between Synopsys Design Ware (DW) multiplier or Module
224
  Generator (ModGen) multiplier. DW multiplier gives better results
225
  (smaller area  and better timing) but requires DW license. ModGen
226
  multiplier is part of GRLIB and does not require license.
227
 
228
Shared GRFPU
229
CONFIG_FPU_GRFPU_SH
230
  If enabled multiple CPU cores will share one GRFPU.
231
 
232
GRFPC Configuration
233
CONFIG_FPU_GRFPC0
234
  Configures the GRFPU-LITE controller.
235
 
236
  In simple configuration controller executes FP instructions
237
  in parallel with  integer instructions. FP operands are fetched
238
  in the register file stage and the result is written in the write
239
  stage. This option uses least area resources.
240
 
241
  Data forwarding configuration gives ~ 10 % higher FP performance than
242
  the simple configuration by adding data forwarding between the pipeline
243
  stages.
244
 
245
  Non-blocking controller allows FP load and store instructions to
246
  execute in parallel with FP instructions. The performance increase is
247
  ~ 20 % for FP applications. This option uses most logic resources and
248
  is suitable for ASIC implementations.
249
 
250
Floating-point netlist
251
CONFIG_FPU_NETLIST
252
  Say Y here to use a VHDL netlist of the GRFPU-Lite. This is
253
  only available in certain versions of grlib.
254
 
255
Enable Instruction cache
256
CONFIG_ICACHE_ENABLE
257
  The instruction cache should always be enabled to allow
258
  maximum performance. Some low-end system might want to
259
  save area and disable the cache, but this will reduce
260
  the performance with a factor of 2 - 3.
261
 
262
Enable Data cache
263
CONFIG_DCACHE_ENABLE
264
  The data cache should always be enabled to allow
265
  maximum performance. Some low-end system might want to
266
  save area and disable the cache, but this will reduce
267
  the performance with a factor of 2 at least.
268
 
269
Instruction cache associativity
270
CONFIG_ICACHE_ASSO1
271
  The instruction cache can be implemented as a multi-set cache with
272
  1 - 4 sets. Higher associativity usually increases the cache hit
273
  rate and thereby the performance. The downside is higher power
274
  consumption and increased gate-count for tag comparators.
275
 
276
  Note that a 1-set cache is effectively a direct-mapped cache.
277
 
278
Instruction cache set size
279
CONFIG_ICACHE_SZ1
280
  The size of each set in the instuction cache (kbytes). Valid values
281
  are 1 - 64 in binary steps. Note that the full range is only supported
282
  by the generic and virtex2 targets. Most target packages are limited
283
  to 2 - 16 kbyte. Large set size gives higher performance but might
284
  affect the maximum frequency (on ASIC targets). The total instruction
285
  cache size is the number of set multiplied with the set size.
286
 
287
Instruction cache line size
288
CONFIG_ICACHE_LZ16
289
  The instruction cache line size. Can be set to either 16 or 32
290
  bytes per line. Instruction caches typically benefit from larger
291
  line sizes, but on small caches it migh be better with 16 bytes/line
292
  to limit eviction miss rate.
293
 
294
Instruction cache replacement algorithm
295
CONFIG_ICACHE_ALGORND
296
  Cache replacement algorithm for caches with 2 - 4 sets. The 'random'
297
  algorithm selects the set to evict randomly. The least-recently-used
298
  (LRR) algorithm evicts the set least recently replaced. The least-
299
  recently-used (LRU) algorithm evicts the set least recently accessed.
300
  The random algorithm uses a simple 1- or 2-bit counter to select
301
  the eviction set and has low area overhead. The LRR scheme uses one
302
  extra bit in the tag ram and has therefore also low area overhead.
303
  However, the LRR scheme can only be used with 2-set caches. The LRU
304
  scheme has typically the best performance but also highest area overhead.
305
  A 2-set LRU uses 1 flip-flop per line, a 3-set LRU uses 3 flip-flops
306
  per line, and a 4-set LRU uses 5 flip-flops per line to store the access
307
  history.
308
 
309
Instruction cache locking
310
CONFIG_ICACHE_LOCK
311
  Say Y here to enable cache locking in the instruction cache.
312
  Locking can be done on cache-line level, but will increase the
313
  width of the tag ram with one bit. If you don't know what
314
  locking is good for, it is safe to say N.
315
 
316
Data cache associativity
317
CONFIG_DCACHE_ASSO1
318
  The data cache can be implemented as a multi-set cache with
319
  1 - 4 sets. Higher associativity usually increases the cache hit
320
  rate and thereby the performance. The downside is higher power
321
  consumption and increased gate-count for tag comparators.
322
 
323
  Note that a 1-set cache is effectively a direct-mapped cache.
324
 
325
Data cache set size
326
CONFIG_DCACHE_SZ1
327
  The size of each set in the data cache (kbytes). Valid values are
328
  1 - 64 in binary steps. Note that the full range is only supported
329
  by the generic and virtex2 targets. Most target packages are limited
330
  to 2 - 16 kbyte. A large cache gives higher performance but the
331
  data cache is timing critical an a too large setting might affect
332
  the maximum frequency (on ASIC targets). The total data cache size
333
  is the number of set multiplied with the set size.
334
 
335
Data cache line size
336
CONFIG_DCACHE_LZ16
337
  The data cache line size. Can be set to either 16 or 32 bytes per
338
  line. A smaller line size gives better associativity and higher
339
  cache hit rate, but requires a larger tag memory.
340
 
341
Data cache replacement algorithm
342
CONFIG_DCACHE_ALGORND
343
  See the explanation for instruction cache replacement algorithm.
344
 
345
Data cache locking
346
CONFIG_DCACHE_LOCK
347
  Say Y here to enable cache locking in the data cache.
348
  Locking can be done on cache-line level, but will increase the
349
  width of the tag ram with one bit. If you don't know what
350
  locking is good for, it is safe to say N.
351
 
352
Data cache snooping
353
CONFIG_DCACHE_SNOOP
354
  Say Y here to enable data cache snooping on the AHB bus. Is only
355
  useful if you have additional AHB masters such as the DSU or a
356
  target PCI interface. Note that the target technology must support
357
  dual-port RAMs for this option to be enabled. Dual-port RAMS are
358
  currently supported on Virtex/2, Virage and Actel targets.
359
 
360
Data cache snooping implementation
361
CONFIG_DCACHE_SNOOP_FAST
362
  The default snooping implementation is 'slow', which works if you
363
  don't have AHB slaves in cacheable areas capable of zero-waitstates
364
  non-sequential write accesses. Otherwise use 'fast' and suffer a
365
  few kgates extra area. This option is currently only needed in
366
  multi-master systems with the SSRAM or DDR memory controllers.
367
 
368
Separate snoop tags
369
CONFIG_DCACHE_SNOOP_SEPTAG
370
  Enable a separate memory to store the data tags used for snooping.
371
  This is necessary when snooping support is wanted in systems
372
  with MMU, typically for SMP systems. In this case, the snoop
373
  tags will contain the physical tag address while the normal
374
  tags contain the virtual tag address. This option can also be
375
  together with the 'fast snooping' option to enable snooping
376
  support on technologies without dual-port RAMs. In such case,
377
  the snoop tag RAM will be implemented using a two-port RAM.
378
 
379
Fixed cacheability map
380
CONFIG_CACHE_FIXED
381
  If this variable is 0, the cacheable memory regions are defined
382
  by the AHB plug&play information (default). To overriden the
383
  plug&play settings, this variable can be set to indicate which
384
  areas should be cached. The value is treated as a 16-bit hex value
385
  with each bit defining if a 256 Mbyte segment should be cached or not.
386
  The right-most (LSB) bit defines the cacheability of AHB address
387
 
388
  3840 - 4096 MByte. If the bit is set, the corresponding area is
389
  cacheable. A value of 00F3 defines address 0 - 0x20000000 and
390
  0x40000000 - 0x80000000 as cacheable.
391
 
392
Local data ram
393
CONFIG_DCACHE_LRAM
394
  Say Y here to add a local ram to the data cache controller.
395
  Accesses to the ram (load/store) will be performed at 0 waitstates
396
  and store data will never be written back to the AHB bus.
397
 
398
Size of local data ram
399
CONFIG_DCACHE_LRAM_SZ1
400
  Defines the size of the local data ram in Kbytes. Note that most
401
  technology libraries do not support larger rams than 16 Kbyte.
402
 
403
Start address of local data ram
404
CONFIG_DCACHE_LRSTART
405
  Defines the 8 MSB bits of start address of the local data ram.
406
  By default set to 8f (start address = 0x8f000000), but any value
407
  (except 0) is possible. Note that the local data ram 'shadows'
408
  a 16 Mbyte block of the address space.
409
 
410
MMU enable
411
CONFIG_MMU_ENABLE
412
  Say Y here to enable the Memory Management Unit.
413
 
414
MMU split icache/dcache table lookaside buffer
415
CONFIG_MMU_COMBINED
416
  Select "combined" for a combined icache/dcache table lookaside buffer,
417
  "split" for a split icache/dcache table lookaside buffer
418
 
419
MMU tlb replacement scheme
420
CONFIG_MMU_REPARRAY
421
  Select "LRU" to use the "least recently used" algorithm for TLB
422
  replacement, or "Increment" for a simple incremental replacement
423
  scheme.
424
 
425
Combined i/dcache tlb
426
CONFIG_MMU_I2
427
  Select the number of entries for the instruction TLB, or the
428
  combined icache/dcache TLB if such is used.
429
 
430
Split tlb, dcache
431
CONFIG_MMU_D2
432
  Select the number of entries for the dcache TLB.
433
 
434
DSU enable
435
CONFIG_DSU_ENABLE
436
  The debug support unit (DSU) allows non-intrusive debugging and tracing
437
  of both executed instructions and AHB transfers. If you want to enable
438
  the DSU, say Y here and select the configuration below.
439
 
440
Trace buffer enable
441
CONFIG_DSU_TRACEBUF
442
  Say Y to enable the trace buffer. The buffer is not necessary for
443
  debugging, only for tracing instructions and data transfers.
444
 
445
Enable instruction tracing
446
CONFIG_DSU_ITRACE
447
  If you say Y here, an instruction trace buffer will be implemented
448
  in each processor. The trace buffer will trace executed instructions
449
  and their results, and place them in a circular buffer. The buffer
450
  can be read out by any AHB master, and in particular by the debug
451
  communication link.
452
 
453
Size of trace buffer
454
CONFIG_DSU_ITRACESZ1
455
  Select the buffer size (in kbytes) for the instruction trace buffer.
456
  Each line in the buffer needs 16 bytes. A 128-entry buffer will thus
457
  need 2 kbyte.
458
 
459
Enable AHB tracing
460
CONFIG_DSU_ATRACE
461
  If you say Y here, an AHB trace buffer will be implemented in the
462
  debug support unit processor. The AHB buffer will trace all transfers
463
  on the AHB bus and save them in a circular buffer. The trace buffer
464
  can be read out by any AHB master, and in particular by the debug
465
  communication link.
466
 
467
Size of trace buffer
468
CONFIG_DSU_ATRACESZ1
469
  Select the buffer size (in kbytes) for the AHB trace buffer.
470
  Each line in the buffer needs 16 bytes. A 128-entry buffer will thus
471
  need 2 kbyte.
472
 
473
 
474
LEON3FT enable
475
CONFIG_LEON3FT_EN
476
  Say Y here to use the fault-tolerant LEON3FT core instead of the
477
  standard non-FT LEON3.
478
 
479
IU Register file protection
480
CONFIG_IUFT_NONE
481
  Select the FT implementation in the LEON3FT integer unit
482
  register file. The options include parity, parity with
483
  sparing, 7-bit BCH and TMR.
484
 
485
FPU Register file protection
486
CONFIG_FPUFT_EN
487
  Say Y to enable SEU protection of the FPU register file.
488
  The GRFPU will be protected using 8-bit parity without restart, while
489
  the GRFPU-Lite will be protected with 4-bit parity with restart. If
490
  disabled the FPU register file will be implemented using flip-flops.
491
 
492
Cache memory error injection
493
CONFIG_RF_ERRINJ
494
  Say Y here to enable error injection in to the IU/FPU regfiles.
495
  Affects only simulation.
496
 
497
Cache memory protection
498
CONFIG_CACHE_FT_EN
499
  Enable SEU error-correction in the cache memories.
500
 
501
Cache memory error injection
502
CONFIG_CACHE_ERRINJ
503
  Say Y here to enable error injection in to the cache memories.
504
  Affects only simulation.
505
 
506
Leon3ft netlist
507
CONFIG_LEON3_NETLIST
508
  Say Y here to use a VHDL netlist of the LEON3FT. This is
509
  only available in certain versions of grlib.
510
 
511
IU assembly printing
512
CONFIG_IU_DISAS
513
  Enable printing of executed instructions to the console.
514
 
515
IU assembly printing in netlist
516
CONFIG_IU_DISAS_NET
517
  Enable printing of executed instructions to the console also
518
  when simulating a netlist. NOTE: with this option enabled, it
519
  will not be possible to pass place&route.
520
 
521
32-bit program counters
522
CONFIG_DEBUG_PC32
523
  Since the LSB 2 bits of the program counters always are zero, they are
524
  normally not implemented. If you say Y here, the program counters will
525
  be implemented with full 32 bits, making debugging of the VHDL model
526
  much easier. Turn of this option for synthesis or you will be wasting
527
  area.
528
 
529
 
530
CONFIG_AHB_DEFMST
531
  Sets the default AHB master (see AMBA 2.0 specification for definition).
532
  Should not be set to a value larger than the number of AHB masters - 1.
533
  For highest processor performance, leave it at 0.
534
 
535
Default AHB master
536
CONFIG_AHB_RROBIN
537
  Say Y here to enable round-robin arbitration of the AHB bus. A N will
538
  select fixed priority, with the master with the highest bus index having
539
  the highest priority.
540
 
541
Support AHB split-transactions
542
CONFIG_AHB_SPLIT
543
  Say Y here to enable AHB split-transaction support in the AHB arbiter.
544
  Unless you actually have an AHB slave that can generate AHB split
545
  responses, say N and save some gates.
546
 
547
Default AHB master
548
CONFIG_AHB_IOADDR
549
  Selects the MSB adddress (HADDR[31:20]) of the AHB IO area, as defined
550
  in the plug&play extentions of the AMBA bus. Should be kept to FFF
551
  unless you really know what you are doing.
552
 
553
APB bridge address
554
CONFIG_APB_HADDR
555
  Selects the MSB adddress (HADDR[31:20]) of the APB bridge. Should be
556
  kept at 800 for software compatibility.
557
 
558
 
559
DSU enable
560
CONFIG_DSU_UART
561
  Say Y to enable the AHB uart (serial-to-AHB). This is the most
562
  commonly used debug communication link.
563
 
564
PROM/SRAM memory controller
565
CONFIG_SRCTRL
566
  Say Y here to enable a simple (and small) PROM/SRAM memory controller.
567
  The controller has a fixed number of waitstates, and is primarily
568
  intended for FPGA implementations. The RAM data bus is always 32 bits,
569
  the PROM can be configured to either 8 or 32 bits (hardwired).
570
 
571
8-bit memory support
572
CONFIG_SRCTRL_8BIT
573
  If you say Y here, the simple PROM/SRAM memory controller will
574
  implement 8-bit PROM mode.
575
 
576
PROM waitstates
577
CONFIG_SRCTRL_PROMWS
578
  Select the number of waitstates for PROM access.
579
 
580
RAM waitstates
581
CONFIG_SRCTRL_RAMWS
582
  Select the number of waitstates for RAM access.
583
 
584
IO waitstates
585
CONFIG_SRCTRL_IOWS
586
  Select the number of waitstates for IO access.
587
 
588
Read-modify-write support
589
CONFIG_SRCTRL_RMW
590
  Say Y here to perform byte- and half-word writes as a
591
  read-modify-write sequence. This is necessary if your
592
  SRAM does not have individual byte enables. If you are
593
  unsure, it is safe to say Y.
594
 
595
SRAM bank select
596
CONFIG_SRCTRL_SRBANKS
597
  Select number of SRAM banks.
598
 
599
SRAM bank size select
600
CONFIG_SRCTRL_BANKSZ
601
  Select size of SRAM banks in kBytes.
602
 
603
PROM address bit select
604
CONFIG_SRCTRL_ROMASEL
605
  Select address bit for PROM bank decoding.
606
Leon2 memory controller
607
CONFIG_MCTRL_LEON2
608
  Say Y here to enable the LEON2 memory controller. The controller
609
  can access PROM, I/O, SRAM and SDRAM. The bus width for PROM
610
  and SRAM is programmable to 8-, 16- or 32-bits.
611
 
612
8-bit memory support
613
CONFIG_MCTRL_8BIT
614
  If you say Y here, the PROM/SRAM memory controller will support
615
  8-bit mode, i.e. operate from 8-bit devices as if they were 32-bit.
616
  Say N to save a few hundred gates.
617
 
618
16-bit memory support
619
CONFIG_MCTRL_16BIT
620
  If you say Y here, the PROM/SRAM memory controller will support
621
  16-bit mode, i.e. operate from 16-bit devices as if they were 32-bit.
622
  Say N to save a few hundred gates.
623
 
624
Write strobe feedback
625
CONFIG_MCTRL_WFB
626
  If you say Y here, the PROM/SRAM write strobes (WRITEN, WEN) will
627
  be used to enable the data bus drivers during write cycles. This
628
  will guarantee that the data is still valid on the rising edge of
629
  the write strobe. If you say N, the write strobes and the data bus
630
  drivers will be clocked on the rising edge, potentially creating
631
  a hold time problem in external memory or I/O. However, in all
632
  practical cases, there is enough capacitance in the data bus lines
633
  to keep the value stable for a few (many?) nano-seconds after the
634
  buffers have been disabled, making it safe to say N and remove a
635
  combinational path in the netlist that might be difficult to
636
  analyze.
637
 
638
Write strobe feedback
639
CONFIG_MCTRL_5CS
640
  If you say Y here, the 5th (RAMSN[4]) SRAM chip select signal will
641
  be enabled. If you don't intend to use it, say N and save some gates.
642
 
643
SDRAM controller enable
644
CONFIG_MCTRL_SDRAM
645
  Say Y here to enabled the PC100/PC133 SDRAM controller. If you don't
646
  intend to use SDRAM, say N and save about 1 kgates.
647
 
648
SDRAM controller inverted clock
649
CONFIG_MCTRL_SDRAM_INVCLK
650
  If you say Y here, the SDRAM controller output signals will be delayed
651
  with 1/2 clock in respect to the SDRAM clock. This will allow the used
652
  of an SDRAM clock which in not strictly in phase with the internal
653
  clock. This option will limit the SDRAM frequency to 40 - 50 MHz.
654
 
655
  On FPGA targets without SDRAM clock synchronizations through PLL/DLL,
656
  say Y. On ASIC targets, say N and tell your foundry to balance the
657
  SDRAM clock output.
658
 
659
SDRAM separate address buses
660
CONFIG_MCTRL_SDRAM_SEPBUS
661
  Say Y here if your SDRAM is connected through separate address
662
  and data buses (SA & SD). This is the case on the GR-CPCI-XC2V6000
663
  board, but not on the GR-PCI-XC2V3000 or Avnet XCV1500E boards.
664
 
665
64-bit data bus
666
CONFIG_MCTRL_SDRAM_BUS64
667
  Say Y here to enable 64-bit SDRAM data bus.
668
 
669
Page burst enable
670
CONFIG_MCTRL_PAGE
671
  Say Y here to enable SDRAM page burst operation. This will implement
672
  read operations using page bursts rather than 8-word bursts and save
673
  about 500 gates (100 LUTs). Note that not all SDRAM supports page
674
  burst, so use this option with care.
675
 
676
Programmable page burst enable
677
CONFIG_MCTRL_PROGPAGE
678
  Say Y here to enable programmable SDRAM page burst operation. This
679
  will allow to dynamically enable/disable page burst by setting
680
  bit 17 in MCFG2.
681
 
682
SDRAM controller enable
683
CONFIG_SDCTRL
684
  Say Y here to enabled a 32/64-bit PC133 SDRAM controller.
685
 
686
SDRAM controller inverted clock
687
CONFIG_SDCTRL_INVCLK
688
  If you say Y here, the SDRAM clock will be inverted in respect to the
689
  system clock and the SDRAM signals. This will limit the SDRAM frequency
690
  to 50/66 MHz, but has the benefit that you will not need a PLL to
691
  generate the SDRAM clock. On FPGA targets, say Y. On ASIC targets,
692
  say N and tell your foundry to balance the SDRAM clock output.
693
 
694
64-bit data bus
695
CONFIG_SDCTRL_BUS64
696
  Say Y here to enable 64-bit data bus.
697
 
698
Page burst enable
699
CONFIG_SDCTRL_PAGE
700
  Say Y here to enable SDRAM page burst operation. This will implement
701
  read operations using page bursts rather than 8-word bursts and save
702
  about 500 gates (100 LUTs). Note that not all SDRAM supports page
703
  burst, so use this option with care.
704
 
705
Programmable page burst enable
706
CONFIG_SDCTRL_PROGPAGE
707
  Say Y here to enable programmable SDRAM page burst operation. This
708
  will allow to dynamically enable/disable page burst by setting
709
  bit 17 in MCFG2.
710
 
711
On-chip ram
712
CONFIG_AHBRAM_ENABLE
713
  Say Y here to add a block on on-chip ram to the AHB bus. The ram
714
  provides 0-waitstates read access and 0/1 waitstates write access.
715
  All AHB burst types are supported, as well as 8-, 16- and 32-bit
716
  data size.
717
 
718
On-chip ram size
719
CONFIG_AHBRAM_SZ1
720
  Set the size of the on-chip AHB ram. The ram is infered/instantiated
721
  as four byte-wide ram slices to allow byte and half-word write
722
  accesses. It is therefore essential that the target package can
723
  infer byte-wide rams. This is currently supported on the generic,
724
  virtex, virtex2, proasic and axellerator targets.
725
 
726
On-chip ram address
727
CONFIG_AHBRAM_START
728
  Set the start address of AHB RAM (HADDR[31:20]). The RAM will occupy
729
  a 1 Mbyte slot at the selected address. Default is A00, corresponding
730
  to AHB address 0xA0000000.
731
 
732
PCI interface type
733
CONFIG_PCI_SIMPLE_TARGET
734
  The target-only PCI interface provides a simple target interface
735
  without fifos. It is small and robust, and is suitable to be used
736
  for DSU communications via PCI.
737
 
738
PCI interface type
739
CONFIG_PCI_MASTER_TARGET
740
  The master-target PCI interface provides a high-performance 32-bit
741
  PCI interface with configurable FIFOs and optional DMA channel.
742
 
743
PCI interface type
744
CONFIG_PCI_MASTER_TARGET_DMA
745
  Say Y here to enable a DMA controller in the PCI master-target core.
746
  The DMA controller can perform PCI<->memory data transfers
747
  independently of the processor.
748
 
749
PCI vendor id
750
CONFIG_PCI_VENDORID
751
  Sets the PCI vendor ID in the PCI configuration area.
752
 
753
PCI device id
754
CONFIG_PCI_DEVICEID
755
  Sets the PCI device ID in the PCI configuration area.
756
 
757
PCI initiator address
758
CONFIG_PCI_HADDR
759
  Sets the MSB AHB adress (HADDR[31:20]) of the PCI initiator area.
760
 
761
PCI FIFO depth
762
CONFIG_PCI_FIFO8
763
  The number words in the PCI FIFO buffers in the master-target
764
  core. The master interface uses four 33-bit wide FIFOs, while the
765
  target interface uses two.
766
 
767
 
768
PCI arbiter enable
769
CONFIG_PCI_ARBITER
770
  To enable a PCI arbiter, say Y here.
771
 
772
PCI APB interface enable
773
CONFIG_PCI_ARBITER_APB
774
  Say Y here to enable the APB interface on the PCI arbiter. This makes
775
  it possible to dynamically re-assign PCI master priorities. See the
776
  PCI arbiter manual for details.
777
 
778
PCI arbiter request signals
779
CONFIG_PCI_ARBITER_NREQ
780
  The number of PCI bus request/grant pairs. Should be not
781
  be more than 8. Note that the processor needs one, so the
782
  minimum should be 2.
783
 
784
PCI trace buffer
785
CONFIG_PCI_TRACE
786
  The PCI trace buffer implements a simple on-chip logic analyzer
787
  to trace the PCI signals. The PCI AD bus and most control signals
788
  are stored in a circular buffer, and can be read out by the DSU
789
  or any other AHB master. See the manual for detailed operation.
790
  Only available for target technologies with dual-port rams.
791
 
792
PCI trace buffer depth
793
CONFIG_PCI_TRACE256
794
  Select the number of entries in the PCI trace buffer. Each entry
795
  will use 6 bytes of on-chip (block) ram.
796
 
797
 
798
UART1 enable
799
CONFIG_UART1_ENABLE
800
  Say Y here to enable UART1, or the console UART. This is needed to
801
  get any print-out from LEON3 systems regardless of operating system.
802
 
803
UART1 FIFO
804
CONFIG_UA1_FIFO1
805
  The UART has configurable transmitt and receive FIFO's, which can
806
  be set to 1 - 32 bytes. Use 1 for minimum area, or 8 - 32 for
807
  maximum throughput.
808
 
809
 
810
UART2 enable
811
CONFIG_UART2_ENABLE
812
  Say Y here to enable UART2, or the secondary UART. This UART can be
813
  used to connect a second console (uClinux) or to control external
814
  equipment.
815
 
816
UART2 FIFO
817
CONFIG_UA2_FIFO1
818
  The UART has configurable transmitt and receive FIFO's, which can
819
  be set to 1 - 32 bytes. Use 1 for minimum area, or 8 - 32 for
820
  maximum throughput.
821
 
822
LEON3 interrupt controller
823
CONFIG_IRQ3_ENABLE
824
  Say Y here to enable the LEON3 interrupt controller. This is needed
825
  if you want to be able to receive interrupts. Operating systems like
826
  Linux, RTEMS and eCos needs this option to be enabled. If you intend
827
  to use the Bare-C run-time and not use interrupts, you could disable
828
  the interrupt controller and save about 500 gates.
829
 
830
LEON3 interrupt controller broadcast
831
CONFIG_IRQ3_BROADCAST_ENABLE
832
  If enabled the broadcast register is used to determine which
833
  interrupt should be sent to all cpus instead of just the first
834
  one that consumes it.
835
Timer module enable
836
CONFIG_GPT_ENABLE
837
  Say Y here to enable the Modular Timer Unit. The timer unit consists
838
  of one common scaler and up to 7 independent timers. The timer unit
839
  is needed for Linux, RTEMS, eCos and the Bare-C run-times.
840
 
841
Timer module enable
842
CONFIG_GPT_NTIM
843
  Set the number of timers in the timer unit (1 - 7).
844
 
845
Scaler width
846
CONFIG_GPT_SW
847
  Set the width if the common pre-scaler (2 - 16 bits). The scaler
848
  is used to divide the system clock down to 1 MHz, so 8 bits should
849
  be sufficient for most implementations (allows clocks up to 256 MHz).
850
 
851
Timer width
852
CONFIG_GPT_TW
853
  Set the width if the timers (2 - 32 bits). 32 bits is recommended
854
  for the Bare-C run-time, lower values (e.g. 16 bits) can work with
855
  RTEMS and Linux.
856
 
857
Timer Interrupt
858
CONFIG_GPT_IRQ
859
  Set the interrupt number for the first timer. Remaining timers will
860
  have incrementing interrupts, unless the separate-interrupts option
861
  below is disabled.
862
 
863
Watchdog enable
864
CONFIG_GPT_WDOGEN
865
  Say Y here to enable the watchdog functionality in the timer unit.
866
 
867
Watchdog time-out value
868
CONFIG_GPT_WDOG
869
  This value will be loaded in the watchdog timer at reset.
870
 
871
GPIO port
872
CONFIG_GRGPIO_ENABLE
873
  Say Y here to enable a general purpose I/O port. The port can be
874
  configured from 1 - 32 bits, whith each port signal individually
875
  programmable as input or output. The port signals can also serve
876
  as interrupt inputs.
877
 
878
GPIO port witdth
879
CONFIG_GRGPIO_WIDTH
880
  Number of bits in the I/O port. Must be in the range of 1 - 32.
881
 
882
GPIO interrupt mask
883
CONFIG_GRGPIO_IMASK
884
  The I/O port interrupt mask defines which bits in the I/O port
885
  should be able to create an interrupt.
886
 
887
UART debugging
888
CONFIG_DEBUG_UART
889
  During simulation, the output from the UARTs is printed on the
890
  simulator console. Since the ratio between the system clock and
891
  UART baud-rate is quite high, simulating UART output will be very
892
  slow. If you say Y here, the UARTs will print a character as soon
893
  as it is stored in the transmitter data register. The transmitter
894
  ready flag will be permanently set, speeding up simulation. However,
895
  the output on the UART tx line will be garbled.  Has not impact on
896
  synthesis, but will cause the LEON test bench to fail.
897
 
898
FPU register tracing
899
CONFIG_DEBUG_FPURF
900
  If you say Y here, all writes to the floating-point unit register file
901
  will be printed on the simulator console.
902
 

powered by: WebSVN 2.1.0

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