eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika › Nauka programowania FPGA
Ilość wypowiedzi w tym wątku: 108

  • 21. Data: 2018-02-07 23:08:55
    Temat: Re: Nauka programowania FPGA
    Od: Grzegorz Kurczyk <g...@c...usun.slupsk.pl>

    W dniu 07.02.2018 o 21:10, J.F. pisze:
    > Użytkownik  stchebel napisał w wiadomości
    > W dniu środa, 7 lutego 2018 15:37:28 UTC+1 użytkownik J.F. napisał:
    >> Użytkownik "Piotr Wyderski"  napisał w wiadomości grup
    >>> >Powyższych pozycji nie znam, ale mam radę: odpuść sobie naukę
    >>> >Veriloga na etapie wstępnym. W ISE/Quartusie są graficzne edytory
    >>> >schematów, poklikaj sobie i zobacz, jak Ci to leży. Naucz się >sprzętu
    >>> >i myślenia w nowych kategoriach.
    >>> To nie lepiej jednak zaczac od VHDL/Veriloga, niz dalej trzaskac te
    >>> schematy ?
    >
    >> W rozbudowanych projektach, gdzie FPGA jest wykorzystywane do
    >> kontrolowania różnych niezależnych układów np. kontroler USB,DDR
    >> RAM,Przetworniki AD/DA i cholera wie co jeszcze, uważam schemat za
    >> najlepsze narzędzie. Jeden rzut oka i wiadomo co jest co i jaki jest
    >> przepływ logiczny obrabianego sygnału.
    >
    > Hm, w czasach PLD to mi prosciej bylo zapisac rownania logiczne niz sie
    > zastanawiac, co te bramki realizuja :-)
    > Choc przyznaje, ze rejestry/latche byly nieczyste w zapisie.
    >
    > Kontroler DDR RAM ... a tego sie nie robi w FPGA ?
    > I jak to narysowac :-)
    >
    > J.
    >

    Też sobie nie wyobrażam rzeźbienia kontrolera SDRAM rysując schemat z
    bramek przerzutników czy nawet trochę większych bloczków funkcyjnych.
    W swoich zabawach z Xilinxem stosuję taką zasadę: bloki funkcyjne typu
    kontroler SDRAM, CPU, VGA, GPU itd. itp. robię w Verilogu (rzadziej w
    VHDL) i dopiero to wszystko sklejam do kupy na schemacie w jeden system

    ftp://control.slupsk.pl/gksystem32.pdf

    Od pewnego czasu zapis w Verilogu przemawia do mnie bardziej niż
    schemat, mimo żem na schematach wychowany ;-)

    --
    Pozdrawiam
    Grzegorz


  • 22. Data: 2018-02-07 23:46:51
    Temat: Re: Nauka programowania FPGA
    Od: Grzegorz Kurczyk <g...@c...usun.slupsk.pl>

    W dniu 06.02.2018 o 08:53, Atlantis pisze:
    > Od jakiegoś czasu chodzi mi po głowie pomysł nauczenia się przynajmniej
    > podstaw programowania układów FGPA, celem rozszerzenia repertuaru
    > możliwości, które mógłbym (na razie) wykorzystać w swoich amatorskich
    > projektach.
    >

    W styczniu 2016 był wątek Jak działa FPGA. Trochę tam pisałem.
    news://news.tpi.pl:119/n68f5k$qp2$1@node2.news.atman
    .pl

    Przy nauce KONFIGUROWANIA układów CPLD/FPGA musisz się przestawić w
    sposobie myślenia. Nim zabrałem się za FPGA miałem duże doświadczenie w
    programowaniu CPU i uC (głównie assembler, C) i... wcale mi to nie
    pomagało, a wręcz przeciwnie. Podstaw uczyłem się z przykładów
    znalezionych w internecie, ale patrząc na kawałek kodu w Verilogu mózg
    interpretował mi kolejne linijki Veriloga jako kolejne rozkazy
    sekwencyjnie wykonywanego programu !!! :-/ Musiała mi się przestawić
    klepka aby w kodzie zacząć "widzieć" połaczone ze sobą przerzutniki,
    sumatory, liczniki synchroniczne, dekodery, multipleksery itp. Bo
    VHDL/Verilog to jest język opisu sprzętu, a nie język oprogramowania. W
    ogarnięciu tego wszystkiego bardzo mi pomogła dobra znajomość poczciwej
    serii układów TTL. W pewnym sensie traktuję FPGA jako wiaderko pełne
    TTL-i, duuuużą płytkę stykową i karton kabelków do krosowania ;-)

    Jeśli wybierzesz coś ze stajni Xilinxa, to z chęcią pomogę. Chyba
    najlepiej uczyć się na jakimś konkretnym małym projekcie. Pierwsze CPLD
    jakie "ugryzłem" to bodajże było XC7572XL. Kombinowałem "kartę
    graficzną" do AVR-a generującą obraz telewizyjny. Na AVR-rze da się
    nawet programowo (z lekkim wspomaganiem sprzętowym) ale nie w
    rozdzielczości graficznej 512x280 przy 16 kolorach. Pierwsze
    przymiarki... płytka stykowa, kostka DRAM 44256 i garść układów TTL,
    które to TTL-ki w końcu zostały zastąpione przez CPLD.


    Powodzenia.
    --
    Pozdrawiam
    Grzegorz


  • 23. Data: 2018-02-08 00:34:27
    Temat: Re: Nauka programowania FPGA
    Od: s...@g...com

    W dniu środa, 7 lutego 2018 21:10:42 UTC+1 użytkownik J.F. napisał:


    >
    > Kontroler DDR RAM ... a tego sie nie robi w FPGA ?
    > I jak to narysowac :-)
    >

    Jasne, że tak! Miałem na myśli samo DDR RAM. A sam kontroler masz w zestawie IP.
    Jak to narysować? Black-Box jak każde inne IP.


  • 24. Data: 2018-02-08 00:50:07
    Temat: Re: Nauka programowania FPGA
    Od: s...@g...com

    W dniu środa, 7 lutego 2018 23:46:54 UTC+1 użytkownik Grzegorz Kurczyk napisał:
    > W dniu 06.02.2018 o 08:53, Atlantis pisze:
    > > Od jakiegoś czasu chodzi mi po głowie pomysł nauczenia się przynajmniej
    > > podstaw programowania układów FGPA, celem rozszerzenia repertuaru
    > > możliwości, które mógłbym (na razie) wykorzystać w swoich amatorskich
    > > projektach.
    > >
    >
    > W styczniu 2016 był wątek Jak działa FPGA. Trochę tam pisałem.
    > news://news.tpi.pl:119/n68f5k$qp2$1@node2.news.atman
    .pl
    >
    > Przy nauce KONFIGUROWANIA układów CPLD/FPGA musisz się przestawić w
    > sposobie myślenia. Nim zabrałem się za FPGA miałem duże doświadczenie w
    > programowaniu CPU i uC (głównie assembler, C) i... wcale mi to nie
    > pomagało, a wręcz przeciwnie. Podstaw uczyłem się z przykładów
    > znalezionych w internecie, ale patrząc na kawałek kodu w Verilogu mózg
    > interpretował mi kolejne linijki Veriloga jako kolejne rozkazy
    > sekwencyjnie wykonywanego programu !!! :-/ Musiała mi się przestawić
    > klepka aby w kodzie zacząć "widzieć" połaczone ze sobą przerzutniki,
    > sumatory, liczniki synchroniczne, dekodery, multipleksery itp. Bo
    > VHDL/Verilog to jest język opisu sprzętu, a nie język oprogramowania. W
    > ogarnięciu tego wszystkiego bardzo mi pomogła dobra znajomość poczciwej
    > serii układów TTL. W pewnym sensie traktuję FPGA jako wiaderko pełne
    > TTL-i, duuuużą płytkę stykową i karton kabelków do krosowania ;-)
    >

    Dobrze napisane! Jako przykład można podać taką sekwencję w C:
    a=1;
    b=2;
    c=a+b;
    Wiadomo, że powyższe może dać zupełnie inny wynik, jeżeli pomieszamy kolejnościami
    instrukcji np. tak:
    c=a+b;
    b=2;
    a=1;
    Tymczasem w języku opisu sprzętu owa kolejność zapisu nie ma żadnego znaczenia.


  • 25. Data: 2018-02-08 07:37:15
    Temat: Re: Nauka programowania FPGA
    Od: Grzegorz Kurczyk <g...@c...usun.slupsk.pl>

    W dniu 08.02.2018 o 00:50, s...@g...com pisze:

    > Dobrze napisane! Jako przykład można podać taką sekwencję w C:
    > a=1;
    > b=2;
    > c=a+b;
    > Wiadomo, że powyższe może dać zupełnie inny wynik, jeżeli pomieszamy kolejnościami
    instrukcji np. tak:
    > c=a+b;
    > b=2;
    > a=1;
    > Tymczasem w języku opisu sprzętu owa kolejność zapisu nie ma żadnego znaczenia.
    >


    A jeszcze lepszy numer, to różnica między zapisem w Verilogu:
    b = a;
    c = b;
    d = c;

    a taką wersją:
    b <= a;
    c <= b;
    d <= c;

    tego raczej nie sposób zrozumieć bez uświadomienia sobie, że "a", "b",
    "c" i "d" to dwie sztuki UCY7474 ;-) czyli cztery przerzutniki wyzwalane
    zboczem. W pierwszym przypadku syntezer i optymalizator może zwinąć te
    cztery linijki kodu do jednego przerzutnika, a w drugim przypadku
    dostaniemy czterobitowy rejestr przesuwny :-)

    Tej jawności zapisu zawsze mi brakowało w VHDL-u

    --
    Pozdrawiam
    Grzegorz


  • 26. Data: 2018-02-08 08:00:22
    Temat: Re: Nauka programowania FPGA
    Od: Grzegorz Kurczyk <g...@c...usun.slupsk.pl>

    W dniu 08.02.2018 o 00:34, s...@g...com pisze:
    > W dniu środa, 7 lutego 2018 21:10:42 UTC+1 użytkownik J.F. napisał:
    >
    >
    >>
    >> Kontroler DDR RAM ... a tego sie nie robi w FPGA ?
    >> I jak to narysowac :-)
    >>
    >
    > Jasne, że tak! Miałem na myśli samo DDR RAM. A sam kontroler masz w zestawie IP.
    > Jak to narysować? Black-Box jak każde inne IP.
    >

    No fakt, że może nie najlepszy przykład ;-) Ale taka np. nietypowa karta
    VGA ze sprzętowym wyświetlaniem skalowalnej siatki oscyloskopowej na
    ekranie... w IP nie nalazłem ;-) Z drugiej strony "standardowy"
    kontroler SDRAM z IP jest bardzo zasobożerny do syntezy na układach,
    które nie mają dedykowanego bloku obsługi pamięci dynamicznych i w
    efekcie dość wolny. Na Spartan3 (-4) miałem problemy z pracą pamięci
    SDRAM 7ns przy częstotliwości trochę większej niż 50MHz. Naskrobałem
    własny mocno uproszczony kontroler i ta sama kostka SDRAM śmiga na
    120MHz. O różnicy w ilości zajmowanych zasobów już nie wspomnę.

    --
    Pozdrawiam
    Grzegorz


  • 27. Data: 2018-02-08 10:54:41
    Temat: Re: Nauka programowania FPGA
    Od: "J.F." <j...@p...onet.pl>

    Użytkownik "Grzegorz Kurczyk" napisał w wiadomości grup
    dyskusyjnych:5a7b81dc$0$575$6...@n...neostrada.
    pl...
    > W pewnym sensie traktuję FPGA jako wiaderko pełne TTL-i, duuuużą
    > płytkę stykową i karton kabelków do krosowania ;-)

    Nie w pewnym sensie, tylko jest wiaderko TTL (GA) i karton kabelkow do
    krosowania (FP) :-)

    J.




  • 28. Data: 2018-02-08 21:25:32
    Temat: Re: Nauka programowania FPGA
    Od: Sebastian Biały <h...@p...onet.pl>

    On 2/7/2018 2:59 PM, Piotr Wyderski wrote:
    > Powyższych pozycji nie znam, ale mam radę: odpuść sobie naukę
    > Veriloga na etapie wstępnym. W ISE/Quartusie są graficzne edytory
    > schematów

    Świat odchodzi od rysowania schematów [1]. To wynika z bardzo wielu
    przyczyn ale najwazniejsze to jest niemożność stosowania technik
    zapewniania jakości na takim designie. W zasadzie profesjonalny hardware
    produkuje się obecnie *wyłacznie* za pomocą opisu który pozwala na
    stosowanie annotacji, śledzenia wymagań, unit testowania (i kilku innych
    poziomów testowania), pracy w grupie, systemów kontroli wersji,
    wykrywania regresji, automatycznego lintowania itd. Rysowanie schematów
    jest marginesem do projektów migania diodami. To ślepa uliczka.

    [1] Nie wyssałem tego z palca.


  • 29. Data: 2018-02-08 21:35:27
    Temat: Re: Nauka programowania FPGA
    Od: Sebastian Biały <h...@p...onet.pl>

    On 2/7/2018 1:00 AM, s...@g...com wrote:
    >> Zacznij od CPLD. W praktyce układy CPLD beda miały znacznie bardziej
    >> przyjazne napięcia i obudowy. To na poczatek dość istotne.
    > Przeciwnie. Naukę lepiej zacząć od czegoś o większych zasobach. Obudowy i napięcia
    bardziej przyjazne? Nie żartuj...

    Nie żartuje. Jesli mam zaczynać od projektów migania diodą to naprawdę
    nie potrzebuje w tym celu oprogramowania ważacego 25GB, bardzo drogich
    ukladów, skomplikowanych zasilań, magicznych programatorów itp.
    Wystartować można niżej, jak nie wciągnie to bez żalu porzucić.

    >> Verilog jest językiem z masa bledów projektowych. VHDL zaś jest
    >> przeraźliwie verbose i opóźniony o dziesięciolecia. Naucz się obu -
    >> wiele współczesnych projektów to mixed language, czasami dokładając
    >> również SystemC.
    > Fakt, lepiej znać oba języki. Verilog znam "po łebkach", więc się nie wypowiadam,
    natomiast co do VHDL Twoja opinia jest kompletnie nieuzasadniona. Delikatnie mówiąc..

    VHDL to jest Ada + dodatki. Ada jest bardzo verbose. Trudno dyskutować z
    faktami. To jeden z najbardziej, obok COBOLa, gadatliwych języków.
    Prowadzi do dośc częstego rwania sobie wlosów z głowy choćby na głupich
    konwersjach wektorow bitów itd.

    Skoro nie masz pojęcia o Verilogu, to jak możesz oceniać czy VHDL nie
    jest opóźniony o dziesięciolecia? Może podrzuce Ci hasło do
    przemyslenia: testowanie. Obecnie robi się to w Verilogu ponieważ ma do
    tego ficzery (hint: UVM). VHDL nie ma, lub ma żałosne. Też się robi, ale
    przypomina to lata 80, erę BASICa łupanego. Problemem jest komited
    standaryzujący VHDL który długo zastsanawia się czy warto coś do jezyka
    dodać kiedy konkurencja ma to od wielu lat.

    >> Nie jest łatwo. Ale układy FPGA poganiane sa napięciami niskimi, np.
    >> 1.8V. Ciezko to z czymkolwiek połaczyć.
    > Nieprawda!! Napięciem 1.8V zasilany jest rdzeń logiczny

    Czyli FPGA jest poganiany.

    >, natomiast IO zasilasz osobnym napięciem VCCIO 2.5V lub 3.3V i po kłopocie.

    Nie każdy i nie jest to 5V. Czyli od razu odpada milion tanich jak
    barszcz peryferiów od arduino. Ciężko połączyć FPGA z czymkolwiek *tanio*.

    > Takie niezbyt skomplikowane EVB idzie kupić za mniej niż 100$

    Płytkę z CPLD za $8.

    https://www.aliexpress.com/item/IEZ-USB-FX2LP-CY7C68
    013A-USB-core-board-development-board-USB-logic-anal
    yzer-I2C-serial-and-SPI/32793462445.html


  • 30. Data: 2018-02-08 21:38:30
    Temat: Re: Nauka programowania FPGA
    Od: Sebastian Biały <h...@p...onet.pl>

    On 2/7/2018 8:42 AM, Atlantis wrote:
    > Jeśli nauczę się podstaw VHDL/Veriloga na FPGA, to potem będę mógł też
    > tę wiedzę wykorzystać z CPLD w jakimś własnym projekcie, czy też używa
    > się ich zupełnie inaczej?

    Róznice sa dwie:
    a) CPLD są znaczaco mniejsze i wolniejsze
    b) FPGA zawierają dziwne peryferia jako bonus (np. gotowe uklady mnożące
    albo konfigurowalną pamięć RAM)

    > Myślę, że na początek celowałbym w coś o wiele prostszego - w rodzaju
    > sprzętowego kontrolera wyświetlaczy nixie, sterowanego po SPI.
    > Mógłbyś polecić jakiś układ/rodzinę/płytkę na początek?

    To się da zrobić nawet na serii XC95xxxx, np. XC95144XL. Taniej będzie
    cieżko coś znaleźć. Był kiedyś kit AVT-2875. Jak znalazł na początek.

strony : 1 . 2 . [ 3 ] . 4 ... 10 ... 11


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: