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
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.
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
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
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
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!
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.
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!
Warum kannst du nicht einfach eine Festplatte nehmen? Schnell genug ist die und billiger auch.
Wie kommst du auf 8 Datenleitungen pro Modul? Mein SDRAM Modul auf meinem Stratix II Board ist 32 Bit breit angebunden...
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!
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
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).
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
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!
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 ;) )
Mein Projekt: Ein Gerät, das ca. 30s Film in unterschiedlichen HDTV-modi aufnehmen kann, und dann abspielen kann.
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.