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?
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:
Las desventajas incluyen:
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...
KyranF
gestión
KyranF
pericintion