##// END OF EJS Templates
EQM 2.1.67
pellion -
r561:fafb37280653 (MINI-LFR) 0-1-68 (LFR-EQM) 2-1-68 (LFR-EM) 1-1-68 JC
parent child
Show More
@@ -11,9 +11,8
11 # Clocks
11 # Clocks
12 #
12 #
13
13
14
14 define_clock -name {clk100MHz} -freq 100 -clockgroup default_clkgroup_50 -route 5
15 define_clock {clk100MHz} -name {clk100MHz} -freq 100 -clockgroup default_clkgroup -route 5
15 define_clock -name {clk49_152MHz} -freq 49.152 -clockgroup default_clkgroup_49 -route 5
16 define_clock {clk49_152MHz} -name {clk49_152MHz} -freq 49.152 -clockgroup default_clkgroup -route 5
17
16
18 #
17 #
19 # Clock to Clock
18 # Clock to Clock
@@ -22,8 +21,6 define_clock {clk49_152MHz} -name {clk4
22 #
21 #
23 # Inputs/Outputs
22 # Inputs/Outputs
24 #
23 #
25 define_output_delay -disable -default 5.00 -improve 0.00 -route 0.00 -ref {clk:r}
26 define_input_delay -disable -default 5.00 -improve 0.00 -route 0.00 -ref {clk:r}
27
24
28
25
29 #
26 #
@@ -38,6 +35,8 define_input_delay -disable -defaul
38 # False Path
35 # False Path
39 #
36 #
40
37
38 set_false_path -from reset
39
41 #
40 #
42 # Path Delay
41 # Path Delay
43 #
42 #
@@ -45,9 +44,9 define_input_delay -disable -defaul
45 #
44 #
46 # Attributes
45 # Attributes
47 #
46 #
47
48 define_global_attribute syn_useioff {1}
48 define_global_attribute syn_useioff {1}
49 define_global_attribute -disable syn_netlist_hierarchy {0}
49 define_global_attribute -disable syn_netlist_hierarchy {0}
50 define_attribute {etx_clk} syn_noclockbuf {1}
51
50
52 #
51 #
53 # I/O standards
52 # I/O standards
@@ -146,7 +146,8 ARCHITECTURE beh OF LFR_EQM IS
146 SIGNAL observation_reg : STD_LOGIC_VECTOR(31 DOWNTO 0);
146 SIGNAL observation_reg : STD_LOGIC_VECTOR(31 DOWNTO 0);
147
147
148 -----------------------------------------------------------------------------
148 -----------------------------------------------------------------------------
149 SIGNAL rstn : STD_LOGIC;
149 SIGNAL rstn_25 : STD_LOGIC;
150 SIGNAL rstn_24 : STD_LOGIC;
150
151
151 SIGNAL LFR_soft_rstn : STD_LOGIC;
152 SIGNAL LFR_soft_rstn : STD_LOGIC;
152 SIGNAL LFR_rstn : STD_LOGIC;
153 SIGNAL LFR_rstn : STD_LOGIC;
@@ -160,7 +161,8 BEGIN -- beh
160 -----------------------------------------------------------------------------
161 -----------------------------------------------------------------------------
161 -- CLK
162 -- CLK
162 -----------------------------------------------------------------------------
163 -----------------------------------------------------------------------------
163 rst0 : rstgen PORT MAP (reset, clk_25, '1', rstn, OPEN);
164 rst_domain25 : rstgen PORT MAP (reset, clk_25, '1', rstn_25, OPEN);
165 rst_domain24 : rstgen PORT MAP (reset, clk_24, '1', rstn_24, OPEN);
164
166
165 PROCESS(clk50MHz)
167 PROCESS(clk50MHz)
166 BEGIN
168 BEGIN
@@ -204,7 +206,7 BEGIN -- beh
204 USES_IAP_MEMCTRLR => 1)
206 USES_IAP_MEMCTRLR => 1)
205 PORT MAP (
207 PORT MAP (
206 clk => clk_25,
208 clk => clk_25,
207 reset => rstn,
209 reset => rstn_25,
208 errorn => OPEN,
210 errorn => OPEN,
209
211
210 ahbrxd => TAG1,
212 ahbrxd => TAG1,
@@ -247,9 +249,11 BEGIN -- beh
247 FIRST_DIVISION => 374, -- ((49.152/2) /2^16) - 1 = 375 - 1 = 374
249 FIRST_DIVISION => 374, -- ((49.152/2) /2^16) - 1 = 375 - 1 = 374
248 NB_SECOND_DESYNC => 60) -- 60 secondes of desynchronization before CoarseTime's MSB is Set
250 NB_SECOND_DESYNC => 60) -- 60 secondes of desynchronization before CoarseTime's MSB is Set
249 PORT MAP (
251 PORT MAP (
250 clk25MHz => clk_25,
252 clk25MHz => clk_25,
251 clk24_576MHz => clk_24, -- 49.152MHz/2
253 resetn_25MHz => rstn_25, -- TODO
252 resetn => rstn,
254 clk24_576MHz => clk_24, -- 49.152MHz/2
255 resetn_24_576MHz => rstn_24, -- TODO
256
253 grspw_tick => swno.tickout,
257 grspw_tick => swno.tickout,
254 apbi => apbi_ext,
258 apbi => apbi_ext,
255 apbo => apbo_ext(6),
259 apbo => apbo_ext(6),
@@ -348,7 +352,7 BEGIN -- beh
348 --output_type => CFG_SPW_OUTPUT, -- not used byt the spw core 1
352 --output_type => CFG_SPW_OUTPUT, -- not used byt the spw core 1
349 --rxtx_sameclk => CFG_SPW_RTSAME -- not used byt the spw core 1
353 --rxtx_sameclk => CFG_SPW_RTSAME -- not used byt the spw core 1
350 )
354 )
351 PORT MAP(rstn, clk_25, spw_rxclk(0),
355 PORT MAP(rstn_25, clk_25, spw_rxclk(0),
352 spw_rxclk(1), spw_rxtxclk, spw_rxtxclk,
356 spw_rxclk(1), spw_rxtxclk, spw_rxtxclk,
353 ahbi_m_ext, ahbo_m_ext(1), apbi_ext, apbo_ext(5),
357 ahbi_m_ext, ahbo_m_ext(1), apbi_ext, apbo_ext(5),
354 swni, swno);
358 swni, swno);
@@ -364,7 +368,7 BEGIN -- beh
364 -------------------------------------------------------------------------------
368 -------------------------------------------------------------------------------
365 -- LFR ------------------------------------------------------------------------
369 -- LFR ------------------------------------------------------------------------
366 -------------------------------------------------------------------------------
370 -------------------------------------------------------------------------------
367 LFR_rstn <= LFR_soft_rstn AND rstn;
371 LFR_rstn <= LFR_soft_rstn AND rstn_25;
368
372
369 lpp_lfr_1 : lpp_lfr
373 lpp_lfr_1 : lpp_lfr
370 GENERIC MAP (
374 GENERIC MAP (
@@ -380,7 +384,7 BEGIN -- beh
380 pirq_ms => 6,
384 pirq_ms => 6,
381 pirq_wfp => 14,
385 pirq_wfp => 14,
382 hindex => 2,
386 hindex => 2,
383 top_lfr_version => X"02013F") -- aa.bb.cc version
387 top_lfr_version => X"020144") -- aa.bb.cc version
384 -- AA : BOARD NUMBER
388 -- AA : BOARD NUMBER
385 -- 0 => MINI_LFR
389 -- 0 => MINI_LFR
386 -- 1 => EM
390 -- 1 => EM
@@ -421,10 +425,10 BEGIN -- beh
421 FILTER_ENABLED => 16#FF#)
425 FILTER_ENABLED => 16#FF#)
422 PORT MAP (
426 PORT MAP (
423 cnv_clk => clk_24,
427 cnv_clk => clk_24,
424 cnv_rstn => rstn,
428 cnv_rstn => rstn_24,
425 cnv => ADC_smpclk_s,
429 cnv => ADC_smpclk_s,
426 clk => clk_25,
430 clk => clk_25,
427 rstn => rstn,
431 rstn => rstn_25,
428 ADC_data => ADC_data,
432 ADC_data => ADC_data,
429 ADC_nOE => ADC_OEB_bar_CH_s,
433 ADC_nOE => ADC_OEB_bar_CH_s,
430 sample => sample,
434 sample => sample,
@@ -144,13 +144,14 ARCHITECTURE beh OF LFR_em IS
144 SIGNAL observation_reg : STD_LOGIC_VECTOR(31 DOWNTO 0);
144 SIGNAL observation_reg : STD_LOGIC_VECTOR(31 DOWNTO 0);
145
145
146 -----------------------------------------------------------------------------
146 -----------------------------------------------------------------------------
147 SIGNAL rstn : STD_LOGIC;
147 SIGNAL rstn_25 : STD_LOGIC;
148 SIGNAL rstn_24 : STD_LOGIC;
148
149
149 SIGNAL LFR_soft_rstn : STD_LOGIC;
150 SIGNAL LFR_soft_rstn : STD_LOGIC;
150 SIGNAL LFR_rstn : STD_LOGIC;
151 SIGNAL LFR_rstn : STD_LOGIC;
151
152
152 SIGNAL ADC_smpclk_s : STD_LOGIC;
153 SIGNAL ADC_smpclk_s : STD_LOGIC;
153 -----------------------------------------------------------------------------
154 ----------------------------------------------------------------------------
154 SIGNAL nSRAM_CE_s : STD_LOGIC_VECTOR(1 DOWNTO 0);
155 SIGNAL nSRAM_CE_s : STD_LOGIC_VECTOR(1 DOWNTO 0);
155
156
156 BEGIN -- beh
157 BEGIN -- beh
@@ -158,7 +159,8 BEGIN -- beh
158 -----------------------------------------------------------------------------
159 -----------------------------------------------------------------------------
159 -- CLK
160 -- CLK
160 -----------------------------------------------------------------------------
161 -----------------------------------------------------------------------------
161 rst0 : rstgen PORT MAP (reset, clk_25, '1', rstn, OPEN);
162 rst_domain25 : rstgen PORT MAP (reset, clk_25, '1', rstn_25, OPEN);
163 rst_domain24 : rstgen PORT MAP (reset, clk_24, '1', rstn_24, OPEN);
162
164
163 PROCESS(clk100MHz)
165 PROCESS(clk100MHz)
164 BEGIN
166 BEGIN
@@ -183,9 +185,9 BEGIN -- beh
183
185
184 -----------------------------------------------------------------------------
186 -----------------------------------------------------------------------------
185
187
186 PROCESS (clk_25, rstn)
188 PROCESS (clk_25, rstn_25)
187 BEGIN -- PROCESS
189 BEGIN -- PROCESS
188 IF rstn = '0' THEN -- asynchronous reset (active low)
190 IF rstn_25 = '0' THEN -- asynchronous reset (active low)
189 led(0) <= '0';
191 led(0) <= '0';
190 led(1) <= '0';
192 led(1) <= '0';
191 led(2) <= '0';
193 led(2) <= '0';
@@ -223,7 +225,7 BEGIN -- beh
223 USES_IAP_MEMCTRLR => 0)
225 USES_IAP_MEMCTRLR => 0)
224 PORT MAP (
226 PORT MAP (
225 clk => clk_25,
227 clk => clk_25,
226 reset => rstn,
228 reset => rstn_25,
227 errorn => OPEN,
229 errorn => OPEN,
228
230
229 ahbrxd => TAG1,
231 ahbrxd => TAG1,
@@ -265,9 +267,11 BEGIN -- beh
265 FIRST_DIVISION => 374, -- ((49.152/2) /2^16) - 1 = 375 - 1 = 374
267 FIRST_DIVISION => 374, -- ((49.152/2) /2^16) - 1 = 375 - 1 = 374
266 NB_SECOND_DESYNC => 60) -- 60 secondes of desynchronization before CoarseTime's MSB is Set
268 NB_SECOND_DESYNC => 60) -- 60 secondes of desynchronization before CoarseTime's MSB is Set
267 PORT MAP (
269 PORT MAP (
268 clk25MHz => clk_25,
270 clk25MHz => clk_25,
269 clk24_576MHz => clk_24, -- 49.152MHz/2
271 resetn_25MHz => rstn_25, -- TODO
270 resetn => rstn,
272 clk24_576MHz => clk_24, -- 49.152MHz/2
273 resetn_24_576MHz => rstn_24, -- TODO
274
271 grspw_tick => swno.tickout,
275 grspw_tick => swno.tickout,
272 apbi => apbi_ext,
276 apbi => apbi_ext,
273 apbo => apbo_ext(6),
277 apbo => apbo_ext(6),
@@ -359,7 +363,7 BEGIN -- beh
359 --output_type => CFG_SPW_OUTPUT, -- not used byt the spw core 1
363 --output_type => CFG_SPW_OUTPUT, -- not used byt the spw core 1
360 --rxtx_sameclk => CFG_SPW_RTSAME -- not used byt the spw core 1
364 --rxtx_sameclk => CFG_SPW_RTSAME -- not used byt the spw core 1
361 )
365 )
362 PORT MAP(rstn, clk_25, spw_rxclk(0),
366 PORT MAP(rstn_25, clk_25, spw_rxclk(0),
363 spw_rxclk(1), spw_rxtxclk, spw_rxtxclk,
367 spw_rxclk(1), spw_rxtxclk, spw_rxtxclk,
364 ahbi_m_ext, ahbo_m_ext(1), apbi_ext, apbo_ext(5),
368 ahbi_m_ext, ahbo_m_ext(1), apbi_ext, apbo_ext(5),
365 swni, swno);
369 swni, swno);
@@ -375,7 +379,7 BEGIN -- beh
375 -------------------------------------------------------------------------------
379 -------------------------------------------------------------------------------
376 -- LFR ------------------------------------------------------------------------
380 -- LFR ------------------------------------------------------------------------
377 -------------------------------------------------------------------------------
381 -------------------------------------------------------------------------------
378 LFR_rstn <= LFR_soft_rstn AND rstn;
382 LFR_rstn <= LFR_soft_rstn AND rstn_25;
379
383
380 lpp_lfr_1 : lpp_lfr
384 lpp_lfr_1 : lpp_lfr
381 GENERIC MAP (
385 GENERIC MAP (
@@ -391,7 +395,7 BEGIN -- beh
391 pirq_ms => 6,
395 pirq_ms => 6,
392 pirq_wfp => 14,
396 pirq_wfp => 14,
393 hindex => 2,
397 hindex => 2,
394 top_lfr_version => X"010143") -- aa.bb.cc version
398 top_lfr_version => X"010144") -- aa.bb.cc version
395 -- AA : BOARD NUMBER
399 -- AA : BOARD NUMBER
396 -- 0 => MINI_LFR
400 -- 0 => MINI_LFR
397 -- 1 => EM
401 -- 1 => EM
@@ -431,10 +435,10 BEGIN -- beh
431 FILTER_ENABLED => 16#FF#)
435 FILTER_ENABLED => 16#FF#)
432 PORT MAP (
436 PORT MAP (
433 cnv_clk => clk_24,
437 cnv_clk => clk_24,
434 cnv_rstn => rstn,
438 cnv_rstn => rstn_24,
435 cnv => ADC_smpclk_s,
439 cnv => ADC_smpclk_s,
436 clk => clk_25,
440 clk => clk_25,
437 rstn => rstn,
441 rstn => rstn_25,
438 ADC_data => ADC_data,
442 ADC_data => ADC_data,
439 ADC_nOE => ADC_OEB_bar_CH_s,
443 ADC_nOE => ADC_OEB_bar_CH_s,
440 sample => sample,
444 sample => sample,
@@ -20,7 +20,7 VHDLSIMFILES=testbench.vhd
20 #SDC=$(GRLIB)/boards/$(BOARD)/leon3mp.sdc
20 #SDC=$(GRLIB)/boards/$(BOARD)/leon3mp.sdc
21 PDC=$(VHDLIB)/boards/$(BOARD)/em-LeonLPP-A3PE3kL_withHK-DAC.pdc
21 PDC=$(VHDLIB)/boards/$(BOARD)/em-LeonLPP-A3PE3kL_withHK-DAC.pdc
22
22
23 #SDCFILE=$(VHDLIB)/boards/$(BOARD)/LFR_EM_synthesis.sdc
23 SDCFILE=$(VHDLIB)/boards/$(BOARD)/LFR_EM_synthesis.sdc
24 SDC=$(VHDLIB)/boards/$(BOARD)/LFR_EM_place_and_route.sdc
24 SDC=$(VHDLIB)/boards/$(BOARD)/LFR_EM_place_and_route.sdc
25
25
26 BITGEN=$(VHDLIB)/boards/$(BOARD)/default.ut
26 BITGEN=$(VHDLIB)/boards/$(BOARD)/default.ut
@@ -241,25 +241,14 BEGIN -- beh
241
241
242 PROCESS (clk_50, reset)
242 PROCESS (clk_50, reset)
243 BEGIN -- PROCESS
243 BEGIN -- PROCESS
244 IF reset = '0' THEN -- asynchronous reset (active low)
244 IF clk_50'EVENT AND clk_50 = '1' THEN -- rising clock edge
245 clk_50_s <= '0';
246 rstn_50 <= '0';
247 rstn_50_d1 <= '0';
248 rstn_50_d2 <= '0';
249 rstn_50_d3 <= '0';
250
251 ELSIF clk_50'EVENT AND clk_50 = '1' THEN -- rising clock edge
252 clk_50_s <= NOT clk_50_s;
245 clk_50_s <= NOT clk_50_s;
253 rstn_50_d1 <= '1';
254 rstn_50_d2 <= rstn_50_d1;
255 rstn_50_d3 <= rstn_50_d2;
256 rstn_50 <= rstn_50_d3;
257 END IF;
246 END IF;
258 END PROCESS;
247 END PROCESS;
259
248
260 PROCESS (clk_50_s, rstn_50)
249 PROCESS (clk_50_s, reset)
261 BEGIN -- PROCESS
250 BEGIN -- PROCESS
262 IF rstn_50 = '0' THEN -- asynchronous reset (active low)
251 IF reset = '0' THEN -- asynchronous reset (active low)
263 clk_25 <= '0';
252 clk_25 <= '0';
264 rstn_25 <= '0';
253 rstn_25 <= '0';
265 rstn_25_d1 <= '0';
254 rstn_25_d1 <= '0';
General Comments 0
You need to be logged in to leave comments. Login now