Forum: FPGA, VHDL & Co. PYNQ -nur für die, die kein VHDL/Verilog können?


von Emil G. (balsamico)


Lesenswert?

Hallo ihr,

eine kleine Frage zum PYNQ-Board habe ich. Bei trenz ist der erste Satz 
auf der Produktseite:

"Das PYNQ-Z1 Board wurde für die Verwendung mit PYNQ entwickelt, einem 
neuen Open-Source-Framework, das es Embedded-Programmierern ermöglicht, 
die Fähigkeiten von Xilinx Zynq All Programmable SoCs (APSoCs) zu 
nutzen, ohne programmierbare Logikschaltungen entwickeln zu müssen."

Heißt das, dass wer VHDL oder Verilog drauf hat, auf jeden Fall ein 
anderes Board wählen würde? Oder ist diese Möglichkeit, 
Hardewarebeschreibungen in Python zu entwickeln, besonders effizient 
oder bietet vielleicht sogar ganz andere Möglichkeiten oder Vorteile?

Anders gefragt,gibt es Einsatzbereiche für den der PYNQ die erste Wahl 
ist oder stellt der obige Satz von trenz die Quintessenz des PYNQ dar?

Danke!

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


Lesenswert?

Emil G. schrieb:
> Heißt das, dass wer VHDL oder Verilog drauf hat, auf jeden Fall ein
> anderes Board wählen würde?
Wer C kann oder Assembler, der darf sich trotzdem einen Arduino kaufen 
und einsetzen. Er muss ja dessen Toolchain nicht nutzen...

von Zwischenfrage (Gast)


Lesenswert?

Welchen Sinn hat es, einen Zynq zu nehmen, den nur in C zu 
programmieren, also die Softseite abzudecken und dann mit der 
programmierbaren Logik nichts zu machen?

Ich kaufe ja auch keinen LKW-Kran und fahre nur damit rum, um mich zu 
transportieren und lade nie was auf, weil Ich keinen Kran bedienen kann.

Aber Hauptsache, wir haben mal Kran gefahren, gelle?

von Martin S. (strubi)


Lesenswert?

Emil G. schrieb:
> Oder ist diese Möglichkeit,
> Hardewarebeschreibungen in Python zu entwickeln, besonders effizient
> oder bietet vielleicht sogar ganz andere Möglichkeiten oder Vorteile?

Wenn ich's damals richtig verstanden habe, ist nicht der Sinn der Sache, 
damit gezielt HW-Logik zu designen/generieren. Aber interessant wäre, ob 
Xilinx im Sinne hat, mit Ansätzen wie MyHDL mehr zu machen.
Denke eher, dass nun nach Jahren der Konservativität auch die 
Platzhirsche realisieren, dass mal ein paar (inzwischen nicht mehr so) 
neue Konzepte auch auf CPU/FPGA-Hybriden gut ins Python-Oekosystem 
passen.
Laufenlassen kannst du das dann wohl auf jedem System, was ein 
Python-Framework ausführen kann, typischerweise irgend einem Linux-SoC 
mit angebundenem FPGA. Ist ja OpenSource..

von Markus (Gast)


Lesenswert?

Emil G. schrieb:

> Heißt das, dass wer VHDL oder Verilog drauf hat, auf jeden Fall ein
> anderes Board wählen würde? Oder ist diese Möglichkeit,
> Hardewarebeschreibungen in Python zu entwickeln, besonders effizient
> oder bietet vielleicht sogar ganz andere Möglichkeiten oder Vorteile?

> Danke!


Habe selber in der Uni mit dem Pynq Board gearbeitet.
Du bist auf die Python-Umgebung nicht angewiesen und kannst alles selber 
machen.
FPGA lässt sich ganz normal mit Vivado programmieren wie jedes andere 
Board auch.


Bisschen kritischer war es ein Linux zum laufen zu bekommen, wenn man 
nicht das vorgefertigte Image benutzen will.

Da haben wir damals selber U-Boot konfiguriert und Linux-Kernel 
kompiliert und FSBL gebaut usw...
Grad U-Boot und Linux-Devicetree richtig zu konfigurieren (haben als 
Ausgangsbasis das config-file vom zed-board gehabt) war echt kein Spaß 
(aber machbar).

Das xlnx-linux und u-boot sind aber auf github frei verfügbar.

LG

von Markus (Gast)


Lesenswert?

Der größte Vorteil am Pynq-Board ist, dass man es unglaublich billig 
bekommt (glaube um die 80$ oder so), solange man irgendwie Kontakte noch 
zu ein paar Leuten in die Uni hat...

von Vancouver (Gast)


Lesenswert?

Auf http://www.pynq.io/ steht dazu:


"New hardware libraries and overlays can be created using standard 
Xilinx and third party hardware design tools. "

D.h. es wird kein HW-Design mit Python gemacht, sondern du kannst vom 
Python-Framework heraus fertige FPGA-Module laden und verwenden. Um neue 
zu schreiben, musst Du den klassischen weg über die Xilinx-Tools gehen. 
Wenn Du keine HDL kennst und auch nicht lernen willst und mit den 
verfügbaren FPGA-Modulen auskommst bist, dann ist PYNQ dein Ding.


"Welchen Sinn hat es, einen Zynq zu nehmen, den nur in C zu
programmieren, also die Softseite abzudecken und dann mit der
programmierbaren Logik nichts zu machen?"

Kommt drauf an, was du mit "nichts zu machen" meinst. Nicht selbt ein 
PL-Design zu entwerfen, oder die PL gar nicht zu nutzen? Für letztes ist 
ein Zynq nicht sinnvoll, da hast Du recht. Aber du kannst ein HW-Design 
in das FPGA laden, das jemand anders entworfen hat und selbst die 
Software drumherum schreiben. Ist das Gleiche, als wenn du 
vorcompilierte Libraries in deiner Software verwendest, nur das die 
library hier auf dem FPGA "läuft".

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.