##// END OF EJS Templates
Update MINI LFR
pellion -
r637:0d81a266b983 simu_with_Leon3
parent child
Show More

The requested changes are too big and content was truncated. Show full diff

@@ -1,653 +1,632
1 ------------------------------------------------------------------------------
1 ------------------------------------------------------------------------------
2 -- This file is a part of the LPP VHDL IP LIBRARY
2 -- This file is a part of the LPP VHDL IP LIBRARY
3 -- Copyright (C) 2009 - 2010, Laboratory of Plasmas Physic - CNRS
3 -- Copyright (C) 2009 - 2010, Laboratory of Plasmas Physic - CNRS
4 --
4 --
5 -- This program is free software; you can redistribute it and/or modify
5 -- This program is free software; you can redistribute it and/or modify
6 -- it under the terms of the GNU General Public License as published by
6 -- it under the terms of the GNU General Public License as published by
7 -- the Free Software Foundation; either version 3 of the License, or
7 -- the Free Software Foundation; either version 3 of the License, or
8 -- (at your option) any later version.
8 -- (at your option) any later version.
9 --
9 --
10 -- This program is distributed in the hope that it will be useful,
10 -- This program is distributed in the hope that it will be useful,
11 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
11 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
12 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 -- GNU General Public License for more details.
13 -- GNU General Public License for more details.
14 --
14 --
15 -- You should have received a copy of the GNU General Public License
15 -- You should have received a copy of the GNU General Public License
16 -- along with this program; if not, write to the Free Software
16 -- along with this program; if not, write to the Free Software
17 -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 -------------------------------------------------------------------------------
18 -------------------------------------------------------------------------------
19 -- Author : Jean-christophe Pellion
19 -- Author : Jean-christophe Pellion
20 -- Mail : jean-christophe.pellion@lpp.polytechnique.fr
20 -- Mail : jean-christophe.pellion@lpp.polytechnique.fr
21 -------------------------------------------------------------------------------
21 -------------------------------------------------------------------------------
22 LIBRARY IEEE;
22 LIBRARY IEEE;
23 USE IEEE.numeric_std.ALL;
23 USE IEEE.numeric_std.ALL;
24 USE IEEE.std_logic_1164.ALL;
24 USE IEEE.std_logic_1164.ALL;
25 LIBRARY grlib;
25 LIBRARY grlib;
26 USE grlib.amba.ALL;
26 USE grlib.amba.ALL;
27 USE grlib.stdlib.ALL;
27 USE grlib.stdlib.ALL;
28 LIBRARY techmap;
28 LIBRARY techmap;
29 USE techmap.gencomp.ALL;
29 USE techmap.gencomp.ALL;
30 LIBRARY gaisler;
30 LIBRARY gaisler;
31 USE gaisler.memctrl.ALL;
31 USE gaisler.memctrl.ALL;
32 USE gaisler.leon3.ALL;
32 USE gaisler.leon3.ALL;
33 USE gaisler.uart.ALL;
33 USE gaisler.uart.ALL;
34 USE gaisler.misc.ALL;
34 USE gaisler.misc.ALL;
35 USE gaisler.spacewire.ALL;
35 USE gaisler.spacewire.ALL;
36 LIBRARY esa;
36 LIBRARY esa;
37 USE esa.memoryctrl.ALL;
37 USE esa.memoryctrl.ALL;
38 LIBRARY lpp;
38 LIBRARY lpp;
39 USE lpp.lpp_memory.ALL;
39 USE lpp.lpp_memory.ALL;
40 USE lpp.lpp_ad_conv.ALL;
40 USE lpp.lpp_ad_conv.ALL;
41 USE lpp.lpp_lfr_pkg.ALL; -- contains lpp_lfr, not in the 206 rev of the VHD_Lib
41 USE lpp.lpp_lfr_pkg.ALL;
42 USE lpp.lpp_top_lfr_pkg.ALL; -- contains top_wf_picker
42 USE lpp.lpp_top_lfr_pkg.ALL;
43 USE lpp.iir_filter.ALL;
43 USE lpp.iir_filter.ALL;
44 USE lpp.general_purpose.ALL;
44 USE lpp.general_purpose.ALL;
45 USE lpp.lpp_lfr_management.ALL;
45 USE lpp.lpp_lfr_management.ALL;
46 USE lpp.lpp_leon3_soc_pkg.ALL;
46 USE lpp.lpp_leon3_soc_pkg.ALL;
47
47
48 ENTITY MINI_LFR_top IS
48 ENTITY MINI_LFR_top IS
49
49
50 PORT (
50 PORT (
51 clk100MHz : IN STD_LOGIC;
51 clk100MHz : IN STD_LOGIC;
52 clk49_152MHz : IN STD_LOGIC;
52 clk49_152MHz : IN STD_LOGIC;
53 reset : IN STD_LOGIC;
53 reset : IN STD_LOGIC;
54 --BPs
54 --BPs
55 BP0 : IN STD_LOGIC;
55 BP0 : IN STD_LOGIC;
56 BP1 : IN STD_LOGIC;
56 BP1 : IN STD_LOGIC;
57 --LEDs
57 --LEDs
58 LED0 : OUT STD_LOGIC;
58 LED0 : OUT STD_LOGIC;
59 LED1 : OUT STD_LOGIC;
59 LED1 : OUT STD_LOGIC;
60 LED2 : OUT STD_LOGIC;
60 LED2 : OUT STD_LOGIC;
61 --UARTs
61 --UARTs
62 TXD1 : IN STD_LOGIC;
62 TXD1 : IN STD_LOGIC;
63 RXD1 : OUT STD_LOGIC;
63 RXD1 : OUT STD_LOGIC;
64 nCTS1 : OUT STD_LOGIC;
64 nCTS1 : OUT STD_LOGIC;
65 nRTS1 : IN STD_LOGIC;
65 nRTS1 : IN STD_LOGIC;
66
66
67 TXD2 : IN STD_LOGIC;
67 TXD2 : IN STD_LOGIC;
68 RXD2 : OUT STD_LOGIC;
68 RXD2 : OUT STD_LOGIC;
69 nCTS2 : OUT STD_LOGIC;
69 nCTS2 : OUT STD_LOGIC;
70 nDTR2 : IN STD_LOGIC;
70 nDTR2 : IN STD_LOGIC;
71 nRTS2 : IN STD_LOGIC;
71 nRTS2 : IN STD_LOGIC;
72 nDCD2 : OUT STD_LOGIC;
72 nDCD2 : OUT STD_LOGIC;
73
73
74 --EXT CONNECTOR
74 --EXT CONNECTOR
75 IO0 : INOUT STD_LOGIC;
75 IO0 : INOUT STD_LOGIC;
76 IO1 : INOUT STD_LOGIC;
76 IO1 : INOUT STD_LOGIC;
77 IO2 : INOUT STD_LOGIC;
77 IO2 : INOUT STD_LOGIC;
78 IO3 : INOUT STD_LOGIC;
78 IO3 : INOUT STD_LOGIC;
79 IO4 : INOUT STD_LOGIC;
79 IO4 : INOUT STD_LOGIC;
80 IO5 : INOUT STD_LOGIC;
80 IO5 : INOUT STD_LOGIC;
81 IO6 : INOUT STD_LOGIC;
81 IO6 : INOUT STD_LOGIC;
82 IO7 : INOUT STD_LOGIC;
82 IO7 : INOUT STD_LOGIC;
83 IO8 : INOUT STD_LOGIC;
83 IO8 : INOUT STD_LOGIC;
84 IO9 : INOUT STD_LOGIC;
84 IO9 : INOUT STD_LOGIC;
85 IO10 : INOUT STD_LOGIC;
85 IO10 : INOUT STD_LOGIC;
86 IO11 : INOUT STD_LOGIC;
86 IO11 : INOUT STD_LOGIC;
87
87
88 --SPACE WIRE
88 --SPACE WIRE
89 SPW_EN : OUT STD_LOGIC; -- 0 => off
89 SPW_EN : OUT STD_LOGIC; -- 0 => off
90 SPW_NOM_DIN : IN STD_LOGIC; -- NOMINAL LINK
90 SPW_NOM_DIN : IN STD_LOGIC; -- NOMINAL LINK
91 SPW_NOM_SIN : IN STD_LOGIC;
91 SPW_NOM_SIN : IN STD_LOGIC;
92 SPW_NOM_DOUT : OUT STD_LOGIC;
92 SPW_NOM_DOUT : OUT STD_LOGIC;
93 SPW_NOM_SOUT : OUT STD_LOGIC;
93 SPW_NOM_SOUT : OUT STD_LOGIC;
94 SPW_RED_DIN : IN STD_LOGIC; -- REDUNDANT LINK
94 SPW_RED_DIN : IN STD_LOGIC; -- REDUNDANT LINK
95 SPW_RED_SIN : IN STD_LOGIC;
95 SPW_RED_SIN : IN STD_LOGIC;
96 SPW_RED_DOUT : OUT STD_LOGIC;
96 SPW_RED_DOUT : OUT STD_LOGIC;
97 SPW_RED_SOUT : OUT STD_LOGIC;
97 SPW_RED_SOUT : OUT STD_LOGIC;
98 -- MINI LFR ADC INPUTS
98 -- MINI LFR ADC INPUTS
99 ADC_nCS : OUT STD_LOGIC;
99 ADC_nCS : OUT STD_LOGIC;
100 ADC_CLK : OUT STD_LOGIC;
100 ADC_CLK : OUT STD_LOGIC;
101 ADC_SDO : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
101 ADC_SDO : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
102
102
103 -- SRAM
103 -- SRAM
104 SRAM_nWE : OUT STD_LOGIC;
104 SRAM_nWE : OUT STD_LOGIC;
105 SRAM_CE : OUT STD_LOGIC;
105 SRAM_CE : OUT STD_LOGIC;
106 SRAM_nOE : OUT STD_LOGIC;
106 SRAM_nOE : OUT STD_LOGIC;
107 SRAM_nBE : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
107 SRAM_nBE : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
108 SRAM_A : OUT STD_LOGIC_VECTOR(19 DOWNTO 0);
108 SRAM_A : OUT STD_LOGIC_VECTOR(19 DOWNTO 0);
109 SRAM_DQ : INOUT STD_LOGIC_VECTOR(31 DOWNTO 0)
109 SRAM_DQ : INOUT STD_LOGIC_VECTOR(31 DOWNTO 0)
110 );
110 );
111
111
112 END MINI_LFR_top;
112 END MINI_LFR_top;
113
113
114
114
115 ARCHITECTURE beh OF MINI_LFR_top IS
115 ARCHITECTURE beh OF MINI_LFR_top IS
116
116
117 --==========================================================================
117 --==========================================================================
118 -- USE_IAP_MEMCTRL allow to use the srctrle-0ws on MINILFR board
118 -- USE_IAP_MEMCTRL allow to use the srctrle-0ws on MINILFR board
119 -- when enabled, chip enable polarity should be reversed and bank size also
119 -- when enabled, chip enable polarity should be reversed and bank size also
120 -- MINILFR -> 1 bank of 4MBytes -> SRBANKSZ=9
120 -- MINILFR -> 1 bank of 4MBytes -> SRBANKSZ=9
121 -- LFR EQM & FM -> 2 banks of 2MBytes -> SRBANKSZ=8
121 -- LFR EQM & FM -> 2 banks of 2MBytes -> SRBANKSZ=8
122 --==========================================================================
122 --==========================================================================
123 CONSTANT USE_IAP_MEMCTRL : integer := 1;
123 CONSTANT USE_IAP_MEMCTRL : integer := 1;
124 --==========================================================================
124 --==========================================================================
125
125
126 SIGNAL clk_50_s : STD_LOGIC := '0';
126 SIGNAL clk_50_s : STD_LOGIC := '0';
127 SIGNAL clk_25 : STD_LOGIC := '0';
127 SIGNAL clk_25 : STD_LOGIC := '0';
128 SIGNAL clk_24 : STD_LOGIC := '0';
128 SIGNAL clk_24 : STD_LOGIC := '0';
129 -----------------------------------------------------------------------------
129 -----------------------------------------------------------------------------
130 SIGNAL coarse_time : STD_LOGIC_VECTOR(31 DOWNTO 0);
130 SIGNAL coarse_time : STD_LOGIC_VECTOR(31 DOWNTO 0);
131 SIGNAL fine_time : STD_LOGIC_VECTOR(15 DOWNTO 0);
131 SIGNAL fine_time : STD_LOGIC_VECTOR(15 DOWNTO 0);
132 --
132 --
133 SIGNAL errorn : STD_LOGIC;
133 SIGNAL errorn : STD_LOGIC;
134 -- UART AHB ---------------------------------------------------------------
135 -- SIGNAL ahbrxd : STD_ULOGIC; -- DSU rx data
136 -- SIGNAL ahbtxd : STD_ULOGIC; -- DSU tx data
137
138 -- UART APB ---------------------------------------------------------------
139 -- SIGNAL urxd1 : STD_ULOGIC; -- UART1 rx data
140 -- SIGNAL utxd1 : STD_ULOGIC; -- UART1 tx data
141 --
134 --
142 SIGNAL I00_s : STD_LOGIC;
135 SIGNAL I00_s : STD_LOGIC;
143
136
144 -- CONSTANTS
137 -- CONSTANTS
145 CONSTANT CFG_PADTECH : INTEGER := inferred;
138 CONSTANT CFG_PADTECH : INTEGER := inferred;
146 --
139 --
147 CONSTANT NB_APB_SLAVE : INTEGER := 11; -- 3 = grspw + waveform picker + time manager, 11 allows pindex = f
140 CONSTANT NB_APB_SLAVE : INTEGER := 11; -- 3 = grspw + waveform picker + time manager, 11 allows pindex = f
148 CONSTANT NB_AHB_SLAVE : INTEGER := 1;
141 CONSTANT NB_AHB_SLAVE : INTEGER := 1;
149 CONSTANT NB_AHB_MASTER : INTEGER := 2; -- 2 = grspw + waveform picker
142 CONSTANT NB_AHB_MASTER : INTEGER := 2; -- 2 = grspw + waveform picker
150
143
151 SIGNAL apbi_ext : apb_slv_in_type;
144 SIGNAL apbi_ext : apb_slv_in_type;
152 SIGNAL apbo_ext : soc_apb_slv_out_vector(NB_APB_SLAVE-1+5 DOWNTO 5); -- := (OTHERS => apb_none);
145 SIGNAL apbo_ext : soc_apb_slv_out_vector(NB_APB_SLAVE-1+5 DOWNTO 5); -- := (OTHERS => apb_none);
153 SIGNAL ahbi_s_ext : ahb_slv_in_type;
146 SIGNAL ahbi_s_ext : ahb_slv_in_type;
154 SIGNAL ahbo_s_ext : soc_ahb_slv_out_vector(NB_AHB_SLAVE-1+3 DOWNTO 3); -- := (OTHERS => ahbs_none);
147 SIGNAL ahbo_s_ext : soc_ahb_slv_out_vector(NB_AHB_SLAVE-1+3 DOWNTO 3); -- := (OTHERS => ahbs_none);
155 SIGNAL ahbi_m_ext : AHB_Mst_In_Type;
148 SIGNAL ahbi_m_ext : AHB_Mst_In_Type;
156 SIGNAL ahbo_m_ext : soc_ahb_mst_out_vector(NB_AHB_MASTER-1+1 DOWNTO 1); -- := (OTHERS => ahbm_none);
149 SIGNAL ahbo_m_ext : soc_ahb_mst_out_vector(NB_AHB_MASTER-1+1 DOWNTO 1); -- := (OTHERS => ahbm_none);
157
150
158 -- Spacewire signals
151 -- Spacewire signals
159 SIGNAL dtmp : STD_LOGIC_VECTOR(1 DOWNTO 0);
152 SIGNAL dtmp : STD_LOGIC_VECTOR(1 DOWNTO 0);
160 SIGNAL stmp : STD_LOGIC_VECTOR(1 DOWNTO 0);
153 SIGNAL stmp : STD_LOGIC_VECTOR(1 DOWNTO 0);
161 SIGNAL spw_rxclk : STD_LOGIC_VECTOR(1 DOWNTO 0);
154 SIGNAL spw_rxclk : STD_LOGIC_VECTOR(1 DOWNTO 0);
162 SIGNAL spw_rxtxclk : STD_ULOGIC;
155 SIGNAL spw_rxtxclk : STD_ULOGIC;
163 SIGNAL spw_rxclkn : STD_ULOGIC;
156 SIGNAL spw_rxclkn : STD_ULOGIC;
164 SIGNAL spw_clk : STD_LOGIC;
157 SIGNAL spw_clk : STD_LOGIC;
165 SIGNAL swni : grspw_in_type;
158 SIGNAL swni : grspw_in_type;
166 SIGNAL swno : grspw_out_type;
159 SIGNAL swno : grspw_out_type;
167 -- SIGNAL clkmn : STD_ULOGIC;
168 -- SIGNAL txclk : STD_ULOGIC;
169
160
170 --GPIO
161 --GPIO
171 SIGNAL gpioi : gpio_in_type;
162 SIGNAL gpioi : gpio_in_type;
172 SIGNAL gpioo : gpio_out_type;
163 SIGNAL gpioo : gpio_out_type;
173
164
174 -- AD Converter ADS7886
165 -- AD Converter ADS7886
175 SIGNAL sample : Samples14v(7 DOWNTO 0);
166 SIGNAL sample : Samples14v(7 DOWNTO 0);
176 SIGNAL sample_s : Samples(7 DOWNTO 0);
167 SIGNAL sample_s : Samples(7 DOWNTO 0);
177 SIGNAL sample_val : STD_LOGIC;
168 SIGNAL sample_val : STD_LOGIC;
178 SIGNAL ADC_nCS_sig : STD_LOGIC;
169 SIGNAL ADC_nCS_sig : STD_LOGIC;
179 SIGNAL ADC_CLK_sig : STD_LOGIC;
170 SIGNAL ADC_CLK_sig : STD_LOGIC;
180 SIGNAL ADC_SDO_sig : STD_LOGIC_VECTOR(7 DOWNTO 0);
171 SIGNAL ADC_SDO_sig : STD_LOGIC_VECTOR(7 DOWNTO 0);
181
172
182 SIGNAL bias_fail_sw_sig : STD_LOGIC;
173 SIGNAL bias_fail_sw_sig : STD_LOGIC;
183
174
184 SIGNAL observation_reg : STD_LOGIC_VECTOR(31 DOWNTO 0);
175 SIGNAL observation_reg : STD_LOGIC_VECTOR(31 DOWNTO 0);
185 SIGNAL observation_vector_0 : STD_LOGIC_VECTOR(11 DOWNTO 0);
176 SIGNAL observation_vector_0 : STD_LOGIC_VECTOR(11 DOWNTO 0);
186 SIGNAL observation_vector_1 : STD_LOGIC_VECTOR(11 DOWNTO 0);
177 SIGNAL observation_vector_1 : STD_LOGIC_VECTOR(11 DOWNTO 0);
187 -----------------------------------------------------------------------------
178 -----------------------------------------------------------------------------
188
179
189 SIGNAL LFR_soft_rstn : STD_LOGIC;
180 SIGNAL LFR_soft_rstn : STD_LOGIC;
190 SIGNAL LFR_rstn : STD_LOGIC;
181 SIGNAL LFR_rstn : STD_LOGIC;
191
182
192
183
193 SIGNAL rstn_25 : STD_LOGIC;
184 SIGNAL rstn_25 : STD_LOGIC;
194 SIGNAL rstn_25_d1 : STD_LOGIC;
185 SIGNAL rstn_25_d1 : STD_LOGIC;
195 SIGNAL rstn_25_d2 : STD_LOGIC;
186 SIGNAL rstn_25_d2 : STD_LOGIC;
196 SIGNAL rstn_25_d3 : STD_LOGIC;
187 SIGNAL rstn_25_d3 : STD_LOGIC;
197
188
198 SIGNAL rstn_24 : STD_LOGIC;
189 SIGNAL rstn_24 : STD_LOGIC;
199 SIGNAL rstn_24_d1 : STD_LOGIC;
190 SIGNAL rstn_24_d1 : STD_LOGIC;
200 SIGNAL rstn_24_d2 : STD_LOGIC;
191 SIGNAL rstn_24_d2 : STD_LOGIC;
201 SIGNAL rstn_24_d3 : STD_LOGIC;
192 SIGNAL rstn_24_d3 : STD_LOGIC;
202
193
203 SIGNAL rstn_50 : STD_LOGIC;
194 SIGNAL rstn_50 : STD_LOGIC;
204 SIGNAL rstn_50_d1 : STD_LOGIC;
195 SIGNAL rstn_50_d1 : STD_LOGIC;
205 SIGNAL rstn_50_d2 : STD_LOGIC;
196 SIGNAL rstn_50_d2 : STD_LOGIC;
206 SIGNAL rstn_50_d3 : STD_LOGIC;
197 SIGNAL rstn_50_d3 : STD_LOGIC;
207
198
208 SIGNAL lfr_debug_vector : STD_LOGIC_VECTOR(11 DOWNTO 0);
199 SIGNAL lfr_debug_vector : STD_LOGIC_VECTOR(11 DOWNTO 0);
209 SIGNAL lfr_debug_vector_ms : STD_LOGIC_VECTOR(11 DOWNTO 0);
200 SIGNAL lfr_debug_vector_ms : STD_LOGIC_VECTOR(11 DOWNTO 0);
210
201
211 --
202 --
212 SIGNAL SRAM_CE_s : STD_LOGIC_VECTOR(1 DOWNTO 0);
203 SIGNAL SRAM_CE_s : STD_LOGIC_VECTOR(1 DOWNTO 0);
213
204
214 --
205 --
215 SIGNAL sample_hk : STD_LOGIC_VECTOR(15 DOWNTO 0);
206 SIGNAL sample_hk : STD_LOGIC_VECTOR(15 DOWNTO 0);
216 SIGNAL HK_SEL : STD_LOGIC_VECTOR(1 DOWNTO 0);
207 SIGNAL HK_SEL : STD_LOGIC_VECTOR(1 DOWNTO 0);
217
208
218 SIGNAL nSRAM_READY : STD_LOGIC;
209 SIGNAL nSRAM_READY : STD_LOGIC;
219
210
220 BEGIN -- beh
211 BEGIN -- beh
221
212
222 -----------------------------------------------------------------------------
213 -----------------------------------------------------------------------------
223 -- WARNING !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
224 -- clk_50 frequency is 100 Mhz !
225 PROCESS (clk100MHz, reset)
214 PROCESS (clk100MHz, reset)
226 BEGIN -- PROCESS
215 BEGIN -- PROCESS
227 IF clk100MHz'EVENT AND clk100MHz = '1' THEN -- rising clock edge
216 IF clk100MHz'EVENT AND clk100MHz = '1' THEN -- rising clock edge
228 clk_50_s <= NOT clk_50_s;
217 clk_50_s <= NOT clk_50_s;
229 END IF;
218 END IF;
230 END PROCESS;
219 END PROCESS;
231 -- WARNING !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
232 -----------------------------------------------------------------------------
220 -----------------------------------------------------------------------------
233
221
234 PROCESS (clk_50_s, reset)
222 PROCESS (clk_50_s, reset)
235 BEGIN -- PROCESS
223 BEGIN -- PROCESS
236 IF reset = '0' THEN -- asynchronous reset (active low)
224 IF reset = '0' THEN -- asynchronous reset (active low)
237 clk_25 <= '0';
225 clk_25 <= '0';
238 rstn_25 <= '0';
226 rstn_25 <= '0';
239 rstn_25_d1 <= '0';
227 rstn_25_d1 <= '0';
240 rstn_25_d2 <= '0';
228 rstn_25_d2 <= '0';
241 rstn_25_d3 <= '0';
229 rstn_25_d3 <= '0';
242 ELSIF clk_50_s'EVENT AND clk_50_s = '1' THEN -- rising clock edge
230 ELSIF clk_50_s'EVENT AND clk_50_s = '1' THEN -- rising clock edge
243 clk_25 <= NOT clk_25;
231 clk_25 <= NOT clk_25;
244 rstn_25_d1 <= '1';
232 rstn_25_d1 <= '1';
245 rstn_25_d2 <= rstn_25_d1;
233 rstn_25_d2 <= rstn_25_d1;
246 rstn_25_d3 <= rstn_25_d2;
234 rstn_25_d3 <= rstn_25_d2;
247 rstn_25 <= rstn_25_d3;
235 rstn_25 <= rstn_25_d3;
248 END IF;
236 END IF;
249 END PROCESS;
237 END PROCESS;
250
238
251 PROCESS (clk49_152MHz, reset)
239 PROCESS (clk49_152MHz, reset)
252 BEGIN -- PROCESS
240 BEGIN -- PROCESS
253 IF reset = '0' THEN -- asynchronous reset (active low)
241 IF reset = '0' THEN -- asynchronous reset (active low)
254 clk_24 <= '0';
242 clk_24 <= '0';
255 rstn_24_d1 <= '0';
243 rstn_24_d1 <= '0';
256 rstn_24_d2 <= '0';
244 rstn_24_d2 <= '0';
257 rstn_24_d3 <= '0';
245 rstn_24_d3 <= '0';
258 rstn_24 <= '0';
246 rstn_24 <= '0';
259 ELSIF clk49_152MHz'EVENT AND clk49_152MHz = '1' THEN -- rising clock edge
247 ELSIF clk49_152MHz'EVENT AND clk49_152MHz = '1' THEN -- rising clock edge
260 clk_24 <= NOT clk_24;
248 clk_24 <= NOT clk_24;
261 rstn_24_d1 <= '1';
249 rstn_24_d1 <= '1';
262 rstn_24_d2 <= rstn_24_d1;
250 rstn_24_d2 <= rstn_24_d1;
263 rstn_24_d3 <= rstn_24_d2;
251 rstn_24_d3 <= rstn_24_d2;
264 rstn_24 <= rstn_24_d3;
252 rstn_24 <= rstn_24_d3;
265 END IF;
253 END IF;
266 END PROCESS;
254 END PROCESS;
267
255
268 -----------------------------------------------------------------------------
256 -----------------------------------------------------------------------------
269
257
270 PROCESS (clk_25, rstn_25)
258 PROCESS (clk_25, rstn_25)
271 BEGIN -- PROCESS
259 BEGIN -- PROCESS
272 IF rstn_25 = '0' THEN -- asynchronous reset (active low)
260 IF rstn_25 = '0' THEN -- asynchronous reset (active low)
273 LED0 <= '0';
261 LED0 <= '0';
274 LED1 <= '0';
262 LED1 <= '0';
275 LED2 <= '0';
263 LED2 <= '0';
276 ELSIF clk_25'EVENT AND clk_25 = '1' THEN -- rising clock edge
264 ELSIF clk_25'EVENT AND clk_25 = '1' THEN -- rising clock edge
277 LED0 <= '0';
265 LED0 <= '0';
278 LED1 <= '1';
266 LED1 <= '1';
279 LED2 <= BP0 OR BP1 OR nDTR2 OR nRTS2 OR nRTS1;
267 LED2 <= BP0 OR BP1 OR nDTR2 OR nRTS2 OR nRTS1;
280 END IF;
268 END IF;
281 END PROCESS;
269 END PROCESS;
282
270
283 PROCESS (clk49_152MHz, rstn_24)
271 PROCESS (clk49_152MHz, rstn_24)
284 BEGIN -- PROCESS
272 BEGIN -- PROCESS
285 IF rstn_24 = '0' THEN -- asynchronous reset (active low)
273 IF rstn_24 = '0' THEN -- asynchronous reset (active low)
286 I00_s <= '0';
274 I00_s <= '0';
287 ELSIF clk49_152MHz'EVENT AND clk49_152MHz = '1' THEN -- rising clock edge
275 ELSIF clk49_152MHz'EVENT AND clk49_152MHz = '1' THEN -- rising clock edge
288 I00_s <= NOT I00_s;
276 I00_s <= NOT I00_s;
289 END IF;
277 END IF;
290 END PROCESS;
278 END PROCESS;
291
279
292 --UARTs
280 --UARTs
293 nCTS1 <= '1';
281 nCTS1 <= '1';
294 nCTS2 <= '1';
282 nCTS2 <= '1';
295 nDCD2 <= '1';
283 nDCD2 <= '1';
296 -- No AHB UART
284 -- No AHB UART
297 RXD1 <= TXD1;
285 RXD1 <= TXD1;
298
286
299 --
287 --
300
288
301 leon3_soc_1 : leon3_soc
289 leon3_soc_1 : leon3_soc
302 GENERIC MAP (
290 GENERIC MAP (
303 fabtech => apa3e,
291 fabtech => apa3e,
304 memtech => apa3e,
292 memtech => apa3e,
305 padtech => inferred,
293 padtech => inferred,
306 clktech => inferred,
294 clktech => inferred,
307 disas => 0,
295 disas => 0,
308 dbguart => 0,
296 dbguart => 0,
309 pclow => 2,
297 pclow => 2,
310 clk_freq => 25000,
298 clk_freq => 25000,
311 IS_RADHARD => 0,
299 IS_RADHARD => 0,
312 NB_CPU => 1,
300 NB_CPU => 1,
313 ENABLE_FPU => 1,
301 ENABLE_FPU => 1,
314 FPU_NETLIST => 0,
302 FPU_NETLIST => 0,
315 ENABLE_DSU => 1,
303 ENABLE_DSU => 1,
316 ENABLE_AHB_UART => 0,
304 ENABLE_AHB_UART => 0,
317 ENABLE_APB_UART => 1,
305 ENABLE_APB_UART => 1,
318 ENABLE_IRQMP => 1,
306 ENABLE_IRQMP => 1,
319 ENABLE_GPT => 1,
307 ENABLE_GPT => 1,
320 NB_AHB_MASTER => NB_AHB_MASTER,
308 NB_AHB_MASTER => NB_AHB_MASTER,
321 NB_AHB_SLAVE => NB_AHB_SLAVE,
309 NB_AHB_SLAVE => NB_AHB_SLAVE,
322 NB_APB_SLAVE => NB_APB_SLAVE,
310 NB_APB_SLAVE => NB_APB_SLAVE,
323 ADDRESS_SIZE => 20,
311 ADDRESS_SIZE => 20,
324 USES_IAP_MEMCTRLR => USE_IAP_MEMCTRL,
312 USES_IAP_MEMCTRLR => USE_IAP_MEMCTRL,
325 BYPASS_EDAC_MEMCTRLR => '0',
313 BYPASS_EDAC_MEMCTRLR => '0',
326 SRBANKSZ => 9)
314 SRBANKSZ => 9)
327 PORT MAP (
315 PORT MAP (
328 clk => clk_25,
316 clk => clk_25,
329 reset => rstn_25,
317 reset => rstn_25,
330 errorn => errorn,
318 errorn => errorn,
331 ahbrxd => OPEN,--TXD1,
319 ahbrxd => OPEN,--TXD1,
332 ahbtxd => OPEN,--RXD1,
320 ahbtxd => OPEN,--RXD1,
333 urxd1 => TXD2,
321 urxd1 => TXD2,
334 utxd1 => RXD2,
322 utxd1 => RXD2,
335 address => SRAM_A,
323 address => SRAM_A,
336 data => SRAM_DQ,
324 data => SRAM_DQ,
337 nSRAM_BE0 => SRAM_nBE(0),
325 nSRAM_BE0 => SRAM_nBE(0),
338 nSRAM_BE1 => SRAM_nBE(1),
326 nSRAM_BE1 => SRAM_nBE(1),
339 nSRAM_BE2 => SRAM_nBE(2),
327 nSRAM_BE2 => SRAM_nBE(2),
340 nSRAM_BE3 => SRAM_nBE(3),
328 nSRAM_BE3 => SRAM_nBE(3),
341 nSRAM_WE => SRAM_nWE,
329 nSRAM_WE => SRAM_nWE,
342 nSRAM_CE => SRAM_CE_s,
330 nSRAM_CE => SRAM_CE_s,
343 nSRAM_OE => SRAM_nOE,
331 nSRAM_OE => SRAM_nOE,
344 nSRAM_READY => nSRAM_READY,
332 nSRAM_READY => nSRAM_READY,
345 SRAM_MBE => OPEN,
333 SRAM_MBE => OPEN,
346 apbi_ext => apbi_ext,
334 apbi_ext => apbi_ext,
347 apbo_ext => apbo_ext,
335 apbo_ext => apbo_ext,
348 ahbi_s_ext => ahbi_s_ext,
336 ahbi_s_ext => ahbi_s_ext,
349 ahbo_s_ext => ahbo_s_ext,
337 ahbo_s_ext => ahbo_s_ext,
350 ahbi_m_ext => ahbi_m_ext,
338 ahbi_m_ext => ahbi_m_ext,
351 ahbo_m_ext => ahbo_m_ext);
339 ahbo_m_ext => ahbo_m_ext);
352
340
353 PROCESS (clk_25, rstn_25)
341 PROCESS (clk_25, rstn_25)
354 BEGIN -- PROCESS
342 BEGIN -- PROCESS
355 IF rstn_25 = '0' THEN -- asynchronous reset (active low)
343 IF rstn_25 = '0' THEN -- asynchronous reset (active low)
356 nSRAM_READY <= '1';
344 nSRAM_READY <= '1';
357 ELSIF clk_25'event AND clk_25 = '1' THEN -- rising clock edge
345 ELSIF clk_25'event AND clk_25 = '1' THEN -- rising clock edge
358 nSRAM_READY <= '1';
346 nSRAM_READY <= '1';
359 IF IO0 = '1' THEN
347 IF IO0 = '1' THEN
360 nSRAM_READY <= '0';
348 nSRAM_READY <= '0';
361 END IF;
349 END IF;
362 END IF;
350 END IF;
363 END PROCESS;
351 END PROCESS;
364
352
365
353
366
354
367 IAP:if USE_IAP_MEMCTRL = 1 GENERATE
355 IAP:if USE_IAP_MEMCTRL = 1 GENERATE
368 SRAM_CE <= not SRAM_CE_s(0);
356 SRAM_CE <= not SRAM_CE_s(0);
369 END GENERATE;
357 END GENERATE;
370
358
371 NOIAP:if USE_IAP_MEMCTRL = 0 GENERATE
359 NOIAP:if USE_IAP_MEMCTRL = 0 GENERATE
372 SRAM_CE <= SRAM_CE_s(0);
360 SRAM_CE <= SRAM_CE_s(0);
373 END GENERATE;
361 END GENERATE;
374 -------------------------------------------------------------------------------
362 -------------------------------------------------------------------------------
375 -- APB_LFR_MANAGEMENT ---------------------------------------------------------
363 -- APB_LFR_MANAGEMENT ---------------------------------------------------------
376 -------------------------------------------------------------------------------
364 -------------------------------------------------------------------------------
377 apb_lfr_management_1 : apb_lfr_management
365 apb_lfr_management_1 : apb_lfr_management
378 GENERIC MAP (
366 GENERIC MAP (
379 tech => apa3e,
367 tech => apa3e,
380 pindex => 6,
368 pindex => 6,
381 paddr => 6,
369 paddr => 6,
382 pmask => 16#fff#,
370 pmask => 16#fff#,
383 -- FIRST_DIVISION => 374, -- ((49.152/2) /2^16) - 1 = 375 - 1 = 374
384 NB_SECOND_DESYNC => 60) -- 60 secondes of desynchronization before CoarseTime's MSB is Set
371 NB_SECOND_DESYNC => 60) -- 60 secondes of desynchronization before CoarseTime's MSB is Set
385 PORT MAP (
372 PORT MAP (
386 clk25MHz => clk_25,
373 clk25MHz => clk_25,
387 resetn_25MHz => rstn_25, -- TODO
374 resetn_25MHz => rstn_25,
388 -- clk24_576MHz => clk_24, -- 49.152MHz/2
389 -- resetn_24_576MHz => rstn_24, -- TODO
390 grspw_tick => swno.tickout,
375 grspw_tick => swno.tickout,
391 apbi => apbi_ext,
376 apbi => apbi_ext,
392 apbo => apbo_ext(6),
377 apbo => apbo_ext(6),
393 HK_sample => sample_hk,
378 HK_sample => sample_hk,
394 HK_val => sample_val,
379 HK_val => sample_val,
395 HK_sel => HK_SEL,
380 HK_sel => HK_SEL,
396 DAC_SDO => OPEN,
381 DAC_SDO => OPEN,
397 DAC_SCK => OPEN,
382 DAC_SCK => OPEN,
398 DAC_SYNC => OPEN,
383 DAC_SYNC => OPEN,
399 DAC_CAL_EN => OPEN,
384 DAC_CAL_EN => OPEN,
400 coarse_time => coarse_time,
385 coarse_time => coarse_time,
401 fine_time => fine_time,
386 fine_time => fine_time,
402 LFR_soft_rstn => LFR_soft_rstn
387 LFR_soft_rstn => LFR_soft_rstn
403 );
388 );
404
389
405 -----------------------------------------------------------------------
390 -----------------------------------------------------------------------
406 --- SpaceWire --------------------------------------------------------
391 --- SpaceWire --------------------------------------------------------
407 -----------------------------------------------------------------------
392 -----------------------------------------------------------------------
408
393
409 SPW_EN <= '1';
394 SPW_EN <= '1';
410
395
411 spw_clk <= clk_50_s;
396 spw_clk <= clk_50_s;
412 spw_rxtxclk <= spw_clk;
397 spw_rxtxclk <= spw_clk;
413 spw_rxclkn <= NOT spw_rxtxclk;
398 spw_rxclkn <= NOT spw_rxtxclk;
414
399
415 -- PADS for SPW1
400 -- PADS for SPW1
416 spw1_rxd_pad : inpad GENERIC MAP (tech => inferred)
401 spw1_rxd_pad : inpad GENERIC MAP (tech => inferred)
417 PORT MAP (SPW_NOM_DIN, dtmp(0));
402 PORT MAP (SPW_NOM_DIN, dtmp(0));
418 spw1_rxs_pad : inpad GENERIC MAP (tech => inferred)
403 spw1_rxs_pad : inpad GENERIC MAP (tech => inferred)
419 PORT MAP (SPW_NOM_SIN, stmp(0));
404 PORT MAP (SPW_NOM_SIN, stmp(0));
420 spw1_txd_pad : outpad GENERIC MAP (tech => inferred)
405 spw1_txd_pad : outpad GENERIC MAP (tech => inferred)
421 PORT MAP (SPW_NOM_DOUT, swno.d(0));
406 PORT MAP (SPW_NOM_DOUT, swno.d(0));
422 spw1_txs_pad : outpad GENERIC MAP (tech => inferred)
407 spw1_txs_pad : outpad GENERIC MAP (tech => inferred)
423 PORT MAP (SPW_NOM_SOUT, swno.s(0));
408 PORT MAP (SPW_NOM_SOUT, swno.s(0));
424 -- PADS FOR SPW2
409 -- PADS FOR SPW2
425 spw2_rxd_pad : inpad GENERIC MAP (tech => inferred) -- bad naming of the MINI-LFR /!\
410 spw2_rxd_pad : inpad GENERIC MAP (tech => inferred) -- bad naming of the MINI-LFR /!\
426 PORT MAP (SPW_RED_SIN, dtmp(1));
411 PORT MAP (SPW_RED_SIN, dtmp(1));
427 spw2_rxs_pad : inpad GENERIC MAP (tech => inferred) -- bad naming of the MINI-LFR /!\
412 spw2_rxs_pad : inpad GENERIC MAP (tech => inferred) -- bad naming of the MINI-LFR /!\
428 PORT MAP (SPW_RED_DIN, stmp(1));
413 PORT MAP (SPW_RED_DIN, stmp(1));
429 spw2_txd_pad : outpad GENERIC MAP (tech => inferred)
414 spw2_txd_pad : outpad GENERIC MAP (tech => inferred)
430 PORT MAP (SPW_RED_DOUT, swno.d(1));
415 PORT MAP (SPW_RED_DOUT, swno.d(1));
431 spw2_txs_pad : outpad GENERIC MAP (tech => inferred)
416 spw2_txs_pad : outpad GENERIC MAP (tech => inferred)
432 PORT MAP (SPW_RED_SOUT, swno.s(1));
417 PORT MAP (SPW_RED_SOUT, swno.s(1));
433
418
434 -- GRSPW PHY
419 -- GRSPW PHY
435 --spw1_input: if CFG_SPW_GRSPW = 1 generate
436 spw_inputloop : FOR j IN 0 TO 1 GENERATE
420 spw_inputloop : FOR j IN 0 TO 1 GENERATE
437 spw_phy0 : grspw_phy
421 spw_phy0 : grspw_phy
438 GENERIC MAP(
422 GENERIC MAP(
439 tech => apa3e,
423 tech => apa3e,
440 rxclkbuftype => 1,
424 rxclkbuftype => 1,
441 scantest => 0)
425 scantest => 0)
442 PORT MAP(
426 PORT MAP(
443 rxrst => swno.rxrst,
427 rxrst => swno.rxrst,
444 di => dtmp(j),
428 di => dtmp(j),
445 si => stmp(j),
429 si => stmp(j),
446 rxclko => spw_rxclk(j),
430 rxclko => spw_rxclk(j),
447 do => swni.d(j),
431 do => swni.d(j),
448 ndo => swni.nd(j*5+4 DOWNTO j*5),
432 ndo => swni.nd(j*5+4 DOWNTO j*5),
449 dconnect => swni.dconnect(j*2+1 DOWNTO j*2));
433 dconnect => swni.dconnect(j*2+1 DOWNTO j*2));
450 END GENERATE spw_inputloop;
434 END GENERATE spw_inputloop;
451
435
452 swni.rmapnodeaddr <= (OTHERS => '0');
436 swni.rmapnodeaddr <= (OTHERS => '0');
453
437
454 -- SPW core
438 -- SPW core
455 sw0 : grspwm GENERIC MAP(
439 sw0 : grspwm GENERIC MAP(
456 tech => apa3e,
440 tech => apa3e,
457 hindex => 1,
441 hindex => 1,
458 pindex => 5,
442 pindex => 5,
459 paddr => 5,
443 paddr => 5,
460 pirq => 11,
444 pirq => 11,
461 sysfreq => 25000, -- CPU_FREQ
445 sysfreq => 25000, -- CPU_FREQ
462 rmap => 1,
446 rmap => 1,
463 rmapcrc => 1,
447 rmapcrc => 1,
464 fifosize1 => 16,
448 fifosize1 => 16,
465 fifosize2 => 16,
449 fifosize2 => 16,
466 rxclkbuftype => 1,
450 rxclkbuftype => 1,
467 rxunaligned => 0,
451 rxunaligned => 0,
468 rmapbufs => 4,
452 rmapbufs => 4,
469 ft => 0,
453 ft => 0,
470 netlist => 0,
454 netlist => 0,
471 ports => 2,
455 ports => 2,
472 --dmachan => CFG_SPW_DMACHAN, -- not used byt the spw core 1
456 --dmachan => CFG_SPW_DMACHAN, -- not used byt the spw core 1
473 memtech => apa3e,
457 memtech => apa3e,
474 destkey => 2,
458 destkey => 2,
475 spwcore => 1
459 spwcore => 1
476 --input_type => CFG_SPW_INPUT, -- not used byt the spw core 1
460 --input_type => CFG_SPW_INPUT, -- not used byt the spw core 1
477 --output_type => CFG_SPW_OUTPUT, -- not used byt the spw core 1
461 --output_type => CFG_SPW_OUTPUT, -- not used byt the spw core 1
478 --rxtx_sameclk => CFG_SPW_RTSAME -- not used byt the spw core 1
462 --rxtx_sameclk => CFG_SPW_RTSAME -- not used byt the spw core 1
479 )
463 )
480 PORT MAP(rstn_25, clk_25, spw_rxclk(0),
464 PORT MAP(rstn_25, clk_25, spw_rxclk(0),
481 spw_rxclk(1), spw_rxtxclk, spw_rxtxclk,
465 spw_rxclk(1), spw_rxtxclk, spw_rxtxclk,
482 ahbi_m_ext, ahbo_m_ext(1), apbi_ext, apbo_ext(5),
466 ahbi_m_ext, ahbo_m_ext(1), apbi_ext, apbo_ext(5),
483 swni, swno);
467 swni, swno);
484
468
485 swni.tickin <= '0';
469 swni.tickin <= '0';
486 swni.rmapen <= '1';
470 swni.rmapen <= '1';
487 swni.clkdiv10 <= "00000100"; -- 10 MHz / (4 + 1) = 10 MHz
471 swni.clkdiv10 <= "00000100"; -- 10 MHz / (4 + 1) = 10 MHz
488 swni.tickinraw <= '0';
472 swni.tickinraw <= '0';
489 swni.timein <= (OTHERS => '0');
473 swni.timein <= (OTHERS => '0');
490 swni.dcrstval <= (OTHERS => '0');
474 swni.dcrstval <= (OTHERS => '0');
491 swni.timerrstval <= (OTHERS => '0');
475 swni.timerrstval <= (OTHERS => '0');
492
476
493 -------------------------------------------------------------------------------
477 -------------------------------------------------------------------------------
494 -- LFR ------------------------------------------------------------------------
478 -- LFR ------------------------------------------------------------------------
495 -------------------------------------------------------------------------------
479 -------------------------------------------------------------------------------
496
480
497
481
498 LFR_rstn <= LFR_soft_rstn AND rstn_25;
482 LFR_rstn <= LFR_soft_rstn AND rstn_25;
499 --LFR_rstn <= rstn_25;
483
500
501 lpp_lfr_1 : lpp_lfr
484 lpp_lfr_1 : lpp_lfr
502 GENERIC MAP (
485 GENERIC MAP (
503 Mem_use => use_RAM,
486 Mem_use => use_RAM,
504 nb_data_by_buffer_size => 32,
487 nb_data_by_buffer_size => 32,
505 nb_snapshot_param_size => 32,
488 nb_snapshot_param_size => 32,
506 delta_vector_size => 32,
489 delta_vector_size => 32,
507 delta_vector_size_f0_2 => 7, -- log2(96)
490 delta_vector_size_f0_2 => 7, -- log2(96)
508 pindex => 15,
491 pindex => 15,
509 paddr => 15,
492 paddr => 15,
510 pmask => 16#fff#,
493 pmask => 16#fff#,
511 pirq_ms => 6,
494 pirq_ms => 6,
512 pirq_wfp => 14,
495 pirq_wfp => 14,
513 hindex => 2,
496 hindex => 2,
514 top_lfr_version => X"000159") -- aa.bb.cc version
497 top_lfr_version => X"000159") -- aa.bb.cc version
515 PORT MAP (
498 PORT MAP (
516 clk => clk_25,
499 clk => clk_25,
517 rstn => LFR_rstn,
500 rstn => LFR_rstn,
518 sample_B => sample_s(2 DOWNTO 0),
501 sample_B => sample_s(2 DOWNTO 0),
519 sample_E => sample_s(7 DOWNTO 3),
502 sample_E => sample_s(7 DOWNTO 3),
520 sample_val => sample_val,
503 sample_val => sample_val,
521 apbi => apbi_ext,
504 apbi => apbi_ext,
522 apbo => apbo_ext(15),
505 apbo => apbo_ext(15),
523 ahbi => ahbi_m_ext,
506 ahbi => ahbi_m_ext,
524 ahbo => ahbo_m_ext(2),
507 ahbo => ahbo_m_ext(2),
525 coarse_time => coarse_time,
508 coarse_time => coarse_time,
526 fine_time => fine_time,
509 fine_time => fine_time,
527 data_shaping_BW => bias_fail_sw_sig,
510 data_shaping_BW => bias_fail_sw_sig,
528 debug_vector => lfr_debug_vector,
511 debug_vector => lfr_debug_vector,
529 debug_vector_ms => lfr_debug_vector_ms
512 debug_vector_ms => lfr_debug_vector_ms
530 );
513 );
531
514
532 observation_reg(11 DOWNTO 0) <= lfr_debug_vector;
515 observation_reg(11 DOWNTO 0) <= lfr_debug_vector;
533 observation_reg(31 DOWNTO 12) <= (OTHERS => '0');
516 observation_reg(31 DOWNTO 12) <= (OTHERS => '0');
534 observation_vector_0(11 DOWNTO 0) <= lfr_debug_vector;
517 observation_vector_0(11 DOWNTO 0) <= lfr_debug_vector;
535 observation_vector_1(11 DOWNTO 0) <= lfr_debug_vector;
518 observation_vector_1(11 DOWNTO 0) <= lfr_debug_vector;
536 -- IO0 <= rstn_25;
519
537 IO1 <= lfr_debug_vector_ms(0); -- LFR MS FFT data_valid
520 IO1 <= lfr_debug_vector_ms(0); -- LFR MS FFT data_valid
538 IO2 <= lfr_debug_vector_ms(0); -- LFR MS FFT ready
521 IO2 <= lfr_debug_vector_ms(0); -- LFR MS FFT ready
539 IO3 <= lfr_debug_vector(0); -- LFR APBREG error_buffer_full
522 IO3 <= lfr_debug_vector(0); -- LFR APBREG error_buffer_full
540 IO4 <= lfr_debug_vector(1); -- LFR APBREG reg_sp.status_error_buffer_full
523 IO4 <= lfr_debug_vector(1); -- LFR APBREG reg_sp.status_error_buffer_full
541 IO5 <= lfr_debug_vector(8); -- LFR APBREG ready_matrix_f2
524 IO5 <= lfr_debug_vector(8); -- LFR APBREG ready_matrix_f2
542 IO6 <= lfr_debug_vector(9); -- LFR APBREG reg0_ready_matrix_f2
525 IO6 <= lfr_debug_vector(9); -- LFR APBREG reg0_ready_matrix_f2
543 IO7 <= lfr_debug_vector(10); -- LFR APBREG reg0_ready_matrix_f2
526 IO7 <= lfr_debug_vector(10); -- LFR APBREG reg0_ready_matrix_f2
544
527
545 all_sample : FOR I IN 7 DOWNTO 0 GENERATE
528 all_sample : FOR I IN 7 DOWNTO 0 GENERATE
546 sample_s(I) <= sample(I)(11 DOWNTO 0) & '0' & '0' & '0' & '0';
529 sample_s(I) <= sample(I)(11 DOWNTO 0) & '0' & '0' & '0' & '0';
547 END GENERATE all_sample;
530 END GENERATE all_sample;
548
531
549 top_ad_conv_ADS7886_v2_1 : top_ad_conv_ADS7886_v2
532 top_ad_conv_ADS7886_v2_1 : top_ad_conv_ADS7886_v2
550 GENERIC MAP(
533 GENERIC MAP(
551 ChannelCount => 8,
534 ChannelCount => 8,
552 SampleNbBits => 14,
535 SampleNbBits => 14,
553 ncycle_cnv_high => 40, -- at least 32 cycles at 25 MHz, 32 * 49.152 / 25 /2 = 31.5
536 ncycle_cnv_high => 40, -- at least 32 cycles at 25 MHz, 32 * 49.152 / 25 /2 = 31.5
554 ncycle_cnv => 249) -- 49 152 000 / 98304 /2
537 ncycle_cnv => 249) -- 49 152 000 / 98304 /2
555 PORT MAP (
538 PORT MAP (
556 -- CONV
539 -- CONV
557 cnv_clk => clk_24,
540 cnv_clk => clk_24,
558 cnv_rstn => rstn_24,
541 cnv_rstn => rstn_24,
559 cnv => ADC_nCS_sig,
542 cnv => ADC_nCS_sig,
560 -- DATA
543 -- DATA
561 clk => clk_25,
544 clk => clk_25,
562 rstn => rstn_25,
545 rstn => rstn_25,
563 sck => ADC_CLK_sig,
546 sck => ADC_CLK_sig,
564 sdo => ADC_SDO_sig,
547 sdo => ADC_SDO_sig,
565 -- SAMPLE
548 -- SAMPLE
566 sample => sample,
549 sample => sample,
567 sample_val => sample_val);
550 sample_val => sample_val);
568
551
569 --IO10 <= ADC_SDO_sig(5);
570 --IO9 <= ADC_SDO_sig(4);
571 --IO8 <= ADC_SDO_sig(3);
572
573 ADC_nCS <= ADC_nCS_sig;
552 ADC_nCS <= ADC_nCS_sig;
574 ADC_CLK <= ADC_CLK_sig;
553 ADC_CLK <= ADC_CLK_sig;
575 ADC_SDO_sig <= ADC_SDO;
554 ADC_SDO_sig <= ADC_SDO;
576
555
577 sample_hk <= "0001000100010001" WHEN HK_SEL = "00" ELSE
556 sample_hk <= "0001000100010001" WHEN HK_SEL = "00" ELSE
578 "0010001000100010" WHEN HK_SEL = "01" ELSE
557 "0010001000100010" WHEN HK_SEL = "01" ELSE
579 "0100010001000100" WHEN HK_SEL = "10" ELSE
558 "0100010001000100" WHEN HK_SEL = "10" ELSE
580 (OTHERS => '0');
559 (OTHERS => '0');
581
560
582
561
583 ----------------------------------------------------------------------
562 ----------------------------------------------------------------------
584 --- GPIO -----------------------------------------------------------
563 --- GPIO -----------------------------------------------------------
585 ----------------------------------------------------------------------
564 ----------------------------------------------------------------------
586
565
587 grgpio0 : grgpio
566 grgpio0 : grgpio
588 GENERIC MAP(pindex => 11, paddr => 11, imask => 16#0000#, nbits => 8)
567 GENERIC MAP(pindex => 11, paddr => 11, imask => 16#0000#, nbits => 8)
589 PORT MAP(rstn_25, clk_25, apbi_ext, apbo_ext(11), gpioi, gpioo);
568 PORT MAP(rstn_25, clk_25, apbi_ext, apbo_ext(11), gpioi, gpioo);
590
569
591 gpioi.sig_en <= (OTHERS => '0');
570 gpioi.sig_en <= (OTHERS => '0');
592 gpioi.sig_in <= (OTHERS => '0');
571 gpioi.sig_in <= (OTHERS => '0');
593 gpioi.din <= (OTHERS => '0');
572 gpioi.din <= (OTHERS => '0');
594 PROCESS (clk_25, rstn_25)
573 PROCESS (clk_25, rstn_25)
595 BEGIN -- PROCESS
574 BEGIN -- PROCESS
596 IF rstn_25 = '0' THEN -- asynchronous reset (active low)
575 IF rstn_25 = '0' THEN -- asynchronous reset (active low)
597 IO8 <= '0';
576 IO8 <= '0';
598 IO9 <= '0';
577 IO9 <= '0';
599 IO10 <= '0';
578 IO10 <= '0';
600 IO11 <= '0';
579 IO11 <= '0';
601 ELSIF clk_25'EVENT AND clk_25 = '1' THEN -- rising clock edge
580 ELSIF clk_25'EVENT AND clk_25 = '1' THEN -- rising clock edge
602 CASE gpioo.dout(2 DOWNTO 0) IS
581 CASE gpioo.dout(2 DOWNTO 0) IS
603 WHEN "011" =>
582 WHEN "011" =>
604 IO8 <= observation_reg(8);
583 IO8 <= observation_reg(8);
605 IO9 <= observation_reg(9);
584 IO9 <= observation_reg(9);
606 IO10 <= observation_reg(10);
585 IO10 <= observation_reg(10);
607 IO11 <= observation_reg(11);
586 IO11 <= observation_reg(11);
608 WHEN "001" =>
587 WHEN "001" =>
609 IO8 <= observation_reg(8 + 12);
588 IO8 <= observation_reg(8 + 12);
610 IO9 <= observation_reg(9 + 12);
589 IO9 <= observation_reg(9 + 12);
611 IO10 <= observation_reg(10 + 12);
590 IO10 <= observation_reg(10 + 12);
612 IO11 <= observation_reg(11 + 12);
591 IO11 <= observation_reg(11 + 12);
613 WHEN "010" =>
592 WHEN "010" =>
614 IO8 <= '0';
593 IO8 <= '0';
615 IO9 <= '0';
594 IO9 <= '0';
616 IO10 <= '0';
595 IO10 <= '0';
617 IO11 <= '0';
596 IO11 <= '0';
618 WHEN "000" =>
597 WHEN "000" =>
619 IO8 <= observation_vector_0(8);
598 IO8 <= observation_vector_0(8);
620 IO9 <= observation_vector_0(9);
599 IO9 <= observation_vector_0(9);
621 IO10 <= observation_vector_0(10);
600 IO10 <= observation_vector_0(10);
622 IO11 <= observation_vector_0(11);
601 IO11 <= observation_vector_0(11);
623 WHEN "100" =>
602 WHEN "100" =>
624 IO8 <= observation_vector_1(8);
603 IO8 <= observation_vector_1(8);
625 IO9 <= observation_vector_1(9);
604 IO9 <= observation_vector_1(9);
626 IO10 <= observation_vector_1(10);
605 IO10 <= observation_vector_1(10);
627 IO11 <= observation_vector_1(11);
606 IO11 <= observation_vector_1(11);
628 WHEN OTHERS => NULL;
607 WHEN OTHERS => NULL;
629 END CASE;
608 END CASE;
630
609
631 END IF;
610 END IF;
632 END PROCESS;
611 END PROCESS;
633 -----------------------------------------------------------------------------
612 -----------------------------------------------------------------------------
634 --
613 --
635 -----------------------------------------------------------------------------
614 -----------------------------------------------------------------------------
636 all_apbo_ext : FOR I IN NB_APB_SLAVE-1+5 DOWNTO 5 GENERATE
615 all_apbo_ext : FOR I IN NB_APB_SLAVE-1+5 DOWNTO 5 GENERATE
637 apbo_ext_not_used : IF I /= 5 AND I /= 6 AND I /= 11 AND I /= 15 GENERATE
616 apbo_ext_not_used : IF I /= 5 AND I /= 6 AND I /= 11 AND I /= 15 GENERATE
638 apbo_ext(I) <= apb_none;
617 apbo_ext(I) <= apb_none;
639 END GENERATE apbo_ext_not_used;
618 END GENERATE apbo_ext_not_used;
640 END GENERATE all_apbo_ext;
619 END GENERATE all_apbo_ext;
641
620
642
621
643 all_ahbo_ext : FOR I IN NB_AHB_SLAVE-1+3 DOWNTO 3 GENERATE
622 all_ahbo_ext : FOR I IN NB_AHB_SLAVE-1+3 DOWNTO 3 GENERATE
644 ahbo_s_ext(I) <= ahbs_none;
623 ahbo_s_ext(I) <= ahbs_none;
645 END GENERATE all_ahbo_ext;
624 END GENERATE all_ahbo_ext;
646
625
647 all_ahbo_m_ext : FOR I IN NB_AHB_MASTER-1+1 DOWNTO 1 GENERATE
626 all_ahbo_m_ext : FOR I IN NB_AHB_MASTER-1+1 DOWNTO 1 GENERATE
648 ahbo_m_ext_not_used : IF I /= 1 AND I /= 2 GENERATE
627 ahbo_m_ext_not_used : IF I /= 1 AND I /= 2 GENERATE
649 ahbo_m_ext(I) <= ahbm_none;
628 ahbo_m_ext(I) <= ahbm_none;
650 END GENERATE ahbo_m_ext_not_used;
629 END GENERATE ahbo_m_ext_not_used;
651 END GENERATE all_ahbo_m_ext;
630 END GENERATE all_ahbo_m_ext;
652
631
653 END beh;
632 END beh;
@@ -1,51 +1,52
1 VHDLIB=../..
1 VHDLIB=../..
2 SCRIPTSDIR=$(VHDLIB)/scripts/
2 SCRIPTSDIR=$(VHDLIB)/scripts/
3 GRLIB := $(shell sh $(VHDLIB)/scripts/lpp_relpath.sh)
3 GRLIB := $(shell sh $(VHDLIB)/scripts/lpp_relpath.sh)
4 TOP=MINI_LFR_top
4 TOP=MINI_LFR_top
5 BOARD=MINI-LFR
5 BOARD=MINI-LFR
6 include $(VHDLIB)/boards/$(BOARD)/Makefile.inc
6 include $(VHDLIB)/boards/$(BOARD)/Makefile.inc
7 DEVICE=$(PART)-$(PACKAGE)$(SPEED)
7 DEVICE=$(PART)-$(PACKAGE)$(SPEED)
8 UCF=$(VHDLIB)/boards/$(BOARD)/$(TOP).ucf
8 UCF=$(VHDLIB)/boards/$(BOARD)/$(TOP).ucf
9 QSF=$(VHDLIB)/boards/$(BOARD)/$(TOP).qsf
9 QSF=$(VHDLIB)/boards/$(BOARD)/$(TOP).qsf
10 EFFORT=high
10 EFFORT=high
11 XSTOPT=
11 XSTOPT=
12 SYNPOPT="set_option -pipe 0; set_option -retiming 0; set_option -write_apr_constraint 0"
12 SYNPOPT="set_option -pipe 0; set_option -retiming 0; set_option -write_apr_constraint 0"
13 VHDLSYNFILES= MINI_LFR_top.vhd
13 VHDLSYNFILES= MINI_LFR_top.vhd
14 VHDLSIMFILES= testbench.vhd
14 VHDLSIMFILES= testbench.vhd
15 SIMTOP=testbench
15 SIMTOP=testbench
16 PDC=$(VHDLIB)/boards/$(BOARD)/default.pdc
16 PDC=$(VHDLIB)/boards/$(BOARD)/default.pdc
17 SDCFILE=$(VHDLIB)/boards/$(BOARD)/MINI-LFR.sdc
17 SDCFILE=$(VHDLIB)/boards/$(BOARD)/MINI-LFR.sdc
18 SDC=$(VHDLIB)/boards/$(BOARD)/MINI-LFR.sdc
18 SDC=$(VHDLIB)/boards/$(BOARD)/MINI-LFR.sdc
19 BITGEN=$(VHDLIB)/boards/$(BOARD)/default.ut
19 BITGEN=$(VHDLIB)/boards/$(BOARD)/default.ut
20 CLEAN=soft-clean
20 CLEAN=soft-clean
21
21
22 TECHLIBS = proasic3e
22 TECHLIBS = proasic3e
23
23
24 LIBSKIP = core1553bbc core1553brm core1553brt gr1553 corePCIF \
24 LIBSKIP = core1553bbc core1553brm core1553brt gr1553 corePCIF \
25 tmtc openchip hynix ihp gleichmann micron usbhc
25 tmtc openchip hynix ihp gleichmann micron usbhc ge_1000baseX
26
26
27 DIRSKIP = b1553 pcif leon2 leon2ft crypto satcan ddr usb ata i2c \
27 DIRSKIP = b1553 pcif leon2 leon2ft crypto satcan ddr usb ata i2c \
28 pci grusbhc haps slink ascs pwm coremp7 spi ac97 \
28 pci grusbhc haps slink ascs pwm coremp7 spi ac97 \
29 ./amba_lcd_16x2_ctrlr \
29 ./amba_lcd_16x2_ctrlr \
30 ./general_purpose/lpp_AMR \
30 ./general_purpose/lpp_AMR \
31 ./general_purpose/lpp_balise \
31 ./general_purpose/lpp_balise \
32 ./general_purpose/lpp_delay \
32 ./general_purpose/lpp_delay \
33 ./lpp_bootloader \
33 ./lpp_bootloader \
34 ./lpp_uart \
34 ./lpp_uart \
35 ./lpp_usb \
35 ./lpp_usb \
36 ./dsp/lpp_fft_rtax \
36 ./dsp/lpp_fft_rtax \
37 ./lpp_sim/CY7C1061DV33 \
37 ./lpp_sim/CY7C1061DV33 \
38
38
39 FILESKIP =i2cmst.vhd \
39 FILESKIP =i2cmst.vhd \
40 APB_MULTI_DIODE.vhd \
40 APB_MULTI_DIODE.vhd \
41 APB_SIMPLE_DIODE.vhd \
41 APB_SIMPLE_DIODE.vhd \
42 Top_MatrixSpec.vhd \
42 Top_MatrixSpec.vhd \
43 APB_FFT.vhd \
43 APB_FFT.vhd \
44 CoreFFT_simu.vhd \
44 CoreFFT_simu.vhd \
45 lpp_lfr_apbreg_simu.vhd
45 lpp_lfr_apbreg_simu.vhd \
46 sgmii.vhd
46
47
47 include $(GRLIB)/bin/Makefile
48 include $(GRLIB)/bin/Makefile
48 include $(GRLIB)/software/leon3/Makefile
49 include $(GRLIB)/software/leon3/Makefile
49
50
50 ################## project specific targets ##########################
51 ################## project specific targets ##########################
51
52
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (570 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (728 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (573 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (595 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (611 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (513 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (696 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (1014 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (731 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (1016 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (700 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (1014 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (580 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (536 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (528 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (1171 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (2370 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (6554 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (570 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (2622 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (19492 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (19492 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (1189 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (2766 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (561 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (642 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (508 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (2975 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (4968 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (521 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (561 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (71110 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (739 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (758 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (192155 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (508 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (589 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (770 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (561 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (544 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (71110 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (739 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
This diff has been collapsed as it changes many lines, (758 lines changed) Show them Hide them
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed, binary diff hidden
NO CONTENT: file was removed, binary diff hidden
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: file was removed
NO CONTENT: file was removed
The requested commit or file is too big and content was truncated. Show full diff
General Comments 0
You need to be logged in to leave comments. Login now