Hi Leute, wie sachnell sind zur Zeit die FPGAs? Ich brauche für das anstehende Projekt ein FPGA welches in der Lage ist, Daten parallel mit 6OO-65O MHz auszugeben. Sind solche Geschwindigkeiten überhaupt möglich? Auf der Xilinx Seite habe ich was von 400-500 MHz gelesen.
Interner Takt 300 MHz und am Ausgangsbuffer Dual Data Rate, also an jeder Taktflanke neue Daten, sollten 600 MHz ergeben.
Deine Betrachtung ist nicht sinnvoll. Du bekommst so ohne Weiteres kein FPGA hinsynthetisiert, welches mit einem internen Systemtakt von 600MHz arbeiten kann und selbst die theoretischen 400MHz lassen sich nur über DDR-Strukturen fahren, wobei nichts über die Datenfrequenz gesagt ist. Diese hat nichts mit den angegebenen 400-500 MHz maximaler Systemfrequenz zu tun. Oft liegen die Systemfreuqenzen im FPGA eher bei 100 bis maximal 200MHz. Die faktische benötigten Datenfrequenzen von Vielfachen davon lassen sich nur durch Parallelisierung von Bussen und Verarbeitungsstrukturen erzeugen. Etwas anderes sind die Transceiverelemente: Die arbeiten im GHz-Bereich, müssen aber auch wieder gemaess obigem Schema passend angebunden werden.
Mir geht es darum, dass man die erzeugten Daten vom FPGA z.B. als 16-Bit breites Signal in einer bestimmten Frequenz bereit stellen kann. Die erforderliche Geschwindigkeit liegt bei ca. 600-650 MHz.
Ich denke, die gibt's, sind aber nicht bezahlbar. Die Altera Stratix GX und GX2 familie haben serielle Links mit 3.125 GBit. Alternativ koennte man ein grosses mit vielen Pins nehmen und externe Serialisierer, ein MC100EP446 parallel zu serial converter (schieberegister) macht 3.2GHz, da waere noch was uebrig. Z
Brauchst du wirklich die hohe Frequenz oder nur einen hohen Datendurchsatz?
@Archie >Mir geht es darum, dass man die erzeugten Daten vom FPGA z.B. als 16-Bit >breites Signal in einer bestimmten Frequenz bereit stellen kann. Die >erforderliche Geschwindigkeit liegt bei ca. 600-650 MHz. Diese Angabe ist wenig brauchbar. Ein Signal mit 650 Mbit/s (1 Leitung) zu erzeugen und zu empfangen ist mit den gängigen FPGAs kein Thema. Ein 10Gbit Ethernet MAC ist auch kein wirkliches Problem, der läuft mit 156 MHz und 64 Bit Datenbreite. Wie bereits gesagt, reale Taktraten für Logik im FPGA liegen so bei 200..300 MHz. Einfache Parallel-Seriell-Umsetzer gehen auch schneller, die speziellen Tranceiver bis 6 Gbit/s. MfG Falk
>Ein Signal mit 650 Mbit/s (1 Leitung) zu erzeugen und zu empfangen >ist mit den gängigen FPGAs kein Thema. Die dafür nötigen Leitungsverbindungen zwischen den FPGAs (board signal integrity) sind allerdings ein großes Thema. Und ganz so einfach ist die Weiterverarbeitung innerhalb des FPGA auch wieder nicht. Aber mal eine andere Frage: Du bist nicht zufällig an einem jener neuen Projekte dran, für die vor Kurzem (wieder mal) von etlichen Dienstleistungsanbietern Experten im FPGA-design gesucht wurden? (Stichwort 600MHz Design in der Automotivebranche)?
Da wurden Experten gesucht. Experten kommen nicht hier fragen. Ganz nebenbei kann man 600MHz am Ausgang wollen und keine Daten im herkoemlichen Sinn uebertragen. Ich haette auch so ein Projekt, da muesste ich fuer Experimente Pulsmuster mit 1ns oder weniger Aufloesung erzeugen . Da gibt's nur einen Sender und keinen Empfaenger. Z
> Da wurden Experten gesucht.
Für einen Dienstleister ist jeder Bewerber ein Experte, leider!
@Rolf >>Ein Signal mit 650 Mbit/s (1 Leitung) zu erzeugen und zu empfangen >>ist mit den gängigen FPGAs kein Thema. >Die dafür nötigen Leitungsverbindungen zwischen den FPGAs (board signal >integrity) sind allerdings ein großes Thema. Und ganz so einfach ist die >Weiterverarbeitung innerhalb des FPGA auch wieder nicht. Naja, dass das keine 0815 Hobybastlernivau mehr ist sollte klar sein. Aber es ist auch nicht unbedingt mehr State of the art. >Aber mal eine andere Frage: Du bist nicht zufällig an einem jener neuen >Projekte dran, für die vor Kurzem (wieder mal) von etlichen >Dienstleistungsanbietern Experten im FPGA-design gesucht wurden? >(Stichwort 600MHz Design in der Automotivebranche)? Nö. Aber ich hab mal mit an nem Board gearbeitet, das 10G Ethernet verarbeitet hat (Wahlweise 8x1G oder 1x10G). Da gab einige Leitungen mit ~1Gbit/s, ein paar mit 3.1 Gbit/s und sogar 10Gbit/s (die waren aber nur kurz, ~30mm). MfG Falk
Nein, ich bin nicht aus der Automotivebranche, sondern ein frischer Absolvent (dementsprechend auch keine Experte). Habe leider nur 1 Sem Erfahrung in VHDL Programmierung ( das war mal ein Spartan-I, soweit ich weiß). Und die FPGA Hardware ist für mich auch noch ziemlich fremd, da ich mehr mit µC's gearbeitet habe. Für das anstehende Projekt, kann ich leider keinen µC nehmen, da wie oben beschrieben ist, mit hohen Datenraten gearbeitet wird.
>Und die FPGA Hardware ist für mich auch noch ziemlich fremd, da >ich mehr mit µC's gearbeitet habe Na da bin ich mal gespannt, was da für ein FPGA-Programm rauskommt.
"Na da bin ich mal gespannt, was da für ein FPGA-Programm rauskommt." Ja evtl. wird er keine optimale Lösung finden, evtl. neu designedn müssen, evtl. in 10 Jahren die Hände über dem Kopf zusammenschlagen, was weiß ich. Das nennt sich Lernprozess glaube ich. Aber da gibts ja das INternet, dort sind sogenannte Foren, wo ältere Hasen, sogenannte Experten gerne Neuen helfen und ihr Wissen an sie weitergeben, ohne sich irgendwie profilieren zu müssen. Ich suche so ein Forum unter Hochdruck und werde dir, Archie, bescheid geben wenn ich mal eins finde. Oder hast du einen Tip, Herr Jürgen?
@icke >Ich suche so ein Forum unter Hochdruck und werde dir, Archie, bescheid >geben wenn ich mal eins finde. Oder hast du einen Tip, Herr Jürgen? Newsgroup comp.arch.fpga MfG Falk
Hallo Archie(Ham?):-), Was hast du den vor(wenn’s kein Geheimnis ist)? Vielleicht gibt's eine andere Lösung um dein Projekt zu realisieren. 73 Alex
Ich habe nichts dagegen, wenn Junghasen, wie Du es nennst, Lernen und dazu gfs auch das Netz benutzen. Die Kritik geht in eine andere Richtung: Ich muss mich immer wieder über die Vorgehensweise gewisser Firmen wundern, gerade einen Anfänger an ein 600MHz-Projekt dranzustellen, der dazu noch seinen Erfahrungsschwerpunkt auf Softwareentwicklung hat. Wir wissen alle, wie ein intuiver Ansatz eines FPGAs aussieht, der von einem Softwareentwickler erdacht wurde. Softwerker denken in Prozessen und Schleifen - um aber zu einem effizienten FPGA-design zu gelangen sind massenhafte Erfahrungen im Digitaldesign nötig. Bei solchen Hi-Speed-Geschichten kommen noch trickreiche timing-Aspekte hinzu.
Ja. Ein 600MHz design ist nicht trivial. Die Firma wird genau Einen haben, der das machen sollte, den Archie. Der macht den anderen Rest auch noch. Ein aelterer Spezialist war moeglicherweise zu teuer und/oder zu spezialisiert. Z.
Für mich ist es am Anfang wichtig zu wissen, ob das ganze realisierbar ist, und mit welchen Mitteln. Der Rest ist eine "Nebensache", da ich lernwillig und fähig bin. Zudem bin ich nicht nur ein Softwaremensch. Habe an ähnlichen Projekten mitgearbeitet (keine FPGAs sondern ECL-Bausteine), doch nur für die PDH E3-Schnittstelle(34 Mbits) und da gab es schon bereits genug Timingprobleme, das alles ist mir bekannt. Man erwartet von mir sicherlich nicht, dass ich mit der Sache in 2 Wochen fertig werde. Und was zu tun ist, habe ich oben beschrieben. Ich muss gewisse Daten (Ergebnisse der Polynomrechnung) vom FPGA berechnen lassen und diese als ein paralleles 16-Bit breites Signal, einem Multiplexer (bereits vorhanden) zur Verfügung stellen. Die Bereitstellung der Signale soll mit einer Rate von 650 MHz stattfinden. Was ich wissen wollte ist, ob ich mit Hilfe von VHDL erzeugten Daten gleichzeitig als 16-Bit breites Signal über die RockeIO-Schnittstelle nach Außen zur Verfügung stellen kann und ob das realisierbar wäre.
@Archie >Habe an ähnlichen Projekten mitgearbeitet (keine FPGAs sondern >ECL-Bausteine), doch nur für die PDH E3-Schnittstelle(34 Mbits) und da >gab es schon bereits genug Timingprobleme, das alles ist mir bekannt. ;-) Wenn man schon für lumpige 34 Mbit/s mit ECL arbeiten muss, sollte man das mit den 650 MHz nochmal durchdenken. >muss gewisse Daten (Ergebnisse der Polynomrechnung) vom FPGA berechnen >lassen und diese als ein paralleles 16-Bit breites Signal, einem >Multiplexer (bereits vorhanden) zur Verfügung stellen. Die >Bereitstellung der Signale soll mit einer Rate von 650 MHz stattfinden. Also du willst 650 Mwords a 16 Bit pro Sekunde berechnen und ausgeben? Das Ausgeben geht relativ problemlos, das Berechnen ist ohne MASSIVE Parallisierung nicht machbar. Vor allem da man mit max. 300MHz Taktrate rechnen sollte. >Was ich wissen wollte ist, ob ich mit Hilfe von VHDL erzeugten Daten >gleichzeitig als 16-Bit breites Signal über die RockeIO-Schnittstelle >nach Außen zur Verfügung stellen kann und ob das realisierbar wäre. 1.) Die Datenausgabe ist kein wirkliches Problem, das können selbst "alte" Virtex (ohne PRO, 4 oder 5). 2.) Die Rocket-IOs sind etwas spezieller, die muss man erstmal jeweils als einzelnen Kanal betrachten. Die können gar nicht langsamer als 622 Mbit/s. Will man mehrere parallel verwenden heisst das dort Channel Bonding und braucht etwas Logik. MfG Falk
Mit der RocketIO sicher nicht, das ist nämlich ein Serializer, der kennt nur einen Ausgang nicht 16. Den Weg den ich mir vorstellen könnte habe ich schon einmal angedeutet. Interner Clock 300 MHz. Die Berechnung der Ausgangswerte ist verdoppelt und berechnet getrennt gerade Werte und ungerade Werte. An Ausgang schaltet ein Dual Data Rate FF bei aufsteigender Taktflanke das Ergebnis eine Ergebnis und bei fallender Flanke das andere Ergebnis an den Pin. Dürfte aber trotzden hart an der Grenze der Realisierbarkeit liegen, wenn man sich die ganzen Maximalfrequenzen in den Datenblättern von Virtex-4 ansieht. Klaus
@Archie >Ich habe gelesen, dass einige FPGAs bis 24 RockenIO's haben, kann man >diese nicht einzeln nutzen? Sicher. MfG Falk
Ok, "einige" war vielleicht übertrieben: http://direct.xilinx.com/bvdocs/publications/ds100.pdf Seite 2. Das ist aber nicht von Bedeutung, 16 würden reichen.
Schau dir mal diese FPGAs an, ich habe allerdings keine Ahnung ob es die schon wirklich gibt: http://www.achronix.com/products.html
Ab 13 Kelvin ? Eher unwahrscheinlich. Germanium begint bei 18 Kelvin und Silizium bei 30-40Kelvin. h
Was heißt "Germanium beginnt bei 18 Kelvin und Silizium bei 30-40Kelvin."?
Das heisst dass unterhalb 18 Kelvin nur noch HEMT FET arbeiten, da im Germanium und Silizium keine Ladungstraeger und Loecher mehr vorhanden sind. Die Firma hat einen beeindruchenden Stab an leitenden Angestellten, aber kein einziges Datenblatt. Es scheint zur Zeit darum zu gehen, Kohle zu organisieren. Ob's jemals was wird ist eine andere Sache.
>offering a 390°C temperature range (from -260°C to +130°C).
Wie soll denn das gehen?
Über das erste Silizium (90nm) steht da noch, es hätte Versorgungsspannungen von 0.2-3.9V überstanden - während es arbeitete. Der Temperaturbereich soll zwischen -196°C und +130°C gelegen haben. Gegen hohe Strahlungswerte ist das Ding natürlich auch noch immun. Und es soll nur einen Bruchteil der Strombedarfs bisheriger FPGA haben. Klingt alles irgendwie nach Science Fiction. Abgesehen davon: bei 2 GHz Takt noch ein brauchbares internes Routing hinzubekommen stelle ich mir sehr spannend vor ;).
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.