Forum: FPGA, VHDL & Co. [S] günstigen FPGA Einstieg


von Georg I. (dschi-ai)


Lesenswert?

Hallo zusammen,

Für den Aufbau einer seriellen Datenübertragung (hauptsächlich Layer 2) 
bin ich mit µC am Ende der Fahnenstange, da das ganze in Software zu 
langsam ist. Die Logik ist relativ überschaubar, somit wäre 
programmierbare Logik ja genau das richtige dafür.
Die Eckdaten der Datenübertragung sind ca. 10-15Mbit/s, seriell 1xTX 
1xRX, CRC, Paketlänge max. 4096bit, Daten Ein-Ausgang über SPI von µC, 
Puffer für min. 10 Pakete.

Das Projekt wäre für mich ein Grund zum FPGA-Einstieg, dehalb bin ich 
auf der Suche nach günstigen Dev-Boards. Günstig deshalb, weil ich zum 
Testen min. drei Boards bräuchte. Vielleicht bin ich einfach verwöhnt 
von den niedrigen Preisen der STM32 Boards, aber >>50€*3 wäre mir zu 
viel. Unter 100€ würde ich dann doch gerne wegkommen.

Ich bin, wie gesagt, zukünftiger Einsteiger und somit auch unerfahren 
was das quantifizieren der benötigten Logikelemente geht. Wie schätzt 
man so etwas ab? Welche Logikfamilien kann man empfehlen (Dev-Board und 
Beschaffbarkeit den Einzel-Chips sind natürlich auch ein Thema; Eine 
freie Entwicklungsumgebung wäre vorerst Pflicht; Infos, ein paar 
Beispiele zum Einstieg und evtl. ein Forum sollten natürlich auch 
irgendwo vorhanden sein)?

<edit>
Eine Gehäuse mit <100 Pins wäre auch noch ein Wunsch, brauche ja 
insgesamt eh nur ~6 Pins
</edit>


Wer kann da weisen Rat erteilen?

Gruß,
Georg

: Bearbeitet durch User
von [ ] (Gast)


Lesenswert?

> Eine freie Entwicklungsumgebung wäre vorerst Pflicht

[ ]

von Markus F. (mfro)


Lesenswert?

[ ] schrieb:
>> Eine freie Entwicklungsumgebung wäre vorerst Pflicht
>
> [ ]

Da ist wohl nicht "frei", sondern eher "kostenlos" gemeint? Sonst wird's 
schwör.

von Lothar (Gast)


Lesenswert?

Georg I. schrieb:
> Für den Aufbau einer seriellen Datenübertragung (hauptsächlich Layer 2)
> bin ich mit µC am Ende der Fahnenstange, da das ganze in Software zu
> langsam ist.

> Die Eckdaten der Datenübertragung sind ca. 10-15Mbit/s, seriell 1xTX
> 1xRX, CRC, Paketlänge max. 4096bit, Daten Ein-Ausgang über SPI von µC,
> Puffer für min. 10 Pakete

Als uC sollten die LPC4300 das schaffen. Das LPC4370 204MHz Eval-Board 
gibt es für 20 EUR weil das auch als Realtime-Debugger für alle anderen 
LPC genutzt wird. Die serielle Übertragung kann einer der M0-Kerne mit 
einer Serial Engine übernehmen. Hat auch noch einen 80MSPS ADC falls 
sowas gebraucht wird:

http://thomasweldon.com/tpw/lpc4370/lpc4370tutorial1/index.html
https://www.conrad.de/de/entwicklungsboard-embedded-artists-ea-xpr-200-om13054-1027653.html?gclid=CLaau--Uj80CFYcp0wodYp4BeA&insert_kz=VQ&hk=SEM&WT.srch=1&WT.mc_id=google_pla&s_kwcid=AL!222!3!87573002337!!!g!!&ef_id=V1MzlwAABc8x7rS5:20160604200127:s

Aber auch ein Pi Zero kann das in Bare Metal bis zu 50Mbit/s. Als 
Grundlage kann man ein Minimal-Betriebssystem nehmen und das in ARM 
Assembler machen:

http://www.valvers.com/open-software/raspberry-pi/step01-bare-metal-programming-in-cpt1/
https://www.riscosopen.org/content/sales/risc-os-pico

