Transceptores en el campo de los FPGAs: ¿Cuándo y por qué los utilizaremos?

Recientemente me estoy metiendo en el campo del diseño y desarrollo de FPGA, y últimamente me he encontrado escuchando mucho sobre transceptores. Traté de buscar en la red algunas respuestas sobre estos componentes y aprendí su papel en el mundo de los FPGA, pero no pude encontrar mucha información, pero algunos artículos relacionados con las comunicaciones en serie y Ser/Des...

Quería preguntar por qué, cuándo y, lo que es más importante, ¿cómo usaré transceptores en FPGA? ¿Cuáles son sus alternativas (si las hay)? ¿Existe algún tipo de regla general para el uso de transceptores? ¿Y cómo puedo "aprovechar" todo ese bien transceptor a mi favor?

¿De qué sirve un FPGA súper rápido, capaz de procesar la lógica como un jefe, sin poder decirle al mundo exterior sobre sus resultados? Los transceptores suenan como comunicaciones de varios tipos, ya sea en paralelo o en serie, tal vez con controladores diferenciales o ethernet, etc. Podrían ser muchas cosas, y la gente quizás se refiera a ellos en términos generales como transceptores.
@KyranF El autor de la pregunta probablemente significa "transceptores en serie de alta velocidad".
Los transceptores @mng no necesitan ser seriales en absoluto, y el autor de la pregunta no sabía qué era
Pero en el contexto de las características anunciadas por los fabricantes de FPGA, 'transceptor' significa casi invariablemente hardware dedicado para comunicaciones seriales de alta velocidad (múltiples Gbps) que admiten una variedad de protocolos de nivel de cable y esquemas de [de] serialización.

Respuestas (1)

Necesita usar un transceptor cuando desea generar señales de alta velocidad desde el interior de la FPGA e interactuar con el mundo real.

Los ejemplos típicos son para comunicarse con otras partes de alta velocidad en la misma placa (por ejemplo, otra FPGA o ADC) o para conectarse fuera de la placa (por ejemplo, usando PCI, HDMI o Ethernet).

Para enviar estas señales de alta velocidad correctamente, hay una serie de consideraciones eléctricas y de codificación. Tal vez sea necesario eliminar el sesgo de CC, por ejemplo, utilizando alguna forma de codificación de símbolos (por ejemplo , 8b/10b ). Tal vez el canal de comunicación use pares diferenciales para enviar con precisión datos de alta velocidad a través de un cable. Los fabricantes de FPGA incorporan transceptores flexibles para hacer este trabajo, ahorrándole el esfuerzo.

Por ejemplo, el Spartan 6 LXT contiene lo que Xilinx llama un "transceptor GTP de 3,2 Gbps". Su literatura dice:

  • Implementar protocolos en serie con la potencia más baja
  • Los dispositivos contienen hasta 8 circuitos transceptores gigabit
  • Rendimiento de hasta 3,2 Gbps
  • Interfaces de alta velocidad: Serial ATA, Aurora, 1G Ethernet, PCI Express, OBSAI, CPRI, EPON, GPON, DisplayPort y XAUI
  • Menor consumo de energía: < 150 mW (típico) a 3,2 Gbps

Esas son muchas interfaces de alta velocidad que se pueden lograr usando los transceptores.

Podría implementar mucho de esto por su cuenta y en FPGA más antiguos/más pequeños/más baratos , esta suele ser la única forma. Sin embargo, pronto tendrá problemas para diseñar una lógica que funcione lo suficientemente rápido como para mantenerse al día y necesitará muchos componentes externos para la interfaz eléctrica.

Desafortunadamente, con muchas interfaces modernas, los pines de E/S de FPGA normales simplemente no funcionan lo suficientemente rápido como para lograr las altas velocidades de datos requeridas.

Entonces, en resumen, los beneficios de los transceptores internos son:

  • Los mecanismos de codificación no consumen recursos de FPGA y pueden ejecutarse a una alta velocidad garantizada (no es necesario comprometer otras partes de su diseño para mantener las limitaciones de tiempo).
  • Las interfaces eléctricas se manejan por usted con un mínimo de piezas externas.
  • La implementación de interfaces extremadamente complicadas (por ejemplo, PCI Express) se realiza por usted y (si corresponde) se certifica.
  • El silicio dedicado (probablemente) usará menos energía que otros bloques dentro de la FPGA.

Las desventajas incluyen:

  • Está limitado a una pequeña cantidad de interfaces externas específicas. Sin embargo, la mayoría de los FPGA modernos son lo suficientemente flexibles y hay una serie de interfaces de alta velocidad que se están volviendo comunes.
  • Los FPGA con potentes transceptores probablemente costarán más en comparación con las piezas que no los tienen.
You could implement a lot of this on your own - Eso no es realmente cierto en la mayoría de los casos prácticos en estos días, ya que las tasas de datos a las que se ejecutan los transceptores duros están mucho más allá de lo que pueden alcanzar los pines normales del dispositivo. Es cierto que las funciones lógicas se pueden lograr potencialmente en la estructura, pero los pines "lentos" (solo 100 Mbps :) dejarán de ser de mucha utilidad...
Excelente punto: edité la respuesta y voté a favor.