mikrocontroller.net

Forum: FPGA, VHDL & Co. Fpga für alle


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Gerd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier gibt's ein Kickstarterprojekt für Bastler:

https://www.kickstarter.com/projects/ryanmjacobs/webfpga-rapid-fpga-development-system

Damit kann dann wirklich jeder FPGAs programmieren.

Hier ist der Online-Compiler:
https://beta.webfpga.io/dashboard/

Autor: abcde (Gast)
Datum:

Bewertung
2 lesenswert
nicht lesenswert
Naja, seinen VHDL-/Verilog-Code zu synthetisieren ist halt auch nur 10% 
von der eigentlichen Entwicklungsarbeit.

Dann kommen ja noch  Timing-Analysen, Testcases, etc. dazu. Dafür ist 
das Zeugs halt völlig ungeeignet.

Autor: Fitzebutze (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Irgendwie merkwürdig, dass immer wieder auf diesen Zug aufgesprungen 
wird, obwohl nie was bei rumkommt. Robei, PHDL, Blockly, you name it...
Für Engineering sowieso indiskutabel, aber auch für's Lernen gehörige 
Rohrkrepierer, teils sorgt es auch dafür, dass schon Studenten sich 
beginnen zieren, wenn sie Code schreiben müssen anstatt sich die Logik 
zusammenzuklicken.
Und was der Sinn von Online-Tools sein soll? Unsinnig daran ist schon 
mal  die Energieverschwendung solcher Cloud-Dienste. Achso, ja, Daten 
sammeln. Oder: Guck mal was ich im Webbrowser alles kann. Und jetzt?

Autor: Gerd (Gast)
Datum:

Bewertung
-2 lesenswert
nicht lesenswert
>Und was der Sinn von Online-Tools sein soll?

Bei der Frage hast du sicher noch nie ein FPGA-Entwicklungssystem 
installiert. Das zieht sich meist über Tage, bis alles läuft.
Das Online-Tool ist die einzige Möglichkeit, den Aufwand klein zu 
halten.

Autor: Gerd E. (robberknight)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gerd schrieb:
> Bei der Frage hast du sicher noch nie ein FPGA-Entwicklungssystem
> installiert. Das zieht sich meist über Tage, bis alles läuft.

Bei den Hersteller-Tools bin ich da ganz bei Dir, das ist ein einziger 
Kampf bis das läuft.

> Das Online-Tool ist die einzige Möglichkeit, den Aufwand klein zu
> halten.

Zum Glück gilt das nicht mehr, denn mit Yosys+Nextpnr ist es jetzt 
zumindest für Lattice ice40 und ecp5 kein Problem mehr schnell und 
einfach die gesamte Toolchain zum Laufen zu bekommen.

Mit Icestudio gibt es auch für die allerersten Schritte was schönes zum 
Klicken.

Eine Online-Lösung bewerte ich kritisch, da ich mich nicht auf die 
Verfügbarkeit und Reproduzierbarkeit der Ergebnisse verlassen kann. Auch 
wenn man erst am Lernen ist, sind das wichtige Eigenschaften. Denn wenn 
man sich noch nicht so gut auskennt und plötzlich etwas nicht mehr genau 
so funktioniert wie vorher wegen einem Update oder Störung der 
Online-Plattform, sucht man erst mal lange an der falschen Stelle.

Autor: $$$ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Das zieht sich meist über Tage

Unsinn.

Aus meiner Installationsliste:
Synplify Precision
Leonardo Lev.III
Quartus ab 9.1
ISE ab 8.4

Einzig ISE10.1 Foundation hat unter W7/32 Spirenzchen gemacht.
Die waren aber auch relativ leicht fixen.

Autor: Fitzebutze (Gast)
Datum:

Bewertung
3 lesenswert
nicht lesenswert
Gerd schrieb:
> Bei der Frage hast du sicher noch nie ein FPGA-Entwicklungssystem
> installiert. Das zieht sich meist über Tage, bis alles läuft.

Es dürften rund 18 Versionen von Toolchains (X, A/I, L, Synopsys) in 
div. Releases sein, die hier jeweils im Docker-Container auf dem Server 
liegen.
Die sind typischerweise binnen einer Viertelstunde komplett lokal 
installiert, wenn ein frischer Download eine Nacht dauert, dann dauert 
er halt eine Nacht. Aber eben: Ich nutze dafür ausschliesslich die 
'nativen' Systeme und umgehe jegliches Gefrickel nach Möglichkeit.

Sorry für die vernichtende Kritik, aber: Not buying it. Kein 
fortgeschrittener Entwickler arbeitet so in der Cloud, und genau 
deswegen sind die zig bisherigen Spielereien in der Art nie gut 
angekommen.

Autor: W.S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gerd schrieb:
> Damit kann dann wirklich jeder FPGAs programmieren.

Also ein Lattice iCE40UP5k mit 5K Lut's auf einer kleinen LP mit 40 
Pins, die man auf's Steckbrett stecken kann.

OK, so einen Chip löten die meisten nicht gern. Aber auch der softigste 
Softwerker mit 3 linken Händen sollte doch in der Lage sein, sich die 
Toolchain von Lattice auf seinen PC zu bringen. Wozu dann der 
Web-VHDL-Compiler?

Aber was soll man damit anfangen? Bloß eben Verilog oder VHDL üben und 
dann eine LED blinken lassen?

W.S.

Autor: PittyJ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Online-Compiler geht gar nicht.
Wenn nach zwei Jahren ein Kunde anruft, und einen Fehler bemängelt, dann 
muss ich den Code sofort 'compilieren' können. Dann muss der Compiler 
verfügbar sein. Am besten noch in der gleichen Version mit gleichen 
Ergebnissen. Alles das ist bei einem Clound-Anbieter nicht gegeben. Wer 
weiss, ob es ihn dann überhaupt noch gibt.

Autor: C. A. Rotwang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fitzebutze schrieb:
> aber auch für's Lernen gehörige
> Rohrkrepierer, teils sorgt es auch dafür, dass schon Studenten sich
> beginnen zieren, wenn sie Code schreiben müssen anstatt sich die Logik
> zusammenzuklicken.

Das Problem ist der Unterschied zwischen "Programmieren" und 
"Programmieren können".
Analogbeispiel: "Malen nach Zahlen" - 
https://de.wikipedia.org/wiki/Malen_nach_Zahlen - damit kann auch jeder 
seine Mona Lisa selbst malen, wird dabei aber nicht im geringsten selbst 
zum Maler. Weil u.a. der Schöpferische Anteil fehlt. Es ist eben nicht 
das Malen als schöpferrischer Prozess, sondern lediglich nachkolorien 
entsprechend detailierte Vorgabe, ausser Arbeitszeit 0 Eigenanteil.

So ist es auch bei der Schaltungsentwicklung und ja FPGA-Entwicklung hat 
viele elemente mit der Schaltungsentwicklung (Datenblatt lesen, 
Interface anpassen, Timings erfüllen,...) gemein.

Der Unterschied zw. einem Projekt bspw. ein Retro-computer auf FPGA nach 
detalierter DIY Anleitung aus einem Source-depot nachzubauen, - und ein 
Projekt nach groben Vorgaben bis zur Inbetriebnahme durchzukonstruieren 
ist enorm. Weil eben ein gehöriger Anteil an "Eigenschöpfung" nötig ist. 
Und eben diese Fähigkeit zum Selbstentwickeln auch kleiner Komponenten 
wird beim "Zusammenklicken" nicht vermittelt.

Bei Arduino und Co kann Systematisches Austesten aller 
Lösungsmöglichkeiten (libs unterschiedlichster Versionen und 
Zielrichtungen) Creativität ersetzen, bei der FPGA-entwicklung 
überschreitet man mit einer ausschliesslichen "Trial und Error"-Methode 
schnell alle Zeitvorgaben.

Autor: Lothar M. (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
abcde schrieb:
> Dann kommen ja noch  Timing-Analysen, Testcases, etc. dazu. Dafür ist
> das Zeugs halt völlig ungeeignet.
Und weit davor kommt die eigentliche Idee, die man braucht, um das 
Design sinnvoll und effizient beschreiben zu können.

Gerd schrieb:
> Damit kann dann wirklich jeder FPGAs programmieren.
Das Hauptproblem ist, dass mit dem Begriff "FPGA-Programmieren" 
unflektiert unbedarfte µC-Programmierer geworben werden.

C. A. Rotwang schrieb:
> Das Problem ist der Unterschied zwischen "Programmieren" und
> "Programmieren können".
Und die neu geworbenen "FPGA-Programmierer" aufgrund des ihnen sehr 
bekannten Wortes "Programmieren" natürlich meinen:
"µC-Programmieren == FPGA-Programmieren".
Dass dann hinterher das "Können" beim "FPGA programmieren können" fehlt, 
liegt daran, dass schon das "Programmieren" eben ganz was Anderes ist.

Autor: Gerd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gerd E.
>Zum Glück gilt das nicht mehr, denn mit Yosys+Nextpnr ist es jetzt
>zumindest für Lattice ice40 und ecp5 kein Problem mehr schnell und
>einfach die gesamte Toolchain zum Laufen zu bekommen.

Ist die Toolchain nur für Verilog?
Was genau muss man machen, um das ganze zu benutzen?

Autor: Gerd E. (robberknight)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gerd schrieb:
>>Zum Glück gilt das nicht mehr, denn mit Yosys+Nextpnr ist es jetzt
>>zumindest für Lattice ice40 und ecp5 kein Problem mehr schnell und
>>einfach die gesamte Toolchain zum Laufen zu bekommen.
>
> Ist die Toolchain nur für Verilog?

Ja.

> Was genau muss man machen, um das ganze zu benutzen?

http://www.clifford.at/icestorm/#install

Autor: Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gerd E. schrieb:
> Zum Glück gilt das nicht mehr, denn mit Yosys+Nextpnr ist es jetzt
> zumindest für Lattice ice40 und ecp5 kein Problem mehr schnell und
> einfach die gesamte Toolchain zum Laufen zu bekommen.

...
> Was genau muss man machen, um das ganze zu benutzen?

http://www.clifford.at/icestorm/#install


Und das nennst du schnell und einfach zum Laufen bekommen?
Du musst die Toolchain aus den Sourcen kompilieren, unter Windows geht 
das nicht ohne vorher Cygwin, MinGW oder was ähnliches installiert zu 
haben.

Da ist das installieren der Lattice eigenen Tools Icecube, Diamond und 
Radiant ein Klacks dagegen.

Autor: Gerd E. (robberknight)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andi schrieb:
> Du musst die Toolchain aus den Sourcen kompilieren, unter Windows geht
> das nicht ohne vorher Cygwin, MinGW oder was ähnliches installiert zu
> haben.

Auch Microsoft hat mittlerweile gemerkt, daß Windows da umständlich ist 
und die Entwickler deswegen andere OS bevorzugen. Daher haben sie das 
Windows Subsystem for Linux rausgebracht und die vorher komplett 
unbrauchbare Konsole verbessert.

Autor: kunz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Konsole verbessert

Die Konsole ist doch einem make voellig wurscht.

Und ein
> Windows Subsystem for Linux

wird o.o.B. auch keinen nativ startfaehigen Code erzeugen.

Wo ist jetzt der Gewinn?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.