RTV forum PL | NewsGroups PL

Ile LUT-ów potrzebuję dla projektów w VHDL na płytce Lattice MachXO2 Pico?

zajętość komórek LUT przez "typowy" p rogram

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Ile LUT-ów potrzebuję dla projektów w VHDL na płytce Lattice MachXO2 Pico?

Jakub Rakus
Guest

Thu Feb 20, 2014 11:24 pm   



Witajcie,

Do tej pory bawiłem się "zwykłymi" prockami i tam wiem, że jak wezmę
atmegę8 z 8kB flash to mogę na nią zapakować programik, który steruje
PWM jakimiś silnikami, odczytuje kilka czujników po 1-wire, obsługuje
klawiaturkę, lcd 2x16 z rozbudowanym menu, zamruga ledami i sprawdzi ze
dwa oddzielnie przyciski, a na koniec wyśle wszystko po uarcie. I
potrafię z góry - na podstawie doświadczenia z innych projektów - mniej
więcej określić że te 8kB mi wystarczy, ale jak będę chciał zamienić
2x16 na graficzny to już niekoniecznie i trzeba szukać większego proca.

Niedawno zacząłem zabawę z VHDLem i takie pytanie mam: Czy można jakoś
szybko oszacować czy konkretny FPGA będzie wystarczający do założonego
celu? Dokładniej: czy można oszacować ile LUTów potrzebujemy żeby
zaimplementować logikę, która wykonuje jakieś typowe zadania? Np. czy
mając FPGA, które ma na pokładzie 1200 lutów, da radę wepchnąć w niego
odczyt dwóch czujników po i2c, komunikację po uarcie, i sterowanie dwoma
silnikami dc regulatorem typu pid lub podobnym na podstawie odczytów z
tychże czujników?

Dlaczego pytam? Bo mam płytkę z lattica machxo2-pico-devkit i
zastanawiam się czy to mi wystarczy czy muszę szukać jakiegoś innego
większego zestawu? Bo ceny takich zestawów nie są zachwycające...

Jak zadaje głupie pytania to wybaczcie, ale na razie w VHDLu potrafię
hello world na 7seg.

--
Pozdrawiam
Jakub Rakus

Grzegorz Kurczyk
Guest

Fri Feb 21, 2014 12:42 am   



W dniu 20.02.2014 23:24, Jakub Rakus pisze:

Quote:
Niedawno zacząłem zabawę z VHDLem i takie pytanie mam: Czy można jakoś
szybko oszacować czy konkretny FPGA będzie wystarczający do założonego
celu? Dokładniej: czy można oszacować ile LUTów potrzebujemy żeby
zaimplementować logikę, która wykonuje jakieś typowe zadania? Np. czy
mając FPGA, które ma na pokładzie 1200 lutów, da radę wepchnąć w niego
odczyt dwóch czujników po i2c, komunikację po uarcie, i sterowanie dwoma
silnikami dc regulatorem typu pid lub podobnym na podstawie odczytów z
tychże czujników?

Dlaczego pytam? Bo mam płytkę z lattica machxo2-pico-devkit i
zastanawiam się czy to mi wystarczy czy muszę szukać jakiegoś innego
większego zestawu? Bo ceny takich zestawów nie są zachwycające...

Jak zadaje głupie pytania to wybaczcie, ale na razie w VHDLu potrafię
hello world na 7seg.


Witam
Nie znam Lattice ale dłubię w Xilinx-ie i chyba najprostszą metodą
będzie naskrobać w VHDL/Verilog opis tego co nas interesuje w
"kompilatorze" (dla Xilinxa to środowisko ISE) i spróbować skompilować
na konkretny hardware. Kompilator poda informację czy opis "zmieści" się
w podanym chipie.

Nie ma chyba konkretnej metody na "oszacowanie" bo chociażby najprostszy
multiplekser można opisać na kilka sposobów, które dadzą w wyniku inną
zajętość zasobów.

Pozdrawiam
Grzegorz

Guest

Fri Feb 21, 2014 9:48 am   