von Nobbi (Gast)


Lesenswert?

15 MBit/s und "Logik relativ überschaubar" ist für moderne 
Mikrocontroller (z.B. STM32F4) eigentlich locker machbar, da geht auch 
mehr.
Aber das muss Dich natürlich nicht davon abhalten mit FPGAs zu spielen 
;-)

von Georg I. (dschi-ai)


Lesenswert?

Ich habe es auf einem CM4 mit 168MHz laufen, das klappt schon halbwegs, 
aber schoen ist es nicht. Mir tut halt das Herz weh, wenn ich Logik in 
Software nachbaue und damit einen CM4 Core gut beschaeftige, was aber 
prinzipiell in 74er Logik nachbaubar waere (auch, wenn es wohl einen 
halben Quadratmeter in DIL brauchen wuerde). Ich sehe es fuer mich als 
Grund, endlich mal in die Welt der FPGA einzusteigen, gereizt hatte es 
mich schon laenger. Deshalb auch meine Anfrage hier zu FPGA.

von Andreas R. (daybyter)


Lesenswert?


von Lothar (Gast)


Lesenswert?

Georg I. schrieb:
> wenn ich Logik in Software nachbaue und damit einen CM4 Core
> gut beschaeftige

Wie gesagt die LPC4370 haben eine Serial Engine (SGPIO) die macht das 
alleine. Der M4F Kern ist frei für anderes z.B. DSP und der M0 Kern kann 
sich um ADC oder CAN kümmern. Billiger als das günstigste FPGA ist der 
auch noch.

> endlich mal in die Welt der FPGA einzusteigen

Das ist sicher interessant, aber jedes Jahr halbiert sich der 
FPGA-Umsatz und der uC-Umsatz verdoppelt sich. Das hat schon seine 
Gründe. Problematisch ist eher, dass es kaum noch CPLD gibt. Daher 
kommen jetzt die ersten uC mit integrierter "Configurable Logic"

von Nils P. (torus)


Lesenswert?

Ich hab mit den XuLa Boards von Xess angefangen. Diese basieren auf den 
Xilinx FPGAs. Die Anleitung zur Inbetriebname speziell für Anfänger 
geeignet weil wirklich alles bis zum ersten Blinky-Test Step-by-Step 
durchgekaut wird.

Die FPGA Entwicklungsumgebung ist natürlich nicht Open Source aber 
immerhin kostenlos.

Man braucht keinen externen Programmer. Auf dem Board ist ein kleiner 
Microcontroller der den JTAG Part übernimmt. Upload-Tools gibt es als 
Python-Scripts die unter Windows, Linux und ich glaube auch auf Mac 
läufen.


Kaufen kann man die Boards auch in Deutschland bei Trenz:

  https://shop.trenz-electronic.de/de/25897-XuLA2-LX9

Oder vielleicht gleich das große Board:

  https://shop.trenz-electronic.de/de/24817-XuLA2-LX25


Achja, brauchst Du wirklich 3 Boards für den Anfang? Da es ja eh ein 
FPGA ist und Du nur 6 Pins brauchst spricht doch nichts dagegen Deine 
drei Instanzen erst mal in einen FPGA zu packen und das in drei Gruppen 
mit 6 Pins rauszuführen. Vom Platz sollte das kein Problem sein.

von Fitzebutze (Gast)


Lesenswert?

Lothar schrieb:
> Das ist sicher interessant, aber jedes Jahr halbiert sich der
> FPGA-Umsatz und der uC-Umsatz verdoppelt sich. Das hat schon seine
> Gründe. Problematisch ist eher, dass es kaum noch CPLD gibt. Daher
> kommen jetzt die ersten uC mit integrierter "Configurable Logic"

Woher hast Du diese Auffassung?
Frag mal bei Lattice nach, was die kleinen FPGAs für einen Umsatz 
machen, und wo die überall drinstecken. Oh! Sogar in Handies. Seit 
MachXO2 braucht man die CPLD-Technologie nicht mehr wirklich.
uC mit konfigurierbarer Logik gibt es, seit es ABEL gibt. Nur sind die 
entwicklungstechnisch, im Gegensatz zu FPGAs mit integrierter Hard-CPU 
(also andersum) nicht wirklich der Renner.

