5 -----------------------------------------------------------------------------
6 -- LEON3 Demonstration design test bench configuration
7 -- Copyright (C) 2009 Aeroflex Gaisler
8 ------------------------------------------------------------------------------
12 use techmap.gencomp.all;
15 -- Technology and synthesis options
16 constant CFG_FABTECH : integer := spartan3;
17 constant CFG_MEMTECH : integer := spartan3;
18 constant CFG_PADTECH : integer := spartan3;
19 constant CFG_NOASYNC : integer := 0;
20 constant CFG_SCAN : integer := 0;
22 constant CFG_CLKTECH : integer := spartan3;
23 constant CFG_CLKMUL : integer := (4);
24 constant CFG_CLKDIV : integer := (5);
25 constant CFG_OCLKDIV : integer := 2;
26 constant CFG_PCIDLL : integer := 0;
27 constant CFG_PCISYSCLK: integer := 0;
28 constant CFG_CLK_NOFB : integer := 0;
29 -- LEON3 processor core
30 constant CFG_LEON3 : integer := 1;
31 constant CFG_NCPU : integer := (1);
32 constant CFG_NWIN : integer := (8);
33 constant CFG_V8 : integer := 0;
34 constant CFG_MAC : integer := 0;
35 constant CFG_BP : integer := 0;
36 constant CFG_SVT : integer := 0;
37 constant CFG_RSTADDR : integer := 16#00000#;
38 constant CFG_LDDEL : integer := (1);
39 constant CFG_NWP : integer := (4);
40 constant CFG_PWD : integer := 0*2;
41 constant CFG_FPU : integer := 0 + 16*0;
42 constant CFG_GRFPUSH : integer := 0;
43 constant CFG_ICEN : integer := 1;
44 constant CFG_ISETS : integer := 2;
45 constant CFG_ISETSZ : integer := 4;
46 constant CFG_ILINE : integer := 8;
47 constant CFG_IREPL : integer := 2;
48 constant CFG_ILOCK : integer := 0;
49 constant CFG_ILRAMEN : integer := 0;
50 constant CFG_ILRAMADDR: integer := 16#8E#;
51 constant CFG_ILRAMSZ : integer := 1;
52 constant CFG_DCEN : integer := 1;
53 constant CFG_DSETS : integer := 1;
54 constant CFG_DSETSZ : integer := 4;
55 constant CFG_DLINE : integer := 4;
56 constant CFG_DREPL : integer := 0;
57 constant CFG_DLOCK : integer := 0;
58 constant CFG_DSNOOP : integer := 1 + 0 + 4*0;
59 constant CFG_DFIXED : integer := 16#0#;
60 constant CFG_DLRAMEN : integer := 0;
61 constant CFG_DLRAMADDR: integer := 16#8F#;
62 constant CFG_DLRAMSZ : integer := 1;
63 constant CFG_MMUEN : integer := 1;
64 constant CFG_ITLBNUM : integer := 8;
65 constant CFG_DTLBNUM : integer := 8;
66 constant CFG_TLB_TYPE : integer := 0 + 1*2;
67 constant CFG_TLB_REP : integer := 0;
68 constant CFG_MMU_PAGE : integer := 4;
69 constant CFG_DSU : integer := 1;
70 constant CFG_ITBSZ : integer := 0;
71 constant CFG_ATBSZ : integer := 0;
72 constant CFG_LEON3FT_EN : integer := 0;
73 constant CFG_IUFT_EN : integer := 0;
74 constant CFG_FPUFT_EN : integer := 0;
75 constant CFG_RF_ERRINJ : integer := 0;
76 constant CFG_CACHE_FT_EN : integer := 0;
77 constant CFG_CACHE_ERRINJ : integer := 0;
78 constant CFG_LEON3_NETLIST: integer := 0;
79 constant CFG_DISAS : integer := 0 + 0;
80 constant CFG_PCLOW : integer := 2;
82 constant CFG_DEFMST : integer := (0);
83 constant CFG_RROBIN : integer := 1;
84 constant CFG_SPLIT : integer := 0;
85 constant CFG_AHBIO : integer := 16#FFF#;
86 constant CFG_APBADDR : integer := 16#800#;
87 constant CFG_AHB_MON : integer := 0;
88 constant CFG_AHB_MONERR : integer := 0;
89 constant CFG_AHB_MONWAR : integer := 0;
91 constant CFG_AHB_UART : integer := 0;
92 -- JTAG based DSU interface
93 constant CFG_AHB_JTAG : integer := 0;
95 constant CFG_GRUSB_DCL : integer := 0;
96 constant CFG_GRUSB_DCL_UIFACE : integer := 1;
97 constant CFG_GRUSB_DCL_DW : integer := 8;
99 constant CFG_DSU_ETH : integer := 1 + 0;
100 constant CFG_ETH_BUF : integer := 2;
101 constant CFG_ETH_IPM : integer := 16#C0A8#;
102 constant CFG_ETH_IPL : integer := 16#180A#;
103 constant CFG_ETH_ENM : integer := 16#020000#;
104 constant CFG_ETH_ENL : integer := 16#000008#;
105 -- LEON2 memory controller
106 constant CFG_MCTRL_LEON2 : integer := 1;
107 constant CFG_MCTRL_RAM8BIT : integer := 1;
108 constant CFG_MCTRL_RAM16BIT : integer := 0;
109 constant CFG_MCTRL_5CS : integer := 0;
110 constant CFG_MCTRL_SDEN : integer := 1;
111 constant CFG_MCTRL_SEPBUS : integer := 0;
112 constant CFG_MCTRL_INVCLK : integer := 0;
113 constant CFG_MCTRL_SD64 : integer := 0;
114 constant CFG_MCTRL_PAGE : integer := 1 + 0;
115 -- AHB status register
116 constant CFG_AHBSTAT : integer := 0;
117 constant CFG_AHBSTATN : integer := 1;
119 constant CFG_AHBROMEN : integer := 0;
120 constant CFG_AHBROPIP : integer := 0;
121 constant CFG_AHBRODDR : integer := 16#000#;
122 constant CFG_ROMADDR : integer := 16#000#;
123 constant CFG_ROMMASK : integer := 16#E00# + 16#000#;
125 constant CFG_AHBRAMEN : integer := 0;
126 constant CFG_AHBRSZ : integer := 1;
127 constant CFG_AHBRADDR : integer := 16#A00#;
128 -- Gaisler Ethernet core
129 constant CFG_GRETH : integer := 1;
130 constant CFG_GRETH1G : integer := 0;
131 constant CFG_ETH_FIFO : integer := 16;
134 constant CFG_ATA : integer := 0;
135 constant CFG_ATAIO : integer := 16#0#;
136 constant CFG_ATAIRQ : integer := 0;
137 constant CFG_ATADMA : integer := 0;
138 constant CFG_ATAFIFO : integer := 8;
141 constant CFG_CAN : integer := 0;
142 constant CFG_CAN_NUM : integer := 1;
143 constant CFG_CANIO : integer := 16#0#;
144 constant CFG_CANIRQ : integer := 0;
145 constant CFG_CANSEPIRQ: integer := 0;
146 constant CFG_CAN_SYNCRST : integer := 0;
147 constant CFG_CANFT : integer := 0;
149 -- GR USB 2.0 Device Controller
150 constant CFG_GRUSBDC : integer := 0;
151 constant CFG_GRUSBDC_AIFACE : integer := 0;
152 constant CFG_GRUSBDC_UIFACE : integer := 1;
153 constant CFG_GRUSBDC_DW : integer := 8;
154 constant CFG_GRUSBDC_NEPI : integer := 1;
155 constant CFG_GRUSBDC_NEPO : integer := 1;
156 constant CFG_GRUSBDC_I0 : integer := 1024;
157 constant CFG_GRUSBDC_I1 : integer := 1024;
158 constant CFG_GRUSBDC_I2 : integer := 1024;
159 constant CFG_GRUSBDC_I3 : integer := 1024;
160 constant CFG_GRUSBDC_I4 : integer := 1024;
161 constant CFG_GRUSBDC_I5 : integer := 1024;
162 constant CFG_GRUSBDC_I6 : integer := 1024;
163 constant CFG_GRUSBDC_I7 : integer := 1024;
164 constant CFG_GRUSBDC_I8 : integer := 1024;
165 constant CFG_GRUSBDC_I9 : integer := 1024;
166 constant CFG_GRUSBDC_I10 : integer := 1024;
167 constant CFG_GRUSBDC_I11 : integer := 1024;
168 constant CFG_GRUSBDC_I12 : integer := 1024;
169 constant CFG_GRUSBDC_I13 : integer := 1024;
170 constant CFG_GRUSBDC_I14 : integer := 1024;
171 constant CFG_GRUSBDC_I15 : integer := 1024;
172 constant CFG_GRUSBDC_O0 : integer := 1024;
173 constant CFG_GRUSBDC_O1 : integer := 1024;
174 constant CFG_GRUSBDC_O2 : integer := 1024;
175 constant CFG_GRUSBDC_O3 : integer := 1024;
176 constant CFG_GRUSBDC_O4 : integer := 1024;
177 constant CFG_GRUSBDC_O5 : integer := 1024;
178 constant CFG_GRUSBDC_O6 : integer := 1024;
179 constant CFG_GRUSBDC_O7 : integer := 1024;
180 constant CFG_GRUSBDC_O8 : integer := 1024;
181 constant CFG_GRUSBDC_O9 : integer := 1024;
182 constant CFG_GRUSBDC_O10 : integer := 1024;
183 constant CFG_GRUSBDC_O11 : integer := 1024;
184 constant CFG_GRUSBDC_O12 : integer := 1024;
185 constant CFG_GRUSBDC_O13 : integer := 1024;
186 constant CFG_GRUSBDC_O14 : integer := 1024;
187 constant CFG_GRUSBDC_O15 : integer := 1024;
189 constant CFG_UART1_ENABLE : integer := 1;
190 constant CFG_UART1_FIFO : integer := 4;
193 constant CFG_UART2_ENABLE : integer := 0;
194 constant CFG_UART2_FIFO : integer := 1;
196 -- LEON3 interrupt controller
197 constant CFG_IRQ3_ENABLE : integer := 1;
198 constant CFG_IRQ3_NSEC : integer := 0;
201 constant CFG_GPT_ENABLE : integer := 1;
202 constant CFG_GPT_NTIM : integer := (2);
203 constant CFG_GPT_SW : integer := (8);
204 constant CFG_GPT_TW : integer := (32);
205 constant CFG_GPT_IRQ : integer := (8);
206 constant CFG_GPT_SEPIRQ : integer := 1;
207 constant CFG_GPT_WDOGEN : integer := 0;
208 constant CFG_GPT_WDOG : integer := 16#0#;
211 constant CFG_GRGPIO_ENABLE : integer := 1;
212 constant CFG_GRGPIO_IMASK : integer := 16#0000#;
213 constant CFG_GRGPIO_WIDTH : integer := (8);
215 -- Spacewire interface
216 constant CFG_SPW_EN : integer := 0;
217 constant CFG_SPW_NUM : integer := 1;
218 constant CFG_SPW_AHBFIFO : integer := 4;
219 constant CFG_SPW_RXFIFO : integer := 16;
220 constant CFG_SPW_RMAP : integer := 0;
221 constant CFG_SPW_RMAPBUF : integer := 4;
222 constant CFG_SPW_RMAPCRC : integer := 0;
223 constant CFG_SPW_NETLIST : integer := 0;
224 constant CFG_SPW_FT : integer := 0;
225 constant CFG_SPW_GRSPW : integer := 2;
226 constant CFG_SPW_RXUNAL : integer := 0;
227 constant CFG_SPW_DMACHAN : integer := 1;
228 constant CFG_SPW_PORTS : integer := 1;
229 constant CFG_SPW_INPUT : integer := 2;
230 constant CFG_SPW_OUTPUT : integer := 0;
231 constant CFG_SPW_RTSAME : integer := 0;
232 -- VGA and PS2/ interface
233 constant CFG_KBD_ENABLE : integer := 0;
234 constant CFG_VGA_ENABLE : integer := 0;
235 constant CFG_SVGA_ENABLE : integer := 1;
238 constant CFG_DUART : integer := 0;