W dniu piątek, 21 lutego 2014 00:42:29 UTC+1 użytkownik Grzegorz Kurczyk napisał:
Quote:
W dniu 20.02.2014 23:24, Jakub Rakus pisze:



Niedawno zacząłem zabawę z VHDLem i takie pytanie mam: Czy można jakoś

szybko oszacować czy konkretny FPGA będzie wystarczający do założonego

celu? Dokładniej: czy można oszacować ile LUTów potrzebujemy żeby

zaimplementować logikę, która wykonuje jakieś typowe zadania? Np. czy

mając FPGA, które ma na pokładzie 1200 lutów, da radę wepchnąć w niego

odczyt dwóch czujników po i2c, komunikację po uarcie, i sterowanie dwoma

silnikami dc regulatorem typu pid lub podobnym na podstawie odczytów z

tychże czujników?



Dlaczego pytam? Bo mam płytkę z lattica machxo2-pico-devkit i

zastanawiam się czy to mi wystarczy czy muszę szukać jakiegoś innego

większego zestawu? Bo ceny takich zestawów nie są zachwycające....



Jak zadaje głupie pytania to wybaczcie, ale na razie w VHDLu potrafię

hello world na 7seg.





Witam

Nie znam Lattice ale dłubię w Xilinx-ie i chyba najprostszą metodą

będzie naskrobać w VHDL/Verilog opis tego co nas interesuje w

"kompilatorze" (dla Xilinxa to środowisko ISE) i spróbować skompilować

na konkretny hardware. Kompilator poda informację czy opis "zmieści" się

w podanym chipie.



Nie ma chyba konkretnej metody na "oszacowanie" bo chociażby najprostszy

multiplekser można opisać na kilka sposobów, które dadzą w wyniku inną

zajętość zasobów.



Potwierdzam powyższe w 100%


Artur Miller
Guest

Fri Feb 21, 2014 11:07 am   



W dniu 20/02/2014 23:24, Jakub Rakus pisze:
Quote:
Witajcie,

[...]

Dlaczego pytam? Bo mam płytkę z lattica machxo2-pico-devkit i
zastanawiam się czy to mi wystarczy czy muszę szukać jakiegoś innego
większego zestawu? Bo ceny takich zestawów nie są zachwycające...


to Lattice jeszcze żyje? Smile Cyclone II Altery na płytce z zasilaniem i
złączami to 25-30$, a to już jest niemała kostka ... do tego JTAG za 13$
i darmowe oprogramowanie (Quartus Web Edition - wbrew nazwie zupełnie
offlinowy Smile )

@

J.F
Guest

Fri Feb 21, 2014 7:03 pm   



Użytkownik "Jakub Rakus" napisał w wiadomości
Quote:
Niedawno zacząłem zabawę z VHDLem i takie pytanie mam: Czy można
jakoś szybko oszacować czy konkretny FPGA będzie wystarczający do
założonego celu?

skompilowac i zobaczyc co wyjdzie.

Quote:
Dokładniej: czy można oszacować ile LUTów potrzebujemy żeby
zaimplementować logikę, która wykonuje jakieś typowe zadania? Np. czy
mając FPGA, które ma na pokładzie 1200 lutów, da radę wepchnąć w
niego odczyt dwóch czujników po i2c, komunikację po uarcie, i
sterowanie dwoma silnikami dc regulatorem typu pid lub podobnym na
podstawie odczytów z tychże czujników?

I to jest typowe zadanie ?

To nie procesor (choc moze udawac).
8 bitow transmisji wymaga 8 przerzutnikow, do tego troche logiki
sterujacej,
pid wymaga na pewno kilku zmiennych, a wiec przerzutnikow je
pamietajacych, logika arytmetyczna jest skomplikowana ... tym niemniej
to ciagle ilosci rzedu 10-20, a masz 1200 do dyspozycji.

Tylko jaki program do tego, bo tu nie ma programu w sensie
procesorowym, tylko trzeba zlozyc automaty sterujace.

J.

Jakub Rakus
Guest

Fri Feb 21, 2014 7:17 pm   



On 21.02.2014 19:03, J.F wrote:

