Forum: FPGA, VHDL & Co. IPC: Xilinx Zynq Ultrascale+


von Andre (Gast)


Lesenswert?

Hallo zusammen,

ich spiele gerade mit dem Xilinx KV260 Eval-Board herum (Vivado/Vitis 
2021.2). Dabei ist der nächste Schritt zu versuchen auf dem Arm A53 ein 
Petalinux laufen zu lassen, und mit den beiden R5 ARM Cores separat zu 
kommunizieren können. Beim Googeln bin ich auf verschiedenen IPC 
Strategien gestoßen:

* ShareMemory: AXI BRAM Controller/ Block Memory Generator
* AXI Mutex/ AXI Mailbox
* OpenAMP Lib
* IPI: Inter Processor Interrupts

Im Moment tendiere ich zu AXI BRAM/ AXI Mutex/ AXI Mailbox, da ich mir 
"einfache" Speicherzugriffe erhoffe, um die Kommunikation aufzubauen.

Wie sind die Erfahrungen aus der Praxis zu den verschiedenen IPC 
Strategien.

Noch ein Wort zur Kommunikation: Es sollen keine großen Daten zwischen 
den Cores ausgetauscht werden.
Sondern nur vereinzelte Parameter überprüft und gesetzt werden, um die 
RPUs zu überwachen und zu steuern.

Danke im Voraus

von Duke Scarring (Gast)


Lesenswert?

An den ARMs hängt doch sicher ein potenter DDRx-Speicher. Und On-Chip 
Memory (OCM) haben die Zynqs doch auch noch. Ich würde da keine BRAMs 
ranbasteln...

Duke

von Andre (Gast)


Lesenswert?

Duke Scarring schrieb:
> An den ARMs hängt doch sicher ein potenter DDRx-Speicher. Und On-Chip
> Memory (OCM) haben die Zynqs doch auch noch. Ich würde da keine BRAMs
> ranbasteln...

Hi Duke,
man könnte natürlich die Speicher-Synchronisation von Hand 
implementieren.
Aber genau das würde ich lieber umgehen und auf vorhandene Strategien 
setzen.
Beim BRAM hab ich an einen Dual BRAM gedacht, da das Lesen und Schreiben 
nicht zeitkritisch ist und somit "gleichzeitig" klappen sollte.

von J. S. (engineer) Benutzerseite


Lesenswert?

Das Einfachst sind sicher die BRAMs, weil man an die sehr rasch auch ein 
natives Interface angeflanscht bekommt.

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.