Forum: FPGA, VHDL & Co. zynq7000er, Vivado, non-project-mode


von berndl (Gast)


Lesenswert?

Hi zusammen,
wir wollen einen kleinen Zynq in unseren neuen Designs einsetzen, bisher 
hatten wir einen externen uC sowie ein FPGA.
Das ganze soll/muss im non-project-mode von Vivado passieren.
Ein paar kleine tcl-Skripte habe ich schon gefunden, das ist nicht das 
Problem. Aber die beschreiben halt nur jeweils einen kleinen Teil des 
Jobs...

Es geht um folgendes:
* Ich will die ganzen .vdhl files wie bisher verwalten koennen, also 
klassisch mit einem "top_hugo.vhd"
* Eine .sdc fuer die I/Os habe ich, timing-constraints sind auch klar
* Ich muss aber auch Zynq-interne Signale zum PS angrabbeln, der 
Controller-Teil soll da ja auch mit rein... Ich brauche auch einen 
AXI4-Lite zum PS-Teil...

Frage: Wie mache ich das? Hat da jemand ein Beispiel? Ich hab' echt nix 
verwertbares gefunden. Hat jemand ein paar gute Einstiegslinks? Xilinx 
scheint alles und jeden auf diesen unseligen project-mode zwingen zu 
wollen...

Gruss+Danke im voraus,
- berndl

von daniel__m (Gast)


Lesenswert?

berndl schrieb:
> Das ganze soll/muss im non-project-mode von Vivado passieren.

Warum? Oder ist eher non-gui gemeint? Das gesamte Projekt im 
project-mode kann man auch per Skripte steuern.

berndl schrieb:
> Frage: Wie mache ich das?

Ich habe das noch nicht gemacht (und sehe derezit auch keinen Grund 
dafür), aber es müsste der gleiche "flow" sein wie einen Coregen 
einzubinden. PS, Interconnect etc. gibt m.W.n. auch als klassische IPs. 
Wie das Konfigurieren und Managen abläuft, hängt sicherlich vom Core ab, 
aber "schön" wird es bestimmt nicht sein.

grüße

von VHDL hotline (Gast)


Lesenswert?

Kennst du die UG892 und UG835? Mit denen habe ich das soweit umgesetzt. 
Zumindest deine ersten beiden Fragen werden da beantwortet, mit Zynq 
habe ich noch nicht im non-project mode gearbeitet.

von berndl (Gast)


Lesenswert?

Hi,
wir wollen definitiv 'non-project-mode' machen.
UG892 kannte ich schon, UG835 muss ich mir mal anschauen, danke fuer den 
Tipp.
https://github.com/Architech-Silica/Designing-a-Custom-AXI-Slave-Peripheral 
habe ich auch schon gefunden, das hilft schonmal etwas weiter.

Was mir aber echt unklar ist: Wie muss denn mein "handwritten" 
Toplevel-VHDL aussehen, wenn ich mich z.B. mit dem PS via AXI4-Lite 
verbinden will sowie einige GPIOs des PS bei mir im PL verwenden will?
Das verdrahten der PL-IOs kriege ich ja mit dem .xdc hin, aber wie sieht 
der Toplevel aus wenn ich auch den PS haben will?

von C. A. Rotwang (Gast)


Lesenswert?

Vielleicht sollte man den VHDL-Code per script ("generate_target 
synthesis") generieren lassen statt es komplett händisch zu schreiben?!

https://forums.xilinx.com/t5/Vivado-TCL-Community/TCL-with-IP-Integrator-for-Zynq/td-p/479868

https://www.xilinx.com/support/documentation/sw_manuals/xilinx2017_4/ug835-vivado-tcl-commands.pdf 
P.537

Eventuell hilft auch ein Blick in das frei verfügbare Zynq-book resp. 
ins Übungshandbuch dazu:
http://www.zynqbook.com/download-tuts.html
http://www.zynqbook.com/

von berndl (Gast)


Lesenswert?

danke fuer die Links, der ins X-Forum klingt interessant. Uff, 
Lesestoff...

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.