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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.