Ansonsten: Spartan3-Entwicklungsboards gibts schon bei DealExtreme ab 22 
EUR.
Auf die kriegt man auch schon ne 32-Bit-Soft-CPU drauf. Das ganze System 
lässt sich zudem taktgenau simulieren, es gibt auch verschiedene 
Projekte mit robusten JTAG-Debuggern über das native Interface.

von Lothar (Gast)


Lesenswert?

Fitzebutze schrieb:
> Frag mal bei Lattice nach, was die kleinen FPGAs für einen Umsatz
> machen, und wo die überall drinstecken. Oh! Sogar in Handies

Dann schau dir mal einen Teardown an, in einem Mobiltelefon sind 10x 
mehr Cortex-M als FPGA

Fitzebutze schrieb:
> uC mit konfigurierbarer Logik gibt es, seit es ABEL gibt. Nur sind die
> entwicklungstechnisch, im Gegensatz zu FPGAs mit integrierter Hard-CPU
> (also andersum) nicht wirklich der Renner

Die Vorstellung ist tatsächlich, dass es super ist, z.B. ein Zynq FPGA 
mit zwei Cortex-A zu haben. Ein Cortex für Linux, der andere Bare-Metal 
für DSP und das FPGA für I/O. Es gibt aber kaum Entwickler, die Experten 
für alle drei sind. In der Praxis ist dann ein Programmierer dran, der 
versucht, möglichst alles auf den Cortex zu machen, oder ein 
E-Techniker, der versucht, möglichst alles im FPGA zu machen. Das 
Ergebnis ist meist noch schlechter als Prozessor und FPGA getrennt zu 
entwickeln.

von Marktschreier (Gast)


Lesenswert?

Lothar schrieb:
>> endlich mal in die Welt der FPGA einzusteigen
>
> Das ist sicher interessant, aber jedes Jahr halbiert sich der
> FPGA-Umsatz und der uC-Umsatz verdoppelt sich.

Lothar schrieb:
> Fitzebutze schrieb:
>> Frag mal bei Lattice nach, was die kleinen FPGAs für einen Umsatz
>> machen, und wo die überall drinstecken. Oh! Sogar in Handies
>
> Dann schau dir mal einen Teardown an, in einem Mobiltelefon sind 10x
> mehr Cortex-M als FPGA


Was hat das mit dem Umsatz aller FPGA Hersteller zu tun?
Also, woher hast Du die Info das sich der UMSATZ (in Dollar) des FPGA 
Markts halbiert?

Falls Du Stückzahlen meinst, kann ich das nicht beurteilen aber der 
MARKT für FPGAs wächst (in Dollar).

Und seit Lattice seine FPGAs in Consumer Anwendungen hat, könnten die 
Stückzahlen sogar gestiegen sein. Ist ja egal ob 10 Cortexe auf ein FPGA 
kommen - erhöht dennoch die Stückzahl.


Beim Zynq haste aber recht - liegt aber teilweise auch am viel zu hohen 
Preis... das taugt halt nicht für große Verbreitung und damit viele 
Anwender...

von asdfasd (Gast)


Lesenswert?


von Torben K. (tokuhila)


Lesenswert?

Nimm doch wie schon erwähnt die billigen Altera-Boards vom Chinesen. 
EP2C5 für ~15€, EP4CE6 für ~20€

von Andi (Gast)


Lesenswert?

Von Lattice gibts Entwicklungsboards um die 25€ (MachXO2/3, IceStick). 
Der IceStick wird von IceStorm, der einzigen OpenSource FPGA 
Entwicklungsumgebung, die ich kenne, unterstützt.

Günstige FPGAs haben oft nur wenig internes RAM (auch die genannten 
China-Boards). Du brauchst ja min. 40kByte, also fallen auch die 
wirklich günstigen Lattice MachXO2/3 oder ICE40 weg, es sei denn du 
schliesst ein externes RAM an, was oft billiger ist als ein grösseres 
FPGA zu nehmen.

In Frage kommt z.B. ein Altera Max10 10M08 mit 42kB RAM. Da gibts das 
BeMicro-Max10 Entwicklungsboard für 30$.

