Vorgeschlagene FPGA-Karte [geschlossen]

11

Dies ist mein erster Blick auf FPGA, aber ein starker Hintergrund in der Softwareentwicklung. Ich möchte ein Board kaufen, mit dem ich lernen kann, möchte aber irgendwann einen Z80-basierten Computer im Stil der frühen 80er Jahre betreiben können (denken Sie an das TRS80-Modell, sage ich).

Ich habe mir Spartan 3E- und Spartan 6-Boards angesehen, bin mir aber hinsichtlich der Leistungs- / Kapazitätsunterschiede nicht sicher.

Was ich denke, ist ungefähr so:

  • Genug Platz für:
    • simulierte Z80 mit dem OpenCores T80 Softcore.
    • simulierte integrierte Peripheriegeräte wie Videocontroller, Soundcontroller (einfach 1 Bit), Diskettencontroller
    • Vielleicht ein paar Picoblaze-Controller, um integrierte Tasten für die Auswahl von Diskettenbildern usw. zu verwenden.
  • VGA-Anschluss (16 Farben würden ausreichen, 256 Bonus)
  • PS2-Tastaturanschluss
  • Genug Onboard-Flash für eine Reihe von virtuellen Diskettenabbildern und System-ROMs (16 MB sollten ausreichend sein)
  • Auf dem Borddisplay wäre LCD schön, 4x7-Segment-LED würde wahrscheinlich ausreichen.
  • Eine Art Flash-Kartensteckdose wäre schön, aber nicht erforderlich.
  • Stromanschluss zum Stromnetz, wahrscheinlich über ein Netzteil.

Dies sind die Boards, über die ich derzeit nachdenke:

  • Nexys ™ 3 Spartan-6 FPGA-Karte
  • Spartan 3E Starter Board
  • Spartan 3E-1600 Development Board
  • Basys ™ 2 Spartan-3E FPGA-Karte (500K) + 16M Flash pMod
  • Basys ™ 2 Spartan-3E FPGA-Karte (1200K) + 16M Flash pMod

EDIT: Ich habe gerade bemerkt, dass die Basys keinen integrierten RAM haben, daher würde ich mich auf den FPGA-RAM beschränken - nicht ideal.

Ich bin mir nicht sicher, wie viel Platz nach dem Laden des T80-Softcore übrig bleibt. Jeder Rat sehr geschätzt.

Brad
quelle
6
Ich schlage vor, zuerst entweder Verilog oder VHDL zu lernen. Leg dich damit auf einem Simulator an. Stellen Sie sicher, dass Sie für FPGA-Arbeiten geeignet sind. Das Seltsame an FPGAs ist, dass Sie den größten Teil Ihrer Entwicklungszeit (als Anfänger) damit verbringen, in Simulatoren zu arbeiten und Testbänke zu betreiben.
Earlz

Antworten:

6

Während ehrgeizige Ziele nett sind, ist mein Rat, kleiner anzufangen. Viel kleiner. Das von Ihnen vorgeschlagene Projekt wäre für einen fortgeschrittenen FPGA-Designer schwierig und für einen Anfänger fast unmöglich. Ich bin ein großer Befürworter von FPGAs und würde gerne sehen, dass Sie Erfolg haben. Wenn Sie mit einem so ehrgeizigen Projekt beginnen, wird dies wahrscheinlich zu viel Frustration führen und wahrscheinlich das FPGA-Design ganz aufgeben.

Lassen Sie es mich in Software-Begriffen ausdrücken: Dieses Projekt wäre wie jemand, der noch nie einen kompletten C-Compiler geschrieben hat - von Grund auf neu.

Fangen Sie kleiner an und Sie werden viel glücklicher sein.

Bearbeiten: Sachen unten hinzugefügt.

Trotzdem ist es schwierig, eine gute Empfehlung für ein Board abzugeben. Der Grund dafür ist, dass jedes Board, das ich jemandem ohne FPGA-Erfahrung empfehlen würde, absolut nicht dasselbe Board ist, das ich für ein CPU-Projekt empfehlen würde. Ein Board für Anfänger kostet möglicherweise 50 bis 100 US-Dollar, während ein Board für CPU + VGA + Flash_Card + 1000 bis 2000 US-Dollar kostet.

Es besteht auch die große Chance, dass Sie Ihre Meinung ändern und später ein anderes Projekt durchführen möchten, wenn Sie ein paar einfache FPGA-Designs erstellt haben.

Meine Empfehlung ist dann, dass Sie zuerst ein einfaches Board in der Preisklasse unter 100 US-Dollar kaufen. Wenn Sie dann bereit sind, ein größeres Projekt in Angriff zu nehmen, können Sie ein teureres Board kaufen, das genau Ihren Wünschen entspricht (was auch immer das gerade ist).

Das Board, das mir gefällt, ist das folgende: http://www.xilinx.com/products/boards-and-kits/AES-S6MB-LX9.htm

