Skocz do zawartości

Kurs FPGA - #9 - drgania styków, automaty cd.


Komentator

Pomocna odpowiedź

html_mig_img
Kolejnym projektem realizowanym podczas kursu podstaw FPGA będzie jeszcze większy automat skończony. Tym razem wykorzystamy przyciski, więc konieczne będzie również eliminowanie zjawiska drgań styków.Oprócz tego zajmiemy się podziałem projektu na moduły. Dzięki czemu kod będzie czytelniejszy.

UWAGA, to tylko wstęp! Dalsza część artykułu dostępna jest na blogu.

Przeczytaj całość »

Poniżej znajdują się komentarze powiązane z tym wpisem.

Link do komentarza
Share on other sites

Może i nie jestem specjalistą od HDL, ale kopiuj-wklej to paskudny nawyk podczas pisania programów. Proponuję więc mały konkurs:

Kto wymyśli jak elegancko pozbyć się koszmarnego powtarzania fragmentu:

            if flaga_nacisniecia_SW1 = 1 and przycisniecie_SW1='0' then 
              Stan <= S2;
              flaga_nacisniecia_SW1 := 0;
           elsif flaga_nacisniecia_SW2 = 1 and przycisniecie_SW2='0' then
              Stan <= S0;
              flaga_nacisniecia_SW2 := 0;  
           else
              Stan <= S1;
           end if; 
  • Lubię! 1
Link do komentarza
Share on other sites

To samo(??) na arduino, fajna sprawa, realizuje dopiero po puszczeniu przycisku:

#define PinP 10
#define led 13
boolean wcisnieto=false;
boolean przycisk=false;
boolean stanled=false;

void setup() {
 pinMode(led, OUTPUT);
 pinMode(PinP, INPUT_PULLUP);

}

void loop() {
 // put your main code here, to run repeatedly:
deb();
}

void deb(){

 if(digitalRead(PinP) == LOW){
 wcisnieto=true;
}
if((wcisnieto==true) && (digitalRead(PinP)== HIGH)){
 wcisnieto=false;
 przycisk=true;
}
if(przycisk==true){
 digitalWrite(led, stanled);
 stanled = !stanled;
 przycisk=false;
}
}
  • Lubię! 1
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Moim zdaniem propozycja Soyera w żaden sposób nie eliminuje problemu drgania styków, z którym możemy się spotkać gdy przycisk puścimy. Po puszczeniu przycisku może być on właśnie w niestabilnym położeniu. Należy odczekać "określony czas" i dokonać ponownego sprawdzenia. Myślę, że to o to chodzi w temacie "eliminacja drgania styków".

Pozdrawiam,

Link do komentarza
Share on other sites

Belferek, niestety masz w pełni rację - ale eliminacja drgań styków to ogólnie dość trudny, a do tego często nie rozumiany temat (nawet przez osoby prowadzące konkurencyjne blogi/fora).

Tutaj chyba powinniśmy pisać o FPGA, chociaż może to i ciekawy temat żeby opisać na czym ten problem polega i jak sobie z nim radzić.

Link do komentarza
Share on other sites

Namieszałem moją odpowiedzą. "Przytaknąłem", że stan zmienia się w momencie puszczenia przycisku (bo tak działa program z kursu), a nie zerknąłem w kod umieszczony w poście. Oczywiście w tym wklejonym fragmencie drgania styków nie są eliminowane 😉

Link do komentarza
Share on other sites

Przedtem zdawałem sobie sprawę, że nie ma opóźnienia dla odczytu i drgania nie są "filtrowane". Cieszyła mnie realizacja po puszczeniu przycisku 😃

Teraz:

#define PinP 10
#define led 13
boolean wcisnieto=false;
boolean przycisk=false;
boolean stanled=false;
int i;

void setup() {
 pinMode(led, OUTPUT);
 pinMode(PinP, INPUT_PULLUP);

}

void loop() {
 // put your main code here, to run repeatedly:
deb();
}

void deb(){

 if(digitalRead(PinP) == LOW){
while(i>0){
 for(i=2000; i=0; i--){}
}
 }
  if(digitalRead(PinP) == LOW){
 wcisnieto=true;
}
if((wcisnieto==true) && (digitalRead(PinP)== HIGH)){
while(i>0){
 for(i=2000; i=0; i--){}
}
}
if((wcisnieto==true) && (digitalRead(PinP)== HIGH)){
 wcisnieto=false;
 przycisk=true;
}
if(przycisk==true){
 digitalWrite(led, stanled);
 stanled = !stanled;
 przycisk=false;
}
}

