FPGA VHDL Verilog CPLD

Jul 14, 2009 22 Replies

Witam, Czy orientuje się ktoś jak wygląda z popularnością układów programowalnych? Chciałbym się nauczyć w miarę porządnie jakiegoś języka opisu sprzętu. Na razie zacznę od CPLD Xilinxa i teraz pytanie VHDL czy Verilog? Czy w WebISE można używać obydwóch?



W przyszłości chciałbym się przesiąść na coś większego, zachęca mnie możliwość wbudowania uC do FPGA i konfigurowania peryferiów. Co polecacie? Xilinx, Altera, Lettice? Coś jeszcze popularnego? Do Altery można ARMa wsadzić, ale te NIOSy czy Pico/Micro Blazy też nie wyglądają źle. Cena płytki tu już jest większa, ale wydaje mi się, że te pod Spartana 3AN za 200$ są już w miarę wypaśne.



Czy Altera i Lattice też mają wersję z Flashem? Na stronach się nie dokopałem.



Czy możecie z doświadczenia porównać środowiska programowe xilinxa i Altery, może w sofcie tkwi kruczek do wyboru.



Co do maksymalnych możliwości to raczej w Veritexy się bawił nie będę i Spartan to na razie taki mój target do opanowania.



Jeszcze jedno pytanko mi się nasunęło, czy przesiadka z Xilinxa na Alterę lub na odwrót jest kłopotliwa? Język ten sam niby, ale jakieś różnice zapewne są.



pozdrawiam g.


Je¿eli jeste¶ zainteresowany to mam na zbyciu jakie¶ Xilinxy XC5202. Lata temu gdy popularne by³o pakiet radio zakupi³em ca³± listwê bo pojedynczych sztuk nie sz³o kupiæ. Do takich urz±dzeñ

formatting link
ale nie wykorzysta³em wszystkich uk³adów. Kilka sztuk le¿y w szufladzie z podskawkami. Jakby kogo¶ interesowa³o to mam tak¿e p³ytki tych modemów oraz dwa gotowe modemy zmontowane i uruchomione.

Marek

U¿ytkownik "glatocha" snipped-for-privacy@gmail.com napisa³ w wiadomo¶ci news: snipped-for-privacy@news.onet.pl... Witam, Czy orientuje siê kto¶ jak wygl±da z popularno¶ci± uk³adów programowalnych? Chcia³bym siê nauczyæ w miarê porz±dnie jakiego¶ jêzyka opisu sprzêtu. Na razie zacznê od CPLD Xilinxa i teraz pytanie VHDL czy Verilog? Czy w WebISE mo¿na u¿ywaæ obydwóch?

W przysz³o¶ci chcia³bym siê przesi±¶æ na co¶ wiêkszego, zachêca mnie mo¿liwo¶æ wbudowania uC do FPGA i konfigurowania peryferiów. Co polecacie? Xilinx, Altera, Lettice? Co¶ jeszcze popularnego? Do Altery mo¿na ARMa wsadziæ, ale te NIOSy czy Pico/Micro Blazy te¿ nie wygl±daj± ¼le. Cena p³ytki tu ju¿ jest wiêksza, ale wydaje mi siê, ¿e te pod Spartana 3AN za 200$ s± ju¿ w miarê wypa¶ne.

Czy Altera i Lattice te¿ maj± wersjê z Flashem? Na stronach siê nie dokopa³em.

Czy mo¿ecie z do¶wiadczenia porównaæ ¶rodowiska programowe xilinxa i Altery, mo¿e w sofcie tkwi kruczek do wyboru.

Co do maksymalnych mo¿liwo¶ci to raczej w Veritexy siê bawi³ nie bêdê i Spartan to na razie taki mój target do opanowania.

Jeszcze jedno pytanko mi siê nasunê³o, czy przesiadka z Xilinxa na Alterê lub na odwrót jest k³opotliwa? Jêzyk ten sam niby, ale jakie¶ ró¿nice zapewne s±.

pozdrawiam g.

Z tego co wiem, Verilog w Polsce jest mniej popularny, ale w praktyce wychodzi, że prostsze rzeczy łatwiej się robi w Verilogu ;)... ja bym Ci ten język szczególnie polecił ;)... Naturalnie możesz używać obu języków, możesz stosować w jednym projekcie moduły napisane w różnych językach, ale w jednym pliku tylko jeden język ;)... Tak czy siak właściwie da się dowolnie łączyć te języki (odpowiednio dzieląc moduł na mniejsze podmoduły).

No różnice są, różne są układy i tyle ;)... to jest tak, pisząc w Verilogu lub VHDLu opisujesz zachowanie się sprzętu. Czyli rejestry, bramki, połączenia itp (tzn. opisujesz na wyższym poziomie, ale to się sprowadza do takich rzeczy). Natomiast wszystkie sprawy związane z samym układem - ustalasz już poza językiem ;)... np. przypisanie pinów do wejść, wybranie standardu logiki itp konfiguracja - to wszystko dzieje się w programie... moim zdaniem - trzeba się przyzwyczaić, ale przesiadka to nic trudnego ;)... wiele osób posługuje się na zmianę Xilinxem i Alterą i nie muszą za każdym razem uczyć się wszystkiego od nowa ;)...

