Skocz do zawartości

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


Pomocna odpowiedź

Napisano
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.

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

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

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,

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ć.

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 😉

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

  • 1 rok później...

Wdarł się pewien błąd do proponowanego kodu pliku UCF. W pierwszej linijce są nadmiarowe znaki białe, nie działał mi przez nie program. Poza tym wszystko w porządku 👍

  • Lubię! 1
  • 2 lat(a) później...

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ł 🙂

(edytowany)
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

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...