www.mikrocontroller.net

Forum: FPGA, VHDL & Co. SDRAM interface FPGA


Autor: Roman (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Tag!

Ich muss 10 Gbyte SDRAM (DDR oder DDR2) mit einem FPGA ansprechen. Am
besten 10x1Gbyte parallel (d.H. ich lese und schreibe bei allen RAMS
von/auf dieselbe Adresse). In Frage kommt ein CycloneII von altera, da
gibt es auch eine Appnote über DDR und DDR2. Ich verstehe das aber noch
nicht ganz, gibt es da schon Projekte, z.B. Ansprechen von SDRAM? Mein
Verständnisproblem ist folgendes: DDR2-Module werden anscheinend über
einen Advanced Memory Buffer angesprochen, bei den Datenblättern vom
FPGA aber nicht (vielleicht sind es da RAM-Komponenten? kommt aber
nicht mit den Pins hin, Komponenten haben deutlich weniger als 200
Pins).

Kann mir jemand mit einem Link, tutorial oder einer Erklärung helfen.

Über Hilfe wäre ich echt dankbar!
Roman

Autor: Tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe zwar noch kein SDRAM angesteuert, aber ich habe schon eine
Schnittstelle für einen SRAM programmiert und zwar in VHDL.
Also ich habe eignetlich bloß das Timing zum Schreiben und Lesen des
SRAM aus den Datenblättern hergenommen und ind VHDL porgrammiert und
dann funktionierte das abspeichern von Daten.

Autor: Roman (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die schnelle Antwort. SRAMs habe ich auch schon angesteuert,
aber die neuen SDRAM-Module werden in einem Daisy-chain (implementiert
duch den Advenced Memory Buffer auf dem Modul)
hintereinandergeschaltet, und darüber habe ich keinerlei
Ansteuerinformation.

Danke! Roman

Autor: Jörn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Darf man frag was du mit 10 GByte RAM an einem FPGA machst?

Hast du die HW schon oder mußt du die auch noch erstellen?

Von Altera / Xilinx gibt es schon SDRAM Controller, die das Timing für
die RAM erzeugen. DDR und DDR2 Controller müßten auch verfügbar sein.

Gruß Jörn

Autor: Roman (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Nein, die HW habe ich noch nicht. 10 Gig Ram für Film im HDTV-Format.
Sind die erwähnten SDRAM-Controller dann im FPGA, oder externe
Bausteine? Kann ich da das RAM parallel anschliessen? Ich suche dann
mal nach Controllern, bin aber weithin für Tipps dankbar!

Vielen Dank!
Roman

Autor: Roman (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alles klar, der Controller ist dann nahcher im FPGA. Das mit dem
parallelen Ansteuern muss ich ausprobieren, wenn dich die Quartus Web
edition habe, kann noch dauern. Achso: Für die Produktion muss man dann
Lizenzgebühr bezahlen!

Nochmals Danke für die Hile!

Autor: Jörn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die SDRAM Controller sind im FPGA.

Das mit dem parallel anschließen bezweifle ich sehr stark. Teilweise
haben die FPGAs spezielle Pins für die Speicherinterfaces.
Hast du schon mal die benötigte Pinanzahl ausgerechnet, die du für 10
GByte Speicher brauchst ?

Unter

http://www.altera.com/literature/lit-an.jsp

findest du Application Notes über RAM-Controller.

Autor: Roman (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
O.K, ich entscheide mich wahrscheinlich für "normale" PC-133 SDRAMs.
Altera unterstützt nur 8 Chip-Select Ausgänge, damit ist das schon mal
KO . Jetzt die Pins: 15 Adressleitungen geshared zwischen den Modulen +
8 Datenleitungen pro Modul * 10 Module = 95 Pins. Sollte also kein
Problem sein.

Danke nochmal!

Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum kannst du nicht einfach eine Festplatte nehmen? Schnell genug ist
die und billiger auch.

Autor: Jörn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie kommst du auf 8 Datenleitungen pro Modul? Mein SDRAM Modul auf
meinem Stratix II Board ist 32 Bit breit angebunden...

Autor: Roman (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Modulbreite: Da habt ihr recht, es müssen 64 bit pro Modul sein. Mit
einer Festplatte wird das ganze zu schwer, und mit der Datenrate bin
ich nicht sicher... 3Gbit/s muss die locker schaffen können!

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
133MHz SDRAM schafft etwa 1GByte/s. Da sollte man die doch einfach
parallel schalten können?

Wieviele Datenströme hast Du eigentlich? 3GBit/s ist doch wohl etwas
viel für eine Kamera.

Markus

Autor: Roman (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, durch eine Parallelschaltung will ich die Geschwindigkeit bekommen.
Darüberhinaus wird streng sequentiell (also die Adresse wird immer um 1
inkrementiert) zugegriffen, da hoffe ich im Burst-Modus auf wahre
Wunder!
Das HDTV-Signal für 1080p über Dual-link ist 2x1.485 Gbit/s, also knapp
3 Gbit/s (wird seriell über 2 Koax-Kabel übertragen).

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da habe ich mich gerade mißverständlich ausgedrückt. Mit parallel meinte
ich, daß Du die alle zusammen schließen könntest (wenn das die
Leitungstreiber schaffen).

Ein einzelnes SDRAM macht 8GBit/s, Du brauchst knapp 3GBit/s. Wenn Du
die 10 Speichermodule getrennt ansteuerst, dann hast Du halt 80GBit/s
Bandbreite und bist damit um Faktor 26 schneller als nötig.

Ich glaube auch nicht, daß ein Design mit 1000 Leitungen so wirklich
Spaß macht.

Markus

Autor: Roman (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alles klar, danke für den Hinweis, ich muss das jetzt in Ruhe
durchrechnen. Inzwischen war ich von 2x5 Modulen ausgegangen, also 2
paralelle Blöcke von 5 in Reihe geschalteten Modulen. Das wären 15
Adressleitungen und 2x64 I/O-Leitungen. Ich bräuchte dann alle 5 Takte
(133 MHz) einen Transfer.

Also, ich nehme jetzt mal meinen treuen HP-67 (Taschenrechner) und
rechne das durch!

Autor: jens (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wäre es aber nicht besser, wenn du eh schon so einen aufwand treibst,
die Komponentenausgänge der hdcam zu nutzen? da hast du gleich bessere
Qualitaet.oder ist es nur die minidv (oder dvcam) mit hd?
Was genau willst du machen? würde mich einfach mal interessieren. Soll
es ein Konkurenzprodukt zu Viper werden ;) )

Autor: Roman (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mein Projekt:

Ein Gerät, das ca. 30s Film in unterschiedlichen HDTV-modi aufnehmen
kann, und dann abspielen kann.

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.