Forum: FPGA, VHDL & Co. Altera oder Xilinx für Hobbyanwender


von Fragender (Gast)


Lesenswert?

Hallo,
vorab möchte ich sagen, dass ich hier keinen Krieg anzetteln möchte. Ich 
würde gerne wissen, welcher Hersteller Hobbyistenfreundlicher ist. Also 
bei wem mehr in der freien Version der Software geht. Vorallem was 
embedded Prozessoren angeht. Ich blicke da nämlich nicht wirklich durch.

von toni (Gast)


Lesenswert?

Hallo,

ich würde dir Lattice empfehlen.
Ich hab dashir gefunden
http://de.mouser.com/ProductDetail/Lattice/ICE40HX1K-STICK-EVN/?qs=sGAEpiMZZMvnsdhmqAkjhufx2j91viwV

Alternativ gibt es Xilinx Evaluation-Boards von OHO-Electronics.
Die kosten 40€.
Heißen GODIL. Es gibt natürlich noch andere preiswerte.

Bei allen Herstellern würde ich dir empfehlen die kostenlosen 
web-Editionen der Synthese-Software nur zum synthesizen zu benutzen.
Das geht sogar per Kommandozeile oder Makefile.

Simulieren kannst du mit icarus verilog (iverilog) oder ghdl.

von Michael F. (mfuhrmann)


Lesenswert?

Der NIOS II/e von Altera kann komplett kostenlos genutzt werden (IP-Core 
+ IDE + Quartus)

Die kostenlose Version von Quartus kann Cyclone 3 + 4 komplett und 
Cyclone 5 bis einschließlich 150k LE programmieren.

Boards gibt es z.B. von Terasic

Hoffe geholfen zu haben :-)

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


Lesenswert?

Fragender schrieb:
> Vorallem was embedded Prozessoren angeht.
Vergiss diesen Irrweg der Evolution schnell wieder (das ist meine 
persönliche Meinung, sie muss nicht zwingend stimmen, aber ich sehe gute 
Chancen, dass ich langfristig Recht habe... :-).
Jeder Prozessor, der als Softcore in ein FPGA reingepflügt wird, ist 
garantiert langsamer, teurer, ineffizienter und größer als ein 
dedizierter ASIC mit gleicher Leistung (aka. Mikrocontroller). Wenn du 
Rechenleistung braucht, dann flanscht du einen 32Bit ARM Core an ein 
FPGA. Das machen die FPGA Hersteller heutzutage auch alle.

Xilinx hat natürlich auch freie Software, die alles das kann, was du 
willst
(man muss sogar fairerweise sagen, dass X die ersten waren, die den 
teuren Simulator für die Allgemeinheit kostenlos verfügbar machten).

Und eine CPU für lau incl. Quelltext (also nicht nur den verschlüsselten 
Core) bekommst du z.B. dort: Beitrag "Mais-CPU veröffentlicht 32bit Softcore"

von Sigi (Gast)


Lesenswert?

Auch wenn ich persöhnlich eher Xilinx-Anhänger bin, so muss ich
doch bei Embedded uCs im Hobbybereich Altera QuartusII empfehlen.
Ein NiosII-System ist relativ einfach aufgesetzt und eigene
Komponenten dank einfacher Docs auch in der begrenzten Hobbyzeit
noch realisierbar. Bei Xilinx' EDK sieht's da wesentlich schlechter
aus (EDK: im Hobbybereich nur als 30-Tage-Evalversion, da kriegt
man nur sehr wenig hin).

Und zur Relevanz von eingebetteten Prozessoren: Ein NiosII füllt
in modernen Cyclone-FPGAs vllt 5-10 Prozent, ist aber sehr hilfreich
bei der Konfiguration und Steuerung div. Komponenten oder Kommunikation
mit PC etc.

von Grendel (Gast)


Lesenswert?

Der Microblaze bei Xilinx ist mittlerweile auch kostenlos verfügbar. Da 
wird jetzt dasselbe SDK verwendet wie für die ZYNQs und das ist 
kostenlos.
(habs aber noch nicht wirklich ausprobiert, evtl. kann ja jemand anderes 
schon was berichten?)


Sigi schrieb:
> Und zur Relevanz von eingebetteten Prozessoren: Ein NiosII füllt
> in modernen Cyclone-FPGAs vllt 5-10 Prozent, ist aber sehr hilfreich
> bei der Konfiguration und Steuerung div. Komponenten oder Kommunikation
> mit PC etc.

