Sugerowana karta FPGA [zamknięta]

11

To moje pierwsze spojrzenie na FPGA, ale duże doświadczenie w tworzeniu oprogramowania. Chciałbym kupić płytkę do nauki, ale w końcu chciałbym móc uruchomić komputer Z80 z wczesnych lat 80-tych (myślę, że mówię o modelu TRS80).

Patrzyłem na płyty Spartan 3E i Spartan 6, ale nie jestem pewien różnic w wydajności / pojemności.

Myślę o czymś takim:

  • Wystarczająco dużo miejsca na:
    • symulowane Z80 przy użyciu softcore T80 opencores.
    • symulowane urządzenia peryferyjne, takie jak kontroler wideo, kontroler dźwięku (prosty 1 bit), kontroler dyskietek
    • być może kilka kontrolerów picoblaze do używania wbudowanych przycisków do wyboru dyskietek itp.
  • Złącze VGA (wystarczy 16 kolorów, 256 bonusów)
  • Złącze klawiatury PS2
  • Wystarczająca ilość wbudowanej pamięci flash do przechowywania wielu wirtualnych obrazów dyskietek i systemowej pamięci ROM (16 MB powinno wystarczyć)
  • Na wyświetlaczu LCD byłby miły, prawdopodobnie wystarczałaby 4x7 segmentowa dioda LED.
  • jakieś gniazdo karty flash byłoby fajne, ale nie wymagane.
  • Podłącz zasilanie, aby spłynąć z sieci, prawdopodobnie za pośrednictwem zasilacza.

Oto plansze, które obecnie rozważam:

  • Płytka FPGA Nexys ™ 3 Spartan-6
  • Płytka startowa Spartan 3E
  • Płytka rozwojowa Spartan 3E-1600
  • Płytka Basys ™ 2 Spartan-3E FPGA (500K) + 16M Flash pMod
  • Płytka Basys ™ 2 Spartan-3E FPGA (1200K) + 16M Flash pMod

EDYCJA: Właśnie zauważyłem, że Basys nie ma wbudowanej pamięci RAM, więc ograniczę się do RAM FPGA - nie jest to idealne.

Najważniejsze, że nie jestem pewien, ile pozostanie miejsca po załadowaniu softcore T80. Wszelkie porady bardzo mile widziane.

Ćwiek
źródło
6
Sugeruję najpierw naukę Verilog lub VHDL. Zadzieraj z tym na symulatorze. Upewnij się, że jesteś przygotowany do pracy w FPGA. Dziwną rzeczą związaną z układami FPGA jest to, że większość czasu programowania (jako początkujący) spędzasz pracując w symulatorach i uruchamiając stanowiska testowe.
Earlz

Odpowiedzi:

6

Choć ambitne cele są fajne, radzę zacząć od mniejszych. Dużo mniejszy. Proponowany projekt byłby trudny dla pośredniego projektanta FPGA i prawie niemożliwy dla początkującego. Jestem wielkim zwolennikiem FPGA i chciałbym, abyś odniósł sukces - rozpoczęcie od tak ambitnego projektu prawdopodobnie spowoduje wiele frustracji i prawdopodobnie całkowicie porzuci projektowanie FPGA.

Ujmę to w kategoriach oprogramowania: ten projekt byłby jak ktoś, kto nigdy nie napisał kompletnego kompilatora C od zera.

Zacznij mniejszy, a będziesz znacznie szczęśliwszy.

Edycja: Dodano rzeczy poniżej.

Biorąc to wszystko pod uwagę, trudno jest dać dobrą rekomendację dla zarządu. Powodem tego jest to, że każda płyta, którą poleciłbym osobie bez doświadczenia w FPGA, nie jest absolutnie tą samą płytą, którą poleciłbym dla projektu typu CPU. Plansza dla początkujących może kosztować 50-100 USD, podczas gdy deska do robienia CPU + VGA + Flash_Card + Cokolwiek może być 1000-2000 USD.

Istnieje również ogromna szansa, że ​​po wykonaniu kilku prostych projektów FPGA zmienisz zdanie i zechcesz później wykonać inny projekt.

W związku z tym zalecam, aby najpierw uzyskać prostą kartę w przedziale cenowym poniżej 100 USD. Następnie, gdy będziesz gotów zmierzyć się z większym projektem, możesz kupić droższą deskę, która jest blisko tego, czego chcesz (cokolwiek to jest w danym momencie).

