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

powered by: WebSVN 2.1.0

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