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"?
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:
Zu den Nachteilen gehören:
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 ...
KyranF
mng
KyranF
Pericynthion