Wiem, że to kurs FPGA, przepraszam za wtrącenie, jeśli moderator uzna za stosowne mnie upomnieć, to proszę o info i zrobię nowy temat.

Czy teraz drgania są eliminowane?

Niestety nie wiem ile powinno wynosić "i" w pętli for dla powiedzmy 80ms. 2000 wpisałem tak sobie, żeby coś było. Jak to policzyć?

Pozdrawiam

Link do komentarza
Share on other sites

Witam napotkałem problem w tej części kursu i nie mam pojęcia co z tym zrobić, mój kod wygląda tak: 

top_module:

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity top_module is
port( Clk : in STD_LOGIC;
		Switch : in STD_LOGIC_VECTOR(2 downto 0);
		LED : out STD_LOGIC_VECTOR(3 downto 0));

end top_module;

architecture Behavioral of top_module is

type typ_stanu is (S0,S1,S2,S3);

signal Stan : typ_stanu := S0;

signal reset : STD_LOGIC;

signal przycisniecie_SW1 : STD_LOGIC;
signal przycisniecie_SW2 : STD_LOGIC;

component debouncer is
port( Clk : in STD_LOGIC;
		Switch : in STD_LOGIC;
		odfiltrowany_przycisk : out STD_LOGIC);

end component;

begin
debouncer_SW1 : debouncer
port map(Clk => Clk,
			Switch => Switch(0),
			odfiltrowany_przycisk => przycisniecie_SW1);
			
			
debouncer_SW2 : debouncer
port map(Clk => Clk,
			Switch => Switch(1),
			odfiltrowany_przycisk => przycisniecie_SW2);

reset <= not Switch(2);


nasza_maszyna_stanow : process(Clk,reset)

variable flaga_nacisniecia_SW1 : integer := 0;
variable flaga_nacisniecia_SW2 : integer := 0;

	begin
		if(reset = '1') then
			flaga_nacisniecia_SW1 := 0;
			flaga_nacisniecia_SW2 := 0;
			Stan <= S0;
			
		elsif rising_edge(Clk) then
			
				if flaga_nacisniecia_SW1 = 0 and przycisniecie_SW1 = '1' then
					flaga_nacisniecia_SW1 := 1;
				end if;
			
				if flaga_nacisniecia_SW2 = 0 and przycisniecie_SW2 = '1' then
					flaga_nacisniecia_SW2 := 1;
				end if;
			
			
			case Stan is
			
			when S0 =>
				if flaga_nacisniecia_SW1 = 1 and przycisniecie_SW1 = '0' then
					Stan <= S1;
					flaga_nacisniecia_SW1 := 0;
				elsif flaga_nacisniecia_SW2 = 1 and przycisniecie_SW2 = '0' then
						Stan <= S3;
						flaga_nacisniecia_SW2 := 0;
				else
					Stan <= S0;
				end if;
				
				
				when S1 =>
				if flaga_nacisniecia_SW1 = 1 and przycisniecie_SW1 = '0' then
					Stan <= S2;
					flaga_nacisniecia_SW1 := 0;
				elsif flaga_nacisniecia_SW2 = 1 and przycisniecie_SW2 = '0' then
						Stan <= S0;
						flaga_nacisniecia_SW2 := 0;
				else
					Stan <= S1;
				end if;
				
				
				when S2 =>
				if flaga_nacisniecia_SW1 = 1 and przycisniecie_SW1 = '0' then
					Stan <= S3;
					flaga_nacisniecia_SW1 := 0;
				elsif flaga_nacisniecia_SW2 = 1 and przycisniecie_SW2 = '0' then
						Stan <= S1;
						flaga_nacisniecia_SW2 := 0;
				else
					Stan <= S2;
				end if;
				
				
				when S3 =>
				if flaga_nacisniecia_SW1 = 1 and przycisniecie_SW1 = '0' then
					Stan <= S0;
					flaga_nacisniecia_SW1 := 0;
				elsif flaga_nacisniecia_SW2 = 1 and przycisniecie_SW2 = '0' then
						Stan <= S2;
						flaga_nacisniecia_SW2 := 0;
				else
					Stan <= S3;
				end if;
				
				
				when others =>
					Stan <= S0;
			end case;
		end if;
end process nasza_maszyna_stanow;

LED(0) <= '1' when Stan = S0 else '0';
LED(1) <= '1' when Stan = S1 else '0';
LED(2) <= '1' when Stan = S2 else '0';
LED(3) <= '1' when Stan = S3 else '0';

end Behavioral;

debouncer:

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity debouncer is
port( Clk : in STD_LOGIC;
		Switch : in STD_LOGIC;
		odfiltrowany_przycisk : out STD_LOGIC);

