Forum: FPGA, VHDL & Co. Ideen für ein Raspberry Pi FPGA Dev Board A.K. "Mister/DE-10 Nano für Arme"


von R4pt0r (Gast)


Lesenswert?

Hallo euch allen,
seit einiger Zeit habe ich eine Idee für ein FPGA-Dev-Board, was ich 
"Mister für Arme" nenne. Es soll einen Lattice ecp5 mit 85k 
Logikelemente haben. Diesem stehen meiner Vorstellung nach 64MB oder 
128MB SDRAM (ich tendiere zu 128MB) bei. Dazu soll ein Connector für ein 
Raspberry Pi dazukommen, über denn man diesen programmieren und flashen 
kann. Theoretisch könnte man auch einen Mikrocontroller nehmen, aber in 
der Situation, in der wir uns befinden, wäre das etwas problematisch. 
Aber Raspberry Pi's wären da einfacher, weil 1. viele haben noch 
mindestens einen zu Hause und 2. hier und da ist noch was zu bekommen 
ist, zwar nicht zum aller günstigsten Kurs, aber aber auch nicht Region 
Niere verkaufen. 3. Man kann Notfalls auch einen anderen SBC nehmen, nur 
muss man auf das Pinout achten. Desweiteren hat man dadurch ein 
"All-in-one"-System, wo man darauf alles nötige hat. Das ganze ist 
Primär ein Dev-Board, aber der soll wie anfangs erwähnt ein "Mister für 
Arme" sein, also es soll auch auf Retro-Gamer abzielen. Man könnte jetzt 
fragen, warum noch so ein System, aber die die Antwort ist im "Mister 
für Arme". Ein DE-10 Nano hat mal etwa 130€ gekostet, inwischen aber ehr 
200€. Hinzu kommt, das man paar Sachen kaufen muss, wenn man es wirklich 
in voll ausnutzen will wie RAM und dem IO-Board mit SD-Kartenslot. Ich 
ziele auf 50€ bis 70€ ab, deswegen "für Arme". Ein großen Teil der 
Kosten nimmt der ECP5 mit 30€ ein, der RAM je nach Größe im Schnitt 10€ 
(wenn man mit 64MB geht). Mit dem RAM könnte man auch gucken, ob man 
nicht die Module vom Mister nicht nimmt oder Notebook SDRAM. Ich hab mir 
gedacht, man könnte noch zusätzlich einen ICE40 FPGA mit 1k 
Logikelementen, der primär für die Komunikation zwischen Raspberry Pi, 
ecp5 FPGA, Gamecontrollern und Displays verantwortlich ist. Ich hab mir 
gedacht, das man so ein Parallel RGB, VGA und SPI Display am Pi haben 
kann, worauf der Pi und der FPGA zugreifen können, ohne das jedes mal 
ein Teil des FPGA nur für diese Interfaces draufgehen. (Warum 
SPI-Display? Damit man auch ein Handheld bauen kann). Oder man kann die 
GPIOs des Pi's komplett an den ecp5 durchreichen (Der ICE40 übernimmt 
dann aber immer noch die Displaycontroller). Der ICE40 ist nur eine 
optionale Überlegung, aber der kostet nur 3 bis 4 Euro, aber es sind 
zusatzkosten, aber ich bin mir da nicht sicher. Diese paar Euro könnte 
man einsparen, oder in den Ram stecken.
Was ist eure Meinung dazu? Habt ihr weitere Ideen?

von Zyniker mit Fachwissen (Gast)


Lesenswert?

R4pt0r schrieb:
> Was ist eure Meinung dazu?

Finanztechnisch gesehen schwachsinn!

von Notfallseelsorge (Gast)


Lesenswert?

Wer entwickelt und baut das zu welchen Kosten?

von Keiler (Gast)


Lesenswert?

Ausserdem frage ich mich, wie Platinen ohne Absätze wohl aussehen....

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

R4pt0r schrieb:
> Was ist eure Meinung dazu?
Zum Booten des FPGAs einen dreiviertel GHz-Rechenboliden getaktet mit 
einer Frequenz, von der ein FPGA nur träumen kann? Auf die Idee wäre ich 
jetzt nicht auf Anhieb gekommen.

> man könnte noch zusätzlich einen ICE40 FPGA mit 1k Logikelementen
Hat das FPGA zu wenig Pins/Balls?

