Forum: FPGA, VHDL & Co. Pynq in Vivado


von Michael Nold (Gast)


Lesenswert?

Hallo,

ich möchte auf einem Pynq Z1 Board den FSBL generieren (Bzw erstmal ein 
einfaches Hello World Programm).
Im Xilinx SDK gibt es auch Beispielprojekte dafür.
Allerdings müsste ich jetzt erstmal in Vivado ein Hardwareprojekt 
erstellen und die ganze Peripherie richtig einstellen.

Was muss ich in Vivado mindestens konfigurieren, um nur über UART Hello 
World ausgeben zu können?

So wie ich das verstanden habe (bitte korrigiert mich entsprechend)
wird der Bootloadercode noch komplett im internen RAM ausgeführt, den 
externen DDR Ram auf dem PYNQ Board könnte ich also erstmal ignorieren

Erfordert das UART eine spezielle Konfiguration/zusätzliche GPIO Module 
die an das Processing System angebunden werden müssen?
USB, Ethernet etc lasse ich alles erstmal weg.

Ich würde mich sehr freuen, wenn ich einfach nur ein Lebenszeichen 
bekäme, im Moment tappe ich noch sehr im Dunkeln und es kommt einfach 
nichts aus dem UART raus.

Zum PNYQ Board gibt es auch eine komplette Toolchain bzw. ein 
Beispielimage.
Lässt sich aus dieser Toolchain ein passendes Vivado Projekt File 
generieren?



Bin für jeden Tipp dankbar

von Timmo H. (masterfx)


Lesenswert?

Wenn du auf keinen Beispielprojekt von Digilent aufsetzen möchtest, 
machst du einfach ein leeres Projekt mit dem 7020 als SoC.
Dann gehst du auf Create Block Design => Add IP => Zymq Processing 
System

Dann gehtst du auf die Optionen von dem Block und stellst unter den 
Optionen des IPs zumindest den UART auf die richtigen PINs (unter 
Peripheral IO Pins) auf 14 und 15. Dann musst du noch den Speicher und 
Clock unter DDR und Clock config einstellen. Dann gehst du auf File 
Export Hardware und danach auf File => Lauch SDK und erstellst dann eine 
neues Projekt mit Hello World als Vorlage. Dann sollte da auch 
automatisch der FSBL mit rein gebaut werden. Und dann kannst du es 
direkt über JTAG anstarten oder wenn du es fest haben willst in den QSPI 
programmieren oder ein Boot.bin (Create Bootimage) für die SD-Karte 
erstellen

von Michael Nold (Gast)


Lesenswert?

Okay, vielen Dank schonmal.
Jetzt brauche ich nur noch ein Top Modul. In den anderen 
Beispielprojekten heißt es dort base_zynq_wrapper und ist schon 
vorhanden. Kann ich das automatisch generieren?

von derMosphet (Gast)


Lesenswert?

Rechtsklick auf dein Blockdesign und "Generate HDL-Wrapper"

von Michael Nold (Gast)


Lesenswert?

Über JTAG funktioniert es, aber über die SD Karte nicht.
Habe als Basis das PYNQ Image genommen und die BOOT.bin ersetzt (aus dem 
SDK heraus eine neue Boot.bin erstellt).
In dieser Boot.bin ist nur das Hello World Programm als [bootloader] 
getaggt. In Vivado ist das SD Interface aktiviert. Wie könnte ich 
sinnvoll vorgehen, um die Ursache zu finden?

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.