Nicht zu vergessen das auf der Platine evtl. gar kein Platz für einen 
zweiten großen Chip sein könnte und das FPGA evtl. auch nicht genug 
freie I/Os für eine ausreichend schnelle Verbindung hat.

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


Lesenswert?

Sigi schrieb:
> Und zur Relevanz von eingebetteten Prozessoren: Ein NiosII füllt
> in modernen Cyclone-FPGAs vllt 5-10 Prozent, ist aber sehr hilfreich
> bei der Konfiguration und Steuerung div. Komponenten oder Kommunikation
> mit PC etc.
Ein  Prozessor allein ist (so gut wie) gar nichts wert. Interessant sind 
die Schnittstellen zur Aussenwelt...
Ein "modernes" FPGA, in dem ein halbwegs leistungsfähiger Prozessor 
Platz findet, kostet bei gleichen Stückzahlen um Ewigkeiten mehr (man 
sollte das drumrum nicht aus dem Auge verlieren) als z.B. ein voll 
ausgeschlafener 4x1GHz-Core i.MX6 mit jeder Menge Peripherie (PCIe, CAN, 
2D/3D-Grafik, undsehrvielmehr). Klar kann es sein, dass ein Softcore 
manchmal Sinn macht (auch ich setze die Dinger ein), aber sie sind meist 
sinnlos, wenn sie Selbstzweck sind: "Ich möchte einen Softcore in meinem 
FPGA."

Grendel schrieb:
> Nicht zu vergessen das auf der Platine evtl. gar kein Platz für einen
> zweiten großen Chip sein könnte
Man könnte viele der Aufgaben, für die heute ein FPGA verwendent wird, 
mit einem effizient programmierten Prozessor gleich gut erledigen. Nur 
darf man dann nicht mit der üblichen schlampigen 
"Drauflosprogrammiererei" kommen.
> und das FPGA evtl. auch nicht genug
> freie I/Os für eine ausreichend schnelle Verbindung hat.
Dafür und dagegen wurden dann die Gigabit-Serdes ins FPGA eingebaut...

Also würde ich dem Fragenden sagen: fang mal mit "FPGA" an. Und 
frühestens in einem halben Jahr kannst du dir dann die 
Prozessor-Geschichte antun. Dann fällst du auch nicht gleich bei jeder 
klitzekleinen Fehlermeldung des Synthesizers aus allen Wolken...

von Fragender (Gast)


Lesenswert?

schon einmal vielen Dank für die zahlreichen Antworten.

Lothar Miller schrieb:
> Also würde ich dem Fragenden sagen: fang mal mit "FPGA" an. Und
> frühestens in einem halben Jahr kannst du dir dann die
> Prozessor-Geschichte antun. Dann fällst du auch nicht gleich bei jeder
> klitzekleinen Fehlermeldung des Synthesizers aus allen Wolken...

Das halbe Jahr habe ich im Rahmen von 2 Modulen in der Uni bereits 
hinter mir. Da haben wir mit Xilinx gearbeitet. Allerdings ohne EDK SDK 
(Softcore), sondern rein auf der Hardwareebene. Da jetzt von dem was die 
Uni anbietet das Ende der Fahnenstange erreicht ist, möchte ich halt auf 
eigene Faust weiter machen. Erfahrungen mit der FPGA Hardware sind also 
da. Ebenso habe ich bereits ein paar Erfahrungen auf dem Gebiet der 
Prozessoren.Hauptsächlich Stm32.

Über Sinn oder Unsinn von Softcores lässt sich sicher streiten.Und 
darauf ob es günstiger ist einen richtgen Prozessor mit in die Schaltung 
zu integrieren oder gar ein SoC mit echten ARM Cores zu verwenden, 
zielte meine Frage nicht ab. Ich wollte viel mehr wissen welches 
Werkzeug (ISE bzw. Vivado oder QuartusII) mir in der freien Version mehr 
in der Hinsicht bieten kann. Der Grund dafür ist, dass ich verschiedene 
Informationen diesbezüglich gefunden habe. Zum einen habe ich gelesen, 
dass Xilinx neuerdings auch ihren Microblaze frei zur Verfügung stellt, 
allerdings ohne EDK und in einer abgespecken Version. Zum anderen habe 
ich gelesen, dass der NIOSII nur funktionert, wenn der Byte Blaster 
angeschlossen ist und quasi eine dauerhafte Verbindung zum PC mit 
QuartusII besteht. Die Herstellerseiten waren für mich nicht 100%tig 
zufriedenstellend, was die Infos angeht.