Płytka, którą lubię to: http://www.xilinx.com/products/boards-and-kits/AES-S6MB-LX9.htm

Jest niedrogi, wykorzystuje część obecnej generacji, pochodzi z produkcji poziomu 1, a nawet może wykonywać proste czynności związane z procesorem.


źródło
Dzięki David, z pewnością zdaję sobie sprawę, że to, co zasugerowałem, jest ambitne, ale myślałem również o tym, że istnieje już wiele takich starszych, już zaprojektowanych maszyn, z którymi fajnie byłoby pobrać i grać - i dlatego chciałem czegoś zdolnego od samego początku. Brad
Brad
1
@Brad - Jeśli masz maszynę, którą chcesz pobrać i grać, skorzystaj z planszy, dla której została zaprojektowana. Ogromnym wysiłkiem byłoby przeniesienie projektu z jednej płyty na drugą.
Kevin Vermeer
@David Kessner - choć jest to dobra rada dla projektu, wybór platformy do pracy nad nim ma sens, aby wybrać coś, co wesprze wysiłki w ciągu kilku miesięcy, a nie tylko pierwszy eksperyment. O to pytał plakat, a tak naprawdę nie było to coś, czego dotknęła twoja odpowiedź.
Chris Stratton,
@Chris Stratton Dzięki za krytykę. Dodałem do mojej odpowiedzi.
Nie wiem, dlaczego uważasz, że płyta z procesorem + kartą flash VGA + wynosiłaby 1000 USD. Siedem lat temu miałem dysk twardy IDE podłączony do zestawu odtwarzającego wideo Spartan 3 za $ 100. To było trochę ograniczone przez barana, a ta tablica kosztuje teraz 150 USD, ale jak wskazuje link, możesz teraz uzyskać tablicę z wieloma megabajtami pamięci za mniej niż 100 USD. To powinno wystarczyć do emulacji systemów z ery 8-bitowej. Spodziewałbym się, że karta SD działająca w trybie spi poradzi sobie korzystnie co najmniej z szybkością interfejsów dyskietek z tamtej epoki. Uważaj jednak na bardzo niskie napięcia we / wy w nowszych układach FPGA.
Chris Stratton,
2

Hmmm, niestety jest vhdl, chciałem powiedzieć, że zacznij od verilatora lub icarus verilog. Zamiast tego może użyj ghdl. Pierwszą sugestią jest uruchomienie środowiska symulacyjnego, zacznij tam budować.

Przed wybraniem tablicy fpga musisz poczuć, jak duża będzie ona, różne narzędzia są bezpłatne lub bezpłatne, poświęcając swój adres e-mail i kilka innych informacji. Wypróbuj narzędzia kratowe, altera, xilinx itp. Zacznij od rdzenia T80 i niektórych z tych docelowych plików fpg, na które patrzysz. Domyślam się, że wszystkie rzeczy, które chcesz dodać, znacznie wzrosną, niezależnie od tego, jaki procent pełnej liczby pojawi się podczas wdrażania rdzenia T80. Założę się, sam rdzeń, że będziesz w stanie wyeliminować niektórych kandydatów.

Być może szukasz płyty fpgaarcade, która w jakiejś formie wykorzystała rdzeń T80, czego szukasz ... Gdy będzie dostępna.

Muszę całkowicie zgodzić się z drugim Davidem, jeśli nie jesteś już profesjonalnym programistą FPGA / Board, nie od tego się zaczynasz, patrzysz na być może lata pracy, prawdopodobnie kupując kilka tablic o wartości wielu tysięcy dolarów zniszcz je błędami itp. Jeśli masz do dyspozycji tego rodzaju pieniądze, być może powinieneś zatrudnić konsultanta, który przeprowadzi cię przez ten proces. Lub zbuduj tablicę zgodnie ze specyfikacją.

Więcej mocy, jeśli naprawdę chcesz to zrobić, po prostu bądź mądry, zacznij od rdzenia i kilku prostych programów, które mrugają diodami LED i powoli zaczynają się wspinać. Bardzo polecam trasę symulacji. Poza natychmiastową satysfakcją, nie zawracaj sobie głowy silikonem, dopóki nie znajdziesz się dalej. Do tego czasu będziesz mieć więcej projektu i będziesz mógł użyć narzędzi, aby zobaczyć, w co może się zmieścić. Jeśli nie możesz uruchomić tej rzeczy w symulacji, prawdopodobnie nie uruchomisz jej w krzemie.

