Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

FPGA szybki start

10 Wrz 2007 14:53 2508 10
  • Poziom 20  
    Muszę wreszcie ruszyć z układami programowalnymi do przodu. Chce się zdecydować na kupno jakiegoś prostego modułu, żeby trochę zaznajomić się z FPGA. Zastanawiam się na układami Altera a konkretnie nad zestawem ZL11PLD .
    Słyszałem, że Altera umozliwia programowanie w C, z kompilacją na
    FPGA i dlatego zainteresowałem się układami Cyclone. Czy możecie mi przekazać coś na ten temat. Do tego proszę o opinię na temat zestawu ZL11PLD i czy dam radę wykonać na nim coś sensownego bo jak na razie to ilość 2910 komórek logicznych LE nic mi nie mówi.

    Aha. Czy tańszy dostępny w kamami programator ZL3PRG będzie mnie w czymś ograniczał?
  • Poziom 28  
    moim zdaniem zaczynasz od zlej strony, najpierw powinienes
    wiedziec co chcesz zaprojektowac, a potem szukac kitu, ktory
    spelnia wymagania twojego pomyslu za najmniejsze pieniadze;
    do mrugania diodami wystarczy byle co, recznie polutowana
    plytka z najmniejszym ukladem;
    jeszcze taniej, bo za darmo, symulator;
    do nauczenia sie jezyka wystarczy kompilator, tez za darmo;
    do zapoznania sie z architektura fpga altery wystarczy sam quartus,
    rowniez w wersji darmowej;
    do poznania typowych problemow zwiazanych z programowaniem
    fpga i uzytecznych trikow wystarczy internet i google;
    wiec moze zacznij sie rozgladac za sprzetem jak bedziesz juz mial
    w miare dobrze sprecyzowane, co chcesz na nim zrobic;

    JA
  • Poziom 11  
    W tym co pisze J.A jest dużo racji, ale wiem po sobie, że samozaparcie może nie wystarczyć do nauczenia się programowania, w którymś z języków opisu sprzętu. Kiedy nie widzi się efektów działania, zapał szybko ucieka. Na początku zabawy z fpga żadna ilość wykresów i innych danych z symulacji nie da takiej radości i chęci dalszego poznawania jak migająca dioda :) To co mogę poradzić to kup sobie płytkę startową z niewielką ilością diod i przełączników żebyś mógł pobawić się na początek z czymś bardzo prostym i poczuć "o co chodzi" oraz z dużą ilością złączy, do których w dalszym etapie nauki będziesz mógł podłączyć swoje bardziej zaawansowane układy. Sam zaczynałem tydzień temu z płytką Digilent Nexys. Płytka jest bardzo dobra z wyjątkiem jednej bardzo wielkiej wady, posiada wielkie złącze FX2, do którego nie widziałem jeszcze w Polsce wtyczki (może za słabo szukałem). Dlatego nie polecałbym Ci tej płytki.
  • Poziom 20  
    Dzięki za komentarze. Wolałbym też mieć przed sobą jakiś prosty moduł i zacząć obserwować rezultaty programowania w praktyce a nie analizować symulację. Dla mnie jest to bardziej motywujące i popychające do przodu.

    Nie potrzebuję, żadnego rozbudowanego zestawu uruchomieniowego. Wystarczy sam FPGA oraz układy potrzebne do jego uruchomienia i czyste złącza. Peryferia zawsze można odłożyć we własnym zakresie zależnie od potrzeby projektu. Idealny wydaje się moduł ZL11PLD bo tańszego nie znalazłem.

    Do tego ciągnie mnie do Altery ze względu na programowanie w
    C. Tylko, że mało wiem na ten temat i potrzebuję podstawowych informacji na ten temat. Dodam tylko, że jakieś podstawy VHDLa już mam, ale skoncentrować chce się właśnie na języku C.
  • Poziom 28  
    > Wolałbym też mieć przed sobą jakiś prosty moduł i zacząć obserwować
    > rezultaty programowania w praktyce a nie analizować symulację.
    > Dla mnie jest to bardziej motywujące i popychające do przodu.

    wolna wola rzecz jasna i gust nie podlegajacy dyskusji :)
    ale moze sie okazac, ze dioda i owszem zapalila sie, ale
    z zupelnie innego powodu niz myslisz ... :)
    zartuje oczywiscie,
    troche ...

    > Do tego ciągnie mnie do Altery ze względu na programowanie w C.

    sprawdz na stronach altery te mozliwosc, bo chyba sie mylisz;
    slyszalem cos o narzedziach, ktore sa w stanie wygenerowac netliste,
    pod pewnymi zalozeniami, z 'c-like' kodu, ale sam quartus nie jest na razie
    w stanie tego zrobic;
    ale moze taka opcja mi umknela;

    > Dodam tylko, że jakieś podstawy VHDLa już mam,
    > ale skoncentrować chce się właśnie na języku C.

    jesli jednak przyjdzie ci pisac w standardowych jezykach
    opisu hardware'u, to rozwaz verilog, jest o niebo bardziej
    'user-friendly' niz vhdl;
    ale to znow rzecz gustu oczywiscie;

    JA
  • Poziom 11  
    Jeżeli znasz C to Verilog może okazać się dla Ciebie prostszym językiem do nauczenia się niż VHDL. Składnia Veriloga jest podobna właśnie do składni C. Również wydaje mi się, że opisywanie sprzętu w czystym C nie jest na dzień dzisiejszy możliwe, ale jak wspomniałem wcześniej zacząłem zabawę dopiero tydzień temu więc moja wiedza w tych tematach jest bardzo ograniczona.
  • Poziom 17  
    J.A napisał:

    jesli jednak przyjdzie ci pisac w standardowych jezykach
    opisu hardware'u, to rozwaz verilog, jest o niebo bardziej
    'user-friendly' niz vhdl;
    ale to znow rzecz gustu oczywiscie;

    JA
    no zdecydowanie kwestia gustu, ja np. znam C/C++ oraz C# ale verilog zupelnie do mnie nie przemawia, duzo bardziej przejrzysty jest dla mnie VHDL, wiec polecam sprobowac jeden i drugi jezyk i zobaczyc ktory jest bardziej przejrzysty dla uzytkownika
  • Poziom 28  
    Cytat:
    /.../duzo bardziej przejrzysty jest dla mnie VHDL/.../

    nie mam zamiaru wszczynac wojenki o wyzszosc jednych swiat
    nad drugimi;
    Bog i Historia nas rozsadzi; :)
    ale swoje powiem ...

    w vhdl przeszkadza mi maniakalne sprawdzanie zgodnosci typow,
    niepotrzebne a uciazliwe przy projektowaniu wspolczesnego hardware;
    i z jakichs powodow w verilogu lista plikow moze byc w dowolnej
    kolejnosci, w vhdl musi byc w odpowiedniej, co nie ma wiekszego
    znaczenia, gdy projekt tworzy kilkanascie modulow,
    ale jest niewygodne, gdy lista sklada z setek plikow;

    J.A
  • Poziom 20  
    Posiadam książki jedynie dotyczące języka VHDL. Szczerze na razie składnia jest dla mnie jest nijaka. Nie mam doświadczenia w pisaniu w tym języku i nie mogę się jakoś szczególnie wypowiedzieć czy opowiadania mojemu gustowi czy nie. W sumie wszystkiego można się nauczyć. Mimo wszystko będę musiał zainteresować się VERILOGiem, bo może będzie dla mnie milszy, tylko jest problem bo z literaturą (książką) na ten temat jakoś się nie spotkałem.

    Jakoś inne wyobrażenia miałem na temat programowania w C dla FPGA. No cóż dzięki za sprowadzenie na ziemię.

    Powiedzcie mi jeszcze coś na temat tego zestawu ZL11PLD? Czy opłaca się zakup tego modułu (może polecacie inny) biorąc pod uwagę to, że jestem zdecydowany na altere?

    Aha. Przepraszam, że nie odzywałem się wcześniej, ale miałem problemy z kompem.
  • Poziom 16  
    Czesc,

    Zastanawia mnie Twoje podejscie do FPGA. Albo jestes "software'owcem" ktory chce pisac w C ale ma to w zasadzie byc projektowanie sprzetu.
    Albo masz kompletnie zle pojecie co to jest FPGA albo widziales/uczestniczyles w jakiejs lekcji/pokazie marketingowym czego to sie nie da zrobic na FPGA i jakie to jest proste.

    Dwie rzeczy na ktore musisz zwrocic uwage to fakt, ze FPGA to nie AMD/Intel DualCore processor, ani C/Pascal/Java/Python czy cokolwiek tam jeszcze znasz, operuje na poziomie bramek/przerzutnikow a nie na poziomie paruset instrukcji wykonywanych sekwencyjnie. (FPGA moze wykonywac te pareset instrukcji w tym samym czasie(Wszystkie naraz!) jesli chcesz aby to robil).

    Druga rzecz to, sama znajomosc jezyka Ci nie wystarczy aby cokolwiek zaprojektowac.

    Jako, ze nie wiem co tak naprawde chcesz, albo inaczej czy interesuje Cie pisanie w C bardziej niz migajace diody (apropo, jak Ci sie dioda zapali to fakt, ze niewiele to znaczy ale jak juz nia pomigasz tak jak chcesz to zupelnie co innego :) ) to moge Ci powiedziec, ze kup sobie najtanszy zestaw od Altery albo Xilinx'a bo tam jest caly software za darmo.

    Mignij sobie paroma diodami z VHDL'a albo Veriloga, i tutaj jezyk nie ma nic do rzeczy bo kazdy zna C i Pascala i potem sobie odpowiedz na pytanie czy mi sie podoba to czy nie.
    Jak tak to zadawaj pytania na grupie i zawsze sie znajdzie ktos kto odpowie.
    Narzedzia do translacji C do VHDL'a albo Verilog sa, tyle, ze sa bardzo drogie i maja bardzo waskie zastosowanie. I nie do kazdego procka sie da to podpiac. No i aby zastosowac je to musisz byc nie tylko ekspertem w jezykach programowania ale i znac narzedzia syntezy i co generuje ten konwerter C do HDL na wylot. Inaczej mowiac, zapomnij, ze bedziesz sobie cos grzebal w C i nagle zaprojektujesz Athlon 2008. Niestety na chwile obecna aby uzyc tych narzedzi trzeba wiedziec jak twoj algorytm w C zostanie zaimplementowany w sprzecie. inaczej ciezko bedzie Ci tego uzyc do czego innego niz zapalenie paru diod.

    Ale glowa do gory, warto sie pobawic FPGA. Sprawiaja niezla frajde jak juz sie cos fajnego zrobi :)

    Pozdrawiam,
    tony_tg
  • Poziom 20  
    tony_tg zdaję sobie sprawę, że VHDL to język opisu sprzętu i czuję bardzo dobrze różnicę między wykonywaniem instrukcji krok po kroku w mikroprocesorach a wykonaniem operacji współbieżnych (na raz) w FPGA (chyba że chcę sekwencyjnie).

    Co do C to może masz rację, że chciałem do tego podejść tylko ze strony programowej omijając całą technikę bramkową - może w sumie nie do końca bo rozumie tworzenie czarnych skrzynek (z we i wy) wykonujących jakieś instrukcje równocześnie.
    Oczywiście bardziej mnie interesuje uruchomienie czegoś niż koncentrowanie się na C. Przecież język programowania służy tylko do komunikacji a skoncentrować się bardziej trzeba na logice budowanego układu a nie zastosowanej składni. Po prostu dojrzałem możliwość kontynuowania znajomości z C bez przechodzenia na inny język. Nauczę się VHDLa, poczekam i może coś się wyklaruje w tym kierunku bo jak piszesz na chwile obecną nie jest to takie hop siup.

    Heh, dzięki za motywowanie, chyba właśnie tylko dla frajdy chcę rozpocząć zabawę z FPGA.