Quote:
skompilowac i zobaczyc co wyjdzie.

Ale właśnie obawiam się, że wyjdzie za dużo i trzeba będzie kupować
jakiś zestaw z większą matrycą.

Quote:
I to jest typowe zadanie ?

Zależy dla kogo Wink dla mnie typowe. Co w takim razie Ty byś uważał za
"typowe"?

Quote:
To nie procesor (choc moze udawac).
8 bitow transmisji wymaga 8 przerzutnikow, do tego troche logiki
sterujacej,
pid wymaga na pewno kilku zmiennych, a wiec przerzutnikow je
pamietajacych, logika arytmetyczna jest skomplikowana ... tym niemniej
to ciagle ilosci rzedu 10-20, a masz 1200 do dyspozycji.

Tylko jaki program do tego, bo tu nie ma programu w sensie procesorowym,
tylko trzeba zlozyc automaty sterujace.

Wiem, że to nie jest program w normalnym tego słowa znaczeniu. Nie wiem
niestety czy 1200 LUTów to "dużo" czy "mało"?

Wydawało mi się, że ktoś kto pracuje dużo na FPGA jest w stanie na
początku projektu określić jaki sprzęt będzie potrzebny, żeby się w
połowie nie okazało, że się nie mieści nasz wsad, trzeba wybrać inny
układ, może w innej obudowie, to płytka do zmiany itd. itp.

--
Pozdrawiam
Jakub Rakus

Grzegorz Kurczyk
Guest

Fri Feb 21, 2014 7:28 pm   



W dniu 21.02.2014 19:17, Jakub Rakus pisze:

Quote:
Wiem, że to nie jest program w normalnym tego słowa znaczeniu. Nie wiem
niestety czy 1200 LUTów to "dużo" czy "mało"?

Wydawało mi się, że ktoś kto pracuje dużo na FPGA jest w stanie na
początku projektu określić jaki sprzęt będzie potrzebny, żeby się w
połowie nie okazało, że się nie mieści nasz wsad, trzeba wybrać inny
układ, może w innej obudowie, to płytka do zmiany itd. itp.


Takie przybliżanie jest obarczone dużym błędem, bo np. w jednym z moich
projektów sama zmiana strategii syntezy układu z Minimum Runtime na
Timing Performance powoduje prawie dwukrotne zwiększenie ilości zasobów
bez zmieniania choćby jednej linijki Veriloga. W drugą stronę zmiana
jednej linijki powoduje znaczny spadek "zużytych" LUT-s pociągając za
sobą drastyczny wzrost zajętych Slice Flip Flops.


Pozdrawiam
Grzegorz

tusk, donald tusk
Guest

Fri Feb 21, 2014 7:42 pm   



kompilator to chyba komiluje projekty optymalnie, więc rozważając projekt
teoretycznie, wyobrażając sobie jak będzie zrobiony układ, można mniej
więcej zorientować się ile bramek zajmie, bo tyle zużyje zapewne
kompilator... no chyba, że to jakieś programowanie wysokopoziomowe?

Jan
Guest

Fri Feb 21, 2014 8:56 pm   



Użytkownik "tusk, donald tusk" napisał w wiadomości grup
dyskusyjnych:le86lu$k3b$1@node2.news.atman.pl...

kompilator to chyba komiluje projekty optymalnie, więc rozważając projekt
teoretycznie, wyobrażając sobie jak będzie zrobiony układ, można mniej
więcej zorientować się ile bramek zajmie, bo tyle zużyje zapewne
kompilator... no chyba, że to jakieś programowanie wysokopoziomowe?

Pac. I wpadł do PiSuaru.

tusk, donald tusk
Guest

Sat Feb 22, 2014 9:37 am   



ale bez obaw, tusk, gronkiewicz i zała zjednoczona europa go wyzwoli...

MiSter
Guest

Sat Feb 22, 2014 10:51 am   



Np. czy
Quote:
mając FPGA, które ma na pokładzie 1200 lutów, da radę wepchnąć w niego
odczyt dwóch czujników po i2c, komunikację po uarcie, i sterowanie dwoma
silnikami dc regulatorem typu pid lub podobnym na podstawie odczytów z
tychże czujników?