Andi

von Schlumpf (Gast)


Lesenswert?

Andi schrieb:
> Du brauchst ja min. 40kByte,

Er braucht ca 40 kBit, nicht kByte

von Andi (Gast)


Lesenswert?

Schlumpf schrieb:
> Er braucht ca 40 kBit, nicht kByte

Ah, okay, dann würde ich natürlich die kleinen Lattice FPGAs nehmen.
Gibts auch mit nur 10 IOs für etwa 1.40€, allerdings in schwer 
handhabbaren Gehäusen.
ICE40-Ultra gibts in QFN48 mit 7x7mm.
MachXO2/3 haben Onchip-Flash und günstigere Entwicklungsboards, 
allerdings auch wieder nur diese microminiatur-BGAs, oder dann gleich 
100 oder 144 Pins.

Generell fehlen FPGAs in TQFP 32,48,64 was ja bei Mikrocontrollern 
üblich ist. Lattice hat wenigstens ein QFN32 MachXO2 angekündigt.

von Rene V. (creep)


Lesenswert?

Andreas R. schrieb:
> Sowas für den Anfang?
>
> 
http://www.ebay.com/itm/ALTERA-FPGA-Cyclone-II-EP2C5T144-Minimum-System-Development-Board/201070505640

Mit genau diesem Board habe ich auch angefangen. Die Inbetriebnahme mit 
der Altera Software (13.1, glaube ich darf es maximal sein) ist mit dem 
Tutorial nahezu idiotensicher. Inzwischen habe ich mehrere Boards davon. 
Auf einem läuft z.B. ein Z80 als Mikrocomputer, mit minimaler Peripherie 
sogar mit CP/M.

Vorteil dieses Boards gegenüber vielen anderen:

- Keine Displays, Pieper usw. mit drauf - die kosten später nur unnötig 
I/O-Pins. Auch, wenn sie für den Einsteiger erstmal interessant 
aussehen.
- Viele Pins für einene Integration frei.
- Simpler Aufbau, Schaltplan leicht verständlich und ins Design 
übernehmbar.
- BILLIG! Keine große Hemmschwelle, ins Thema FPGA einzusteigen.

Gruß, Rene

PS: Gibts für knapp 30€ auch mit Versand aus Deutschland inkl. 
USB-Blaster zum Programmieren.

: Bearbeitet durch User
von Schlumpf (Gast)


Lesenswert?

Ich für meinen Geschmack finde die Entwicklungsumgebung von Lattice 
(Diamond) deutlich übersichtlicher und schlanker gehalten, als die von 
Altera (Quartus). Oder anders gesagt: intuitiver.

Die Reports z.B. sind übersichtlicher strukturiert als bei Quartus und 
spätestens beim Constraining für die STA ist Quartus deutlich 
umständlicher als Diamond.
Um hier vernünftig arbeiten zu können, muss man sich parallel noch in 
SDC und TCL einarbeiten. Eine zusätzliche "Belastung" für den Anfänger, 
die eigentlich im Grundsatz erst mal nichts mit dem Verständnis von FPGA 
zu tun hat.

Gerade für einen Einsteiger könnte das eventuell auch ein 
Auswahlkriterium sein.

Das ist aber nur meine persönliche Meinung.

Ein kleines, schickes Board von Lattice wäre z.B. dieses hier:

http://www.latticesemi.com/Products/DevelopmentBoardsAndKits/MachXO2BreakoutBoard.aspx

von Martin S. (strubi)


Lesenswert?

Andi schrieb:
> Generell fehlen FPGAs in TQFP 32,48,64 was ja bei Mikrocontrollern
> üblich ist. Lattice hat wenigstens ein QFN32 MachXO2 angekündigt.

Wünsche ich mir auch schon lange: FPGAs mit anständig Gates und weniger 
Anschlüssen. So als mal ehen Drop-In-Replacement für einen STM32 :-)