Pozdrawiam Konop

Krotko: Altera i VHDL.

Xilinxa sobie odpuscilem, bo z jego oprogramowaniem dostawalem niestrawnosci. Po prostu zart i strata czasu.

No do VHDLa się jakoś przekonałem natomiast co do Altery i Xilinxa, to na razie mam to CPLD Xilinxa więc z softem tak, czy tak muszę powalczyć. A do spartana, po prostu przekonuje mnie bardziej rozbudowana płytka niż do cyclonów. Oczywiście mówię o tych najtańszych za 200$.

Ale FPGA to sprawa przyszłości na razie VHDLa muszę opanować.

Dzięki za odpowiedź

Plytke kupujesz raz, a firme trudniej zmienic.

Dlatego pytałem czy ciężko zmienić firmę, z tego co ktoś wcześniej pisał to kwestia głównie opanowania softu. A jednak od jakieś płytki trzeba zacząć. Fajniejsza płytka bardziej cieszy i daje motywację do nauki.

Chodzi Ci o programowanie po w³±czeniu zasilania?

FPGA (np. Cyclone, Stratix) maj± SRAM do zapisu danych konfiguracyjnych. Wymagaj± zewnêtrznego uk³adu pamiêci (zwykle serial flash ale niektóre pracuj± te¿ z paralel CFI).

CPLD (uk³ady MAX) maj± FLASH, wiêc nie wymagaj± do pracy zewnêtrznych uk³adów - s± gotowe POWER ON.

Nios II zajmuje du¿o zasobów FPGA wiêc op³aca siê tylko w du¿ych kostkach. W ma³ych ledwie zmie¶ci siê wersja economy i poza procem niewiele zrobisz.

Ale za to mo¿esz robiæ w du¿ych FPGA cuda z ³±czeniem kilku rdzeni Nios II pracuj±cych nad zadaniem równolegle i jak wykorzystasz wewnêtrzn± pamiêæ SRAM do pracy programu to uzyskasz du¿± wydajno¶æ... Mo¿esz mieæ osobne magistrale pamiêci SRAM, Flash - bez w±skich garde³. Wygrywasz du¿o wykorzystuj±c wewnêtrzne po³±czenia w FPGA prowadz±c takie liczne magistrale w porównaniu do typowych procków które ograniczone s± z natury rzeczy samej ilo¶ci pinów które podra¿aj± koszty obudowy. Nie jest to jednak typowy procesor jaki znasz - w podstawowej wersji bardzo du¿o wydajno¶ci tracisz np. na bardzo liczne cykle przyjêcia przerwania. Warto dok³adnie przeczytaæ manual i wczytaæ siê dobrze w szczegó³y aby Ciê potem nie zaskoczy³ Ciê czas odpowiedzi na przerwanie rzêdu 485 cykli zegarowych czy powrotu z przerwania zajmuj±cy ponad 220 :-) (

formatting link
strona 8)

Właśnie Xilinx ma Spartana 3AN FPGA z Flashem, tylko chyba to się tam odbywa tak, że jest SRAM normalny z konfiguracją i po prostu ten Flash jest zabudowany w tej samej kostce.

Z tymi przerwaniami to faktycznie dłuuuugo. Ale wyobrażam sobie to tak, że mam jądro i resztę w miarę konfigurowalną w jakiejś tam przestrzeni adresowej to znaczy jak potrzebuję 20 liczników i 30 PWMow to sobie to w granicach zasobów mogę zrobić. A jak nie używam Watchdoga to go wycinam z korzeniami, a nie tylko wyłączam jak w zwykłym procku. Ale tak jak pisałem, zacznę od jakiś liczników czy rejestrów przesównych a potem będę szalał z czym innym. Widzę, że biegły jesteś w tematyce, to pozwolę sobie Ciebie zapamiętać i w razie czego kiedyś podpytać ;)

pozdrawiam g.

Niech zgadnê - taka hybryda bêdzie cholernie droga, bo FPGA robi siê innymi technologiami ni¿ flash, a wiêc bêdziesz pewnie mia³ dwa kryszta³y w jednej obudowie...

Dobrze sobie wyobra¿asz... Dodatkowo nie masz takich ograniczeñ jak jest w typowych prockach ¿e masz np. 2 uarty, SPI, 3 timery i... I kiszka. Jak potrzebujesz 4 uarty to szukasz innego proca albo rze¼bisz bitowo softwareowego uarta... W Niosie jak potrzebujesz

12 uartów pracuj±cych równolegle to sobie tak go konfigurujesz... Jak potrzebujesz 10 timerów i 4 kana³y DMA to sobie tak robisz i ju¿ masz.

