@@ -3,10 +3,13 | |||||
3 | # Clocks |
|
3 | # Clocks | |
4 |
|
4 | |||
5 | create_clock -period 20.000000 -waveform {0.000000 10.000000} clk50MHz |
|
5 | create_clock -period 20.000000 -waveform {0.000000 10.000000} clk50MHz | |
|
6 | create_clock -period 40.000000 -waveform {0.000000 20.000000} clk_25 | |||
|
7 | ||||
|
8 | #create_generated_clock -name{clk_domain_25} -divide_by 2 -source{clk_25_int:CLK}{clk_25_int:Q} | |||
|
9 | ||||
6 | #create_clock -period 20.344999 -waveform {0.000000 10.172500} clk49_152MHz |
|
10 | #create_clock -period 20.344999 -waveform {0.000000 10.172500} clk49_152MHz | |
7 | #create_clock -period 40.000000 -waveform {0.000000 20.000000} clk_25_int:Q |
|
|||
8 | #create_clock -period 40.690000 -waveform {0.000000 20.345100} clk_24:Q |
|
11 | #create_clock -period 40.690000 -waveform {0.000000 20.345100} clk_24:Q | |
9 | create_clock -name SPW_CLOCK -period 100.000000 -waveform {0.000000 50.000000} {spw1_din spw1_sin spw2_din spw2_sin} |
|
12 | #create_clock -name SPW_CLOCK -period 100.000000 -waveform {0.000000 50.000000} {spw1_din spw1_sin spw2_din spw2_sin} | |
10 |
|
13 | |||
11 |
|
14 | |||
12 | # False Paths Between Clocks |
|
15 | # False Paths Between Clocks | |
@@ -17,7 +20,6 create_clock -name SPW_CLOCK -period 100 | |||||
17 |
|
20 | |||
18 | # Maximum Delay Constraints |
|
21 | # Maximum Delay Constraints | |
19 |
|
22 | |||
20 |
|
||||
21 | # Multicycle Constraints |
|
23 | # Multicycle Constraints | |
22 |
|
24 | |||
23 |
|
25 | |||
@@ -28,3 +30,10 create_clock -name SPW_CLOCK -period 100 | |||||
28 | # set_wire_load_mode top |
|
30 | # set_wire_load_mode top | |
29 |
|
31 | |||
30 | # Other Constraints |
|
32 | # Other Constraints | |
|
33 | ||||
|
34 | ||||
|
35 | ## GRSPW constraints | |||
|
36 | create_clock -period 100.00 {spw_inputloop.1.spw_phy0/rxclki_RNO:Y} | |||
|
37 | create_clock -period 100.00 {spw_inputloop.0.spw_phy0/rxclki_RNO:Y} | |||
|
38 | set_max_delay 4.00 -from [all_inputs] -to [get_clocks spw_inputloop.0.spw_phy0/rxclki_RNO:Y] | |||
|
39 | set_max_delay 4.00 -from [all_inputs] -to [get_clocks spw_inputloop.1.spw_phy0/rxclki_RNO:Y] |
@@ -3,10 +3,13 | |||||
3 | # Clocks |
|
3 | # Clocks | |
4 |
|
4 | |||
5 | create_clock -period 20.000000 -waveform {0.000000 10.000000} clk50MHz |
|
5 | create_clock -period 20.000000 -waveform {0.000000 10.000000} clk50MHz | |
|
6 | create_clock -period 40.000000 -waveform {0.000000 20.000000} clk_25:Q | |||
|
7 | ||||
|
8 | #create_generated_clock -name{clk_domain_25} -divide_by 2 -source{clk_25_int:CLK}{clk_25_int:Q} | |||
|
9 | ||||
6 | create_clock -period 20.344999 -waveform {0.000000 10.172500} clk49_152MHz |
|
10 | create_clock -period 20.344999 -waveform {0.000000 10.172500} clk49_152MHz | |
7 | create_clock -period 40.000000 -waveform {0.000000 20.000000} clk_25:Q |
|
|||
8 | create_clock -period 40.690000 -waveform {0.000000 20.345100} clk_24:Q |
|
11 | create_clock -period 40.690000 -waveform {0.000000 20.345100} clk_24:Q | |
9 | create_clock -name SPW_CLOCK -period 100.000000 -waveform {0.000000 50.000000} {spw1_din spw1_sin spw2_din spw2_sin} |
|
12 | #create_clock -name SPW_CLOCK -period 100.000000 -waveform {0.000000 50.000000} {spw1_din spw1_sin spw2_din spw2_sin} | |
10 |
|
13 | |||
11 |
|
14 | |||
12 | # False Paths Between Clocks |
|
15 | # False Paths Between Clocks | |
@@ -17,7 +20,6 create_clock -name SPW_CLOCK -period 100 | |||||
17 |
|
20 | |||
18 | # Maximum Delay Constraints |
|
21 | # Maximum Delay Constraints | |
19 |
|
22 | |||
20 |
|
||||
21 | # Multicycle Constraints |
|
23 | # Multicycle Constraints | |
22 |
|
24 | |||
23 |
|
25 | |||
@@ -28,3 +30,10 create_clock -name SPW_CLOCK -period 100 | |||||
28 | # set_wire_load_mode top |
|
30 | # set_wire_load_mode top | |
29 |
|
31 | |||
30 | # Other Constraints |
|
32 | # Other Constraints | |
|
33 | ||||
|
34 | ||||
|
35 | ## GRSPW constraints | |||
|
36 | create_clock -period 100.00 {spw_inputloop.1.spw_phy0/rxclki_RNO:Y} | |||
|
37 | create_clock -period 100.00 {spw_inputloop.0.spw_phy0/rxclki_RNO:Y} | |||
|
38 | set_max_delay 4.00 -from [all_inputs] -to [get_clocks spw_inputloop.0.spw_phy0/rxclki_RNO:Y] | |||
|
39 | set_max_delay 4.00 -from [all_inputs] -to [get_clocks spw_inputloop.1.spw_phy0/rxclki_RNO:Y] |
@@ -2,9 +2,9 PACKAGE=\"\" | |||||
2 | SPEED=Std |
|
2 | SPEED=Std | |
3 | SYNFREQ=50 |
|
3 | SYNFREQ=50 | |
4 |
|
4 | |||
5 |
TECHNOLOGY=ProASIC3 |
|
5 | TECHNOLOGY=ProASIC3L | |
6 | LIBERO_DIE=IT14X14M4 |
|
6 | LIBERO_DIE=A3PE3000L | |
7 | PART=A3PE3000 |
|
7 | PART=A3PE3000L | |
8 |
|
8 | |||
9 | DESIGNER_VOLTAGE=COM |
|
9 | DESIGNER_VOLTAGE=COM | |
10 | DESIGNER_TEMP=COM |
|
10 | DESIGNER_TEMP=COM | |
@@ -12,8 +12,9 DESIGNER_PACKAGE=FBGA | |||||
12 | DESIGNER_PINS=324 |
|
12 | DESIGNER_PINS=324 | |
13 |
|
13 | |||
14 | MANUFACTURER=Actel |
|
14 | MANUFACTURER=Actel | |
15 |
MGCTECHNOLOGY=Pro |
|
15 | MGCTECHNOLOGY=ProASIC3L | |
16 | MGCPART=$(PART) |
|
16 | MGCPART=$(PART) | |
17 | MGCPACKAGE= {$(DESIGNER_PINS) $(DESIGNER_PACKAGE)} |
|
17 | MGCPACKAGE= {$(DESIGNER_PINS) $(DESIGNER_PACKAGE)} | |
18 | LIBERO_PACKAGE=fg$(DESIGNER_PINS) |
|
18 | LIBERO_PACKAGE=fg$(DESIGNER_PINS) | |
19 |
|
19 | |||
|
20 |
@@ -45,8 +45,8 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 |
library proasic3 |
|
48 | library proasic3l; | |
49 |
use proasic3 |
|
49 | use proasic3l.all; | |
50 |
|
50 | |||
51 | ENTITY LFR_EQM IS |
|
51 | ENTITY LFR_EQM IS | |
52 |
|
52 | |||
@@ -160,6 +160,7 ARCHITECTURE beh OF LFR_EQM IS | |||||
160 | SIGNAL nSRAM_CE : STD_LOGIC_VECTOR(1 DOWNTO 0); |
|
160 | SIGNAL nSRAM_CE : STD_LOGIC_VECTOR(1 DOWNTO 0); | |
161 |
|
161 | |||
162 | SIGNAL clk50MHz_int : STD_LOGIC := '0'; |
|
162 | SIGNAL clk50MHz_int : STD_LOGIC := '0'; | |
|
163 | SIGNAL clk_25_int : STD_LOGIC := '0'; | |||
163 |
|
164 | |||
164 | component clkint port(A : in std_ulogic; Y :out std_ulogic); end component; |
|
165 | component clkint port(A : in std_ulogic; Y :out std_ulogic); end component; | |
165 |
|
166 | |||
@@ -171,14 +172,17 BEGIN -- beh | |||||
171 | rst_domain25 : rstgen PORT MAP (reset, clk_25, '1', rstn_25, OPEN); |
|
172 | rst_domain25 : rstgen PORT MAP (reset, clk_25, '1', rstn_25, OPEN); | |
172 | rst_domain24 : rstgen PORT MAP (reset, clk_24, '1', rstn_24, OPEN); |
|
173 | rst_domain24 : rstgen PORT MAP (reset, clk_24, '1', rstn_24, OPEN); | |
173 |
|
174 | |||
174 | clk_pad : clkint port map (A => clk50MHz, Y => clk50MHz_int ); |
|
175 | --clk_pad : clkint port map (A => clk50MHz, Y => clk50MHz_int ); | |
|
176 | clk50MHz_int <= clk50MHz; | |||
175 |
|
177 | |||
176 | PROCESS(clk50MHz_int) |
|
178 | PROCESS(clk50MHz_int) | |
177 | BEGIN |
|
179 | BEGIN | |
178 | IF clk50MHz_int'EVENT AND clk50MHz_int = '1' THEN |
|
180 | IF clk50MHz_int'EVENT AND clk50MHz_int = '1' THEN | |
|
181 | --clk_25_int <= NOT clk_25_int; | |||
179 | clk_25 <= NOT clk_25; |
|
182 | clk_25 <= NOT clk_25; | |
180 | END IF; |
|
183 | END IF; | |
181 | END PROCESS; |
|
184 | END PROCESS; | |
|
185 | --clk_pad_25 : clkint port map (A => clk_25_int, Y => clk_25 ); | |||
182 |
|
186 | |||
183 | PROCESS(clk49_152MHz) |
|
187 | PROCESS(clk49_152MHz) | |
184 | BEGIN |
|
188 | BEGIN | |
@@ -371,7 +375,7 BEGIN -- beh | |||||
371 |
|
375 | |||
372 | swni.tickin <= '0'; |
|
376 | swni.tickin <= '0'; | |
373 | swni.rmapen <= '1'; |
|
377 | swni.rmapen <= '1'; | |
374 |
swni.clkdiv10 <= "00000100"; -- |
|
378 | swni.clkdiv10 <= "00000100"; -- 50 MHz / (4 + 1) = 10 MHz | |
375 | swni.tickinraw <= '0'; |
|
379 | swni.tickinraw <= '0'; | |
376 | swni.timein <= (OTHERS => '0'); |
|
380 | swni.timein <= (OTHERS => '0'); | |
377 | swni.dcrstval <= (OTHERS => '0'); |
|
381 | swni.dcrstval <= (OTHERS => '0'); | |
@@ -451,7 +455,7 BEGIN -- beh | |||||
451 | ADC_smpclk <= ADC_smpclk_s; |
|
455 | ADC_smpclk <= ADC_smpclk_s; | |
452 | HK_smpclk <= ADC_smpclk_s; |
|
456 | HK_smpclk <= ADC_smpclk_s; | |
453 |
|
457 | |||
454 | TAG8 <='0'; |
|
458 | TAG8 <= nSRAM_BUSY; | |
455 |
|
459 | |||
456 | ----------------------------------------------------------------------------- |
|
460 | ----------------------------------------------------------------------------- | |
457 | -- HK |
|
461 | -- HK |
@@ -416,8 +416,8 BEGIN | |||||
416 | rmw => 1, |
|
416 | rmw => 1, | |
417 | --Aeroflex memory generics: |
|
417 | --Aeroflex memory generics: | |
418 | mprog => 1, -- program memory by default values after reset |
|
418 | mprog => 1, -- program memory by default values after reset | |
419 |
mpsrate => 1 |
|
419 | mpsrate => 15, -- default scrub rate period | |
420 | mpb2s => 4, -- default busy to scrub delay |
|
420 | mpb2s => 14, -- default busy to scrub delay | |
421 | mpapb => 1, -- instantiate apb register |
|
421 | mpapb => 1, -- instantiate apb register | |
422 | mchipcnt => 2, |
|
422 | mchipcnt => 2, | |
423 | mpenall => 1 -- when 0 program only E1 chip, else program all dies |
|
423 | mpenall => 1 -- when 0 program only E1 chip, else program all dies |
General Comments 0
You need to be logged in to leave comments.
Login now