Es ist kostengünstig, verwendet ein Teil der aktuellen Generation, stammt aus einem Tier-1-Hersteller und kann sogar einige einfache CPU-Aufgaben erledigen.


quelle
Vielen Dank, David. Mir ist klar, dass das, was ich vorgeschlagen habe, ehrgeizig ist, aber ich habe auch darüber nachgedacht, dass es bereits eine Reihe bereits entwickelter älterer Maschinen wie diese gibt, deren Herunterladen und Spielen Spaß machen würden - weshalb ich wollte von Anfang an etwas fähiges. Brad
Brad
1
@Brad - Wenn Sie einen Computer haben, den Sie herunterladen und mit dem Sie spielen möchten, verwenden Sie das Board, für das er entwickelt wurde. Es wäre eine erstaunliche Anstrengung, das Projekt von einem Board auf ein anderes zu portieren.
Kevin Vermeer
@ David Kessner - Obwohl dies eine anständige Projektberatung ist, ist es für die Auswahl einer Plattform, an der gearbeitet werden soll, sinnvoll, etwas auszuwählen, das die Bemühungen über mehrere Monate hinweg unterstützt, nicht nur das erste Experiment. Das hat das Plakat gefragt, und nicht wirklich etwas, das Ihre Antwort im geringsten berührt hat.
Chris Stratton
@ Chris Stratton Danke für die Kritik. Ich habe meiner Antwort hinzugefügt.
Ich bin mir nicht sicher, warum ein Board für eine CPU + VGA + Flash-Karte 1000 US-Dollar kostet. Vor sieben Jahren hatte ich ein IDE-Festplattenlaufwerk an ein 100-Dollar-Spartan-3-Kit angeschlossen, das Videos abspielte. Es war etwas RAM-eingeschränkt, und dieses Board kostet jetzt 150 US-Dollar, aber wie Ihr Link zeigt, können Sie jetzt ein Board mit vielen Megabyte Speicher für unter 100 US-Dollar bekommen. Das sollte für die Emulation von Systemen aus der 8-Bit-Ära ausreichend sein. Ich würde erwarten, dass eine SD-Karte, die im SPI-Modus betrieben wird, zumindest im Vergleich zu den Diskettenschnittstellen dieser Ära eine günstige Geschwindigkeit aufweist. Achten Sie jedoch auf sehr niedrige E / A-Spannungen an den neueren FPGAs.
Chris Stratton
2

Hmmm, leider ist es vhdl, ich wollte mit verilator oder icarus verilog beginnen. Verwenden Sie stattdessen vielleicht ghdl. Der erste Vorschlag ist, eine Simulationsumgebung in Betrieb zu nehmen und dort mit dem Bau dieses Dings zu beginnen.

Bevor Sie sich für ein FPGA-Board entscheiden, müssen Sie ein Gefühl dafür bekommen, wie groß dieses sein wird. Die verschiedenen Tools sind kostenlos oder kostenlos, wenn Sie Ihre E-Mail-Adresse und einige andere Informationen opfern. Probieren Sie Gitter-, Altera-, Xilinx- usw. Werkzeuge aus. Beginnen Sie streng mit dem T80-Kern und einigen dieser Ziel-Fpgas, die Sie betrachten. Ich vermute, dass all das, was Sie hinzufügen möchten, die prozentuale Gesamtzahl, die Sie bei der Implementierung des T80-Kerns erhalten, erheblich erhöhen wird. Ich wette, Kern allein, Sie werden in der Lage sein, einige der Kandidaten zu eliminieren.

Vielleicht ist das fpgaarcade-Board, das in irgendeiner Form den T80-Kern verwendet hat, genau das, wonach Sie suchen ... Wenn es verfügbar ist.

Ich muss dem anderen David vollkommen zustimmen. Wenn Sie noch kein professioneller Fpga / Board-Entwickler sind, fangen Sie hier nicht an. Sie sehen sich vielleicht jahrelange Arbeit an und werden wahrscheinlich mehrere Multi-Tausend-Dollar-Boards kaufen Zerstören Sie sie mit Fehlern usw. Wenn Sie über diese Art von Geld verfügen, sollten Sie vielleicht einen Berater beauftragen, der Sie durch den Prozess führt. Oder lassen Sie ein Board nach Spezifikation bauen.

Mehr Leistung für Sie, wenn dies wirklich etwas ist, das Sie tun möchten. Seien Sie einfach schlau, beginnen Sie mit dem Kern und einigen einfachen Programmen, die einige LEDs blinken lassen und sich langsam von dort nach oben arbeiten. Ich kann die Simulationsroute nur empfehlen. Abgesehen von der sofortigen Befriedigung sollten Sie sich nicht mit Silizium beschäftigen, bis Sie weiter die Straße hinunter sind. Bis dahin haben Sie mehr vom Design und können die Werkzeuge verwenden, um zu sehen, in was es passen könnte. Wenn Sie dieses Ding in der Simulation nicht zum Laufen bringen können, werden Sie es wahrscheinlich nicht in Silizium zum Laufen bringen.