end debouncer;

architecture Behavioral of debouncer is

signal licznik : STD_LOGIC_VECTOR(19 downto 0);

begin
Debouncer_przycisku : process(Clk)
	begin
		if rising_edge(Clk) then
			if(not Switch) = '0' then
				licznik <= (others => '1');
			else
				if licznik /= 0 then
					licznik <= licznik - 1;
				end if;
			end if;
		end if;
end process Debouncer_przycisku;

odfiltrowany_przycisk <= '1' when licznik = 0 else '0';

end Behavioral;

piny_automatu:

NET "Clk"                LOC = P129  | IOSTANDARD = LVCMOS33 | PERIOD = 12MHz;
 
NET "LED[0]"             LOC = P46   | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 12;
NET "LED[1]"             LOC = P47   | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 12;
NET "LED[2]"             LOC = P48   | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 12;
NET "LED[3]"             LOC = P49   | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 12;
 
NET "Switch[0]"          LOC = P80   | PULLUP  | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 12;
NET "Switch[1]"          LOC = P79   | PULLUP  | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 12;
NET "Switch[2]"          LOC = P78   | PULLUP  | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 12;

 

Wydaje mi się że jest wszystko dobrze ale wyskakują mi takie błędy i ostrzeżenia:

ostrzeżenia:

WARNING:Xst - The specified part-type was not generated at build time. XST is loading the full part-type and will therefore consume more CPU and memory.
WARNING:Xst:1293 - FF/Latch <fsmfake0_1> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_2> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_3> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_4> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_5> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_6> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_7> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_8> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_9> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_10> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_11> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_12> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_13> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_14> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_15> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_16> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_17> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_18> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_19> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_20> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_21> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_22> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_23> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_24> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_25> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_26> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_27> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_28> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_29> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_30> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_31> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_1> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_2> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_3> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_4> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_5> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_6> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_7> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_8> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_9> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_10> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_11> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_12> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_13> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_14> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_15> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_16> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_17> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_18> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_19> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_20> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_21> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_22> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_23> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_24> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_25> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_26> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_27> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_28> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_29> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_30> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_31> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1293 - FF/Latch <fsmfake0_1> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_2> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_3> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_4> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_5> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_6> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_7> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_8> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_9> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_10> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_11> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_12> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_13> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_14> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_15> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_16> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_17> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_18> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_19> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_20> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_21> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_22> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_23> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_24> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_25> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_26> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_27> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_28> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_29> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_30> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_31> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_1> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_2> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_3> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_4> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_5> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_6> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_7> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_8> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_9> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_10> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_11> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_12> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_13> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_14> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_15> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_16> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_17> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_18> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_19> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_20> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_21> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_22> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_23> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_24> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_25> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_26> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_27> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_28> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_29> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_30> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_31> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.

błędy:

ERROR:MapLib:30 - LOC constraint P129 on Clk is invalid: No such site on the
   device. To bypass this error set the environment variable 'XIL_MAP_LOCWARN'.
ERROR:MapLib:30 - LOC constraint P78 on Switch<2> is invalid: No such site on
   the device. To bypass this error set the environment variable
   'XIL_MAP_LOCWARN'.
ERROR:MapLib:30 - LOC constraint P79 on Switch<1> is invalid: No such site on
   the device. To bypass this error set the environment variable
   'XIL_MAP_LOCWARN'.
ERROR:MapLib:30 - LOC constraint P80 on Switch<0> is invalid: No such site on
   the device. To bypass this error set the environment variable
   'XIL_MAP_LOCWARN'.
ERROR:MapLib:30 - LOC constraint P49 on LED<3> is invalid: No such site on the
   device. To bypass this error set the environment variable 'XIL_MAP_LOCWARN'.
ERROR:MapLib:30 - LOC constraint P48 on LED<2> is invalid: No such site on the
   device. To bypass this error set the environment variable 'XIL_MAP_LOCWARN'.
ERROR:MapLib:30 - LOC constraint P47 on LED<1> is invalid: No such site on the
   device. To bypass this error set the environment variable 'XIL_MAP_LOCWARN'.
ERROR:MapLib:30 - LOC constraint P46 on LED<0> is invalid: No such site on the
   device. To bypass this error set the environment variable 'XIL_MAP_LOCWARN'.

Wygląda mi to na problem z pinami ale nie wiem co może być nie tak proszę o pomoc. Było by miło jakby ktoś mi pomógł 🙂

Link do komentarza
Share on other sites

13 minut temu, PanDer napisał:

