Forum: FPGA, VHDL & Co. FPGA und mal wider so eine "Ist Ding xyz das richtige für mein Vorhaben" Frage


von Christian G (Gast)


Lesenswert?

Hallo,

ich möchte mich gerne mit FPGAs VHDL etc. vertraut machen und hege schon 
seit einigen Jahren die Idee eines Projekts dafür, habe mich aber bis 
jetzt nicht wirklich dran getraut.
Es geht im Grunde um die gute alte "Retro Game Console" ala UzeBox, 
Gameduino etc. Bitte nicht schon direkt die Augen verdrehen und 
abschalten....
Mir ist völlig klar das es da schon zig gut funktionierende Lösungen 
gibt und das ich im Prinzip "das Rad neu erfinde", aber mir geht es in 
erster Linie um das sammeln von Erfahrungen mit der Materie und ich 
wollte sowas halt schon immer mal haben ;)
Einfach nur "nachbauen" und gut ist reicht mir nicht, von daher lesen, 
verstehen und dann selbst entwickeln...

Die Konsole sollte schon mit etwas höhere Videoauflösung (mindestens 
800x600 und 12 bis 16 bit Farben) und natürlich auch etwas "besserem" 
Sound als es damals üblich war aufwarten. Daher auch die Entscheidung 
für einen FPGA da ein Mikrocontroller das alles einfach nicht leisten 
kann bzw. mir ist noch keiner, in den 10 Jahren die ich mich jetzt mit 
den Käfern beschäftigt habe (immer mal mehr und auch weniger), 
untergekommen der das wirklich könnte.
Jetzt steht ich am Anfang direkt vor dem Problem: welches FPGA board 
nehme ich denn ?
Da liegt dann auch schon der Hund begraben denn so wirklich kann ich den 
Unterschied zwischen z.B. einem Spartan 3, Spartan 6 oder Cyclone IV 
nicht erklären bzw. erkennen und laut den meisten Forenbeiträgen, blogs 
die ich zu dem Thema schon durch habe gibts da auch keinen direkten 
Vergleich.

Habe mir da ein paar erschwingliche boards angeschaut ( < 150 € ) :
*miniSpartan6+ LX25   - leider anscheinend überall ausverkauft, schon 
mit mikrosd karten slot & HDMI, 32MB SDRAM, echt günstig
*PapillioPro      - weniger SDRAM obwohl die 8MB reichen könnten.
*DE0-nano      - bis jetzt der Favorit

nur wie gesagt kann ich nicht sagen welcher davon "besser" geeignet ist.
Eine weitere Vorgaben gibts natürlich auch, ich denke das es viel 
vereinfacht wenn schon ein entsprechend großer Speicherbaustein (SDRAM) 
auf dem board verbaut ist den ich als Framebuffer, Texturenspeicher etc. 
verwenden kann. VGA DAC, Sound und ne MikroSD Karte kriegt man ja ohne 
weiteres einfach drangetüdelt.
Ich denke ich bleibe auch bei VGA, denn für DVI oder HDMI benötige ich 
so wie ich das verstanden habe einen 10 mal höheren Takt für die 
Serialisierer als die PixelClock und die ist ja bei 800x600 schon auf 
40MHz.
Das schaffen die oben genannten boards wohl nicht.
Also im Grunde suche ich die EierlegendeWollMilchSau die nur n Euro 
kostet ;-)
Ist sowas in irgeneiner Form in unserer Realität vorhanden? Und viel 
wichtiger, kann ich es als privat Person auch irgendwo kaufen?
Mal ne weitere Verständnissfrage: wenn ich z.B. das DE0-nano board nehme 
und dann so eine NIOSII CPU darin entwerfe etc. muss ich ja auch 
irgendwie ein "Programm" in die SoftCPU bekommen das ausgeführt wird, in 
meinem Falle ein kleines Menü und n loader für die Spiele.
Gibt es da dann einen z.B. c compiler für die SoftCPU oder muss ich da 
direkt die Maschienenbefehle irgendwo ablegen? Wie funktioniert das? 
Irgendwie müssen ja auch die Games für die Plattform dann geschrieben 
werden.
Hätten die oben gennannten Boards denn überhaupt die "Rechenpower" Video 
in ordentlich Auflösung, Sound und dann auch noch das Spiel an sich 
auszuführen?

Ihr seht ich stehe da noch ganz am Anfang bzw. noch n Schritt vor dem 
Anfang...


Danke fürs Lesen und falls es Antworten gibt :)

von Gustl B. (-gb-)


Lesenswert?

Hallo, also ... das was du brauchst sollte sich vor allem an den Spielen 
orientierten. Welche sind das? Also alte ROMs von anderen Konsolen oder 
willst du selber spiele entwickeln? Wenn es fertige alte Spiele sind, 
dann musst du deren Plattform nachbauen und dann unterstützten die auch 
keine höhere Auflösung wie damals.

Bei Xilinx würde ich wegen Vivado nicht mehr mit Spartan anfangen 
sondern mit Artix. Das Nexys4 Board ist da ganz brauchbar. Vor allem der 
XC7A100 hat so viel internes RAM, dass du für alte Spiele erstmal kein 
externes brauchst.

