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.
Odpowiedzi:
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
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.
źródło
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.
źródło
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.
źródło