Transceiver im Bereich FPGAs: Wann und warum werden wir sie einsetzen?

Ich beschäftige mich seit kurzem mit dem Design und der Entwicklung von FPGAs und habe in letzter Zeit viel über Transceiver gehört. Ich habe versucht, im Internet nach Antworten zu diesen Komponenten zu suchen und ihre Rolle in der Welt der FPGAs zu erfahren, konnte aber nicht viele Informationen finden, außer ein paar Artikeln, die sich auf serielle Kommunikation und Ser/Des beziehen ...

Ich wollte fragen, warum, wann und vor allem wie werde ich Transceiver auf FPGAs verwenden? Was sind ihre Alternativen (falls vorhanden)? Gibt es eine Art Faustregel für die Verwendung von Transceivern? Und wie kann ich all diese guten Transceiver zu meinem Vorteil "nutzen"?

Was nützt ein superschnelles FPGA, das in der Lage ist, Logik wie ein Boss zu knacken, ohne der Welt draußen seine Ergebnisse mitteilen zu können? Transceiver klingen wie Kommunikationen verschiedener Art, entweder parallel oder seriell, vielleicht mit differentiellen Treibern oder Ethernet usw. Könnte eine Vielzahl von Dingen sein, und die Leute bezeichnen sie vielleicht allgemein als Transceiver.
@KyranF Der Fragesteller bedeutet wahrscheinlich "serielle Hochgeschwindigkeits-Transceiver".
@mng-Transceiver müssen überhaupt nicht seriell sein, und der Fragesteller selbst wusste nicht, was es war
Aber im Kontext der von FPGA-Herstellern beworbenen Funktionen bedeutet „Transceiver“ fast immer dedizierte Hardware für serielle Hochgeschwindigkeitskommunikation (mehrere Gbit/s), die eine Vielzahl von Protokollen auf Drahtebene und [De]serialisierungsschemata unterstützt.

Antworten (1)

Sie müssen einen Transceiver verwenden, wenn Sie Hochgeschwindigkeitssignale aus dem Inneren des FPGA herausbringen und mit der realen Welt verbinden möchten.

Typische Beispiele sind die Kommunikation mit anderen Hochgeschwindigkeitsteilen auf derselben Platine (z. B. ein weiterer FPGA oder ADC) oder die Verbindung außerhalb der Platine (z. B. über PCI, HDMI oder Ethernet).

Um diese Hochgeschwindigkeitssignale korrekt zu senden, gibt es eine Reihe von Codierungs- und elektrischen Überlegungen. Vielleicht ist es notwendig, DC-Bias zu entfernen, zum Beispiel unter Verwendung irgendeiner Form von Symbolcodierung (z . B. 8b/10b ). Möglicherweise verwendet der Kommunikationskanal differentielle Paare , um Hochgeschwindigkeitsdaten genau über eine Leitung zu senden. FPGA-Hersteller bauen flexible Transceiver ein, um diese Arbeit zu erledigen, was Ihnen den Aufwand erspart.

Beispielsweise enthält der Spartan 6 LXT das, was Xilinx einen „3,2-Gbit/s-GTP-Transceiver“ nennt. Ihre Literatur sagt:

  • Implementieren Sie serielle Protokolle bei niedrigster Leistung
  • Geräte enthalten bis zu 8 Gigabit-Transceiver-Schaltungen
  • Bis zu 3,2 Gbit/s Leistung
  • Hochgeschwindigkeitsschnittstellen: Serial ATA, Aurora, 1G Ethernet, PCI Express, OBSAI, CPRI, EPON, GPON, DisplayPort und XAUI
  • Geringerer Stromverbrauch: < 150 mW (typisch) bei 3,2 Gbit/s

Das sind viele Hochgeschwindigkeitsschnittstellen, die mit den Transceivern erreicht werden können.

Vieles davon könnte man selbst implementieren und bei älteren/kleineren/günstigeren FPGAs ist dies oft der einzige Weg . Sie stoßen jedoch bald auf Probleme beim Entwerfen einer Logik, die schnell genug läuft, um mitzuhalten, und Sie benötigen viele externe Komponenten für die elektrische Schnittstelle.

Leider laufen bei vielen modernen Schnittstellen die normalen FPGA-I/O-Pins einfach nicht schnell genug, um die erforderlichen hohen Datenraten zu erreichen.

Zusammenfassend sind die Vorteile interner Transceiver also:

  • Codierungsmechanismen beanspruchen keine FPGA-Ressourcen und können mit garantiert hoher Geschwindigkeit ausgeführt werden (keine Notwendigkeit, andere Teile Ihres Designs zu gefährden, um Zeitbeschränkungen einzuhalten).
  • Elektrische Schnittstellen werden für Sie mit einem Minimum an externen Teilen gehandhabt.
  • Die Implementierung extrem komplizierter Schnittstellen (zB PCI Express) wird für Sie durchgeführt und ggf. zertifiziert.
  • Dediziertes Silizium wird (wahrscheinlich) weniger Strom verbrauchen als andere Blöcke innerhalb des FPGA.

Zu den Nachteilen gehören:

  • Sie sind auf eine kleine Anzahl spezifischer externer Schnittstellen beschränkt. Die meisten modernen FPGAs sind jedoch flexibel genug, und es gibt eine Reihe von Hochgeschwindigkeitsschnittstellen, die sich immer mehr durchsetzen.
  • FPGAs mit leistungsstarken Transceivern werden wahrscheinlich mehr kosten als Teile ohne.
You could implement a lot of this on your own - das stimmt heutzutage in den meisten praktischen Fällen nicht wirklich, da die Datenraten, mit denen die harten Transceiver laufen, weit über dem liegen, was die normalen Pins des Geräts erreichen können. Zugegeben, die Logikfunktionen können möglicherweise im Fabric erreicht werden, aber die "langsamen" (nur 100 Mbit / s :) Pins werden verhindern, dass es viel verwendet wird ...
Ausgezeichneter Punkt - ich habe die Antwort bearbeitet und positiv bewertet.