Skocz do zawartości

Czas syntezy projektów


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

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

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.

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

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