> der primär für die Komunikation zwischen Raspberry Pi, ecp5 FPGA,
> Gamecontrollern und Displays verantwortlich ist.
Wenn ich einen annähernd GHz Rechner drauf habe, dann darf da nicht ein 
kleines FPGA als Bremse in Richtung des "eigentlichen" FPGAs drin sein. 
Sondern da muss ich mit einem anständig schnellen Bus auf dem Niveau von 
PCIe mit dem FPGA kommunizieren können.

> Ich ziele auf 50€ bis 70€ ...  ECP5 mit 30€ .. RAM im Schnitt 10€
Die restlichen Bauteile, die Platine, die Bestückung, der Test, das 
Handling und die Entwicklung von Beispielanwendungen zum "Anfixen" 
dürfen dann 10€ kosten?

Und das bei relativ geringen zu erwartenden Stückzahlen...

Ich denke, du musst da mal deine Träume strukturieren, ein Factsheet 
oder Datenblatt daraus machen und herumfragen, ob jemand sowas brauchen 
könnte und was es ihm wert wäre.

von Blechbieger (Gast)


Lesenswert?

Faustregel Herstellungskosten x4 = Verkaufspreis um nach 
Entwicklungskosten und Vertriebskosten noch ein bisschen zu verdienen. 
Selbst wenn Du freiwillige Mitstreiter findest und auf Gewinn 
verzichtest wirst du wahrscheinlich die aktuellen Preise für einen DE-10 
Nano nicht unterbieten können. Und da selten der erste Schuß sitzt 
rechne mit vierstelligen Kosten für Prototypen und langen Verzögerungen. 
Mit Pech ist die Chipkrise vorbei bevor du fertig bist.

von Martin S. (strubi)


Lesenswert?

Es gibt bereits die ul3xs von Radiona (hinter denen ein gewaltiges Team 
steckt). Die wuerde ich mir erst mal genau ansehen, Komplexitaeten 
abschaetzen, und dann nochmal ueber die Buecher gehen, denn die Rechnung 
stimmt so nicht.
Alle me-too-Ansaetze, die nicht 'keep it simple' sind, sind gemaess den 
obigen Hinweisen einiger Kommentatoren typischerweise zum Scheitern 
verurteilt. Apropos: Wenn ich schon RPi lese, ist bei mir das Interesse 
schnell verflogen.

von Cartman (Gast)


Lesenswert?

Wer etwas so schlecht dokumentiertes wie einen RPi an einen FPGA
anschliessen will, hat nicht alle Latten am Zaun.
Und Lattice hat bei mir sowieso Hausverbot!

Frohe Weinachten!

von R4pt0r (Gast)


Lesenswert?

Lothar M. schrieb:
> Wenn ich einen annähernd GHz Rechner drauf habe, dann darf da nicht ein
> kleines FPGA als Bremse in Richtung des "eigentlichen" FPGAs drin sein.
> Sondern da muss ich mit einem anständig schnellen Bus auf dem Niveau von
> PCIe mit dem FPGA kommunizieren können.
Ein guter Einwand. Aber nur der Raspberry Pi 4 Compute Module hat PCIe 
und ich werde einen ecp5 ohne SERDES nehmen. Theoretisch könnte man eine 
Variante machen, die so ein Compute Module aufnimmt, aber 1. ich hab 
kein Compute Module 4, und 2. Viel Spas eines zu bekommen, sind 
weitestgehend vergriffen oder extrem teuer.


Lothar M. schrieb:
> Die restlichen Bauteile, die Platine, die Bestückung, der Test, das
> Handling und die Entwicklung von Beispielanwendungen zum "Anfixen"
> dürfen dann 10€ kosten?
Ich will auf dem Board neben dem FPGA, Flash, Connectoren und 
Spannungsversorgung und eventuell dem eventuellen DRAM nichts weiteres 
draufpacken. Kein Gyroskop, grosartig LEDs oder onboard Display. 
Vielleicht ein DAC für VGA, aber dieser wird mit Widerständen gelöst, 
die wo anders auch auf dem Board zu finden sein werden.


Lothar M. schrieb:
> Hat das FPGA zu wenig Pins/Balls?
Stimmt auch wieder, also ICE40 weg.




