Forum: FPGA, VHDL & Co. Verständisfrage: Einschätzung der FPGA "Größe"


von Peter (Gast)


Lesenswert?

Hallo!

Unter http://www.bugblat.com/products/pif/ gibt es ein FPGA Board / 
Aufsatz für den Raspberry Pi. Die größere der beiden Versionen arbeitet 
mit einem Lattice XO2-7000, der über den Raspberry angesprochen und 
programmiert werden kann.

Was haltet ihr von diesem Ding als Einsteigerboard? Was kann mit den 
6864 LUTs so angestellt werden? Ich denke da beispielsweise an LCD 
Ansteuerung. Reicht es für Softcores (bspw. Atmel 8bit uC oder etwas wie 
einen Z80)? Ich möchte einfach gerne ein Verständnis für die 
Größenordnung bekommen.

Vielen Dank!

von Jan M. (mueschel)


Lesenswert?

Hallo Peter,
auch wenn der FPGA im Vergleich zu den aktuellen Flagschiffen sehr klein 
ist, geht doch eine Unmenge rein. Für einen AVR core habe ich 
irgendetwas um 1.5k slices im Kopf. Ein Grafik-LCD-Controller passt ohne 
Probleme in 1000 slices, und da sind auch schon ein paar 
Zeichenfunktionen dabei.
Für den Einstieg ist die MachXO2 Serie sicher empfehlenswert. Aber warum 
nicht das Evaluation Board von Lattice? Das hat einen USB-Anschluss mit 
dem man es an jeden PC anschließen kann zum Programmieren und um Daten 
auszutauschen. Außerdem noch ein paar zusätzliche LED und wahrscheinlich 
noch ein paar mehr I/O. Der Preis wäre auch noch ein wenig günstiger.

von Peter (Gast)


Lesenswert?

Hallo Jan,

danke für Deine Antwort!

Jan M. schrieb:
> Aber warum
> nicht das Evaluation Board von Lattice?

Ich habe das Ding in der Liste der Board von Lattice gefunden.. Im 
Gegensatz zu dem günstigen Einstiegsboard ist dort halt der "Größte" aus 
der Serie (XO2-7000) verbaut, lässt also mehr Luft nach oben. Oder wie 
siehst Du das? Ich lasse mich gerne eines besseren belehren...

von Jan M. (mueschel)


Lesenswert?

Such mal nach "MachXO2 Breakout Board" - dort ist auch ein 7000er 
verbaut.

von Peter (Gast)


Lesenswert?

Ja, stimmt, danke!

Hast Du zufällig eine Idee wo man es ohne horrende Versandkosten 
bestellen kann?

von Andreas B. (andreas_b77)


Lesenswert?

Die Frage war schon mal vor kurzem… Am einfachsten wäre wohl die 
allgemeine Sammelbestellung bei Mouser, die im Markt-Forum regelmäßig 
läuft: Beitrag "[Biete] Sammelbestellung de.Mouser.com 2014"

von Strubi (Gast)


Lesenswert?

Peter schrieb:
> Was haltet ihr von diesem Ding als Einsteigerboard? Was kann mit den
> 6864 LUTs so angestellt werden? Ich denke da beispielsweise an LCD
> Ansteuerung. Reicht es für Softcores (bspw. Atmel 8bit uC oder etwas wie
> einen Z80)? Ich möchte einfach gerne ein Verständnis für die
> Größenordnung bekommen.

Würde auch das Breakout-Board nehmen. Da kann man einiges anstöpseln.
Als Soft-Core würde ich gleich einen richtigen 32-Bitter nehmen (auch 
wenn für den MachXO2 überdosiert): ZPU small (Zealot), siehe auch 
http://zylin.com/pipermail/zylin-zpu_zylin.com/2014-July/002035.html. 
Der rennt auch in der Simulation relativ flott, so dass man prima die 
"harten" Fehler in seinem Programm finden kann.

Grüsse,

- Strubi

von Peter (Gast)


Lesenswert?

