Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

FPGA Xilinx Spartan 3 zestaw uruchomieniowy

02 May 2012 12:01 9615 29
Renex
  • #1
    Anonymous
    Level 1  
  • Renex
  • Helpful post
    #2
    tymon_x
    Level 30  
    Spartan-3 to staroć, który niedługo osiągnie status Mature Device i nie będzie już dalej produkowany. Za tą cenę lepiej zainwestuj w Cyclone IV: Terasic DE0-Nano (P0082)---EDU
    Płytka dużo lepsza, też ma JTAG na płytce, w dodatku przetworniki ADC i akcelometr. I sam FPGA jest dużo większy i bardziej wypasiony o fajne ficzery.

    Wracając natomiast do Basys2-250, ma wbudowany JTAG od Digilent (wymaga Adept) na układzie Cypress. Ten kabel to tak naprawdę to samo co na płytce siedzi. Ale zawsze warto mieć jakiś JTAG jak ten: JTAG HS1 jeśli nadejdzie Ciebie ochota na mały developing układów Xilinx;)
  • Helpful post
    #3
    mickpr
    Level 39  
    Z tego co widzę na płytce jest mikrokontroler AT90USB2, który
    "Atmel AT90USB2 Full-speed USB2 port providing board power
    and programming/data transfer interface". Więc interfejs do programowania masz na płycie.
    Z tego co widzę, nie masz (jako złącze) wyprowadzonego JTAG - więc programator do tej płyty raczej ci się nie przyda.
  • #4
    Anonymous
    Level 1  
  • Helpful post
    #5
    tymon_x
    Level 30  
    danzel wrote:
    dzięki za szybką odpowiedź :)
    Możliwe, że za tą cenę lepiej od altery coś wziąć, niestety, albo stety my na uczelni pracujemy na xilinxie i musimy zrealizować projekt na nim :)

    Powiem tak, jeśli opis HDL spełnia Swoją funkcjonalność to nie ma różnicy czy będzie to Lattice, Altera czy Xilinx. Wniosek jest taki, bierz Alterę. Led i suwaki zawsze możesz Sobie za pomocą taniej stykówki podłączyć i kabelkami, tak samo złącze PS/2. Do VGA wystarczy kilka rezystorów, możesz podpatrzyć w schemat Basys2, żeby dobrać wartości.

    BTW. Warto wyrzucać kasę tylko pod projekt na uczelnię ?

    mickpr wrote:
    Z tego co widzę na płytce jest mikrokontroler AT90USB2...

    Faktycznie, teraz dopiero w schemat spojrzałem, to na Nexys są układy Cypress, ale to i tak jest to samo ;)
  • Renex
  • #6
    Anonymous
    Level 1  
  • Helpful post
    #7
    mickpr
    Level 39  
    Polecam środowisko Altium Designer - oczywiście Altium umożliwia projektowanie FPGA dopiero po zainstalowaniu określonego środowiska typu Xilinx ISE, Actel Libero czy Altera Quartus.
    Próbowałem zgłębić Xilinx ISE, ale gorzej "skomplikowane" chyba już być nie może. Wygląda, jakby do środowiska z prehistorycznych czasów ciągle dobudowywano pewne "dostawki". Wygląda to ochydnie - i choć działa - to po przesiadce na Altium-a - wszystko stało się 100razy prostsze. W dodatku mogę swój projekt (nie korzystający z specyficznych cech konkretnych układów) zbudować dla Altery, Xilinx czy Actela - praktycznie zmieniając tylko plik constraint. Można korzystać z syntezera zewnętrznego, lub Altium Designer. W dodatku połączenie tego ze schematem i PCB - jest takie, jak właśnie powinno być. Miałem zagłębić się w Quartusa - ale mi przeszło.
    Być może znajdą się fascynaci - zakochani w tych środowiskach, udowadniający, że wydajność układów zbudowanych w ISE czy Quartusie jest lepsza - ale tak naprawdę - to tylko niewiele lepsza (pare procent) od tych zbudowanych z użyciem Altium Designer.
    Nie jestem naganiaczem Altiuma - ale szczerze polecam. Mimo praru wad - to dalej najlepsze środowisko.
  • Helpful post
    #8
    tymon_x
    Level 30  
    danzel wrote:
    Może jak się zmienią czasy w europie i będzie to opłacalny interes to wejdę głębiej w układy PLD, jak na razie chcę tylko je poznać.

    Jest to bardzo opłacalny interes już od kilku dobrych lat, od telekomunikacji po telewizje cyfrową. To że nie widać tego w małych firmach, to nie oznacza że FPGA nie są stosowane w Europie czy w Polsce na globalną skalę, nawet na samym przymorzu jest dużo firm stosujących te układy w Swoich produktach. To nie jest jakiś tam niszowy rynek jakby to można odebrać na przykład po tym forum, gdzie większości tematów jest założonych przez studentów :P

    Teraz o Altium Designer, jest płatny, w dodatku TO jest TYLKO INNA nakładka graficzna do narzędzi Xilinx, Altera czy Lattice. Nie ma nawet własnego syntezera, wszystko to co robisz w AD, można tak samo zrobić w ISE, Quartus II czy Diamond. Jeszcze żeby tego było mało, parser w AD jest mało funkcjonalny. Ja tam nie wiem co w nich tak trudnego jest, każdy z nich ofiaruje przyjemny tutorial krok po kroku.

    mickpr wrote:
    W dodatku mogę swój projekt (nie korzystający z specyficznych cech konkretnych układów) zbudować dla Altery, Xilinx czy Actela - praktycznie zmieniając tylko plik constraint.

    To samo możesz zrobić w każdym z dowolnych narzędzi, żaden argument :P
  • #9
    Anonymous
    Level 1  
  • Helpful post
    #10
    mickpr
    Level 39  
    tymon_x wrote:
    Teraz o Altium Designer, jest płatny, w dodatku TO jest TYLKO INNA nakładka graficzna do narzędzi Xilinx, Altera czy Lattice.

    Przecież korzystając z ISE czy Quartusa mój projekt na FPGA jest zwykłym scalakiem z niczym nie związanym. To (bez obrazy) dobre dla wytwórców scalaków.
    Dla kompleksowego projektu lepiej - jak mamy jasno połączone schemat funkcjonalny FPGA, z pozostałymi elementami projektu, oraz możemy przestawiać sobie piny
    (zamiast odpalać w tym celu kolejne środowisko i dorabiać/poprawiać brakujące elementy).
    Jestem przypadkiem na etapie zastępowania części urządzenia przez Actel'owski układ Proasic (A3P125) i choć paru rzeczy mi brakuje nadal zostanę przy swoim zdaniu, które potwierdza się w mojej (krótkiej) praktyce.
    Jednak "De gustibus no disputandum est" - o gustach się nie rozmawia.
    Można rozwodzić się na ten temat jak o wyższości jednego języka programowania nad drugim, albo o wyższości Commodore nad Atari.
  • Helpful post
    #11
    tymon_x
    Level 30  
    mickpr wrote:
    tymon_x wrote:
    Teraz o Altium Designer, jest płatny, w dodatku TO jest TYLKO INNA nakładka graficzna do narzędzi Xilinx, Altera czy Lattice.

    Przecież korzystając z ISE czy Quartusa mój projekt na FPGA jest zwykłym scalakiem z niczym nie związanym.

    Mnie to mnie nie przekonuje, tak samo jest z mikrokontrolerami, mikroprocesorami, pSoC czy procesorami sygnałowymi.

    Altium ma dla mnie wady, jest płatny wymagając przynajmniej bezpłatnych pakietów Web oraz nie ma wersji pod system Linux, mimo że każdy producent gwarantuje te rzeczy. W dodatku wiem jak parser działa, a raczej nie działa, już ludzie mieli nawet problemy z Altium na tym forum z tego powodu. Altium Designer - Nie można dodać bloczka na podstawie pliku vhd., Altium Designer 6 i płytka testowa z układem FPGA Altery, kilka innych też się znajdzie.

    Druga rzecz, większość osób nie wykorzystuje nawet kilku procent to co oferują narzędzia i jakie korzyści z tego niosą. Timing Constraints, HDL attributes, Power Planning i tak dalej...
    Z waszego punktu widzenia to ma fajne GUI, z uniwersalnym narzędziem do rysowania w schematicu, łączeniem tego w schemacie i jakiś tam wsparciem do soft-procesorów, dla Was to OK... z mojego punktu widzenia to zbędny programistyczny balast. Nadal nie widzę w tym żadnych zalet korzystania z tego, a raczej diodką Sobie nie migam na FPGA.

    tymon_x wrote:
    Jest to bardzo opłacalny interes już od kilku dobrych lat, od telekomunikacji po telewizje cyfrową.

    Głupie mi zdanie wyszło, szczerze się przyznam :P Lepiej "... w tym na przykład telewizja cyfrowa".

    danzel, próbowałeś gdzieś się na staż zapisać ? Właśnie z tego co zauważyłem, to mało jest ogłoszeń, mimo że chętnych zawsze przyjmą.
  • #12
    Anonymous
    Level 1  
  • #13
    tymon_x
    Level 30  
    danzel wrote:
    Nie nie próbowałem, tylko rozeznanie robiłem. Mało ogłoszeń, bo ludzie jeszcze nie wiedzą jakie możliwości drzemią w PLD. Może kiedyś przyjdzie czas na Europę, ale jeżeli dalej będą niższe ceny uC niż PLD to nigdy to się nie zmieni. W końcu ekonomia i marketing są najważniejsze, a nie coś co jest lepsze :D

    Wyłączając takie aspekty, gdzie FPGA jest po prostu niezastąpiony w projektach, a tam gdzie teoretycznie można nim zastąpić dowolny mikrokontroler czy mikroprocesor, to cena urządzenia, jak i czas jego wytworzenia odgrywa bardzo dużą rolę.
    Przykładem takich zamienników jest Xilinx Zynq-7000 (mikroprocesory) czy Actel SmartFusion (mikrokontrolery). To zyskują tylko wtedy, kiedy rola układu peryferyjnego w projekcie jest nietypowa, niezastąpiona, unikalna czy inna niż to co ofiarują producenci uC czy uP. Niech będzie to na przykład jakaś sprzętowa filtracja czy modulacja. I tam gdzie można zawsze podmienić wersję sprzętu :P

    Na dzień dzisiejszy to może nie, ale w przyszłości to właśnie scalaki typu pSoC będą coraz częściej stosowane. Wystarczy spojrzeć na rynek mikrokontrolerów, kiedyś opłacało się brać do projektu 8-bitowca powiedzmy z 8k flash oraz 1k RAM, a obecnie taniej wychodzi zastosowanie uC z rdzeniem Cortex-M0 czy nawet Cortex-M3, które ofiarują więcej zasobów, większe upakowanie kodu, są szybsze i mają bardziej wypasione układy peryferyjne i są przede wszystkim tańsze :P

    Co do Europy, to czas na FPGA już dawno nadszedł, ale małe czy średnie firmy nie widzą u Siebie jakiś zastosowań na tych scalakach. Co innego właśnie firmy telekomunikacyjne, tam bez nich to obejść się po prostu nie da :P

    Ofert, w których ktoś by siedział tylko w PLD jest mało, bardziej w Polsce firmy stawiają na osobę wszechstronną, co siedzi jeszcze w mikrokontrolerach i mikroprocesorach. Bo projekt w "gumowej logice" jest tylko od czasu do czasu.

    danzel wrote:
    Swoją drogą ogólnie mało ofert pracy w Polsce dla elektroników jest, za to dużo dla informatyków i automatyków.

    Dla zdolnego i chcącego to nic trudnego znaleźć pracę ;) W dodatku dzisiejszy elektronik może zastąpić każdą powyższą osobę, a informatyk raczej nie zostanie elektronikiem :P
  • #14
    leonow32
    Level 30  
    ...a wracając do tematu ;) właśnie zaczynam zabawę z PLD i na początek upatrzyłem sobie XC9572XL w obudowie PLCC44, który można dostać za 10-20zł. Do tego zrobiłem sobie taką prostą płytkę i łączę to z innymi płytkami testowymi, takimi jak te Link. To bez wątpienia najtańszy sposób na wystartowanie w tym temacie. Co do języka to zdecydowanie polecam Verilog, w szczególności jeżeli znasz C, a VHDL jest ciężkostrawny... :/

    FPGA Xilinx Spartan 3 zestaw uruchomieniowy

    btw my mieliśmy kiedyś CPLD na zajęciach. Uczelnia wydała kupę kasy na jakieś mega wypasione kity z MAX2 od Altery a wykorzystywaliśmy my je jedynie do... mrugania diodami...
  • #15
    Anonymous
    Level 1  
  • #16
    Dave_PL
    Level 14  
    danzel wrote:
    Prawda jest taka, że Verilog i C są to dwa różne światy. Tylko na pierwszy rzut oka są do siebie podobne :)

    W takim razie proponuję SystemVerilog'a - takie HDL'owe C++.
  • #18
    Anonymous
    Level 1  
  • #20
    tymon_x
    Level 30  
    danzel wrote:
    język opisu sprzętu zawsze będzie językiem opisu sprzętu, a nie C++

    Dave_PL nie miał tego na myśli. Ale przy dużych systemach brakuje po prostu zwykłych typedef, struktur znanych chociaż z C, które wprowadza standard Verilog-2005 razem z rozszerzeniem SV. SystemVerilog to nie tylko HDL(Hardware Description Language), ale także HVL (Hardware Verification Language), czyli testowanie. A tu aż się prosi o język zorientowany obiektowo pozwalający utrzymywać wysoki poziom abstrakcji. Niech przykładem będzie prosta kompresja w standardzie MPEG-2 współpracujący z jakimś soft-procesorem. Rzeźbić testbench w czystym HDL (Verilog-2001, VHDL-2001) to była by męka i tortury, które bym nie życzył największemu wrogowi ;)

    Wersji OpenSource można skonwertować HDL do C++ i użyć na przykład SystemC, który jest tylko biblioteką do C++. I tak testować kodek na jakimś video player :P Ale z SV dochodzą jeszcze ciekawsze możliwości, jak Coverage. Niestety taka prawda jest, że samo testowanie czasem może zająć 50-80% projektu.

    Ja osobiście za pomocą VHDL-2001 stosuje nowe typy, tworzę struktury, pakiety i korzystam z assert podczas sprawdzanie poprawności syntezy, tych rzeczy na razie mi brakuje w samym Verilog-2001, bo tylko te standardy są wszędzie wspierane. Jak ktoś chce więcej, to niestety musi troszkę wydać $$$ za lepszy komercyjny syntezer od firm trzecich, jak za pakiet Mentor Graphics, które wspierają między innymi SV.

    Czasem ważniejsze jest time-to-market niż czysty i surowy opis :P

    leonow32 wrote:
    gdzie wy się nauczyliście tych wszystkich rzeczy? :)

    To znaczy ?
  • #21
    leonow32
    Level 30  
    tymon_x wrote:
    leonow32 wrote:
    gdzie wy się nauczyliście tych wszystkich rzeczy? :)

    To znaczy ?

    Gdzie się nauczyłeś o PLD, VHLD i tej całej reszcie? Na uczelni, w domu, w pracy, na jakich kursach? Z książek, z internetu?
  • #22
    tymon_x
    Level 30  
    leonow32 wrote:
    Gdzie się nauczyłeś o PLD, VHLD i tej całej reszcie? Na uczelni, w domu, w pracy, na jakich kursach? Z książek, z internetu?

    Życie nauczyło :D
    Ale tak na poważnie, to wszystko po trochę i po jakimś czasie.

    Na dobry początek można odwiedzić strony Xilinx, Altera czy Lattice:
    Altera Training
    Xilinx Free Online FPGA Design Training

    Poczytać dokumentację:
    Altera Documentation
    Xilinx Documentation
    Na przykład w zasobach Altery jest dosyć ciekawy dokument: Advanced Synthesis Cookbook

    Sprawa z książkami, lepiej zaoszczędzić trochę grosza i kupić jakieś porządne zagraniczne wydanie.

    Ciekawsze strony:
    Aldec, też znajdziesz u nich sporo materiałów. Warto też się zapisać na różne Webinar jak będą.

    Jest też dużo innych zagadnień jak OVP, OS-VVM, ale nie mam ochoty się rozpisywać :P

    Reszta to dużo praktyki i stawianie Sobie jakiś wyzwań. Reszta pójdzie z górki :P Najlepiej dorwać jakiś bardziej wypasiony zestaw, bo jednak CPLD troszkę ogranicza. Ja bym Tobie polecił: Terasic DE0-Nano Development and Education Board. Nawet jakiś soft-procesor na nim zmieścisz jak Altera Nios-II czy Lattice Mico32.
  • #23
    alagner
    Level 26  
    Ja ze swojej strony polecam również przykłady od Xilinxa i Altery. Na uczelni udało mi się załapać nieco Veriloga, teraz katuję VHDLa, jeszcze przewinął się ABEL [jeżeli jesteś zainteresowany prostymi układami typu GAL to też możesz zerknąć w tę stronę].
    Zasadniczo nauka programowania CPLD/FPGA nie jest diametralnie różna od mikroprocków - wiadomo, filozofia działania tego sprzętu jest inna i trzeba pamiętać, że tutaj konstruujesz układ logiczny a nie piszesz sensu stricte program, ale sam proces nauki chyba jest dość podobny - czyli na początek mruganie diodą, proste sumatory itd.



    Quote:
    Reszta to dużo praktyki i stawianie Sobie jakiś wyzwań. Reszta pójdzie z górki Razz Najlepiej dorwać jakiś bardziej wypasiony zestaw, bo jednak CPLD troszkę ogranicza. Ja bym Tobie polecił: Terasic DE0-Nano Development and Education Board. Nawet jakiś soft-procesor na nim zmieścisz jak Altera Nios-II czy Lattice Mico32.


    NIOSII to na Cyclone2 z 5k bramek się mieści spokojnie chyba? Tzn. z soft procesorami zaczynam dopiero i nie chcę w błąd wprowadzać, ale z tego co miałem dołączone do mojego zestawu uruchomieniowego, wynika, że chyba tak ;)

    Pzdr.
  • #24
    tymon_x
    Level 30  
    alagner wrote:
    NIOSII to na Cyclone2 z 5k bramek się mieści spokojnie chyba? Tzn. z soft procesorami zaczynam dopiero i nie chcę w błąd wprowadzać, ale z tego co miałem dołączone do mojego zestawu uruchomieniowego, wynika, że chyba tak ;)

    Pzdr.

    Tutaj masz NIOS-II Benchmark. Spokojnie zmieścisz, Nios II/e wymaga niecałe 520 LEs, w dodatku zostanie jeszcze sporo miejsca na inne układy peryferyjne :P Ale pamiętaj, że jeszcze musisz gdzieś trzymać kod programu. Dorzuć jakąś pamięć zewnętrzną, żeby nie marnować zasobów.
  • #25
    Wodzirej
    Level 12  
    Witam
    Podłącze się pod temat Kolegi bo mamy podobny problem. Chciałbym rozpocząć swoja przygodę z fpga i ale mam problem z wyborem zestawu uruchomieniowego jestem zielony w tym temacie i chciałbym prosic o rade bardziej doswiadczonych kolegow. Wstepnie moj wybór padl na Xilinx z racji tej, ze udostepnia schematy swoich plytek i przy projektowaniu swojego urzadzenia zawsze mozna sie wspomoc. Co do samego fpga to waham sie pomiedzy spartan 3 a spartan 6 poniewaz spartan 3 juz wyszedl z produkcji ale ciagle jest atrakcyjny, znalazłem bardzo ciekawy zestaw uruchomieniowy bardzo bogato wyposażony
    http://pl.farnell.com/altium/12-400-nb3000xn-01/kit-nanoplytka-3000-spartan-3an/dp/1714411
    Taki sam zestaw mozna zamowic tez z cyclone III. Co do spartan 6 to znalazłem taki zestawik
    http://pl.farnell.com/digilent/410-178/terminala-rozwojowe-fpga-atlys/dp/2061832
    płyka ubozsza ale za to fpga nowsze i "mocniejsze". I tutaj jest moje pytanie do Szanowych Kolegów czy z punktu widzenia nauki, poznawania samego fpga i programowania na znaczenie układ? Bo jestem bardziej przekonany zestawem ze spartanem 3 z racji bogatego wyposazenia.
    pozdrawiam.
  • #26
    tymon_x
    Level 30  
    Musi być akurat Xilinx ? Nie może być coś z Altera: Terasic.

    Jeśli chodzi o różnicę między Spartan-3, Spartan-6 to są. Ten drugi ma lepsze bloki Serdes (generacja sygnału HD), sprzętowy kontroler pamięci (np. SDRAM), ulepszone układy DSP48 (mnożniki). W dodatku jest dużo szybszy. Ten Atlys z Spartan-6 jest dość rozbudowany (USB mysz, klawiatura, HDMI, Ethernet), jakby było mało masz tam złącze FSMC z którego możesz wyprowadzić z 40 pinów jak dobrze pamiętam, tak samo Digilent ma kilka dodatkowych modułów do tego zestawu (dotykowy wyświetlacz TFT, dwie kamery do zabawy z 3D etc).

    Osobiście między tymi dwoma zestawami brałbym Atlys.

    A tak ma marginesie, Xilinx chce zastąpić (daleka przyszłość, minie dobrych kilka lat) wszystkie Spartan-x rodziną Artix-7. Nowe oprogramowanie, które jest pisane od zera i ma zastąpić cały pakiet ISE, ma wspierać tylko rodzinę 7 (Virtex-7, Artix-7, Kintex-7) oraz Zynq-7000. To oprogramowanie to Vivado. Osobiście mi to potwierdzili inżynierowie Xilinx.
  • #27
    Wodzirej
    Level 12  
    Teraz mam poważny dylemat bo jeśli chodzi o Altere to ciekawym zestawem jest DE2 Link Jesli chodzi o parametry to Spartan 6 chyba jest "najmocniejszy" z wmienionych układów. Czy od strony programowania i ogolnego zrozumienia fpga jest jakas zasadnicza roznica pomiedzy tymi ukladami?
  • #28
    tymon_x
    Level 30  
    Wodzirej wrote:
    Czy od strony programowania i ogolnego zrozumienia fpga jest jakas zasadnicza roznica pomiedzy tymi ukladami?

    Odpowiem krótko, ogólnie to nie ma. Bardziej jeśli chodzi o optymalizacje zużycia sprzętu. Ale to są bardziej szczegóły jak 6 wejściowy LUT. Na początku poznawania FPGA, nie zwraca się uwagi na takie rzeczy.
  • #29
    alagner
    Level 26  
    Ja ze swojej strony mogę dodać, że Xilinx ma - przynajmniej dla mnie - lepiej zorganizowany soft. Pakiet ISE jest jakoś lepiej upakowany w stosunku do alterowego Quartusa. Nie jest to duży problem jak się nauczy to wszystko konfigurować, ale odnoszę wrażenie, że nieco łatwiej wystartować z Xilinxem.

    Pozdrawiam