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

Tang Nano 20K - niedroga płytka prototypowa FPGA z Gowin GW2AR-18

pseven 22 May 2023 17:14 909 25
Computer Controls
  • Tang Nano 20K - niedroga płytka prototypowa FPGA z Gowin GW2AR-18
    Tang Nano 20K to nowa płytka prototypowa firmy Sipeed.

    Sercem Tang Nano 20K jest układ GW2A-LV18QN88C8I7 firmy Gowin zawierający 20,736 jednostek logicznych LUT i 15,552 FF.

    Kompatybilność Tang Nano 20K obejmuje VexRiscv softcore (Litex firmware) i uproszczony Linux. Przykładowe programy znaleźć można w repozytorium w serwisie GitHib. Tang Nano 20K (układ GW2A-LV18QN88C8I7) ma zintegrowanie 41,472 pamięci SRAM S-SRAM, 828K pamięci B-SRAM, 64Mb pamięci SDR SDRAM oraz 64Mb pamięci flash typu QSPI. Ponadto Tang Nano 20K ma wlutowane: debugger Bouffalo Labs BL616 (RV32IMAFCP) o taktowaniu do 320MHz (JTAG na FPGA, USB do UART dla FPGA, USB na SPI dla FPGA), wzmacniacz dźwięku MAX98357A oraz 2 mikroprzełączniki i 7 diod LED, w tym 1 diodę RGB. Rolę pamięci masowej pełnić może karta pamięci typu micro SD.

    Tang Nano 20K posiada port USB typu C. Oprócz tego na płytce Tang Nano 20K znajdują się: złącze karty pamięci typu micro SD, a także wyprowadzenia interfejsów: LCD, HDMI EDID, SDIO, SPI, UART i GPIO.

    Wymiary Tang Nano 20K wynoszą: 54.04 x 22.55 mm. Waga - nie podano. Napięcie zasilania - 5V (USB-C). Typowy pobór prądu - nie podano. Chłodzenie - pasywne. Zakres temperatur użytkowania, zakres wilgotności względnej, odporność na drgania i wstrząsy nie zostały określone.

    Więcej informacji na temat Tang Nano 20K znaleźć można w Wiki producenta.

    Cena Tang Nano 20K wynosi ok. 3.3 zł. Tang Nano 20K zamówić można za pośrednictwem serwisu Aliexpress.

    Źródło:
    https://www.cnx-software.com/2023/05/22/25-si...simulate-a-risc-v-core-run-linux-retro-games/
    https://wiki.sipeed.com/hardware/en/tang/tang-nano-20k/nano-20k.html

    Cool? Ranking DIY
    About Author
    pseven
    Translator, editor
    Offline 
    Z wykształcenia - technik elektronik. Pasja - nowe technologie. Dla portalu Elektroda opracowuje informacje produktowe z dziedziny elektroniki, elektroniki przemysłowej.
    Has specialization in: tłumaczenia, copywriting
    pseven wrote 8986 posts with rating 1984. Been with us since 2009 year.
  • Computer Controls
  • #2
    JarekC
    Level 32  
    pseven wrote:


    Cena Tang Nano 20K wynosi ok. 3.3 zł. Tang Nano 20K zamówić można za pośrednictwem serwisu [url=https://s.click.aliexpress.com


    Te 3,30PLN to kosztuje "Breadboard".
    Sam Tang Nano 20K w podstawowej wersji to koszt około 160PLN.
  • #3
    Armadon
    Level 16  
    Nie no te Gowiny są jak na układy FPGA drastycznie tanie, ale że też autorowi posta fpga 20k komórek i to jeszcze na płytce w cenie piwa nie wydało się w żaden sposób podejrzane?

    A co do samych układów to u mnie zastąpiły MAXy Intela/Altery których od paru dobrych lat nie ma i nie zanosi się na to żeby miały wrócić.
    Ceny atrakcyjne, duży wybór łatwych w użyciu obudów, dostępność przyzwoita (albo są na stocku albo do 8 tygodni), jedyny minus to że trzeba całe paczki zamawiać co w przypadku małych obudów oznacza na przykład 500 sztuk, co przy produkcji niskoseryjnej ciężko przemielić.
    Same FPGA są spoko, ale dokumentacja i środowisko toporne straszliwie. Raczej nie dla tych co oczekują że wszystko działa "od kopa" - o ile tacy ludzie w dzisiejszych czasach jeszcze są.
  • #4
    JarekC
    Level 32  
    A gdzie je kupujesz? Co ceny w Mouser są z sufitu wzięte.
  • Computer Controls
  • #5
    Armadon
    Level 16  
    W Rutroniku. Mouser faktycznie jedzie po bandzie z tymi cenami.
  • #6
    tplewa
    Level 39  
    Armadon wrote:

    Same FPGA są spoko, ale dokumentacja i środowisko toporne straszliwie. Raczej nie dla tych co oczekują że wszystko działa "od kopa" - o ile tacy ludzie w dzisiejszych czasach jeszcze są.


    Dokumentacja nie jest złą, a środowisko nie jest złe ma tą zaletę że jest stosunkowo lekkie. W zasadzie patrząc na to co eferuje Intel (Altera) czy tam Xilinx to nie jest kobyłą zajmującą na dysku ogromne ilości gigabajtów.

    W zasadzie co do zestawów Sipeed to są one tanie ale mają też pewne wady IMHO nie są one dobrze przemyślane. Przykładowo ostatnio potrzebowałem użyć wyjść LVDS i okazało się że trzeba zrobić własne PCB...

    Kolejna spraw to pewne dziwne zachowania tych FPGA. Osobiście jeszcze za mało na nich robiłem i z takim się nie spotkałem - ale mam kilka informacji na ten temat można też poczytać o takowych w przypadku gdy nasz "kod" zaczyna zajmować więcej zasobów.

    Przykładowo:

    https://www.reddit.com/r/GowinFPGA/comments/1...yd/sipeed_tang_nano_4k_9k_gowin_fpgas_become/

    Dostałem też pewne informacje od osoby która próbowała zaimplementować ZX Spectrum o takich dziwactwach:

    Quote:

    There are several problems I found with particular gowin board:

    1. HDMI output. I used 640x480 video mode for the spectrum, however it worked on some monitors and did not work on another. Further investigation has shown issues with signal integrity and it is impossible to debug since entire HDMI port is an ip from Gowin

    2. SRAM - while datasheet says up to 250MHz clock, in fact I was able to run it only at ~100MHz which translated in parallel 8 bit operation only at 1.2MHz, which is too slow for ZX Spectrum

    3. I've added an external RAM to it but faced another problem with IOs, those were not able to handle sustainable operation at ~30MHz. I could slow it down while all together I decided to step away from Gowin towards Altera board, it was more expensive but did not have any of those problems.


    Z drugiej stronie przy tej cenie kupiłem sobie ostatnio trochę zestawów też z powodu problemów z dostępności czy Intela (Altery) czy Xilinx-a i coś tam próbuję na nich robić aby je przetestować w różnych zastosowaniach.

    Tutaj taki pierwszy projekt jaki na nich zrobiłem i związany z tematem komputera Cobra1 jaki jest na forum:
    https://www.elektroda.pl/rtvforum/viewtopic.php?p=20533936#20533936
  • #7
    JarekC
    Level 32  
    Też używam modułów Tang Nano 1k i Tang Nano 9K (oba projekty związana z fliperami i DMD).
    U mnie HDMI pracuje w rozdzielczości 1280x720, 1920x480 lub 1280x400 (wyświetlacz LCD IPS typu Bar)

    Autor tematu o niestabilności układów kilka razy zwracał się do Gowin Semi z prośbą o wyjaśnienie tej sprawy (między innymi na Twitterze) ale chyba nie doczekał się odpowiedzi.
    Mam kontakt z FAE Gowina ale czasami opowiadają szybko a czasami z opóźnieniem albo wcale.

    Układy Gowin i same płytki Sipeed mają zalety i wady.
    Mnie np. na płytkach Sipeed brakuje możliwości łatwej modyfikacji napięcia banku I/O, chciałem trochę poeksperymentować z MIPI DSI a tam jest wymagana napięcie 2.5V (żaden z modułów Sipeed nie ma takiej opcji).
    Inną już wspomnianą wadą jest dublowanie pinów na złączach.

    W IDE Gowina brakuje mi zintegrowanego symulatora, co prawda jest od niedawna dostępny ale tylko w chmurze i opłatą za wykorzystany czas.

    Szkoda że układy nie są dostępne w LCSC/JLCPCB (chociaż kiedyś były), napisałem nawet prośbę o ich w prowadzenie do oferty ale pozostała bez odzewu.

    Fajnie że na forum są użytkownicy tych modułów. Może założyć jakiś wątek techniczny na ich temat.
  • #8
    tplewa
    Level 39  
    JarekC wrote:

    Mnie np. na płytkach Sipeed brakuje możliwości łatwej modyfikacji napięcia banku I/O, chciałem trochę poeksperymentować z MIPI DSI a tam jest wymagana napięcie 2.5V (żaden z modułów Sipeed nie ma takiej opcji).


    Z LVDS miałem ten sam problem i jest pewna niekonsekwencja w ich projekcie. Przykładowo na 20K Core Board jest to przemyślane są ładne pary różnicowe są miejsca na rezystory terminujące, do tego możliwość podciągnięcia brakującego 2.5V... tylko co z tego jak obie płyty bazowe już tego nie wspierają :o

    Zakończyło się że zrobiłem sobie własne PCB dla modułu 20K Core właśnie pod kątem LVDS i MIPI (ot takie zabawy z kamerami i konwersją sygnałów np. z Sony LVDS na MIPI itp.).

    JarekC wrote:

    Mam kontakt z FAE Gowina ale czasami opowiadają szybko a czasami z opóźnieniem albo wcale.


    to co wkleiłem wyżej cytowane info o problemach, też dostałem info że Gowin w przypadku problemu z IO przestał się odzywać...

    Osobiście jeszcze za krótko ich używam i na chwile obecną działają ok i nie musiałem kontaktować się z Gowin. W zasadzie miałem problem z użyciem PSRAM wbudowanym jako osobny układ w strukturę 9K, ale to mogło wynikać z jakiś moich błędów (a nie miałem czasu aby to dokładniej przetestować i sprawdzić co jest problemem niestabilnej pracy pamięci). Zobaczymy jak będzie dalej przy bardziej złożonych projektach :)

    JarekC wrote:

    Fajnie że na forum są użytkownicy tych modułów. Może założyć jakiś wątek techniczny na ich temat.


    Coś można pomyśleć zwłaszcza że użytkowników tych FPGA nie ba zbyt wielu i jakaś wymiana doświadczeń może być przydatna (np. znalezione jakieś problemy).

    btw Tang Nano 20K - zapewne i tak zamówię jako kolejny zestaw he he :)
  • #9
    leonow32
    Level 30  
    Czy robiliście jakieś komercyjne projekty na FPGA Gowin? Z jednej strony wyglądają ciekawie - dość tanie i mają całkiem sporo zasobów w obudowach, które da się przylutować nawet ręcznie, ale z drugiej strony to chińszczyzna i nie wiadomo, czego się spodziewać.
  • #10
    tplewa
    Level 39  
    leonow32 wrote:
    Czy robiliście jakieś komercyjne projekty na FPGA Gowin? Z jednej strony wyglądają ciekawie - dość tanie i mają całkiem sporo zasobów w obudowach, które da się przylutować nawet ręcznie, ale z drugiej strony to chińszczyzna i nie wiadomo, czego się spodziewać.


    W zasadzie ręcznie to się da wszystko polutować, a przynajmniej nie spotkałem jeszcze takich układów których by się nie dało ;) Kwestia trochę wprawy i się nie bać bo o BGA itd. to głównie mity krążą osób które nigdy nie próbowały :) Większość prototypów jakie robię lutuję w domowych warunkach i nie brakuje w nich elementów 0201, pamięci DDR3, DDR4 itd. Co śmieszne tutaj tanie chińskie Pick & Place nie dają rady, a ręcznie już można (choć to wiadomo zajmuje więcej czasu).

    Natomiast co do komercyjnych zastosowań to rozważam, ale tak jak kolega pisze na chwile obecną jeszcze nie ryzykuję. Jak się pobawię i nie napotkam jakiś dziwnych problemów które by dyskwalifikowały te układy to zapewne i w jakimś komercyjnym projekcie spróbuję zastosować.
  • #11
    JarekC
    Level 32  
    Aby nie zaśmiecać za bardzo działów "News" założyłem nowy wątek poświęcony sprawom technicznym związanym z tymi modułami.
    https://www.elektroda.pl/rtvforum/topic3979918.html

    Co do projektów komercyjnych to Gowin stara się wejść w branżę motoryzacyjną, przynajmniej patrząc w jakich konferencjach biorą udział i jakie referaty wygłaszają.

    Jedyny znany mi produkt komercyjny którym chwalił się Gowin to USB Audio DAC
    https://twitter.com/GOWIN_SEMI/status/1590716157396340736/photo/1
  • #12
    Armadon
    Level 16  
    Z tymi obudowami to nawet nie chodzi o to czy da się przylutować ręcznie bo to zasadniczo nie jest jakiś wielki problem.
    Po prostu laminat pod układ z kulami o rastrze 0.5 musi być już robiony w technologii HDI, co w przypadku krótkich serii jest jednak drastycznie droższe od tego co w standardzie robi jlcpcb.
    No i czasem potrzebujesz do czegoś wrzucić jakieś proste fpga - 40 pinów lub mniej - i tutaj jest kilka QFNów do wyboru, czego konkurencja za bardzo zaoferować nie chce.
  • #13
    tplewa
    Level 39  
    Armadon wrote:

    Po prostu laminat pod układ z kulami o rastrze 0.5 musi być już robiony w technologii HDI, co w przypadku krótkich serii jest jednak drastycznie droższe od tego co w standardzie robi jlcpcb.
    No i czasem potrzebujesz do czegoś wrzucić jakieś proste fpga - 40 pinów lub mniej - i tutaj jest kilka QFNów do wyboru, czego konkurencja za bardzo zaoferować nie chce.


    Tak tylko w HDI pakujesz się raczej przy bardziej złożonych projektach gdzie cena PCB i tak jest pomijalna. Z prostszych FPGA masz jeszcze Lattice, a i w przypadku Intela czy Xilinx-a nie musisz się pakować zaraz w takie płytki.

    Co do cen JLCPCB to tutaj fakt są nie do pobicia i to nie tylko jak mówimy o płytkach HDI. Ale to też kosztem pewnych ograniczeń technologicznych.
  • #14
    CC_PL
    Level 12  
    3.3 zł ?? Na pewno? :) Sama przesyłka kosztuje kilka razy tyle ;) Za 5 sztuk - Wysyłka: 70,43zł
  • #15
    JarekC
    Level 32  
    CC_PL wrote:
    3.3 zł ?? Na pewno? :) Sama przesyłka kosztuje kilka razy tyle ;) Za 5 sztuk - Wysyłka: 70,43zł


    Przeczytaj pierwszy post pod wiadomością.

    Błąd wynika ze stosowanej przez Chińczyków metody wystawiania kilku rzeczy na jednej aukcji, przy czym w tytule jest opis dotyczący głównej rzeczy a cena dotycząca najtańszego elementu np. kabelka lub płytki jak w tym przypadku.
    Dopiero jak wybierzemy właściwy element to pojawia się rzeczywista cena.
  • #16
    CC_PL
    Level 12  
    Zgadza się, właśnie zauważyłem, że to płytka stykowa.

    Zastanawiam się czy warto w to wchodzić w celu poznania FPGA?. Za 350 zł jest MAXIMATOR - z układem FPGA MAX10 firmy Altera. Ma zdecydowanie mniej (8k vs 20k) komórek, ale lepsze I/O i obszerniejszą dokumentację.
  • #17
    tplewa
    Level 39  
    CC_PL wrote:

    Zastanawiam się czy warto w to wchodzić w celu poznania FPGA?. Za 350 zł jest MAXIMATOR - z układem FPGA MAX10 firmy Altera. Ma zdecydowanie mniej (8k vs 20k) komórek, ale lepsze I/O i obszerniejszą dokumentację.


    Chyba nie ma jednej słusznej odpowiedzi. Jak chcesz zacząć zabawę to w sumie chyba nie ma tutaj większego znaczenia co kupisz. Może być i tańszy Sipeed Tang Nano 9K ;) Jak coś porobisz sam będziesz mógł sobie odpowiedzieć na pytanie co potrzebujesz...
  • #18
    tronics
    Level 38  
    MAX10 ma bardzo mało RAM, GW2AR ma zintegrowany SDRAM. To warto brać pod uwagę.
  • #19
    Armadon
    Level 16  
    MAX10 jest obecnie nie do kupienia (gdybyś po fazie zabawy chciał zrobić coś swojego) i nie wiadomo kiedy/czy jeszcze będzie tak że nie wiem czy jest sens poznawać to środowisko.
  • #20
    tplewa
    Level 39  
    Armadon wrote:
    MAX10 jest obecnie nie do kupienia (gdybyś po fazie zabawy chciał zrobić coś swojego) i nie wiadomo kiedy/czy jeszcze będzie tak że nie wiem czy jest sens poznawać to środowisko.


    To nie jest chyba na początku jakieś krytyczne... Środowisko tak samo... Ważne by poznać jakiś język czy to VHDL czy Verilog i co i jak się na FPGA realizuje. Później można się zastanawiać co dalej i sobie wybrać układ pod potrzeby.
  • #21
    CC_PL
    Level 12  
    Jest jeszcze Tang Nano 4K i 1K.

    A jeśli chodzi o rynek, to obecnie z jakich języków opisu układów korzysta się najczęściej? Czego warto się uczyć?

    Dodano po 14 [minuty]:

    Tu jest dość ciekawy DEV KIT (Link )
  • #22
    JarekC
    Level 32  
    Wydaje mi się że Verilog stał się popularniejszy niż VHDL, chociaż sam piszę w tym drugim.
    Wszystkie przykłady i IP od GowinSemi są w Verilogu.
    Szukając czasami czegoś na GitHub też częściej znajduję w Verilogu niz VHDLu.

    Takę oprogramowanie opensource preferuje Veriloga (yoSys, Verilator, ...)

    Dzisiejsze IDE najczęściej pozwalają mieszać obydwa języki.
  • #24
    JarekC
    Level 32  
    Należy tylko pamiętać że Verilog i VHDL to języki opisu sprzętu a nie języki do pisania programu.
    Czasami to podobieństwo Veriloga do C może być mylące dla początkujących.

    Jeszcze jedno spostrzeżenie dotyczące kodu znajdowanego na GitHub, praktycznie większość jest pozbawiona komentarzy
    co czasami mocno utrudnia zrozumienie co autor miał na myśli. A analiza nie jest tak prosta jak w przypadku C.
  • #25
    CC_PL
    Level 12  
    OK, czyli Verilog.

    Słyszałem co nieco o Verilogu, także o innych językach które można transpilować do Verilog / VHDL. Tylko chyba to podejście się nie przyjęło, ze względu na niskiej jakości kod wynikowy.

    Czy w układach CPU + FPGA (jest takich sporo od paru lat) "główny program" jest wykonywany na procesorze, a FPGA dostarcza nowych instrukcji dla tego procesora (rozszerza liczbę instrukcji, o własne / customowe)? Dobrze to rozumiem?
  • #26
    leonow32
    Level 30  
    Ogólnie FPGA powinny służyć jako dodatek do procesora, by odciążyć go od niektórych zadań, które trudno jest wykonać programowo. Świetny przykład to różne karty graficzne, które da się zrobić nawet na prostych FPGA. Układ FPGA zajmuje się obsługą pamięci i przesyłaniem danych z CPU do pamięci oraz z pamięci do VGA/HDMI zgodnie ze ściśle określonym timingiem. Natomiast procesor generuje bitmapę do wyświetlenia i wrzuca ją do pamięci poprzez FPGA wtedy, kiedy akurat program wygeneruje nowy obraz. Programowa realizacja VGA dla procedora jest dość obciążająca i zamulająca CPU, a HDMI to nie wiem czy w ogóle da się ogarnąć wyłącznie programowo.