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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.