Hallo, gibt es einen FPGA, der in der Lage ist mit mehr als 2Gbytes/s auf RAW zu schreiben/lesen? Ich finde in datasheets von diversen FPGAs zwar, dass diese DDR2 zwar mit 400Mhz ansteuern, aber trotzem 400-600MBit/s Bandbreite haben. Ich meine die älteren RAM Bausteine können doch locker meherer Gigabytes (im PC) transferieren pro Sekunde. Oder bin ich komplett verwirrt? Danke!
Ich bediene mein DDR2 mit netto durchschnittlich 5.76 Gbit/s und einem System-Takt von 200 MHz. Von einem Stratix III aus. Datenbusbreite ist 32 bit (ergibt 12.8 GBit/s brutto). Geht wunderbar. Neuere FPGAs machen bestimmt wesentlich mehr.
Also ich schaue mir gerade http://www.xilinx.com/support/documentation/data_sheets/ds557.pdf an. Ist ein Spartan-3AN. Da steht aber nur was von "DDR/DDR2 SDRAM support up to 400Mb/s". Wieso so gering?
Peter schrieb: > Ist ein Spartan-3AN. Da steht aber nur was von "DDR/DDR2 SDRAM > support up to 400Mb/s". Wieso so gering? Das ist der billigste der billigen FPGAs. Was erwartest du von dem?
Gut hast recht, aber die Zahlen der High-End FPGAs sehen auch nicht viel besser aus: http://www.xilinx.com/products/silicon-devices/fpga/index.htm (1,866Mb/s Spitzenwert?) oder sind die Werte Brutto doch höher? Welchen kostengünstigen FPGA würdest du den für RAM-Intensive Algorithmen empfehlen nach möglichkeit mit board?
Ich sehe gerade, dass selbst der Arria V hat nur 1GBit/s("The SDRAM controller subsystem supports DDR2, DDR3, or LPDDR2 devices up to 4 Gb in density operating at up to 533 MHz (1066 Mbps data rate).") Oder habe ich was falsch verstanden?
Peter schrieb: > "The SDRAM > controller subsystem supports DDR2, DDR3, or LPDDR2 devices up to 4 Gb > in density operating at up to 533 MHz (1066 Mbps data rate).") Oder habe > ich was falsch verstanden? Die Bandbreite wird immer pro Pin angegeben! Bei 32 Bit Breite macht das 34 GBit/s auf dem kompletten Bus (natuerlich noch minus Overhead, Wartezeiten, Refresh etc.)
Also so ein FPGA hat meist recht viele IOs, da kann man doch mehrere RAM Chips parallel anschließen. Der Controller im Spartan6 schafft laut Datenblatt schon ordentlich, also 12,8 Gbits/s bei 16Bit Busbreite. Und dann kann man auchnoch mehrere RAM Chips anschließen.
Gustl Buheitel schrieb: > Also so ein FPGA hat meist recht viele IOs, da kann man doch mehrere RAM > Chips parallel anschließen. Die sind aber nicht alle DDR-tauglich, wenigstens nicht auf den Bandbreiten. > Der Controller im Spartan6 schafft laut Datenblatt schon ordentlich, > also 12,8 Gbits/s bei 16Bit Busbreite. Und dann kann man auchnoch > mehrere RAM Chips anschließen. Im Spartan 6 sind daher harte Controller-Chips eingebondet, die mit dem FPGA selber nichts zu tun haben. Nur beim Virtex6 aufwärts bekommt man die Bandbreiten mit einem Softcontroller hin.
Ganz einfach, weil man die IO-Pins im FPGA nicht auf optimale DDR3 Verwendung optimieren will und kann. Denn dann wären sie für andere Anwenungen unbrauchbar. Wem das nicht gefällt kann ja bei Xinix/Altera/Lattice vorstellig werden, und mit einem eigenen Usecase vorrechnen dass es sich finanziell lohnt eine FPGA Familie mit dedizierten DDR3 I/O's zu entwickeln. Wobei die Versionen mit einem Hardcore ARM (Xilinx Zynq) das ja vielleicht haben. Aber auch bei den SoCs (z.B. TI) haben nur die Topversionen Topspeed.
Ich hatte doch nur geschrieben, dass man mehrere RAMs parallel anschließen kann. Klar dann nicht mit Höchstgeschwindigkeit. Und ich hatte geschrieben, dass der RAM Controller im Spartan6 eine Datenrate von 12,8 Gbits/s bei 16Bit Busbreite schafft (laut Xilinx). Es gibt da jetzt Spartan6 mit mehreren solchen Controllern und ich vermute auch, dass wenn man an einem Spartan6 viele IOs nimmt (also nicht den eingebauten RAM Controller) und da langsamere RAM Bausteine selbst ranhängt parallel, dass man dann auch auf eine hohe Datenrate kommt. Ist halt deutlich mehr Aufwand weil man mehrere RAM Chips braucht und den Controller selbst schreiben muss.
Gustl Buheitel schrieb: > und da langsamere RAM Bausteine > selbst ranhängt parallel, dass man dann auch auf eine hohe Datenrate > kommt. Ist halt deutlich mehr Aufwand weil man mehrere RAM Chips braucht > und den Controller selbst schreiben muss. Beziehst Du dich darauf DDR-SDRAM parallel zu hängen?
Ist das nicht egal welchen RAM Typ man verwendet? Ich hab das auch noch nie gemacht, aber der Threadstarter fragt nach einer Bandbreite, da kann und sollte man natürlich die eingebauten Controller nehmen wenn vorhanden. Aber eigentlich kann man an die IOs auch selber RAM ansprechen. Klar das muss man niedriger takten und so, und das hängt auch sehr vom jeweiligen FPGA ab wieviele IOs der hat und wie schnell sie sind, aber bei den dickeren FPGAs könnte man bei den doch sehr vielen IOs auch viele SRAMs parallel anbinden und so eine ordentliche Datenrate ganz ohne hardware Controller erreichen.
Gustl Buheitel schrieb: > den doch sehr > vielen IOs auch viele SRAMs parallel anbinden Das wird auch so gemacht. Das DDR-Gedöhns ist ja nur im PC-Markt etbliert, weil es billig ist. Im Grunde ist es ein Flaschenhals. Fürs schnelle R/W ist SRAM nach wie vor das Mittel der Wahl
Dann gibt es da ja auch noch so QDR2 SRAM oder QDR2+ SRAM - leider gibt es damit keine Boards für kleines Geld, also so > 200€ vielleicht baut ja mal wer sowas.
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.