Forum: FPGA, VHDL & Co. DDR-Controller mit FPGA


von Stefan H. (shaun)


Lesenswert?

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?

von Roger S. (edge)


Lesenswert?

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

von Stefan H. (shaun)


Lesenswert?

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.

von Roger S. (edge)


Lesenswert?

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

von Klaus F. (kfalser)


Lesenswert?

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.

von Stefan H. (shaun)


Lesenswert?

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 ;)

von Morin (Gast)


Lesenswert?

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.

von shaun (Gast)


Lesenswert?

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