Skocz do zawartości

Kurs FPGA – #7 – symulacja działania układu


radek04

Pomocna odpowiedź

Cześć.

Po dodaniu Test Bench do swojego projektu tworzy mi się plik test_bramek.vhd, który nieco różni się od tego w kursie. Najgorsze jest to, że od razu są w nim błędy uniemożliwiające uruchomienie symulacji. 

Tak wygląda kod:

LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
 
-- Uncomment the following library declaration if using
-- arithmetic functions with Signed or Unsigned values
--USE ieee.numeric_std.ALL;
 
ENTITY test_bramek IS
END test_bramek;
 
ARCHITECTURE behavior OF test_bramek IS 
 
    -- Component Declaration for the Unit Under Test (UUT)
 
    COMPONENT bramki_VHDL
    PORT(
         Switch : IN  std_logic_vector(1 downto 0);
         LED : OUT  std_logic_vector(0 downto 0)
        );
    END COMPONENT;
    

   --Inputs
   signal Switch : std_logic_vector(1 downto 0) := (others => '0');

 	--Outputs
   signal LED : std_logic_vector(0 downto 0);
   -- No clocks detected in port list. Replace <clock> below with 
   -- appropriate port name 
 
   constant <clock>_period : time := 10 ns;
 
BEGIN
 
	-- Instantiate the Unit Under Test (UUT)
   uut: bramki_VHDL PORT MAP (
          Switch => Switch,
          LED => LED
        );

   -- Clock process definitions
   <clock>_process :process
   begin
		<clock> <= '0';
		wait for <clock>_period/2;
		<clock> <= '1';
		wait for <clock>_period/2;
   end process;
 

   -- Stimulus process
   stim_proc: process
   begin		
      -- hold reset state for 100 ns.
      wait for 100 ns;	

      wait for <clock>_period*10;

      -- insert stimulus here 

      wait;
   end process;

END;

Generuje on błędy takie jak: Syntax error near "<". dotyczący linii constant <clock>_period : time := 10 ns;

Pozostałe błędy też dotyczą wyrażeń <clock>.

Moja wersja ISE to P.20131013.

Dlaczego mój test_bramek.vhd różni się od tego zawartego w kursie, a przede wszystkim dlaczego są błędy?

Edit:
Po zmianie pliku na ten z kursu symulacja ruszyła, ale na samym wyjściu mam cały czas 'U' zamiast '1' i '0'.

Link do komentarza
Share on other sites

@radek04 przepraszam, za długi czas oczekiwania na odpowiedź, ale akurat jest dość ciężki termin przez aktualizację forum 😉 Zakładam, że od środy coś na pewno się zmieniło. Daj znać na czym teraz stoisz - zobaczymy co da się zrobić.

Link do komentarza
Share on other sites

Symulację udało się zrobić, ale dopiero po usunięciu tych wszystkich linii zawierających wyrażenie "<clock>", czyli po doprowadzeniu  pliku test_bramek.vhd do postaci prezentowanej w kursie. 

Wciąż nieznana jest mi przyczyna błędu i samego generowania początkowego pliku symulacji z tymi nieszczęsnymi clock'ami.

Edit:

Teraz widzę, że w kodzie jest instrukcja, by zamienić ten <clock> odpowiednim numerem portu. Ale dlaczego tak jest?

W UCF trzeba dodać zegar?

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

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

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