von Sigi (Gast)


Lesenswert?

Fragender (Gast) schrieb:
>.. Zum anderen habe
>ich gelesen, dass der NIOSII nur funktionert, wenn der Byte Blaster
>angeschlossen ist und quasi eine dauerhafte Verbindung zum PC mit
>QuartusII besteht. ..

nein, nicht ganz. Je nach verwendeter Version braucht es keine 
permanente
Verbindung. Details dazu findet man in den Docs, aber leider etwas in
den Tiefen versteckt.

und:
>Byte Blaster..

Du meinst wahrscheinlich USB-Blaster.

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


Lesenswert?

Fragender schrieb:
> Das halbe Jahr habe ich im Rahmen von 2 Modulen in der Uni bereits
> hinter mir.
Du wirst deine Zeitrechung vermutlich überarbeiten müssen...
Ich meinte ein halbes Mannjahr: hast du jeden Abend mit FPGAs verbracht?

> Das halbe Jahr habe ich im Rahmen von 2 Modulen in der Uni bereits
> hinter mir.
Was hast du da gemacht?

von Fragender (Gast)


Lesenswert?

Lothar Miller schrieb:
> Du wirst deine Zeitrechung vermutlich überarbeiten müssen...
> Ich meinte ein halbes Mannjahr: hast du jeden Abend mit FPGAs verbracht?
>
>> Das halbe Jahr habe ich im Rahmen von 2 Modulen in der Uni bereits
>> hinter mir.
> Was hast du da gemacht?

OK... :D ein halbes Mannjahr wares sicher lange nicht.

Was wir gemacht haben ist zum einen VHDL-Syntax, FSM, Synchronisation 
von asynchronen Systemen, Hardwarecoprocessoren, und etwas 
Signalverarbeitung FIR-Filter inkl. Benutzung eines CODECs.

Ein halbes Mannjahr ist es sicher nicht. Und mir ist klar, dass ich 
jetzt nicht problemlos mit einem Softcore umgehen kann. Mein erstes 
kleines Project soll ansteuerung eines CODECS mittels Softcore und 
verschiedene Filter in Hardware sein.
Mein Ziel ist es auch nicht das nach einer Woche am laufen zu haben.

von Bob (Gast)


Lesenswert?

Welche Uni wenn man fragen darf? Möchte auch was in die Richtung 
machen...

von Michael F. (mfuhrmann)


Lesenswert?

Lothar Miller schrieb:
> Man könnte viele der Aufgaben, für die heute ein FPGA verwendent wird,
> mit einem effizient programmierten Prozessor gleich gut erledigen. Nur
> darf man dann nicht mit der üblichen schlampigen
> "Drauflosprogrammiererei" kommen.

Sehr einseitige Sichtweise...

Der von Dir erwähnte i.MX taugt nur, wenn man reine µC Performance 
benötigt. Sobald es in Richtung Echtzeit oder Parallelverarbeitung geht, 
ist ein FPGA + Softcore die bessere Variante, da man sich gegenüber 
einer 2 Chip-Lösung die Schnittstelle auf dem PCB spart. Außerdem kann 
man die Peripherie des Softcore auf die konkrete Anwendung abstimmen, 
während man bei einem of-the-shelf µC das nehmen muss, was STM, TI, NXP, 
... rein packen.

Sigi schrieb:
> nein, nicht ganz. Je nach verwendeter Version braucht es keine
> permanente
> Verbindung. Details dazu findet man in den Docs, aber leider etwas in
> den Tiefen versteckt.

Nennt sich bei Altera OpenCore Plus. Damit kann man IP-Cores erst mal 
unbegrenzt evaluieren, solange die "Nabelschnur" zwischen FPGA und 
Quartus besteht. Erst für ein Stand-Alone System braucht man dann die 
Lizenz:

http://www.altera.com/literature/an/an320.pdf

Den NIOS II gibt es in 3 Ausführungen (/e, /s, /f) die sich in den 
Features und der Performance unterscheiden. Der Kleinste (/e) ist ohne 
Lizenz voll nutzbar. Für die anderen beiden benötigt man entweder die 
NIOS II Lizenz, oder man kann das System nur mit Nabelschnur testen.

