Xilinx EDK 9.1: auf DMA S/G Register per user_logic zugreifen

Gast #908146
Lesenswert?
• ▲
▼
Hallo,

ich benutze Xilinx EDK 9.1 und habe an den OPB-Bus ein selbst 
generiertes IP angeschlossen. DMA von hier aus funktioniert auch 
problemlos.
Nun möchte ich, wenn in eines der User-Register eine bestimmte Bitfolge 
geschrieben wird, einen DMA-Transfer anstoßen, vorher aber noch ein paar 
andere Aufgaben (in Hardware,VHDL) erledigen. Ich müsste dann also auf 
die im IPIF inkludierten DMA-Register per user_logic.vhd aus zugreifen 
und Werte hineinschreiben.
Ist das möglich ohne umständlich per Master-Attachment über den OPB zu 
gehen?
Am liebsten wäre mit etwas wie
DMA_LENGTH_REG <= 1024 oder so...

Danke und Grüße
Sebastian
Gast #913349
Lesenswert?
• ▲
▼
Du willst offenbar die Zahl der zu übertragenden Daten "zur Laufzeit" 
festlegen. Um es einfach zu halten würde ich immer einen Block mit 
fester Größe übertragen und dort an geeigneter Position, neben den 
Daten, auch die Länge hinterlegen.

Rick
Gast #915349
Lesenswert?
• ▲
▼
Dann müsste ich im Software Interrupt Handler über den Bus ins 
DMA-Register schreiben. Dies ist jedoch nicht atomar, kann also 
unterbrochen werden (wenn IRQs weiterhin erlaubt sind).
Der DMA Transfer müsste aber sofort starten, da sonst mein FIFO 
volläuft.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren