Hallo zusammen, da hier ja einige FPGA-Erfahrene schreiben, stelle ich einfach mal ins Blaue hinein meine Frage, um grob abzuklopfen, was für einen Aufwand ich zu erwarten hätte. Es geht darum, einen Datenstrom der mit 400MHz angekleckert kommt (48 bit parallel) zu speichern, und das mit einer nicht unerheblichen Speichertiefe, einige hundert MegWörter werden es wohl. Welche Voraussetzungen müssten dafür erfüllt werden? Neben dem DDR2-RAM und dem entsprechenden Controller wird ja vermutlich noch einiges an FIFO nötig sein. Hat da jemand schon Erfahrungswerte? In was für einer Größenordnung würde sich der benötigte FPGA bewegen, vor allem auch preislich?
z.B. ein Altera EP3C40 im 484FBGA dazu vier 16bit DDR2 SDRAM @ 200MHz. Ein paar embedded memory blocks reichen als FIFO. Preise gibts im Shop auf der Altera Homepage, die kannst du getrost halbieren. Aber zuerst solltest du dir mal ueberlegen wie 48bit/400MHz ins FPGA rein sollen. Cheers, Roger
Danke dafür. So ein EP3C40F484 liegt also in der Größenordnung 120 USD +/- 40%, das ist ja schon mal ein Anhaltspunkt. Was genau meinst Du "hineinbekommen" - die Daten liegen mir parallel vor, bei der Wahl des Interfaces hätte ich wohl noch Spielraum. Die Devkits sind ja leider nicht mit dem C40 erhältlich und auch kostenmäßig etwas unschön. Ein Devkit, ob vom Hersteller, second source oder sonstiger "Abfall" aus R&D, Unibetrieb o.ä. mit einem C40, herausgeführten I/Os (LVDS...?) und eben DDR2, am liebsten in Form eines DIMM-Sockels, darf ja gerne seinen Preis kosten, v.a. auch, weil ich für den DDR2-Controller wohl auf Anschauungsmaterial angewiesen wäre, aber der Preis muss zum etwas ungewissene Ausgang des Projektes passen. Ich werde mir die Datenblätter von Altera mal zu Gemüte führen und mich erstmal schlau machen, wie die Interfaces beschaffen sind.
Den EP3C40F484 hab ich dir vorgeschlagen als kleinster Altera low cost FPGA der deiner Speicherbandbreite gerecht wird. bei den Cyclones geht DDR2 bis 200MHz und das nur mit den DDR I/Os, somit wird es ein 64bit Speicher. Bei den CycloneIII ist es der 40er der kleinste dafuer. Wenns ein one-shot ist und du auf der Suche nach R&D Abfall oder Dev Kits bist, dann siehst bei den high-end Familien (bei Altera StratixII / StratixIII) evtl. besser aus. Da dort die doppelte Frequenz moeglich ist braucht der Speicher nur halb so breit sein. > Was genau meinst Du "hineinbekommen" - die Daten liegen mir parallel > vor, bei der Wahl des Interfaces hätte ich wohl noch Spielraum. 400MHz ist nicht grad wenig. Dies an ein bestehendes Board 'anklemmen' wird wohl nix, geschweige in einem low-cost FPGA 1:1 zu verarbeiten. Cheers, Roger
Auch ein Board mit Speichertakt 200 MHz und 64 bit Datenbreite zu entwickeln ist nicht gerade etwas, das man Zuhause an einem Nachmittag machen kann ... Dazu braucht es schon Layout Programme mit definierter Leitungsführung und ein paar signal integrity Simulationen.
Das ist schon klar. Ich sammle derzeit auch nur Erfahrungen. Bevor die Schnittstellen nicht stehen, die Bauteile nicht nur beschaffbar, sondern auch beschafft sind und die letzten Zweifel geklärt sind geht's ans Design. Platine muss ich ja eh herstellen und bestücken lassen, zumindest den FPGA. Mit zur Wagnerpizza in den Backofen wollte ich das Ding nicht legen ;)
Dein Speicherbedarf liegt bei ca. 1 GB. Das musst du sowieso auf mehrere RAM-Chips aufteilen; diese könntest du parallel ansprechen um auf der Seite mit dem Riesendurchsatz klarzukommen. Dann geht auch der Refresh schneller.
Klar, Speicher ist ja im Moment nicht das Problem. Und wenn ich pro 8 bit Daten 64 bit RAM hätte, wären das für meine 48 bit immernoch nur 6 DDR-Riegel. Also kein wirklicher Kostenfaktor. Wenn ich die Daten aber erstmal so stark interleaved habe, brauche ich auch bald kein DDR mehr.
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.