Oldtimer
quelle
1
Vielen Dank, ich habe Ihren Rat befolgt und mich entschlossen, von über ehrgeizig zu völlig vorläufig zu wechseln. Habe ein winziges PIC-Programmier- / Entwicklungsplatinen-Kit und einen Lötkolben mitgenommen ...
Brad
Bis zum Ende des Jahres hat Lattice ein CPLD-Board, Pico Something (machx02), das den Verkauf seines Mico8-Kerns für 29 US-Dollar unterstützt. Sie behaupteten, sie würden es reparieren, aber ihr Geschäft hat den falschen, nicht verkauften Preis, aber einer / einige der Wiederverkäufer haben es zum richtigen Preis. Für etwa 50 US-Dollar können Sie das Brevia-Board kaufen, das eine FPGA mit mehr Logikblöcken und mehr Beispielen für eingebettete Prozessoren ist. Es gibt auch ein Gameduino-Ardino-Schild mit Xilinx und VGA, allesamt Open Source, das Sie mit der Generierung von Videos spielen können, um das Ziel der Simulation einer älteren Grafikkarte / eines Legacy-Systems zu erreichen.
old_timer
dwelch, hast du einen direkten Link für dieses Board? Es hat mein Interesse geweckt ...
drxzcl
@DrX latticesemi.com/products/developmenthardware/developmentkits/… Ich habe meine von nuhorizons.com/development/devtool.asp?board=257 gekauft und es gibt möglicherweise andere Websites wie mouser und digikey
old_timer
Seien Sie vorsichtig beim Versand. Sie wollten, dass 80 US-Dollar nach Kanada geliefert werden ... "FedEx International Priority ist unsere einzige Option" - bleh.
Akohlsmith
1

Wenn Sie Computer mit Videoausgang simulieren möchten, versuchen Sie, etwas mit einer angemessenen Menge an RAM zu erhalten, da Sie es sowohl für den System- als auch für den Videospeicher benötigen. Natürlich ist ein eingebauter Anschluss für VGA hilfreich. Wenn Sie jedoch einige frühe Systeme zeitgetreu simulieren möchten, müssen Sie möglicherweise ein Composite-Video durch Aufpfropfen auf einen DAC oder sogar einen R2R-Widerstands-DAC erstellen.

Wählen Sie dann möglicherweise die größte auf dem Board verfügbare Gate-Count-Chip-Option aus , die von der kostenlosen Version der FPGA-Tools unterstützt wird . Die größeren Chips haben implizit mehr Block-RAM (ich habe viele Designs gesehen, die eher von diesem als von der Gate-Anzahl abhängen). Sie befinden sich jedoch möglicherweise in einem Anwendungsgebiet, in dem externer RAM und ein kleineres FPGA billiger sind als ein FPGA, das groß genug ist, um alles zu erledigen .

Flash-Speicher können jederzeit später eingepfropft werden - beispielsweise eine Multi-Gigabyte-SD-Karte, die im SPI-Modus angeschlossen ist.

Im Allgemeinen fallen FPGA-Boards in die Klasse von 100 bis 200 US-Dollar und dann in die wirklich teure Klasse. Mit einem der ersteren können Sie wahrscheinlich einige Fortschritte erzielen.

Chris Stratton
quelle
0

Ich war das Originalplakat dieser Frage, aber ich muss nicht angemeldet gewesen sein oder noch kein Konto erstellt haben ...

Am Ende habe ich das Projekt für 4 oder 5 Monate beiseite gelegt, mich dann aber für das Nexys3-Board entschieden und jetzt einen Microbee-Computer in Betrieb genommen. Sie können darüber hier lesen: http://www.toptensoftware.com/fpgabee .

Alles in allem war ich sehr zufrieden mit dem Nexys3, es handhabt den T80-Kern mit genügend Platz, es war nicht zu teuer (250 US-Dollar) und hat alles, was ich brauche (und mehr).

Die größte Enttäuschung ist, dass ich die USB-HID-Tastaturschnittstelle nicht zum Laufen bringen konnte, und obwohl ich immer noch mit Digilent darüber diskutiere, vermute ich, dass es nur mit einigen Tastaturen funktioniert und ich konnte es nicht Finde eine, die kompatibel ist (ich habe jetzt ungefähr 8 verschiedene Tastaturen ausprobiert). Es gibt keine Referenzdesigns dafür, die Peripherietests testen die Tastatur nicht und ich habe von anderen gelesen, die die gleichen Probleme haben.

Brad Robinson
quelle
1
Wenn Sie sich für Ihr vorheriges Konto interessieren, können Sie es markieren, um es zusammenzuführen.
Stevenvh