old_timer
źródło
1
Dzięki chłopaki, skorzystałem z waszych rad i postanowiłem przejść od zbyt ambitnego do całkowicie niepewnego. Wzięłam malutki zestaw programisty / płytki programisty PIC i lutownicę ...
Brad,
Do końca roku kratownica ma płytę cpld, pico coś (machx02), która obsługuje sprzedaż jej rdzenia mico8 za 29 USD. Twierdzili, że zamierzają to naprawić, ale ich sklep ma złą cenę, która nie jest przeznaczona na sprzedaż, ale jeden / niektórzy sprzedawcy mają odpowiednią cenę. Za około 50 USD możesz mieć tablicę brevia, która jest FPGA z większą liczbą bloków logicznych i większą liczbą przykładów wbudowanych procesorów. Jest też tarcza gameduino ardino, która ma xilinx i vga, wszystkie open source, w które można grać z generowaniem wideo pracującym na rzecz symulacji starszej karty / systemu wideo.
old_timer,
dwelch, czy masz bezpośredni link do tej tablicy? To szczyt mojego zainteresowania ...
drxzcl
@DrX latticesemi.com/products/developmenthardware/developmentkits/... Kupiłem kopalnię od nuhorizons.com/development/devtool.asp?board=257 i mogą istnieć inne strony, takie jak mouser i
digikey
Uważaj tylko na wysyłkę; chcieli, aby 80 dolarów wysłano do Kanady ... „Priorytetem FedEx jest nasza jedyna opcja” - bzdura.
akohlsmith,
1

Jeśli chcesz symulować komputery z wyjściem wideo, spróbuj uzyskać coś z dużą ilością pamięci RAM, ponieważ będzie to potrzebne zarówno do pamięci systemowej, jak i wideo. Oczywiście wbudowane złącze VGA jest miłe, ale jeśli chcesz wykonać wierną synchronizację symulację niektórych wczesnych systemów, może być konieczne wygenerowanie kompozytowego wideo przez wszczepienie na przetworniku cyfrowo-analogowym lub nawet przetworniku cyfrowo-analogowym z rezystorem R2R.

Następnie być może wybierz opcję największej liczby bramek dostępnych na płycie, która jest obsługiwana przez bezpłatną wersję narzędzi FPGA . Większe układy domyślnie mają więcej ram blokowych (widziałem wiele projektów opartych na tym, a nie na liczbie bramek), jednak możesz być na terytorium aplikacji, gdzie zewnętrzny ram i mniejszy FPGA jest tańszy niż FPGA wystarczająco duży, aby zrobić to wszystko onchip .

Pamięć flash można zawsze przeszczepić w późniejszym terminie - na przykład karta SD o pojemności wielu gigabajtów połączona w trybie SPI.

Generalnie płyty FPGA są w klasie 100-200 $, a potem naprawdę drogiej. Prawdopodobnie możesz poczynić znaczne postępy w jednym z tych pierwszych.

Chris Stratton
źródło
0

Byłem oryginalnym plakatem tego pytania, ale nie musiałem być zalogowany lub nie miałem jeszcze konta ...

Tak czy inaczej, ostatecznie odłożyłem projekt na 4 lub 5 miesięcy, ale potem poszedłem z płytą Nexys3 i teraz mam uruchomiony komputer Microbee. Możesz przeczytać o tym tutaj: http://www.toptensoftware.com/fpgabee .

Podsumowując, byłem bardzo zadowolony z Nexys3, obsługuje on rdzeń T80 z miejscem do oszczędzenia, nie był zbyt drogi (250 USD) i ma wszystko, czego potrzebuję (i więcej).

Głównym rozczarowaniem jest to, że nie udało mi się uruchomić interfejsu klawiatury USB-HID i chociaż wciąż rozmawiam o tym z Digilentem, podejrzewam, że działa on tylko z niektórymi klawiaturami i nie byłem w stanie znajdź taką, która jest kompatybilna (wypróbowałem teraz około 8 różnych klawiatur). Nie ma dla niego żadnych referencyjnych projektów, testy peryferyjne nie testują klawiatury i czytałem o innych, które mają takie same problemy.

Brad Robinson
źródło
1
Jeśli zależy Ci na poprzednim koncie, możesz oflagować je w celu ich scalenia.
stevenvh