Witam napotkałem problem w tej części kursu i nie mam pojęcia co z tym zrobić, mój kod wygląda tak: 

top_module:



library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity top_module is
port( Clk : in STD_LOGIC;
		Switch : in STD_LOGIC_VECTOR(2 downto 0);
		LED : out STD_LOGIC_VECTOR(3 downto 0));

end top_module;

architecture Behavioral of top_module is

type typ_stanu is (S0,S1,S2,S3);

signal Stan : typ_stanu := S0;

signal reset : STD_LOGIC;

signal przycisniecie_SW1 : STD_LOGIC;
signal przycisniecie_SW2 : STD_LOGIC;

component debouncer is
port( Clk : in STD_LOGIC;
		Switch : in STD_LOGIC;
		odfiltrowany_przycisk : out STD_LOGIC);

end component;

begin
debouncer_SW1 : debouncer
port map(Clk => Clk,
			Switch => Switch(0),
			odfiltrowany_przycisk => przycisniecie_SW1);
			
			
debouncer_SW2 : debouncer
port map(Clk => Clk,
			Switch => Switch(1),
			odfiltrowany_przycisk => przycisniecie_SW2);

reset <= not Switch(2);


nasza_maszyna_stanow : process(Clk,reset)

variable flaga_nacisniecia_SW1 : integer := 0;
variable flaga_nacisniecia_SW2 : integer := 0;

	begin
		if(reset = '1') then
			flaga_nacisniecia_SW1 := 0;
			flaga_nacisniecia_SW2 := 0;
			Stan <= S0;
			
		elsif rising_edge(Clk) then
			
				if flaga_nacisniecia_SW1 = 0 and przycisniecie_SW1 = '1' then
					flaga_nacisniecia_SW1 := 1;
				end if;
			
				if flaga_nacisniecia_SW2 = 0 and przycisniecie_SW2 = '1' then
					flaga_nacisniecia_SW2 := 1;
				end if;
			
			
			case Stan is
			
			when S0 =>
				if flaga_nacisniecia_SW1 = 1 and przycisniecie_SW1 = '0' then
					Stan <= S1;
					flaga_nacisniecia_SW1 := 0;
				elsif flaga_nacisniecia_SW2 = 1 and przycisniecie_SW2 = '0' then
						Stan <= S3;
						flaga_nacisniecia_SW2 := 0;
				else
					Stan <= S0;
				end if;
				
				
				when S1 =>
				if flaga_nacisniecia_SW1 = 1 and przycisniecie_SW1 = '0' then
					Stan <= S2;
					flaga_nacisniecia_SW1 := 0;
				elsif flaga_nacisniecia_SW2 = 1 and przycisniecie_SW2 = '0' then
						Stan <= S0;
						flaga_nacisniecia_SW2 := 0;
				else
					Stan <= S1;
				end if;
				
				
				when S2 =>
				if flaga_nacisniecia_SW1 = 1 and przycisniecie_SW1 = '0' then
					Stan <= S3;
					flaga_nacisniecia_SW1 := 0;
				elsif flaga_nacisniecia_SW2 = 1 and przycisniecie_SW2 = '0' then
						Stan <= S1;
						flaga_nacisniecia_SW2 := 0;
				else
					Stan <= S2;
				end if;
				
				
				when S3 =>
				if flaga_nacisniecia_SW1 = 1 and przycisniecie_SW1 = '0' then
					Stan <= S0;
					flaga_nacisniecia_SW1 := 0;
				elsif flaga_nacisniecia_SW2 = 1 and przycisniecie_SW2 = '0' then
						Stan <= S2;
						flaga_nacisniecia_SW2 := 0;
				else
					Stan <= S3;
				end if;
				
				
				when others =>
					Stan <= S0;
			end case;
		end if;
end process nasza_maszyna_stanow;

LED(0) <= '1' when Stan = S0 else '0';
LED(1) <= '1' when Stan = S1 else '0';
LED(2) <= '1' when Stan = S2 else '0';
LED(3) <= '1' when Stan = S3 else '0';

end Behavioral;

debouncer:



library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity debouncer is
port( Clk : in STD_LOGIC;
		Switch : in STD_LOGIC;
		odfiltrowany_przycisk : out STD_LOGIC);

end debouncer;

architecture Behavioral of debouncer is

signal licznik : STD_LOGIC_VECTOR(19 downto 0);

begin
Debouncer_przycisku : process(Clk)
	begin
		if rising_edge(Clk) then
			if(not Switch) = '0' then
				licznik <= (others => '1');
			else
				if licznik /= 0 then
					licznik <= licznik - 1;
				end if;
			end if;
		end if;