Bieg³y jak bieg³y - u¿ywa³em 3 kostek FPGA Altery i 2 CPLD... to niewiele ale jakie¶ tam minimalne do¶wiadczenie ju¿ mam...

Acha, i we¼ pod uwagê ¿e Altera oferuje w software Quartusa ca³kiem niez³y edytor schematów, wiêc praktycznie w ogóle nie musisz pisaæ niczego w VHDL czy Verilogu - po prostu rysujesz sobie brameczki flip-flopy i je¶li tylko rozumiesz co siê dzieje z tymi obrazkami potem to mo¿esz jechaæ na tym do koñca nie pisz±c ani jednej linii VHDLa.

Zdecydowanie xilinx i verilog.

Poszukaj sam w internecie, co jak najpopularniejsze, do czego jest najwięcej materiałów, projektów. Choćby przykładowo na opencores.org. Wybór będzie jasny.

W profesjonalnych rozwiązaniach, np. w centralach i innym sprzęcie telekomunikacyjnym różnych firm wszędzie widuję xilinx'a, a altera to egzotyka. Sądzę, że altera zakorzeniła się mocno w świadomości wielu Polaków z powodu promowania jej na uczelniach.

Co do języka, mi wystarczyło spojrzeć na podobny kod napisany w vhdl'u i verilog'u, aby wybrać ten drugi.

pozdrawiam, voices

A to ciekawe spostrze¿enie bo na EAiE AGH w Krakowie króluje Xilinx.

Z drugiej strony EPCS4 tez do najtanszych nie nalezy.

U mnie gdzies co trzecie urzadzenie konczy z Niosem wlasnie ze wzgledu na swobode wyboru wszystkich (nieraz cudacznych i pisanych w firmie) peryferiow. Duzo prosciej.

Ekhm... to zrob se state-machine na bramkach tak, zeby to jeszcze zrozumiec. Pewnych rzeczy nie warto rysowac jako schemat.

glatocha pisze:

Lattice ma wywodzącą się jeszcze z AMD rodzinę MACH, w jej ramach masz między innymi układy Mach XO z wbudowanym flashem

Mi siê podobaj± te wiêksze Cyclony III co maj± do konfiguracji interfejs do równoleg³ego CFI flasza... Jeszcze siê nimi nie mia³em okazji bawiæ (w projekcie u¿y³em najwiêkszego który jeszcze tej opcji nie mia³) ale wtedy da³oby siê zrobiæ np. jedn± kostkê CFI która bêdzie dzia³aæ jako pamiêæ programu dla Niosa+konfig FPGA. Pamiêæ CFI jest dzi¶ du¿o, du¿o tañsza ni¿ EPCSy.

Piêkne jest w³a¶nie to, ¿e jak chcesz VHDL to piszesz modu³ w VHDL, potem inny piszesz w Verilogu, bo akurat kolega takie zna jêzyk lepiej albo masz gotowca z netu, a jeszcze inny modu³ rysujesz bramkami bo do Ciebie to lepiej przemawia, lub chcesz sensownie wydrukowaæ ilustracjê zrozumia³± dla starszego elektronika który bramki ma w jednym palcu u nogi ale z VHDLem czy Verilogiem siê nie zetkn±³. Wszystko razem do kupy siê ³±czy i modeluje jakby by³o z tej samej rodzinki - co¶ tak jak w software mo¿esz kompilowaæ C, Pascala czy jaki¶ nie wiem Fortran do obj-tów i potem ³±czyæ to wszystko linkerem. Tylko ¿e tu siê to wszystko dzieje za scen±, wbudowane jest ³adnie w system. Nie u¿ywa³em softu Xilinxa ale Quartus, te najnowsze wersje, s± fajne.

In the darkest hour on Wed, 22 Jul 2009 17:35:08 -0500, Pszemol snipped-for-privacy@PolBox.com screamed:

Ale w tym ostatnim przypadku trzeba pamiętać o tym, że jest to rozwiązanie nieprzenośne. Zmienisz producenta FPGA i rysować musisz od zera.

In the darkest hour on Fri, 17 Jul 2009 00:57:12 +0200, glatocha snipped-for-privacy@gmail.com screamed:

A ja poleciłbym Xilinxa i Verilog. Verilog w porównaniu z VHDL-em to syntactic sugar. Jest mniej nadmiarowy jeśli o składnię chodzi i bardziej przypomina C (co dla mnie jest zaletą).

Szczerze mówiąc nie wierzę, aby ten VHDL czy Verilog przenosił się w 100%...

In the darkest hour on Thu, 23 Jul 2009 02:17:07 -0500, Pszemol snipped-for-privacy@PolBox.com screamed:

Pokonfigurować nogi jednak trzeba... :> Ale to już innego praca lekka, łatwa i przyjemna. I jednorazowa.

Przecież są różnice pomiędzy scalakami dotyczące tego czy np. ff mają preset czy mają tylko reset, są różnice zachowania tych przerzutników przy globalnych resetach... Nie bardzo wierzę że każdy kod VHDL przeniesiesz na każdego fpga... w 100%.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required