Cartman schrieb:
> Wer etwas so schlecht dokumentiertes wie einen RPi
Der SoC ist nicht der am beste dokumentierte von allen, aber dafür 
Support in Form von Software (OS und Co) gut. Die ganzen China-Boards 
mit ihren Allwinner (und Rockchip) SoC's haben besser dokumentierte 
SoC's, aber wenn es um Sofware geht, naja. Und andere SoC's wie von NXP 
sind auf Boards, wo beim Preis noch eine 0 am Ende dazu kommt.


Cartman schrieb:
> einen RPi an einen FPGA
> anschliessen will, hat nicht alle Latten am Zaun.
Dann sind so einige, die nicht mehr alle Latten am Zaun haben wie der 
Macher von diesem Board:
https://blackmesalabs.wordpress.com/2017/02/07/icezero-fpga-board-for-rasppi/
oder von diesem Board:
http://icoboard.org/


Cartman schrieb:
> Und Lattice hat bei mir sowieso Hausverbot!
Bei mir nicht. Die ICE40 und ECP5 FPGAs sind die einzigen mir einer 
vollständigen Open Source Toolchain, weswegen ich bei meinem Board den 
ECP5 nehme und nicht mit etwas anderen.

von Notfallseelsorge (Gast)


Lesenswert?

Wieso überhaupt getrennt einen quasi Computer mit CPU und FPGA? Wieso 
kein SoC wie Zynq? Also was glaubst du damit zu lösen was es noch nicht 
gibt?

von Cartman (Gast)


Lesenswert?

> der Macher von diesem Board

Ein oder zwei Schwalben machen noch keinen Sommer.

> einer vollständigen Open Source Toolchain

Was soll daran besser als Quartus Pro 21.4 sein?
Weil es Open ist? Hast du es schon mal selber gebaut?
Weil man im Quelltext suchen muss, was die Dokumentation
nicht hergibt?

von Gustl B. (-gb-)


Lesenswert?

Cartman schrieb:
> Quartus Pro 21.4

Der Preis?

von Cartman (Gast)


Lesenswert?

> Der Preis?

Gute Frage!
Naechste Frage.

Mann redet ueber seine Konditionen doch nicht.