end process Debouncer_przycisku;

odfiltrowany_przycisk <= '1' when licznik = 0 else '0';

end Behavioral;

piny_automatu:



NET "Clk"                LOC = P129  | IOSTANDARD = LVCMOS33 | PERIOD = 12MHz;
 
NET "LED[0]"             LOC = P46   | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 12;
NET "LED[1]"             LOC = P47   | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 12;
NET "LED[2]"             LOC = P48   | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 12;
NET "LED[3]"             LOC = P49   | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 12;
 
NET "Switch[0]"          LOC = P80   | PULLUP  | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 12;
NET "Switch[1]"          LOC = P79   | PULLUP  | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 12;
NET "Switch[2]"          LOC = P78   | PULLUP  | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 12;

 

Wydaje mi się że jest wszystko dobrze ale wyskakują mi takie błędy i ostrzeżenia:

ostrzeżenia:



WARNING:Xst - The specified part-type was not generated at build time. XST is loading the full part-type and will therefore consume more CPU and memory.
WARNING:Xst:1293 - FF/Latch <fsmfake0_1> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_2> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_3> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_4> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_5> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_6> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_7> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_8> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_9> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_10> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_11> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_12> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_13> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_14> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_15> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_16> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_17> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_18> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_19> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_20> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_21> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_22> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_23> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_24> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_25> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_26> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_27> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_28> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_29> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_30> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_31> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_1> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_2> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_3> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_4> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_5> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_6> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_7> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_8> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_9> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_10> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_11> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_12> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_13> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_14> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_15> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_16> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_17> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_18> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_19> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_20> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_21> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_22> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_23> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_24> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_25> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_26> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_27> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_28> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_29> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_30> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_31> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1293 - FF/Latch <fsmfake0_1> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_2> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_3> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_4> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_5> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_6> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_7> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_8> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_9> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_10> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_11> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_12> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_13> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_14> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_15> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_16> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_17> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_18> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_19> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_20> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_21> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_22> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_23> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_24> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_25> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_26> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_27> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_28> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_29> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_30> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake0_31> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_1> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_2> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_3> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_4> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_5> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_6> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_7> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_8> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_9> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_10> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_11> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_12> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_13> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_14> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_15> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_16> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_17> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_18> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_19> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_20> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_21> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_22> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_23> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_24> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_25> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_26> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_27> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_28> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_29> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_30> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1896 - Due to other FF/Latch trimming, FF/Latch <fsmfake1_31> has a constant value of 0 in block <top_module>. This FF/Latch will be trimmed during the optimization process.

błędy:



ERROR:MapLib:30 - LOC constraint P129 on Clk is invalid: No such site on the
   device. To bypass this error set the environment variable 'XIL_MAP_LOCWARN'.
ERROR:MapLib:30 - LOC constraint P78 on Switch<2> is invalid: No such site on
   the device. To bypass this error set the environment variable
   'XIL_MAP_LOCWARN'.
ERROR:MapLib:30 - LOC constraint P79 on Switch<1> is invalid: No such site on
   the device. To bypass this error set the environment variable
   'XIL_MAP_LOCWARN'.
ERROR:MapLib:30 - LOC constraint P80 on Switch<0> is invalid: No such site on
   the device. To bypass this error set the environment variable
   'XIL_MAP_LOCWARN'.
ERROR:MapLib:30 - LOC constraint P49 on LED<3> is invalid: No such site on the
   device. To bypass this error set the environment variable 'XIL_MAP_LOCWARN'.
ERROR:MapLib:30 - LOC constraint P48 on LED<2> is invalid: No such site on the
   device. To bypass this error set the environment variable 'XIL_MAP_LOCWARN'.
ERROR:MapLib:30 - LOC constraint P47 on LED<1> is invalid: No such site on the
   device. To bypass this error set the environment variable 'XIL_MAP_LOCWARN'.
ERROR:MapLib:30 - LOC constraint P46 on LED<0> is invalid: No such site on the
   device. To bypass this error set the environment variable 'XIL_MAP_LOCWARN'.

Wygląda mi to na problem z pinami ale nie wiem co może być nie tak proszę o pomoc. Było by miło jakby ktoś mi pomógł 🙂

Dobra, sprawa naprawiła się że tak to ujmę sama bo przygotowując nowy projekt do następnej części kursu zauważyłem że mam inne ustawienia projektu i chcąc podejrzeć z projektu automatów skończonych były także złe ustawienia więc je poprawiłem i teraz wszystko działa. 😄

Edytowano przez PanDer
  • Lubię! 1
Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.