Skocz do zawartości

Czas syntezy projektów


Elvis

Pomocna odpowiedź

Celem moich testów było tylko znalezienie konfiguracji, przy której będę mógł się w miarę komfortowo uczyć układów programowalnych - jak dla mnie następnym krokiem są więc układy Intela/Altery. Ale do Xilinxa pewnie wrócę, tyle że jak już nie będę robił podstawowych błędów i kilka minut kompilacji nie będzie problemem.

Cześć Elvis,

właśnie zainstalowałem Vivado 2018.1 pod Linuksem (Linux Mint 18.1 Serena). Wszystko działa OK - łącznie z programowaniem sprawdziłem z prostym projektem dla płytki FPGA : Digilent Cmod A7-35T ). Niestety czasy syntezy są około dwukrotnie dłuższe niż dla Windows 10 (na tym samym kompie z tą samą wersją Vivado).

Powoli wymiękam, chyba też bardziej zainteresuję się zestawami FPGA Altery/Intela.

pozdrawiam

Link do komentarza
Share on other sites

To bardzo ciekawy rezultat - nie porównywałem między windows, a linuksem na tym samym komputerze - ale to mogłoby być ciekawe "ćwiczenie". Inna sprawa, że bardziej obwiniałbym wersję Javy niż samego systemu. Ja ostatnio zainstalowałem jakąś aktualizację i teraz nic nie chce działać prawidłowo 🙁 (nic znaczy Eclipse i OpenSTM32).

Jak chodzi o Alterę to mogę polecić maximatora od Kamami - za nieduże pieniądze można dostać całkie fajny zestawik: https://kamami.pl/zestawy-uruchomieniowe/561438-zestaw-maximator-maximator-expander-kamami-usb-blaster.html?search_query=maximator&results=23

Natomiast jeśli interesuje Cię płytka porównywalna z Zynq-iem to fajnie działa: https://kamami.pl/zestawy-uruchomieniowe/558403-terasic-de0-nano-soc-kit-p0286-zestaw-startowy-z-ukladem-altera-cyclone-v-soc.html?search_query=de0-nano-soc&results=4

Link do komentarza
Share on other sites

Jeszcze jedno małe uaktualnienie.

Po porównaniu czasów syntezy dla układów Xilinx-a i Altery postanowiłem nieco odświeżyć moją zabawę układami programowalnymi, tym razem dając szansę tym drugim - a dokładniej wspomnianemu Maximatorowi.

Pierwszy przykład z kursu FPGA nie wymaga zmian i kod w VHDL przetestowany na Maximatorze wygląda następująco:

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.NUMERIC_STD.ALL;

entity top is port (
Clk : in STD_LOGIC;   -- deklaracja, ze bedziemy kozystac z syg zegarowego jako wejscie
LED :  out STD_LOGIC_VECTOR(3 DOWNTO 0) -- zestaw diod led jako wyjscie !!! tutaj w ostatniej deklaracji nie ma srednika!!!
);
end top;

architecture Behavioral of top is

constant LICZNIK_LIMIT : integer := 5000000; -- deklaracja stalej z max wart licznika

signal licznik : unsigned(24 downto 0); -- definicja syg lokalnego
-- zdefiniowalismy zmienna o szerokosci 25 bitow

signal mryganie : STD_LOGIC_VECTOR(3 DOWNTO 0) := "0000"; -- zmienna lokalna o szerokosci 8 bit

begin
process(Clk) -- blok proces - szczegolowe wyjasnienia beda zawarte w dalszej czesci kurs
begin
if rising_edge(Clk) then -- "dla kazdego narastajacego zbocza zegarowego"

	if licznik = LICZNIK_LIMIT then  -- gdy wartosc licznika osiagnela wart max
		licznik <= b"0000000000000000000000000";  -- wyzeruj licznik
		mryganie <= not mryganie;  -- zmien stan wszystkich bitow sygnalu mryganie na przeciwny 
	else  -- ponizszy kod wykona sie gdy wart licznika nie osiagnela wart max
		licznik <= licznik + 1; -- zwieksz wart licznika o jeden (inkrementacja)
	end if; 
end if; 
end process;

LED <= mryganie; -- przypisujemy wartosc sygnalu mryganie do wyjscia led (zadeklarowanego w bloku Port naszego entity);

end Behavioral; -- zakonczenie opisu naszej architecture

Niestety po przerwie w nauce układów programowalnych musiałem sobie sporo przypominać - więc uznałem, że może warto zmienić nie tylko układ, ale i język.

Ten sam program w Verilog-u wygląda mniej więcej tak:

module top(
input clk, 
output reg [0:0] led
);

reg [24:0] licznik;

always @(posedge clk)
begin
if (licznik < 1000000) 
	licznik <= licznik + 1;
else begin
	licznik <= 0;
	led <= ~led;	
end
end

endmodule

Muszę przyznać, że zwięzłość Veriloga robi duże wrażenie w porównaniu z wręcz barokowym rozmachem VHDL-a. Jak dla mnie to chyba czas na bliższe poznanie Verilog-a.

Link do komentarza
Share on other sites

Muszę przyznać, że zwięzłość Veriloga robi duże wrażenie w porównaniu z wręcz barokowym rozmachem VHDL-a. Jak dla mnie to chyba czas na bliższe poznanie Verilog-a.

Cześć Elvis,

zgadza się VHDL jest trochę "barokowy" 😃

Warto znać oba języki, bo dostępne w sieci projekty są pisane w obu. Zgodzę się, że kod w Verilogu jest bardziej zwięzły niż w VHDL'u. No i składania zbliżona do "C" (a nie Pascala czy Ady).

Pozdrawiam

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.