Zum Thema Zync: Das ist jetzt vielleich ein Beispiel von "Zuviel des 
Guten".
Es gibt auch einfachere Ansätze. In gewissen Nischenanwendungen, wie sie 
offenbar auch der Thread-Ersteller anpeilt, haben FPGA SoCs (durchaus 
auch Softcore-basierend) die Nase vorn. Alleine die Suche nach dem 
richtigen Chip, ganz abgesehen vom obligatorischen ersten Fehlschlag 
haut die Kosten für die FPGA-Entwicklung teils raus.
Oft heisst es, FPGA benötige viel mehr Expertise gegenüber uC, 
schlussendlich ist es aber doch die Wahl der richtigen Tools und 
Simulatoren, um zu einem robusten Ergebnis zu kommen.
Apropos IDE: Kann Schlumpf nur beipflichten. Nachdem ich jetzt alle 
Tools der drei Hauptverdächtigen (X, A, L) ausprobiert habe, kriegt 
Lattice das Krönchen. Nur die div. Embedded-Umgebungen für CPUs kann man 
den Hasen geben, zumindest wenn man es so einfach und robust haben will, 
wie z.B. bei einem msp430.

Gruss,

- Strubi

von otto (Gast)


Lesenswert?

https://www.amazon.de/Waveshare-OpenEP3C16-C-Package-EP3C16Q240C8N-Development/dp/B00KM6ZVKQ/ref=lp_8390691031_1_1?srs=8390691031&ie=UTF8&qid=1465320573&sr=8-1

Wie ist dieses Board mit dem Zubehör für eine längere Bastelzeit mit dem 
Zubehörteilen zu bewerten ? Es sind ja einige Sachen dabei, die man als 
Laie nicht so schnell dran basteln kann um sich auf das  Beschreiben von 
VHDL zu beschränken. Es bietet interessante Baugruppen die man da in 
Bewegung bringen kann.

Danke.

von Schlumpf (Gast)


Lesenswert?

Liest man die Kundenmeinung zu diesem Board

https://www.amazon.de/XC3S500E-Spartan-3E-Development-LCD1602-LCD12864/dp/B00GU6ARF6/ref=pd_sim_sbs_147_1?ie=UTF8&dpID=51oMgzbpe4L&dpSrc=sims&preST=_AC_UL160_SR160%2C160_&refRID=MD9KCKFZ39E1VZ4KFM5A

(gleicher Hersteller), dann kann man davon ausgehen, dass das bei der 
Altera-Variante ähnlich sein wird.

von Torben K. (tokuhila)


Lesenswert?

Wenn es ein Board mit bisschen drumrum sein soll: 
http://www.ebay.de/itm/Altera-Cyclone-IV-FPGA-Learning-Board-EP4CE6E22C8N-mit-USB-Blaster-Programmer-/112009975074?hash=item1a14509522:g:wPcAAOSwgyxWVGtq

Wenn es der nackte FPGA sein soll, dann ein günstiges Board mit dem 
EP2C5 (10-15€) oder EP4CE6 (20-25€) aus China. Die ganzen Zubehörteile 
aus dem WaveShare-Angebot sind eher für uC sinnvoll und gibts ebenfalls 
für wenig Geld ebenfalls aus China.

von Rene V. (creep)


Lesenswert?

Stimmt, die Rezension ist ziemlich daneben...

von Rene V. (creep)


Lesenswert?

Torben K. schrieb:
> Wenn es ein Board mit bisschen drumrum sein soll:
> Ebay-Artikel Nr. 112009975074


Dieses Board besitzt ich auch. Aber ich hab es bis jetzt deutlich 
seltener benutzt als das "nackte" Cyclone2 Chinaboard. Für erste 
Schritte OK. Aber dann hat man Peripherie drauf, die man grad nicht 
braucht und zu wenig Pins für eigene Erweiterungen. Zum schnellen 
Ausprobieren ist es aber gut. Man kann ohne Hardwareerweiterungen ein 
Mikrocomputersystem mit PS/2-Tastatur und Monitoranschluß designen.

Rene

von Torben K. (tokuhila)


Lesenswert?

Für Experimente in Richtung NIOS II finde ich es wegen VGA, PS/2 und 
SDRAM ganz brauchbar. Für alles andere nehme ich auch lieber die nackten 
Cyclone II/IV Boards, hab mir dazu einen Satz AddOn-Platinen entworfen 
und hab nun div. Stacks mit SDRAM, Wandler, etc. auf dem Tisch.

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.