Forum: FPGA, VHDL & Co. BRAM und DDR-RAM vom Mikrocontroller aus schlau lesen?


von Thomas (Gast)


Lesenswert?

Ich benutze einen Mikrocontroller, um ein DDR-RAM zu beschreiben und 
werde diesen in einen FPGA schieben (müssen :-() indem ich ihn durch 
einen proprietären Core ersetze (Microblaze darf ich nicht nehmen, wegen 
Lattice-Kompatibilität).

Der Controller nutzte bisher bereits BRAM, des FPGAs, was vom timing her 
gut klappte. Nun müssen Daten nicht nur direkt aus dem DDR-Ram gezogen 
werden und an den internen Controller gehen, sondern auch  Teile der 
BRAM-Register ist DDR verschoben werden und ich leide an der Latenz.

Frage: Wie kann ich in einem FPGA ein Art Cache einbauen, dass ich mit 
dem DDR-RAM genauso schnell sein kann, wie mit BRAM (3 Takte)?

Ich würde, wenn ich das hinbekommen, die Funktion gerne auch in die alte 
Plattform rückspeisen und das dortige FPGA mit derselben Funktion 
nachrüsten, damit auch der Zugriff über den physikalischen Controller 
schneller geht.

Hinweis:

Das Cachen funktioniert sicher nicht für alle Datenaufkommen, ich kann 
es aber per Programm so steuern (lassen), dass nur Daten sofort wieder 
abgefragt werden, die wirklich auch kurz zuvor angeboten wurden, damit 
sich der Cache nicht lehrt.

Die Funktion siet etwa so aus, dass das FPGA Daten holt, der Prozessor 
sich was ansieht und teilweise bearbeitet, um es dann wieder abzulegen, 
während ein dritter Prozess von aussen zugreift, um Daten zu lesen (eine 
I2C Schnittstelle als Master im FPGA).

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.