Dlaczego pytam? Bo mam płytkę z lattica machxo2-pico-devkit i
zastanawiam się czy to mi wystarczy czy muszę szukać jakiegoś innego
większego zestawu? Bo ceny takich zestawów nie są zachwycające...

Witam,

Nie bawiłem się wspomnianą płytą ale z moich notatek wynika dla
stosunkowo starego układu ECP2i podobnie dla ECP2M:
Komponent i2c obsługujący arbitraż : 268 LogicCells(ECP2).
Komponent Serial: 394LC(ECP2)
Komponent Timer:218LC(ECP2)
Komponent PWM8: 138LC(ECP2)
Przydałaby się jakaś logika sterująca np procesor
Komponent 8051: 2326LC(ECP2)


Więc widzisz mniej więcej jakie masz możliwości.

Pozdrawiam
MiSter

MiSter
Guest

Sat Feb 22, 2014 11:08 am   



Quote:
Nie znam Lattice ale dłubię w Xilinx-ie i chyba najprostszą metodą
będzie naskrobać w VHDL/Verilog opis tego co nas interesuje w
"kompilatorze" (dla Xilinxa to środowisko ISE) i spróbować skompilować
na konkretny hardware. Kompilator poda informację czy opis "zmieści" się
w podanym chipie.


Przy projektowaniu sprzętu mówienie o kompilacji jest pewnym nadużyciem.

Projektu narysowanego czy opisanego hdl-em się nie kompiluje tylko
syntezuje, w wyniku czego otrzymujemy netlistę, "uniwersalną" netlistę
niezależną od SPRZĘTU ani TECHNOLOGII.
Następnym etapem jest implementacja w wybranej rodzinie układów
programowalnych i technologii. Oczywiście implementacja też składa się z
kilku etapów, ale to odsyłam do literatury.

Pozdrawiam
MiSter

Grzegorz Kurczyk
Guest

Sat Feb 22, 2014 7:41 pm   



W dniu 22.02.2014 11:08, MiSter pisze:

Quote:
Przy projektowaniu sprzętu mówienie o kompilacji jest pewnym nadużyciem.

Projektu narysowanego czy opisanego hdl-em się nie kompiluje tylko
syntezuje, w wyniku czego otrzymujemy netlistę, "uniwersalną" netlistę
niezależną od SPRZĘTU ani TECHNOLOGII.

Oczywiście ma Kolega rację. W następny poście już użyłem bardziej
poprawnego określenia syntezy. Od takie programistyczne przyzwyczajenia
Wink Pamiętam jak zaczynałem przygodę z CPLD/FPGA to z początku nie
mogłem wyzbyć się myślenia sekwencyjnego i patrząc na opis w HDLu czy
Verilog-u mózg uparcie widział sekwencje rozkazów :-/ Wymagało to trochę
czasu aby w linijce opisu zacząć "widzieć" bramki, przerzutniki,
liczniki, rejestry przesuwne itp Wink
Najweselej się robi, jak się rzeźbi jakiś CPU. W tej chwili dłubię sobie
16-bitowy CPU i w jednym okienku mam opis CPU i peryferiów w Verilogu, w
drugim oknie program napisany w assemblerze procesora rzeźbionego w tym
Verilogu, a w trzecim oknie źródłówkę cross-assemblera do tego procesora
pisaną w C Smile Dodatkowo w czwartym oknie obraz z symulatora tego
wszystkiego.

P.S. Przy okazji pytanie do Kolegów mających do czynienia ze
środowiskiem Xilinx-a ISE. Czy symulator ISim może jakoś symulować
opóźnienia powstające w blokach kombinacyjnych? Bo w tej chwili podczas
symulacji zachowuje się jakby propagacja tych bloków wynosiła zero co
oczywiście nie jest prawdą.


Pozdrawiam
Grzegorz

elektroda NewsGroups Forum Index - Elektronika Polska - Ile LUT-ów potrzebuję dla projektów w VHDL na płytce Lattice MachXO2 Pico?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map