Forum: FPGA, VHDL & Co. kurze frage MIG-IP von xilinx


von Trundle T. (shaheed)


Lesenswert?

hi an all die spezialisten,

ich hab ja gemerkt hier gibt's so einige die schon etwas erfahrung haben 
mit dem MIG-Core (also ramcontroller) von xilinx und ich hätte da ne 
kurze frage bevor ich hier mein nächstes modul anfange. damit ich nicht 
gleich in die falsche richtung anfange...

vorab mein migcore läuft schon stabil und ich kann daten hin- und 
herschieben zwischen ram, externen schnittstellen, pc, µC etc. ich muss 
jetzt ne weitere schnittstelle anbinden.

meine frage bezieht sich auf den schreibvorgang vom migcore. wie jeder 
weiß (der den mig kennt), besteht nen bidirektionaler port beim mig aus 
3 fifos (schreib-, lese-, cmdfifo)...

nun folgendes szenario: ich schreib den schreibfifo mit daten die ins 
ram sollen voll (da passen 64 - Wörter (breite einstellbar rein)), so 
dann lade ich in den cmdfifo meine commandos rein, also startadresse, 
burstlänge, maske, etc. zum schluss gibts das cmd_en und der core fängt 
dann, entsprechend seinen latenzen, an meine daten ins ram zu 
schaufel...

meine frage ist kann ich nun direkt weiter daten ins schreibfifo 
schaufeln auch wenn der (vorherige) schreibvorgang ins ram noch nicht 
abgeschlossen ist oder darf ich den schreibfifo erst wieder füllen wenn 
der vorherige schreibvorgang fertig ist (cmd_empty ???) ??
bisher waren meine Intervalle zwischen den schreibvorgängen so 
gewählt/gesteuert das eine überschneidung nicht vorkam. jetzt kommen die 
daten von nem messgerät in einem variablem intervall. die frage ist muss 
ich nen zwischenpuffer einfügen (fifo etc) oder kann ich den schreibfifo 
vom migcore immer beschreiben solange er nicht full ist, unabhängig ob 
der core gerade daten aus dem schreibfifo ins ram schaufelt oder 
nicht??? vllt hat ja einer damit erfahrung!!

vielen dank im voraus

von Cihan K. (lazoboy61)


Lesenswert?

Du kannst grundsätzlich eigentlich hintereinander alles in die Fifos 
reinschreiben, den Rest sollte er schon erledigen (das korrekte auslesen 
der Fifos gesteuert durch den MIG).

Ich habe allerdings zwischen den CMD Befehlen immer eine gewisse Zeit 
Pause gemacht (5-10 Clockflanken), bevor ich nochmal ins Fifo 
reinschreibe. Habe es aus Sicherheitsgründen in meinem Design so 
implementiert und funktioniert hervorragend, müsste aber nicht gemacht 
werden meines Wissens.

Cihan

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.