¿Por qué asume que con los enlaces de alta velocidad, no se requiere un recuento alto de pines? Tal vez para su aplicación.
De los diversos proyectos en los que trabajé y de otros con los que he estado en contacto, aquí está el alcance del uso de un FPGA / CPLD con enlaces de alta velocidad:
-
Se utiliza como un expansor de E / S con una CPU / SoC / DSP. El FPGA, por ejemplo, conectará múltiples enlaces de alta velocidad como Gigabit ethernet y se conectará a la CPU a través de un enlace de mayor velocidad como PCI Express o un bus LVDS personalizado. El FPGA se utiliza como un multiplexor inteligente.
En este caso, se necesita un alto número de pines pero con pocas puertas lógicas y memoria interna.
-
Usado solo: el FPGA sirve como CPU, hará todo el procesamiento. En este caso, un alto número de pines y muchas puertas lógicas y una alta memoria interna o memoria externa para el procesamiento (que necesitan pines ...)
Por ejemplo, trabajé en un conmutador Ethernet determinista aeroespacial con un FPGA de gama alta: 28 puertos @ 1 Gbps + 2 enlaces PCI Express y 2 memorias QDR para tablas de enrutamiento y estadísticas. Se necesitaba un número de pines muy alto y muchas puertas lógicas.
Si no encaja en este caso de dos usos, tal vez tenga una aplicación muy específica en la que el proveedor de FPGA no esté interesado.
Sin embargo, entiendo su punto de vista, trabajé personalmente en un proyecto en el que necesitábamos un FPGA con muchos transceptores (hasta 20, con hasta 10Gbps ...) pero con pocas puertas lógicas (ya que se utilizará como un multiplexor inteligente) y no hemos encontrado una referencia con una huella pequeña, muchos transceptores y pocos pines GPIO.
Como no proporciona información sobre su solicitud (¿velocidad de enlace?), puede echar un vistazo a la familia Lattice ICE40. Creo que esto se ajustará a sus necesidades.
enlace
Editar (explicación sobre el alto número de pines):
Los FPGA tienden a tener paquetes con un alto número de pines por algunas de estas razones:
-
pines de configuración:
La mayoría de los FPGA tienen un acceso JTAG con pines dedicados. Dependiendo del modelo, estos pines se pueden usar como GPIO (si no se usa el JTAG) o están totalmente dedicados. También tendrá algunos pines utilizados para reinicio, programación, etc. A veces, puede tener alrededor de 10 pines para fines de configuración, si tiene la suerte de que estos pines estén empotrados para que pueda usarlos como GPIO y pines de configuración.
-
Potencia / GND:
Este es el uso que más consume pin. Las E / S FPGA tienden a ser organizadas por bancos reagrupando los pines. Como los FPGA se utilizan para la creación de prototipos, el voltaje de E / S depende del banco: cada banco tiene sus propios pines de alimentación, por lo que puede tener señales de 3.3V en algunos GPIO y en otros bancos con 2.5V o 1.8V. Esto es muy útil cuando su FPGA crea una interfaz con un procesador reciente (voltaje de E / S de 1.8V o 2.5V) y usted tiene chips de 3.3V en su tarjeta, el FPGA se puede usar como un cambiador de voltaje.
Además, cuando tienes transceptores en tu FPGA, los pines están protegidos con pines GND alrededor.
Cuando tome un FPGA con un paquete BGA, tendrá alrededor del 30% de los pines utilizados para Power y GND. Los paquetes TQFP y SMD tienden a tener menos pines de alimentación / GND pero están más limitados en términos de integridad de la señal.
También si tienes un paquete pequeño con pocos pines, digamos 16 pines. Si cuenta aproximadamente 4 pines para la configuración, 4 pines para GND y 2 pines para la alimentación del núcleo y la energía de E / S, ya usa 10 pines, u 8 si usa solo 2 pines para GND, por lo que solo tendrá 8 Pines de E / S.