Goto page Previous 1, 2, 3, 4, 5, 6, 7, 8 Next
Piotr Wyderski
Guest
Wed Feb 07, 2018 3:06 pm
J.F. wrote:
Quote:
Wybierac duze FPGA, zeby w srodku zrobic troche logiki i uP, to mi sie
wydaje nieekonomiczne
W tanich FPGA nie masz znaczącej ilosci pamięci na chipie i się układ
komplikuje o dodatkowe chipy, co zjada powierzchnię płytki i piny IO.
Quote:
uP z niewielkim dodatkowym FPGA na pokladzie bylby swietny.
Tylko to narzekanie, ze BGA sie trudno lutuje
Dokładnie z tych powodów najbardziej podobają mi się hybrydy,
np. PSoC5 i Zynq. PSoC jest w QFN i TQFP, więc do polutowania
w domu. Jest też i takie rozwiązanie:
https://shop.trenz-electronic.de/en/TE0722-02-DIPFORTy1-Soft-Propeller-with-Xilinx-Zynq-7010-and-16-MByte-Flash
Quote:
Dodaj do tego czas inicjalizacji - CPLD zazwyczaj dziala od razu, FPGA w
zaleznosci od wersji potrafi wymagac pewnego czasu na skonfigurowanie.
Są FPGA z flashem w środku, są też konfigurowalne antifuse'ami.
Ale to nie problem w zastosowaniach amatorskich.
Pozdrawiam, Piotr
Piotr Wyderski
Guest
Wed Feb 07, 2018 3:07 pm
J.F. wrote:
Quote:
Wybierac duze FPGA, zeby w srodku zrobic troche logiki i uP, to mi sie
wydaje nieekonomiczne
W tanich FPGA nie masz znaczącej ilosci pamięci na chipie i się układ
komplikuje o dodatkowe chipy, co zjada powierzchnię płytki i piny IO.
Quote:
uP z niewielkim dodatkowym FPGA na pokladzie bylby swietny.
Tylko to narzekanie, ze BGA sie trudno lutuje
Dokładnie z tych powodów najbardziej podobają mi się hybrydy,
np. PSoC5 i Zynq. PSoC jest w QFN i TQFP, więc do polutowania
w domu. Jest też i takie rozwiązanie:
https://shop.trenz-electronic.de/en/TE0722-02-DIPFORTy1-Soft-Propeller-with-Xilinx-Zynq-7010-and-16-MByte-Flash
Quote:
Dodaj do tego czas inicjalizacji - CPLD zazwyczaj dziala od razu, FPGA w
zaleznosci od wersji potrafi wymagac pewnego czasu na skonfigurowanie.
Są FPGA z flashem w środku, są też konfigurowalne antifuse'ami.
Ale to nie problem w zastosowaniach amatorskich.
Pozdrawiam, Piotr
J.F.
Guest
Wed Feb 07, 2018 3:37 pm
Użytkownik "Piotr Wyderski" napisał w wiadomości grup
dyskusyjnych:p5f0nm$bdq$1@node2.news.atman.pl...
Adam Wysocki wrote:
Quote:
- "Układy FPGA w przykładach" (kurs, 4 części)
- Wprowadzenie do języka Verilog (książka)
Polecacie któreś z tych dwóch?
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 ?
Chociaz ... moze sie przydac jak klient wymaga dokumentacji "prostej
logiki" :-)
J.
Guest
Wed Feb 07, 2018 5:01 pm
W dniu środa, 7 lutego 2018 15:37:28 UTC+1 użytkownik J.F. napisał:
Quote:
Użytkownik "Piotr Wyderski" napisał w wiadomości grup
dyskusyjnych:p5f0nm$bdq$1@node2.news.atman.pl...
Adam Wysocki wrote:
- "Układy FPGA w przykładach" (kurs, 4 części)
- Wprowadzenie do języka Verilog (książka)
Polecacie któreś z tych dwóch?
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. Jasne, że to samo da się zrobić w VHDL'u pisząc strukturalnie, ale nikt mi nie wmówi że taki projekt będzie przejrzysty. A znalezienie ewentualnego błędu zaczyna urastać do naprawdę dużego problemu. Strukturalny VHDL wykorzystuję jedynie w przypadku powielenia jakiegoś bloku funkcjonalnego na n-kanałów. Wtedy istotnie łatwiej i szybciej jest to zrobić w paru linijkach kodu, niż smarować na schemacie np. 64 klocki i łączyć je drutami. Ewentualne rozszerzenie liczby kanałów na 128, to w VHDL'u kwestia kilku sekund roboty. Natomiast VHDL jest znakomitym narzędziem do projektowania behawioralnego. Synteza stanów maszynowych na piechotę na bramki i przerzutniki, to nie tylko strata czasu, ale wręcz głupota.
J.F.
Guest
Wed Feb 07, 2018 9:10 pm
Użytkownik stchebel napisał w wiadomości
W dniu środa, 7 lutego 2018 15:37:28 UTC+1 użytkownik J.F. napisał:
Quote:
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.
Grzegorz Kurczyk
Guest
Wed Feb 07, 2018 11:08 pm
W dniu 07.02.2018 o 21:10, J.F. pisze:
Quote:
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
Grzegorz Kurczyk
Guest
Wed Feb 07, 2018 11:46 pm
W dniu 06.02.2018 o 08:53, Atlantis pisze:
Quote:
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
Guest
Thu Feb 08, 2018 1:34 am
W dniu środa, 7 lutego 2018 21:10:42 UTC+1 użytkownik J.F. napisał:
Quote:
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.
Guest
Thu Feb 08, 2018 1:50 am
W dniu środa, 7 lutego 2018 23:46:54 UTC+1 użytkownik Grzegorz Kurczyk napisał:
Quote:
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.
Grzegorz Kurczyk
Guest
Thu Feb 08, 2018 7:37 am
W dniu 08.02.2018 o 00:50, stchebel@gmail.com pisze:
Quote:
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
Grzegorz Kurczyk
Guest
Thu Feb 08, 2018 8:00 am
W dniu 08.02.2018 o 00:34, stchebel@gmail.com pisze:
Quote:
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
J.F.
Guest
Thu Feb 08, 2018 10:54 am
Użytkownik "Grzegorz Kurczyk" napisał w wiadomości grup
dyskusyjnych:5a7b81dc$0$575$65785112@news.neostrada.pl...
Quote:
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.
Sebastian BiaĹy
Guest
Thu Feb 08, 2018 9:25 pm
On 2/7/2018 2:59 PM, Piotr Wyderski wrote:
Quote:
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.
Sebastian BiaĹy
Guest
Thu Feb 08, 2018 9:35 pm
On 2/7/2018 1:00 AM, stchebel@gmail.com wrote:
Quote:
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ć.
Quote:
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.
Quote:
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.
Quote:
, 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*.
Quote:
Takie niezbyt skomplikowane EVB idzie kupić za mniej niż 100$
Płytkę z CPLD za $8.
https://www.aliexpress.com/item/IEZ-USB-FX2LP-CY7C68013A-USB-core-board-development-board-USB-logic-analyzer-I2C-serial-and-SPI/32793462445.html
Sebastian BiaĹy
Guest
Thu Feb 08, 2018 9:38 pm
On 2/7/2018 8:42 AM, Atlantis wrote:
Quote:
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)
Quote:
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.
Goto page Previous 1, 2, 3, 4, 5, 6, 7, 8 Next