von Tobias (. (Gast)


Lesenswert?

Cartman schrieb:
> Wer etwas so schlecht dokumentiertes wie einen RPi an einen FPGA
> anschliessen will, hat nicht alle Latten am Zaun.
> Und Lattice hat bei mir sowieso Hausverbot!

Uiuiui, was haben wir denn gegen Lattic?
So schlecht dokumentiert ist der RsPi nicht, finde ich und was soll man 
da auch wissen? Man schaut vom BS runter auf die Pins, geht alles.

R4pt0r schrieb:
> seit einiger Zeit habe ich eine Idee für ein FPGA-Dev-Board,
Diese Idee hatten andere auch schon:

https://shop.trenz-electronic.de/de/TE0726-03-41C64-A-ZynqBerry-SoC-Modul-mit-Xilinx-Zynq-7010-Raspberry-Pi-2-kompatibel

von Olaf (Gast)


Lesenswert?

> Zum Booten des FPGAs einen dreiviertel GHz-Rechenboliden getaktet mit
> einer Frequenz, von der ein FPGA nur träumen kann? Auf die Idee wäre ich
> jetzt nicht auf Anhieb gekommen.

Vielleicht soll es ja unter Python laufen. :-D


Mir leuchtet ja der Sinn irgendwelcher Hersteller/Demo-Boards fuer 
Firmen oder Studenten ein. Aber so auf Bastlerlevel, sollte man da nicht 
zuerst mal klaeren
was man genau mit dem Board machen will? Also die Frage nach dem Sinn
des Lebens?

Hinzu kommt noch das ich moeglichst kleine Boards die man mit 
Pfostenstecker
irgendwo draufstecken kann dann sinnvoller finde. Einfach deshalb weil 
der FPGA Kram ja teuer und intellektuell aufwendig ist und man denn dann 
auf mehrere eigene Bastelboards stecken kann.

Olaf

von Cartman (Gast)


Lesenswert?

> Uiuiui, was haben wir denn gegen Lattic?

Wer noch ein paar isp1016/2032/... hat, weiss warum.

von R4pt0r (Gast)


Angehängte Dateien:

Lesenswert?

Ich hab den Schaltplan für die erste Version gemacht. Ich hab als Basis 
mitunter den Schaltplan vom Hackaday Badge 2019 und die Checkliste von 
Lattice (aber nur einen kleinen Teil davon, weil ich die nicht-5G 
Variante nehme und das meiste auf die SERDES eingeht, die aber ihr nicht 
gibt). Ich habe für diese Version keinen RAM, damit ich eine 
Fehlerquelle weniger habe und damit ich das Board etwas "algemeiner" 
verwenden kann. Stromversorgung sind für das erste für 3.3v und 2.5v 
klassische AMS1117 (oder was man so grad bekommt). Leider gibt es keine 
AMS1117 für 1.1v und 1.2v sind ausserhalb von den 5%, also werde ich 
testweiße den M3406 nehmen. Ich hatte ursprünglich die kurz Idee, einen 
AMS1117-1.5 oder AMS1117-1.2 zu nehmen und dahinter eine Schottky-Diode 
zu hängen, damit ich auf 1.1v etwa komme, aber paar Sekunden später hab 
ich mich dagegen entschieden. Fürs erste hab ich im Schaltplan den ECP5 
in csfBGA-285 drinnen, aber überlege denn gegen einen in caBGA-381 zu 
tauschen.
Ich wollte nur fragen, ob ich im Bereich der "Config"-Pins und dem Flash 
und eventuell gravierendes übersehen habe und ob ich bei denn Pins 
eventuell etwas übersehen habe (das bestimmte Pins nicht genutzt werden 
dürfen), Pinout aber in dem Bereich wird sich (garantiert)ändern, damit 
ich nicht eine Leiterbahn "quer" über die ganze Platine ziehen muss.
Der Schaltplan ist noch nicht aufgeräumt, deswegen ist noch einiges 
"zusammengeknubelt".

von user32 (Gast)


Lesenswert?

R4pt0r schrieb:
> ürs erste hab ich im Schaltplan den ECP5
> in csfBGA-285 drinnen,

Der hat doch 0.5mm Pitch, das willst Du nicht ohne Not (macht die 
Platine teuer).

von Gustl B. (-gb-)


Lesenswert?

Natürlich nicht, aber guck dir den Schaltplan an. Das sieht nicht so 
wirklich ernst gemeint aus. Die paar Kondensatoren an den Versorgungen 
sind eher ein schlechter Witz. Kein ESD Schutz an den IOs wie den PMODs. 
Keine Schutzbeschaltung für VCC, keine Bauteilbezeichnungen für die 
Taktgeber, Flash, ... da kann man dann auch nicht prüfen ob die Pegel 
passen.

Ist eben ein Anfang, aber da wird sich noch einmal Alles ändern.

von Hardwerker (Gast)


Lesenswert?

Solange Du nicht definierst, welches Retro du darauf machen willst und 
welches nicht, wird das nix mit einer sauberen und preisbewussten 
Konstruktion. Dein Ansatz, keine dedizierte CPU vorzusehen sondern diese 
mit einem FPGA nachzustellen ist bekanntermassen die teuere Variante.

Also, lege fest welche Systeme du nachstellen willst, IMHO sollte man 
dazu mindestens eine Entscheidungslinie zwischen 8 bit und 16 bit legen. 
Also zwischen Commodore C64 als 8 bit system und Commodore aMIGA 500. 
Natürlich kann man auch noch in richtung 32bis systeme wie Acorn 
Archimedes oder Amiga 3000 schielen, aber spätestens dann sprengt die 
Einschränkung auf CPU-Emulation den Kostenrahmen und es führt nicht 
wirklich ein (kostengünstiger) Weg an einer halbwegs originallen (ASIC) 
32bit CPU wie 68020 oder 68040 (FPU) vobei. So mal zur Einordnung, so 
ein 68040 hat ca. 16 mal soviel Transistoren wie ein 68000 und schon ein 
68000 braucht einen mittel- bis großen LowEnd FPGA zum Nachbau.

Hast Du schon mal eine Probesynthese einer Retro-geeigneten 16bit CPU 
für den Lattice durchgeführt? Oder wenigstens für das 8 bit urgestein 
6502? Manchmal scheitert es schon an der Anzahl der IO-Pins, während der 
6502 im 40-Pin Gehäuse daher kommt, ist es beim 68020 eines mit 169 
Anschlüßen.

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.