von Christian G (Gast)


Lesenswert?

Gustl B. schrieb:
> Hallo, also ... das was du brauchst sollte sich vor allem an den Spielen
> orientierten. Welche sind das? Also alte ROMs von anderen Konsolen oder
> willst du selber spiele entwickeln?

Ja das werden selbst entwickelte Spiele sein.
Einen emulator für bestehende Systeme, die meinen Anforderungen nahe 
oder gleich kommen, zu entwickeln halte ich doch für Schwieriger als 
sich das Beste von den "klassikern" abzugucken und mit heutigem 
Knock-How weiter zu entwickeln so dass am Ende ein System dabei 
herauskommt das irgendwie schon effizient aber auch einfach zu handhaben 
ist.
...wer weis, wenns funktioniert stelle ich das Projekt gerne jedem zur 
freien Verfügung und dann sollen die Leute ja nicht erst nochmal 
studieren müssen um selber Spiele dafür entwicken zu können.

Gustl B. schrieb:
> Das Nexys4 Board ist da ganz brauchbar. Vor allem der
> XC7A100 hat so viel internes RAM, dass du für alte Spiele erstmal kein
> externes brauchst.

Das scheint alles zu haben was man sich nur wünschen würde, aber der 
Preis!!! 300$ fürs Nexys™4 Artix-7 FPGA Board

von Christian G (Gast)


Lesenswert?

know how... nicht knock-how ;)

von Torben K. (tokuhila)


Lesenswert?


von Christian G (Gast)


Lesenswert?

Torben K. schrieb:
> Oder was günstiges?
>
> Ebay-Artikel Nr. 111832274825

Ok, das hätte 8MB SDRAM, VGA mit 12 oder mehr bit könnte man ja über den 
expansion header realisieren, stellt sich nur die Frage, reicht der 
EP4CE6E22C8N aus, schafft der VGA 800x600@60 mit 16Bit (denke ob 8 oder 
16 Bit ist dem FPGA egal) + Sound + irgendwie die Spiellogik (wie auch 
immer das aussehen mag) ausführen?

von ./. (Gast)


Lesenswert?

Das Bord "111832274825" gibt es auch mit 32 MByte SDRAM
und 16 MByte SPI-Flash. Je nach "Guete" des Haendlers
kann/konnte man auch eine Version mit dem EP4CE10 fuer
ca. 6 Euro Aufpreis ordern.
Eine Version mit 32 MByte SDRAM und 2 MByte SPI-Flash gibt es auch.

> EP4CE6E22C8N aus, schafft der VGA 800x600@60 mit 16Bit
[x]

Probleme koennte nur der recht langsame SDRAM machen.

von Strubi (Gast)


Lesenswert?

>
> Bei Xilinx würde ich wegen Vivado nicht mehr mit Spartan anfangen
> sondern mit Artix. Das Nexys4 Board ist da ganz brauchbar. Vor allem der
> XC7A100 hat so viel internes RAM, dass du für alte Spiele erstmal kein
> externes brauchst.

Böse Unken würden murmeln, dass man gerade wegen Vivado - in Anbetracht 
des Retro-Computing-Zwecks - vielleicht mit den guten alten Spartan3/6 
und ISE anfangen sollte..

Wegen RAM: Es gab mal wo nen Papilio Pro-China-Klon mit mehr SDRAM, wo 
man, soweit ich mich recht erinnere, auch den Core von "hamster" 
einsetzen konnte, leider aber die Stabilität wegen unzureichender 
Bypass-Caps für die Katze war. Es sprach dann doch nix gegen SRAM, ich 
würde für Retro-Computing und Ausgabe auf VGA eher sowas nehmen, wird 
vom Timing her einfacher.
HDMI würde ich erst mal aussen vor lassen. Auf den Xilinxen ist das 
etwas hacky, das können die Lattice ECP3 besser, dafür kostet da auch 
die Toolchain. Bei VGA kannst du noch gut mit dem Oszi ran, und 
eigentlich ists vom Lerneffekt her ein Must-have. Lustig ist dazu auch 
https://www.fpgarelated.com/showarticle/42.php.

Gruss,

- Strubi

von Christian G (Gast)


Lesenswert?

Vielen Dank für die ganzen tipps!!

Ich habe mich als Lern- / Übungsplattform mit Ausblick auf noch weitere 
Projekte für Das DE0-nano board entschieden.
Damit ausprobieren und sehen wie weit man kommt und welche ressourcen 
überhaupt nötig sind dann werde ich eh für diese Projekt ein eigenes 
board erstellen, halte ich für sinnvoll.

von Duke Scarring (Gast)


Lesenswert?

Christian G schrieb:
> Ich habe mich als Lern- / Übungsplattform mit Ausblick auf noch weitere
> Projekte für Das DE0-nano board entschieden.
Du kannst auch gleich auf die MIST-Platform gehen:
https://github.com/mist-devel/mist-board/wiki

Da ist schon alles dran, was Du brauchst und ein paar Sachen zum 
Abgucken gibt es auch:
https://github.com/mist-devel/mist-board/tree/master/tutorials

Duke

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.