:-)

von Jojo S. (Gast)


Lesenswert?

Hallo, das interessiert mich auch.
Wie sieht es denn bei den kostenlosen Versionen mit den zusätzlichen 
Komponenten aus Bibliotheken oder IP-cores aus? Z.B. für SD-Cards, 
Ethernet (UDP), Displays usw. Würde man etwas komplexes wie ein FAT 
Dateisystem hardcore zusammenbauen oder sowas doch lieber in einer Soft 
CPU?

von Fragender (Gast)


Lesenswert?

Bob schrieb:
> Welche Uni wenn man fragen darf? Möchte auch was in die Richtung
> machen...

HAW-Hamburg

Ok, das mit den Open Cores war mir neu. Momentan sagt mir das neue 
Cyclone V GX Board von Terasic am ehesten zu.

von Sigi (Gast)


Lesenswert?

Jojo S. (jojos) schrieb:
>Wie sieht es denn bei den kostenlosen Versionen mit den zusätzlichen
>Komponenten aus Bibliotheken oder IP-cores aus? Z.B. für SD-Cards, ...

Gut: Neben Prozessor werden zahlreiche lizenzfrei IP-Cores angeboten,
die teils mit/ohne "Nabenschnur" laufen. Interesant von Altera ist
auch das "University Program", dass noch zahlreiche freie Cores
anbietet.

FAT: IP-Core für SD-Card wird von Altera angeboten, gute SW-Libs
für FAT findet man zu Hauf im Netz.


Fragender (Gast) schrieb:
>Cyclone V GX Board von Terasic ..
Schaut wie ein sehr gutes Board aus, wie DE0-DE2, nur neuer.
Und am Preis kann man auch nicht meckern.

von Mike (Gast)


Lesenswert?

Fragender schrieb:
> Bob schrieb:
>> Welche Uni wenn man fragen darf? Möchte auch was in die Richtung
>> machen...
>
> HAW-Hamburg
>
> Ok, das mit den Open Cores war mir neu. Momentan sagt mir das neue
> Cyclone V GX Board von Terasic am ehesten zu.

Ich denke mal mit diesem Board kann man nichts falsch machen. Allerdings 
finde ich die Anschlussmöglichkeiten nach außen etwas eingeschränkt 
(kein PS/2 oder gar Netzwerk). Man kann das natürlich nachrüsten und es 
gibt noch den Anschluss für Arduino-Shields...

Falls du dich für Embedded Prozessoren interessierst, dann solltest du 
dir vielleicht noch das DE1 SOC Board anschauen. Preislich soll es 
ähnlich gelagert sein und das FPGA hat noch einen Dual-Core A9 
eingebaut.

von Grendel (Gast)


Lesenswert?

Lothar Miller schrieb:
> aber sie sind meist
> sinnlos, wenn sie Selbstzweck sind: "Ich möchte einen Softcore in meinem
> FPGA."

Ja dann bringts natürlich nix.
Ich würde nie auf die Idee kommen in einer Anwendung die ich gut mit 
einem Mikrocontroller erledigen kann ein FPGA zu benutzen. Aber gibt 
eben viele Sachen wo man sowieso beides(!) braucht... und da machen die 
Softcores durchaus sehr viel Sinn um den externen Mikrocontroller (nicht 
1GHz Applikationsprozessor) zu ersetzen.


Lothar Miller schrieb:
>> und das FPGA evtl. auch nicht genug
>> freie I/Os für eine ausreichend schnelle Verbindung hat.
> Dafür und dagegen wurden dann die Gigabit-Serdes ins FPGA eingebaut...

Das ist aber nur eine theoretische Möglichkeit. Das bringt bei den 
Controllern grob in der Leistungsklasse des Microblaze / NIOS (also 
<500MHz) herzlich wenig, weil die meisten µCs damit nix anfangen können 
- da gehts dann nur parallel oder sehr langsam per SPI... die die PCIe 
haben sind zu groß und energiehungrig - man hat da auch nicht nur die 
CPU auf der Platine sondern auch noch DDR RAM und diverse Schaltregler, 
macht die Multilayerplatine größer und teurer und viel komplexer zu 
entwerfen.


Mit grob 3000 LUTs bekommt man bei Microblaze/NIOS schon eine gut 
brauchbare Konfiguration hin und soviel ist das nun auch nicht.

