@@ -1,18 +1,19 | |||
|
1 | TECHNOLOGY=PROASIC3 | |
|
2 | 1 |
|
|
3 | 2 | SPEED=Std |
|
4 | 3 | SYNFREQ=50 |
|
5 | 4 | |
|
6 | PART=A3PE3000L | |
|
5 | TECHNOLOGY=ProASIC3E | |
|
6 | LIBERO_DIE=IT14X14M4 | |
|
7 | PART=A3PE3000 | |
|
8 | ||
|
9 | DESIGNER_VOLTAGE=COM | |
|
10 | DESIGNER_TEMP=COM | |
|
7 | 11 | DESIGNER_PACKAGE=FBGA |
|
8 | 12 | DESIGNER_PINS=324 |
|
9 | DESIGNER_VOLTAGE=COM | |
|
10 | DESIGNER_TEMP=COM | |
|
11 | 13 | |
|
12 | 14 | MANUFACTURER=Actel |
|
15 | MGCTECHNOLOGY=Proasic3 | |
|
13 | 16 | MGCPART=$(PART) |
|
14 | MGCTECHNOLOGY=PROASIC3 | |
|
15 | 17 | MGCPACKAGE= {$(DESIGNER_PINS) $(DESIGNER_PACKAGE)} |
|
16 | LIBERO_DIE=IT14X14M4LDP | |
|
17 | 18 | LIBERO_PACKAGE=fg$(DESIGNER_PINS) |
|
18 | 19 |
@@ -124,7 +124,6 ARCHITECTURE beh OF MINI_LFR_top IS | |||
|
124 | 124 | pclow : INTEGER); |
|
125 | 125 | PORT ( |
|
126 | 126 | clk100MHz : IN STD_ULOGIC; |
|
127 | clk49_152MHz : IN STD_ULOGIC; | |
|
128 | 127 | reset : IN STD_ULOGIC; |
|
129 | 128 | errorn : OUT STD_ULOGIC; |
|
130 | 129 | ahbrxd : IN STD_ULOGIC; |
@@ -148,13 +147,33 ARCHITECTURE beh OF MINI_LFR_top IS | |||
|
148 | 147 | spw2_sin : IN STD_LOGIC; |
|
149 | 148 | spw2_dout : OUT STD_LOGIC; |
|
150 | 149 | spw2_sout : OUT STD_LOGIC; |
|
151 |
apbi_ |
|
|
150 | apbi_ext : OUT apb_slv_in_type; | |
|
152 | 151 | apbo_wfp : IN apb_slv_out_type; |
|
153 |
a |
|
|
154 |
ahb |
|
|
155 | coarse_time : OUT STD_LOGIC_VECTOR(31 DOWNTO 0); | |
|
156 | fine_time : OUT STD_LOGIC_VECTOR(15 DOWNTO 0)); | |
|
152 | apbo_ltm : IN apb_slv_out_type; | |
|
153 | ahbi_ext : OUT AHB_Mst_In_Type; | |
|
154 | ahbo_wfp : IN AHB_Mst_Out_Type); | |
|
157 | 155 | END COMPONENT; |
|
156 | ||
|
157 | ----------------------------------------------------------------------------- | |
|
158 | SIGNAL apbi : apb_slv_in_type; | |
|
159 | SIGNAL apbo_wfp : apb_slv_out_type; | |
|
160 | SIGNAL apbo_ltm : apb_slv_out_type; | |
|
161 | SIGNAL ahbi : AHB_Mst_In_Type; | |
|
162 | SIGNAL ahbo_wfp : AHB_Mst_Out_Type; | |
|
163 | -- | |
|
164 | SIGNAL coarse_time : STD_LOGIC_VECTOR(31 DOWNTO 0); | |
|
165 | SIGNAL fine_time : STD_LOGIC_VECTOR(15 DOWNTO 0); | |
|
166 | -- | |
|
167 | SIGNAL errorn : STD_LOGIC; | |
|
168 | -- UART AHB --------------------------------------------------------------- | |
|
169 | SIGNAL ahbrxd : STD_ULOGIC; -- DSU rx data | |
|
170 | SIGNAL ahbtxd : STD_ULOGIC; -- DSU tx data | |
|
171 | ||
|
172 | -- UART APB --------------------------------------------------------------- | |
|
173 | SIGNAL urxd1 : STD_ULOGIC; -- UART1 rx data | |
|
174 | SIGNAL utxd1 : STD_ULOGIC; -- UART1 tx data | |
|
175 | -- | |
|
176 | SIGNAL I00_s : STD_LOGIC; | |
|
158 | 177 | |
|
159 | 178 | BEGIN -- beh |
|
160 | 179 | |
@@ -164,98 +183,104 BEGIN -- beh | |||
|
164 | 183 | LED0 <= '0'; |
|
165 | 184 | LED1 <= '0'; |
|
166 | 185 | LED2 <= '0'; |
|
186 | IO1 <= '0'; | |
|
187 | IO2 <= '1'; | |
|
188 | IO3 <= '0'; | |
|
189 | IO4 <= '0'; | |
|
190 | IO5 <= '0'; | |
|
191 | IO6 <= '0'; | |
|
192 | IO7 <= '0'; | |
|
193 | IO8 <= '0'; | |
|
194 | IO9 <= '0'; | |
|
195 | IO10 <= '0'; | |
|
196 | IO11 <= '0'; | |
|
167 | 197 | ELSIF clk_50'event AND clk_50 = '1' THEN -- rising clock edge |
|
168 | 198 | LED0 <= '0'; |
|
169 | 199 | LED1 <= '1'; |
|
170 | 200 | LED2 <= BP0; |
|
201 | IO1 <= '1'; | |
|
202 | IO2 <= '0'; | |
|
203 | IO3 <= ADC_SDO(0); | |
|
204 | IO4 <= ADC_SDO(1); | |
|
205 | IO5 <= ADC_SDO(2); | |
|
206 | IO6 <= ADC_SDO(3); | |
|
207 | IO7 <= ADC_SDO(4); | |
|
208 | IO8 <= ADC_SDO(5); | |
|
209 | IO9 <= ADC_SDO(6); | |
|
210 | IO10 <= ADC_SDO(7); | |
|
211 | IO11 <= BP1 OR nDTR2 OR nRTS2 OR nRTS1; | |
|
171 | 212 | END IF; |
|
172 | 213 | END PROCESS; |
|
173 | 214 | |
|
215 | PROCESS (clk_49, reset) | |
|
216 | BEGIN -- PROCESS | |
|
217 | IF reset = '0' THEN -- asynchronous reset (active low) | |
|
218 | I00_s <= '0'; | |
|
219 | ELSIF clk_49'event AND clk_49 = '1' THEN -- rising clock edge | |
|
220 | I00_s <= NOT I00_s; | |
|
221 | END IF; | |
|
222 | END PROCESS; | |
|
223 | IO0 <= I00_s; | |
|
224 | ||
|
174 | 225 | --UARTs |
|
175 |
|
|
|
176 | nCTS1 <= '0'; | |
|
177 | RXD2 <= '0'; | |
|
226 | nCTS1 <= '0'; | |
|
178 | 227 | nCTS2 <= '0'; |
|
179 | 228 | nDCD2 <= '0'; |
|
180 | 229 | |
|
181 | 230 | --EXT CONNECTOR |
|
182 | IO0 <= clk_49; | |
|
183 | IO1 <= clk_50; | |
|
184 | ||
|
185 | IO2 <= SPW_NOM_DIN OR | |
|
186 | SPW_NOM_SIN OR | |
|
187 | SPW_RED_DIN OR | |
|
188 | SPW_RED_SIN; | |
|
189 | ||
|
190 | IO3 <= ADC_SDO(0); | |
|
191 | IO4 <= ADC_SDO(1); | |
|
192 | IO5 <= ADC_SDO(2); | |
|
193 | IO6 <= ADC_SDO(3); | |
|
194 | IO7 <= ADC_SDO(4); | |
|
195 | IO8 <= ADC_SDO(5); | |
|
196 | IO9 <= ADC_SDO(6); | |
|
197 | IO10 <= ADC_SDO(7); | |
|
198 | IO11 <= BP1 OR TXD1 OR TXD2 OR nDTR2 OR nRTS2 OR nRTS1; | |
|
199 | 231 | |
|
200 | 232 | --SPACE WIRE |
|
201 | 233 | SPW_EN <= '0'; -- 0 => off |
|
202 | SPW_NOM_DOUT <= '0'; | |
|
203 | SPW_NOM_SOUT <= '0'; | |
|
204 | SPW_RED_DOUT <= '0'; | |
|
205 | SPW_RED_SOUT <= '0'; | |
|
234 | ||
|
206 | 235 |
|
|
207 | 236 | ADC_CLK <= '0'; |
|
208 | 237 | |
|
209 | -- SRAM | |
|
210 | SRAM_nWE <= '1'; | |
|
211 | SRAM_CE <= '0'; | |
|
212 | SRAM_nOE <= '1'; | |
|
213 | SRAM_nBE <= (OTHERS => '1'); | |
|
214 | SRAM_A <= (OTHERS => '0'); | |
|
215 | SRAM_DQ <= (OTHERS => '0'); | |
|
216 | ||
|
217 | ||
|
218 | 238 |
|
|
219 | 239 | GENERIC MAP ( |
|
220 |
fabtech => |
|
|
221 |
memtech => |
|
|
222 |
padtech => |
|
|
223 |
clktech => |
|
|
224 |
disas => |
|
|
225 |
dbguart => |
|
|
226 |
pclow => |
|
|
240 | fabtech => CFG_FABTECH, | |
|
241 | memtech => CFG_MEMTECH, | |
|
242 | padtech => CFG_PADTECH, | |
|
243 | clktech => CFG_CLKTECH, | |
|
244 | disas => CFG_DISAS, | |
|
245 | dbguart => CFG_DUART, | |
|
246 | pclow => CFG_PCLOW) | |
|
227 | 247 | PORT MAP ( |
|
228 |
clk100MHz => clk |
|
|
229 | clk49_152MHz => clk49_152MHz, | |
|
230 | reset => reset, | |
|
231 | errorn => errorn, | |
|
232 |
|
|
|
233 |
ahbtxd => |
|
|
234 |
urxd1 => |
|
|
235 |
utxd1 => |
|
|
236 | address => address, | |
|
237 | data => data, | |
|
238 | nSRAM_BE0 => nSRAM_BE0, | |
|
239 |
nSRAM_BE |
|
|
240 |
nSRAM_BE |
|
|
241 |
nSRAM_BE |
|
|
242 |
nSRAM_ |
|
|
243 |
nSRAM_ |
|
|
244 |
nSRAM_ |
|
|
245 | spw1_din => spw1_din, | |
|
246 | spw1_sin => spw1_sin, | |
|
247 | spw1_dout => spw1_dout, | |
|
248 | spw1_sout => spw1_sout, | |
|
249 | spw2_din => spw2_din, | |
|
250 | spw2_sin => spw2_sin, | |
|
251 | spw2_dout => spw2_dout, | |
|
252 | spw2_sout => spw2_sout, | |
|
253 | apbi_wfp => apbi_wfp, | |
|
254 | apbo_wfp => apbo_wfp, | |
|
255 | ahbi_wfp => ahbi_wfp, | |
|
256 | ahbo_wfp => ahbo_wfp, | |
|
257 | coarse_time => coarse_time, | |
|
258 | fine_time => fine_time); | |
|
248 | clk100MHz => clk_50, -- | |
|
249 | reset => reset, -- | |
|
250 | errorn => errorn, -- | |
|
251 | ||
|
252 | ahbrxd => TXD1, -- | |
|
253 | ahbtxd => RXD1, -- | |
|
254 | urxd1 => TXD2, -- | |
|
255 | utxd1 => RXD2, -- | |
|
256 | --RAM | |
|
257 | address => SRAM_A, -- | |
|
258 | data => SRAM_DQ, -- | |
|
259 | nSRAM_BE0 => SRAM_nBE(0), -- | |
|
260 | nSRAM_BE1 => SRAM_nBE(1), -- | |
|
261 | nSRAM_BE2 => SRAM_nBE(2), -- | |
|
262 | nSRAM_BE3 => SRAM_nBE(3), -- | |
|
263 | nSRAM_WE => SRAM_nWE, -- | |
|
264 | nSRAM_CE => SRAM_CE, -- | |
|
265 | nSRAM_OE => SRAM_nOE, -- | |
|
266 | --SPW | |
|
267 | spw1_din => SPW_NOM_DIN, -- | |
|
268 | spw1_sin => SPW_NOM_SIN, -- | |
|
269 | spw1_dout => SPW_NOM_DOUT, -- | |
|
270 | spw1_sout => SPW_NOM_SOUT, -- | |
|
271 | spw2_din => SPW_RED_DIN, -- | |
|
272 | spw2_sin => SPW_RED_SIN, -- | |
|
273 | spw2_dout => SPW_RED_DOUT, -- | |
|
274 | spw2_sout => SPW_RED_SOUT, -- | |
|
275 | ||
|
276 | apbi_ext => apbi, -- | |
|
277 | apbo_wfp => apbo_wfp, -- | |
|
278 | apbo_ltm => apbo_ltm, -- lfr time management | |
|
279 | ahbi_ext => ahbi, -- | |
|
280 | ahbo_wfp => ahbo_wfp); -- | |
|
259 | 281 | |
|
282 | apbo_wfp <= apb_none; | |
|
283 | apbo_ltm <= apb_none; | |
|
284 | ahbo_wfp <= ahbm_none; | |
|
260 | 285 | |
|
261 |
END beh; |
|
|
286 | END beh; No newline at end of file |
@@ -10,8 +10,8 QSF=$(VHDLIB)/boards/$(BOARD)/$(TOP).qsf | |||
|
10 | 10 | EFFORT=high |
|
11 | 11 | XSTOPT= |
|
12 | 12 | SYNPOPT="set_option -pipe 0; set_option -retiming 0; set_option -write_apr_constraint 0" |
|
13 |
VHDLSYNFILES= |
|
|
14 | config.vhd \ | |
|
13 | VHDLSYNFILES= config.vhd \ | |
|
14 | MINI_LFR_top.vhd \ | |
|
15 | 15 | leon3_soc.vhd |
|
16 | 16 | |
|
17 | 17 | PDC=$(VHDLIB)/boards/$(BOARD)/default.pdc |
@@ -38,9 +38,12 DIRSKIP = b1553 pcif leon2 leon2ft crypt | |||
|
38 | 38 | ./lpp_usb \ |
|
39 | 39 | ./lpp_Header \ |
|
40 | 40 | |
|
41 |
FILESKIP = |
|
|
41 | FILESKIP =lpp_lfr_ms.vhd \ | |
|
42 | i2cmst.vhd \ | |
|
42 | 43 | APB_MULTI_DIODE.vhd \ |
|
43 | APB_SIMPLE_DIODE.vhd | |
|
44 | APB_SIMPLE_DIODE.vhd \ | |
|
45 | Top_MatrixSpec.vhd \ | |
|
46 | APB_FFT.vhd | |
|
44 | 47 | |
|
45 | 48 | include $(GRLIB)/bin/Makefile |
|
46 | 49 | include $(GRLIB)/software/leon3/Makefile |
@@ -54,7 +54,6 ENTITY leon3_soc IS | |||
|
54 | 54 | ); |
|
55 | 55 | PORT ( |
|
56 | 56 | clk100MHz : IN STD_ULOGIC; |
|
57 | clk49_152MHz : IN STD_ULOGIC; | |
|
58 | 57 | reset : IN STD_ULOGIC; |
|
59 | 58 | |
|
60 | 59 | errorn : OUT STD_ULOGIC; |
@@ -90,13 +89,11 ENTITY leon3_soc IS | |||
|
90 | 89 | spw2_sout : OUT STD_LOGIC; |
|
91 | 90 | |
|
92 | 91 | -- WAVEFORM PICKER -------------------------------------------------------- |
|
93 |
apbi_ |
|
|
92 | apbi_ext : OUT apb_slv_in_type; | |
|
94 | 93 | apbo_wfp : IN apb_slv_out_type; |
|
95 | ahbi_wfp : OUT AHB_Mst_In_Type; | |
|
96 |
ahb |
|
|
97 | -- TIME ------------------------------------------------------------------- | |
|
98 | coarse_time : OUT STD_LOGIC_VECTOR(31 DOWNTO 0); | |
|
99 | fine_time : OUT STD_LOGIC_VECTOR(15 DOWNTO 0) | |
|
94 | apbo_ltm : IN apb_slv_out_type; | |
|
95 | ahbi_ext : OUT AHB_Mst_In_Type; | |
|
96 | ahbo_wfp : IN AHB_Mst_Out_Type | |
|
100 | 97 | |
|
101 | 98 | ); |
|
102 | 99 | END; |
@@ -358,26 +355,7 BEGIN | |||
|
358 | 355 | apbuarti.ctsn <= '0'; |
|
359 | 356 | END GENERATE; |
|
360 | 357 | noua0 : IF CFG_UART1_ENABLE = 0 GENERATE apbo(1) <= apb_none; END GENERATE; |
|
361 | ||
|
362 | ------------------------------------------------------------------------------- | |
|
363 | -- APB_LFR_TIME_MANAGEMENT ---------------------------------------------------- | |
|
364 | ------------------------------------------------------------------------------- | |
|
365 | apb_lfr_time_management_1: apb_lfr_time_management | |
|
366 | GENERIC MAP ( | |
|
367 | pindex => 6, | |
|
368 | paddr => 6, | |
|
369 | pmask => 16#fff#, | |
|
370 | pirq => 12) | |
|
371 | PORT MAP ( | |
|
372 | clk25MHz => clkm, | |
|
373 | clk49_152MHz => clk49_152MHz, | |
|
374 | resetn => rstn, | |
|
375 | grspw_tick => swno.tickout, | |
|
376 | apbi => apbi, | |
|
377 | apbo => apbo(6), | |
|
378 | coarse_time => coarse_time, | |
|
379 | fine_time => fine_time); | |
|
380 | ||
|
358 | ||
|
381 | 359 | ----------------------------------------------------------------------- |
|
382 | 360 | --- SpaceWire -------------------------------------------------------- |
|
383 | 361 | ----------------------------------------------------------------------- |
@@ -465,9 +443,10 BEGIN | |||
|
465 | 443 | ------------------------------------------------------------------------------- |
|
466 | 444 | -- LFR |
|
467 | 445 | ------------------------------------------------------------------------------- |
|
468 |
apbi_ |
|
|
446 | apbi_ext <= apbi; | |
|
469 | 447 | apbo(15) <= apbo_wfp; |
|
470 | ahbi_wfp <= ahbmi; | |
|
448 | apbo(6) <= apbo_ltm; | |
|
449 | ahbi_ext <= ahbmi; | |
|
471 | 450 | ahbmo(2) <= ahbo_wfp; |
|
472 | 451 | |
|
473 | 452 | END Behavioral; |
General Comments 0
You need to be logged in to leave comments.
Login now