mikrocontroller.net

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


Autor: Stefan Huebner (shaun)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Roger Steiner (edge)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Stefan Huebner (shaun)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Roger Steiner (edge)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Klaus Falser (kfalser)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Stefan Huebner (shaun)
Datum:

Bewertung
0 lesenswert
nicht 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 ;)

Autor: Morin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: shaun (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.