--> z.B. Spartan6 LX25 mit Microblaze statt LX16 + irgendein größerer 
externer Controller - kann Sinn machen und der LX25 hat genug Platz für 
zusätzliche Peripherie. Der LX25 kostet bei Digikey im selben Package 
z.B. nur 10 Euro mehr (vom LX25 auf LX45 genauso) - das musst Du mit 
externem Controller erstmal signifikant unterbieten (inkl. größerer 
Platine und allen anderen Komponenten).

von Fragender (Gast)


Lesenswert?

Mike schrieb:
> Falls du dich für Embedded Prozessoren interessierst, dann solltest du
> dir vielleicht noch das DE1 SOC Board anschauen. Preislich soll es
> ähnlich gelagert sein und das FPGA hat noch einen Dual-Core A9
> eingebaut.

Wo bekommt man das denn? Bei Terasic finde man es nur über die 
Googlesuche, aber bestellbar ist es dort nicht und Distributoren wie 
Mouser und Digikey haben es auch nicht.

von Antimedial (Gast)


Lesenswert?

Die Softcores werden doch meistens dafür verwendet, um einen 
spezialisierten IP-Core noch ein wenig flexible Rechenleistung zur 
Verfügung zu stellen. Nicht selten läuft in einer 2-Chip-Lösung neben 
dem fetten Hauptprozessor noch ein kleiner Softcore im FPGA, um ein paar 
Serviceroutinen unabhängig von der Hauptsoftware laufen zu lassen. 
Üblich ist das z.B. bei Industrial Ethernet Anwendungen. Und dagegen 
kann auch ein Lothar Miller nichts machen, auch wenn er anderer Meinung 
ist. :)

Und in naher Zukunft werden viele 2-Chip-Anwendungen wohl durch Zynq und 
Cyclone SoC abgelöst.

Lothar Miller schrieb:
> Vergiss diesen Irrweg der Evolution schnell wieder (das ist meine
> persönliche Meinung, sie muss nicht zwingend stimmen, aber ich sehe gute
> Chancen, dass ich langfristig Recht habe... :-).

Und wenn man sich hobbymäßig mit dem Softcore als Selbstzweck 
beschäftigen will, wenn es auch ein STM32 oder AVR tun würde, wieso 
nicht? Ist ja schließlich nur ein Hobby, und wenn man FPGA interessanter 
findet, ist das doch in Ordnung. Das DE0 nano reicht für solche Zwecke 
allemal und kostet im Endeffekt auch nicht viel mehr als eine komplette 
AVR-Entwicklungsumgebung mit Debugger und Entwicklungskit.

von Fragender (Gast)


Lesenswert?

Naja ich finde halt die ganze SoC Thematik, ob Softcore ala Nios oder 
Micrblaze oder echter Core ala ARM A9 sehr interessant. Wie gesagt Sinn 
oder Unsinn von beiden soll hier nicht die Frage sein. Dass es in der 
Praxis mehr Sinn macht einen "richtigen" Prozessor auf mein PCB zu 
pflanzen mag sein. Das Problem wird nur sein, dass ich nicht für jede 
Anwendung die mir gerade einfällt ein möglichst economisches PCB 
entwickeln kann. Darum SoC...
Ich habe mir gerade mal das Altera University-Programm angeschaut. Sehe 
ich das richtig, dass man als Student garnicht das Recht hat sich dort 
anzumelden? Ließt sich so als würde das nur von Hochschlupersonal 
machbar  und nur für Hochschulrechner.

von Antimedial (Gast)


Lesenswert?

Fragender schrieb:
> Naja ich finde halt die ganze SoC Thematik, ob Softcore ala Nios oder
> Micrblaze oder echter Core ala ARM A9 sehr interessant. Wie gesagt Sinn
> oder Unsinn von beiden soll hier nicht die Frage sein.

Eben, das ist die Definition eines Hobbys.

von Sigi (Gast)


Lesenswert?

Und nicht zu vergessen: Du arbeitest Dich z.B. bei Altera's NiosII
nicht nur in die CPU ein, sondern lernst auch ein komplettes
Bussystem/Infrastruktur kennen. Ob jetzt CPUs in FPGAs sinnvoll oder
nicht sind, diese Erfahrung ist auf jeden Fall Gold wert.

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.