Strubi schrieb:
> Würde auch das Breakout-Board nehmen. Da kann man einiges anstöpseln.
> Als Soft-Core würde ich gleich einen richtigen 32-Bitter nehmen (auch
> wenn für den MachXO2 überdosiert): ZPU small (Zealot), siehe auch
> http://zylin.com/pipermail/zylin-zpu_zylin.com/2014-July/002035.html.
> Der rennt auch in der Simulation relativ flott, so dass man prima die
> "harten" Fehler in seinem Programm finden kann.

Danke für die Info und den Link!

Mich hatte halt ein wenig irritiert, dass die meisten Projekte, die 
irgendwo im Netz zu finden sind gleich immer die FPGAs mit >= 20k LUTs 
verwenden (Spartan 3E & Co).

von Grendel (Gast)


Lesenswert?

Ich hab schon einige wissenschaftliche Paper gesehen wo ein dickes 
Virtex-4/5/6 mit ca. 100 - 400k LUTs verwendet wurde und dann hübsche 
Tabelle zum Schluss wo alle benötigten Ressourcen so bei um die 5% herum 
lagen also wahrscheinlich auch ein mittlerer Spartan-3 gereicht hätte 
;-)

Wenn da halt sowieso ein Board damit herumfliegt... nimmt man das eben 
auch wenn es für die konkrete Anwendung noch nicht voll genutzt wird... 
später bekommt man es wahrscheinlich doch voll.

(bisschen wie früher bei neuen Festplatten - boah eine 1GByte Platte - 
die bekomm ich ja nie voll ;-) )

von Sigi (Gast)


Lesenswert?

Peter schrieb:
>Unter http://www.bugblat.com/products/pif/ gibt es ein FPGA Board /
>Aufsatz für den Raspberry Pi.

Schau dir einfach mal ein vergleichbares Produkt an:
http://excamera.com/sphinx/gameduino/
Das Board hat einen relativ kleinen FPGA (Xilinx XC3S200A), entspricht
also iE dem Kleineren der beiden XO2-Boards.
Was mich aber am XO2-Board sehr stören würde ist der fehlende Speicher
(kein SRAM oder SDRAM), und genau den braucht mal für z.B. 32bittige
Soft-Cores. Evtl. kann man den aber über die freien Pins nachrüsten?

von Christian R. (supachris)


Lesenswert?

Grendel schrieb:
> Ich hab schon einige wissenschaftliche Paper gesehen wo ein dickes
> Virtex-4/5/6 mit ca. 100 - 400k LUTs verwendet wurde und dann hübsche
> Tabelle zum Schluss wo alle benötigten Ressourcen so bei um die 5% herum
> lagen also wahrscheinlich auch ein mittlerer Spartan-3 gereicht hätte
> ;-)

Naja, FPGAs setzt man in der Regel da ein, wo man vorher noch nicht 
genau weiß, was alles rein muss. Und solche großen FPGAs kommen 
hauptsächlich dann zum Einsatz, wenn man die speziellen Features wie 
viel BRAM, DSP Slices, Transceiver, SERDES usw. benötigt. Sowas haben 
die kleinen FPGAs nicht oder nur sehr wenig. Der XO da hat extrem wenig 
BRAM, klar wenn man nur bissl spielen will, oder einfache Logik-Sachen 
macht, reicht das sicherlich.

Auf Arbeit verwenden wir momentan den Artix 7 200T, da haben wir auch 
nur ca. 20% Auslastung der Slices, aber wir brauchen den MGT, die 
schnellen ISERDES, nahezu alle BRAMs, um die 100 DSP48 und ein paar von 
den MMCMs.

Das wertvollste an FPGAs ist eigentlich immer der BRAM, denn wo kriegt 
man sonst schnell angebundenen und feingranularen Speicher. Ein FIFO mit 
500MHz extern anklemmen ist nicht machbar.

Außerdem ist dir Routingzeit exponentiell vom Füllgrad abhängig. Bei 
Xilinx kann man kaum über 70% Füllgrad gehen, ohne dass der sich zu Tode 
routet. Und dann kriegt man schnell übles Timing, wennn man ein Detail 
ändert, geht plötzlich an 5 anderen Stellen nix mehr usw. Da nimmt man 
dann lieber einen Nummer größer.

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.