1 |
2 |
dimamali |
|
2 |
|
|
mainmenu_option next_comment
|
3 |
|
|
bool 'Enable LEON3 SPARC V8 Processor' CONFIG_LEON3
|
4 |
|
|
if [ "$CONFIG_LEON3" = "y" ]; then
|
5 |
|
|
int 'Number of processors' CONFIG_PROC_NUM 1
|
6 |
|
|
comment 'Processor '
|
7 |
|
|
mainmenu_option next_comment
|
8 |
|
|
comment 'Integer unit '
|
9 |
|
|
int 'SPARC register windows' CONFIG_IU_NWINDOWS 8
|
10 |
|
|
bool 'SPARC V8 MUL/DIV instructions' CONFIG_IU_V8MULDIV
|
11 |
|
|
if [ "$CONFIG_IU_V8MULDIV" = "y" ]; then
|
12 |
|
|
choice 'Hardware multiplier latency' \
|
13 |
|
|
"2-cycles CONFIG_IU_MUL_LATENCY_2 \
|
14 |
|
|
4-cycles CONFIG_IU_MUL_LATENCY_4 \
|
15 |
|
|
5-cycles CONFIG_IU_MUL_LATENCY_5" 5-cycles
|
16 |
|
|
if [ "$CONFIG_IU_MUL_LATENCY_4" = "y" -o "$CONFIG_IU_MUL_LATENCY_5" = "y" ]; then
|
17 |
|
|
bool 'SPARC V8e SMAC/UMAC instructions ' CONFIG_IU_MUL_MAC
|
18 |
|
|
fi
|
19 |
|
|
fi
|
20 |
|
|
bool 'Single-vector trapping' CONFIG_IU_SVT
|
21 |
|
|
int 'Load delay' CONFIG_IU_LDELAY 1
|
22 |
|
|
int 'Hardware watchpoints' CONFIG_IU_WATCHPOINTS 0
|
23 |
|
|
bool 'Enable power-down mode ' CONFIG_PWD
|
24 |
|
|
hex ' Reset start address (addr[31:12]) ' CONFIG_IU_RSTADDR 00000
|
25 |
|
|
endmenu
|
26 |
|
|
mainmenu_option next_comment
|
27 |
|
|
comment 'Floating-point unit'
|
28 |
|
|
bool 'Enable FPU ' CONFIG_FPU_ENABLE
|
29 |
|
|
if [ "$CONFIG_FPU_ENABLE" = "y" ]; then
|
30 |
|
|
choice 'FPU core' \
|
31 |
|
|
"GRFPU CONFIG_FPU_GRFPU \
|
32 |
|
|
GRFPU-LITE CONFIG_FPU_GRFPULITE \
|
33 |
|
|
Meiko CONFIG_FPU_MEIKO" GRFPU
|
34 |
|
|
if [ "$CONFIG_FPU_GRFPU" = "y" ]; then
|
35 |
|
|
choice 'GRFPU multiplier' \
|
36 |
|
|
"Inferred CONFIG_FPU_GRFPU_INFMUL \
|
37 |
|
|
DW CONFIG_FPU_GRFPU_DWMUL \
|
38 |
|
|
ModGen CONFIG_FPU_GRFPU_MODGEN" Inferred
|
39 |
|
|
fi
|
40 |
|
|
if [ "$CONFIG_HAS_SHARED_GRFPU" = "y" ]; then
|
41 |
|
|
bool 'Shared GRFPU ' CONFIG_FPU_GRFPU_SH
|
42 |
|
|
fi
|
43 |
|
|
if [ "$CONFIG_FPU_GRFPULITE" = "y" ]; then
|
44 |
|
|
choice 'GRFPU-LITE controller' \
|
45 |
|
|
"Simple CONFIG_FPU_GRFPC0 \
|
46 |
|
|
Data-forwarding CONFIG_FPU_GRFPC1 \
|
47 |
|
|
Non-blocking CONFIG_FPU_GRFPC2" Simple
|
48 |
|
|
fi
|
49 |
|
|
bool 'Use VHDL netlist ' CONFIG_FPU_NETLIST
|
50 |
|
|
fi
|
51 |
|
|
endmenu
|
52 |
|
|
mainmenu_option next_comment
|
53 |
|
|
comment 'Cache system'
|
54 |
|
|
bool 'Enable instruction cache ' CONFIG_ICACHE_ENABLE
|
55 |
|
|
if [ "$CONFIG_ICACHE_ENABLE" = "y" ]; then
|
56 |
|
|
choice 'Associativity (sets) ' \
|
57 |
|
|
"1 CONFIG_ICACHE_ASSO1 \
|
58 |
|
|
2 CONFIG_ICACHE_ASSO2 \
|
59 |
|
|
3 CONFIG_ICACHE_ASSO3 \
|
60 |
|
|
4 CONFIG_ICACHE_ASSO4" 1
|
61 |
|
|
choice 'Set size (kbytes/set)' \
|
62 |
|
|
"1 CONFIG_ICACHE_SZ1 \
|
63 |
|
|
2 CONFIG_ICACHE_SZ2 \
|
64 |
|
|
4 CONFIG_ICACHE_SZ4 \
|
65 |
|
|
8 CONFIG_ICACHE_SZ8 \
|
66 |
|
|
16 CONFIG_ICACHE_SZ16 \
|
67 |
|
|
32 CONFIG_ICACHE_SZ32 \
|
68 |
|
|
64 CONFIG_ICACHE_SZ64 \
|
69 |
|
|
128 CONFIG_ICACHE_SZ128 \
|
70 |
|
|
256 CONFIG_ICACHE_SZ256" 4
|
71 |
|
|
choice 'Line size (bytes/line)' \
|
72 |
|
|
"16 CONFIG_ICACHE_LZ16 \
|
73 |
|
|
32 CONFIG_ICACHE_LZ32" 32
|
74 |
|
|
if [ "$CONFIG_ICACHE_ASSO1" != "y" ]; then
|
75 |
|
|
choice 'Replacement alorithm' \
|
76 |
|
|
"Random CONFIG_ICACHE_ALGORND \
|
77 |
|
|
LRR CONFIG_ICACHE_ALGOLRR \
|
78 |
|
|
LRU CONFIG_ICACHE_ALGOLRU" Random
|
79 |
|
|
bool 'Cache locking ' CONFIG_ICACHE_LOCK
|
80 |
|
|
fi
|
81 |
|
|
fi
|
82 |
|
|
if [ "$CONFIG_MMU_ENABLE" != "y" ]; then
|
83 |
|
|
bool 'Enable local instruction RAM ' CONFIG_ICACHE_LRAM
|
84 |
|
|
fi
|
85 |
|
|
if [ "$CONFIG_ICACHE_LRAM" = "y" ]; then
|
86 |
|
|
choice 'Local data RAM size (kbytes)' \
|
87 |
|
|
"1 CONFIG_ICACHE_LRAM_SZ1 \
|
88 |
|
|
2 CONFIG_ICACHE_LRAM_SZ2 \
|
89 |
|
|
4 CONFIG_ICACHE_LRAM_SZ4 \
|
90 |
|
|
8 CONFIG_ICACHE_LRAM_SZ8 \
|
91 |
|
|
16 CONFIG_ICACHE_LRAM_SZ16 \
|
92 |
|
|
32 CONFIG_ICACHE_LRAM_SZ32 \
|
93 |
|
|
64 CONFIG_ICACHE_LRAM_SZ64 \
|
94 |
|
|
128 CONFIG_ICACHE_LRAM_SZ128 \
|
95 |
|
|
256 CONFIG_ICACHE_LRAM_SZ256" 4
|
96 |
|
|
hex ' Local instruction RAM start address (8 MSB) ' CONFIG_ICACHE_LRSTART 8e
|
97 |
|
|
fi
|
98 |
|
|
bool 'Enable data cache ' CONFIG_DCACHE_ENABLE
|
99 |
|
|
if [ "$CONFIG_DCACHE_ENABLE" = "y" ]; then
|
100 |
|
|
choice 'Associativity (sets)' \
|
101 |
|
|
"1 CONFIG_DCACHE_ASSO1 \
|
102 |
|
|
2 CONFIG_DCACHE_ASSO2 \
|
103 |
|
|
3 CONFIG_DCACHE_ASSO3 \
|
104 |
|
|
4 CONFIG_DCACHE_ASSO4" 1
|
105 |
|
|
choice 'Set size (kbytes/set)' \
|
106 |
|
|
"1 CONFIG_DCACHE_SZ1 \
|
107 |
|
|
2 CONFIG_DCACHE_SZ2 \
|
108 |
|
|
4 CONFIG_DCACHE_SZ4 \
|
109 |
|
|
8 CONFIG_DCACHE_SZ8 \
|
110 |
|
|
16 CONFIG_DCACHE_SZ16 \
|
111 |
|
|
32 CONFIG_DCACHE_SZ32 \
|
112 |
|
|
64 CONFIG_DCACHE_SZ64 \
|
113 |
|
|
128 CONFIG_DCACHE_SZ128 \
|
114 |
|
|
256 CONFIG_DCACHE_SZ256" 4
|
115 |
|
|
choice 'Line size (bytes/line)' \
|
116 |
|
|
"16 CONFIG_DCACHE_LZ16 \
|
117 |
|
|
32 CONFIG_DCACHE_LZ32" 32
|
118 |
|
|
if [ "$CONFIG_DCACHE_ASSO1" != "y" ]; then
|
119 |
|
|
choice 'Replacement alorithm' \
|
120 |
|
|
"Random CONFIG_DCACHE_ALGORND \
|
121 |
|
|
LRR CONFIG_DCACHE_ALGOLRR \
|
122 |
|
|
LRU CONFIG_DCACHE_ALGOLRU" Random
|
123 |
|
|
bool 'Cache locking ' CONFIG_DCACHE_LOCK
|
124 |
|
|
fi
|
125 |
|
|
bool 'AHB snooping ' CONFIG_DCACHE_SNOOP
|
126 |
|
|
if [ "$CONFIG_DCACHE_SNOOP" = "y" ]; then
|
127 |
|
|
bool 'Fast snooping ' CONFIG_DCACHE_SNOOP_FAST
|
128 |
|
|
fi
|
129 |
|
|
if [ "$CONFIG_DCACHE_SNOOP" = "y" ]; then
|
130 |
|
|
bool 'Separate snoop tags ' CONFIG_DCACHE_SNOOP_SEPTAG
|
131 |
|
|
fi
|
132 |
|
|
fi
|
133 |
|
|
if [ "$CONFIG_ICACHE_ENABLE" = "y" -o "$CONFIG_DCACHE_ENABLE" = "y" ]; then
|
134 |
|
|
hex 'Fixed cacheability map ' CONFIG_CACHE_FIXED 0
|
135 |
|
|
fi
|
136 |
|
|
if [ "$CONFIG_MMU_ENABLE" != "y" ]; then
|
137 |
|
|
bool 'Enable local data RAM ' CONFIG_DCACHE_LRAM
|
138 |
|
|
fi
|
139 |
|
|
if [ "$CONFIG_DCACHE_LRAM" = "y" ]; then
|
140 |
|
|
choice 'Local data RAM size (kbytes)' \
|
141 |
|
|
"1 CONFIG_DCACHE_LRAM_SZ1 \
|
142 |
|
|
2 CONFIG_DCACHE_LRAM_SZ2 \
|
143 |
|
|
4 CONFIG_DCACHE_LRAM_SZ4 \
|
144 |
|
|
8 CONFIG_DCACHE_LRAM_SZ8 \
|
145 |
|
|
16 CONFIG_DCACHE_LRAM_SZ16 \
|
146 |
|
|
32 CONFIG_DCACHE_LRAM_SZ32 \
|
147 |
|
|
64 CONFIG_DCACHE_LRAM_SZ64 \
|
148 |
|
|
128 CONFIG_DCACHE_LRAM_SZ128 \
|
149 |
|
|
256 CONFIG_DCACHE_LRAM_SZ256" 4
|
150 |
|
|
hex ' Local data RAM start address (8 MSB) ' CONFIG_DCACHE_LRSTART 8f
|
151 |
|
|
fi
|
152 |
|
|
endmenu
|
153 |
|
|
|
154 |
|
|
mainmenu_option next_comment
|
155 |
|
|
comment 'MMU'
|
156 |
|
|
bool 'Enable MMU ' CONFIG_MMU_ENABLE
|
157 |
|
|
if [ "$CONFIG_MMU_ENABLE" = "y" ]; then
|
158 |
|
|
choice 'MMU type ' \
|
159 |
|
|
"combined CONFIG_MMU_COMBINED \
|
160 |
|
|
split CONFIG_MMU_SPLIT" combined
|
161 |
|
|
choice 'TLB replacement sheme ' \
|
162 |
|
|
"LRU CONFIG_MMU_REPARRAY \
|
163 |
|
|
Increment CONFIG_MMU_REPINCREMENT" Increment
|
164 |
|
|
choice 'Instruction (or combined) TLB entries' \
|
165 |
|
|
"2 CONFIG_MMU_I2 \
|
166 |
|
|
4 CONFIG_MMU_I4 \
|
167 |
|
|
8 CONFIG_MMU_I8 \
|
168 |
|
|
16 CONFIG_MMU_I16 \
|
169 |
|
|
32 CONFIG_MMU_I32" 8
|
170 |
|
|
if [ "$CONFIG_MMU_SPLIT" = "y" ]; then
|
171 |
|
|
choice 'Data TLB entries' \
|
172 |
|
|
"2 CONFIG_MMU_D2 \
|
173 |
|
|
4 CONFIG_MMU_D4 \
|
174 |
|
|
8 CONFIG_MMU_D8 \
|
175 |
|
|
16 CONFIG_MMU_D16 \
|
176 |
|
|
32 CONFIG_MMU_D32" 8
|
177 |
|
|
bool 'Fast writebuffer ' CONFIG_MMU_FASTWB
|
178 |
|
|
fi
|
179 |
|
|
fi
|
180 |
|
|
endmenu
|
181 |
|
|
|
182 |
|
|
mainmenu_option next_comment
|
183 |
|
|
comment 'Debug Support Unit '
|
184 |
|
|
bool 'Enable LEON3 Debug support unit ' CONFIG_DSU_ENABLE
|
185 |
|
|
if [ "$CONFIG_DSU_ENABLE" = "y" ]; then
|
186 |
|
|
bool 'Instruction trace buffer' CONFIG_DSU_ITRACE
|
187 |
|
|
if [ "$CONFIG_DSU_ITRACE" = "y" ]; then
|
188 |
|
|
choice 'Instruction trace buffer size (kbytes)' \
|
189 |
|
|
"1 CONFIG_DSU_ITRACESZ1 \
|
190 |
|
|
2 CONFIG_DSU_ITRACESZ2 \
|
191 |
|
|
4 CONFIG_DSU_ITRACESZ4 \
|
192 |
|
|
8 CONFIG_DSU_ITRACESZ8 \
|
193 |
|
|
16 CONFIG_DSU_ITRACESZ16" 1
|
194 |
|
|
fi
|
195 |
|
|
bool 'AHB trace buffer' CONFIG_DSU_ATRACE
|
196 |
|
|
if [ "$CONFIG_DSU_ATRACE" = "y" ]; then
|
197 |
|
|
choice 'AHB trace buffer size (kbytes)' \
|
198 |
|
|
"1 CONFIG_DSU_ATRACESZ1 \
|
199 |
|
|
2 CONFIG_DSU_ATRACESZ2 \
|
200 |
|
|
4 CONFIG_DSU_ATRACESZ4 \
|
201 |
|
|
8 CONFIG_DSU_ATRACESZ8 \
|
202 |
|
|
16 CONFIG_DSU_ATRACESZ16" 1
|
203 |
|
|
fi
|
204 |
|
|
fi
|
205 |
|
|
endmenu
|
206 |
|
|
|
207 |
|
|
# define_bool CONFIG_LEON3FT_EN n
|
208 |
|
|
mainmenu_option next_comment
|
209 |
|
|
comment 'Fault-tolerance '
|
210 |
|
|
if [ "$CONFIG_LEON3FT_PRESENT" = "y" ]; then
|
211 |
|
|
bool 'Use LEON3-FT processor core ' CONFIG_LEON3FT_EN
|
212 |
|
|
if [ "$CONFIG_LEON3FT_EN" = "y" ]; then
|
213 |
|
|
choice 'IU Register file protection ' \
|
214 |
|
|
"None CONFIG_IUFT_NONE \
|
215 |
|
|
Parity CONFIG_IUFT_PAR \
|
216 |
|
|
PDMR CONFIG_IUFT_DMR \
|
217 |
|
|
BCH CONFIG_IUFT_BCH \
|
218 |
|
|
TMR CONFIG_IUFT_TMR" None
|
219 |
|
|
if [ "$CONFIG_FPU_ENABLE" = "y" ]; then
|
220 |
|
|
bool 'FPU Register file protection ' CONFIG_FPUFT_EN
|
221 |
|
|
fi
|
222 |
|
|
bool 'Register file error injection' CONFIG_RF_ERRINJ
|
223 |
|
|
bool 'Cache memory protection ' CONFIG_CACHE_FT_EN
|
224 |
|
|
int 'Cache memory error injection' CONFIG_CACHE_ERRINJ 0
|
225 |
|
|
bool 'Use LEON3FT netlist ' CONFIG_LEON3_NETLIST
|
226 |
|
|
fi
|
227 |
|
|
fi
|
228 |
|
|
endmenu
|
229 |
|
|
mainmenu_option next_comment
|
230 |
|
|
comment 'VHDL debug settings '
|
231 |
|
|
bool 'Processor disassembly to console ' CONFIG_IU_DISAS
|
232 |
|
|
if [ "$CONFIG_IU_DISAS" = "y" ]; then
|
233 |
|
|
bool 'Processor disassembly in netlist ' CONFIG_IU_DISAS_NET
|
234 |
|
|
fi
|
235 |
|
|
bool '32-bit program counters ' CONFIG_DEBUG_PC32
|
236 |
|
|
endmenu
|
237 |
|
|
fi
|
238 |
|
|
endmenu
|
239 |
|
|
|