Cómo iniciar un diseño de PCB FPGA para su sistema embebido

Zachariah Peterson
|  Creado: Junio 20, 2022  |  Actualizado: Septiembre 2, 2024
Diseño de PCB para FPGA

Los FPGA vienen en paquetes cuádruples o BGA que pueden ser difíciles de planificar, especialmente con el alto número de E/S que a menudo se implementan en estos componentes. Los FPGA ofrecen muchas ventajas en términos de su reconfigurabilidad, pero pueden requerir mucho esfuerzo para diseñar y trazar sin dolores de cabeza. Si nunca has trabajado con un FPGA en tu diseño de PCB, tenemos algunas pautas que pueden ayudarte a comenzar.

Crear un diseño de PCB para FPGA es principalmente difícil porque requiere una planificación significativa que debe coincidir con el diseño general del sistema. El diseño del sistema FPGA puede dictar dónde algunos componentes necesitan ser colocados y trazados en el diseño del PCB, y viceversa. Si ya has planificado el diseño de tu sistema, entonces probablemente tendrás un tiempo más fácil construyendo tu aplicación e implementándola en un FPGA con éxito. Para comenzar, veremos cómo pensar en el apilamiento y los canales de enrutamiento en tu FPGA, ya que estos puntos impulsarán muchas decisiones en el diseño del PCB.

Apilamientos y Enrutamiento en un Diseño de PCB para FPGA

Para comenzar con un FPGA, es importante notar que los FPGA avanzados de hoy en día con un número moderado a alto de E/S vienen en paquetes BGA. Los FPGA en QFP también están disponibles, pero los componentes más avanzados estarán disponibles en paquetes BGA. La razón de esto es simple: puedes colocar muchas más E/S en un paquete BGA, y puedes reducir el tamaño del componente si un FPGA está empaquetado en un BGA.

Así que para empezar, asegúrate de que el diseño de apilamiento para tu diseño de PCB de FPGA cumpla con algunos requisitos simples:

  • Intercalar capas de potencia y señal con capas de tierra en el apilado de PCB
  • Utilizar el método estándar en BGAs para determinar el número requerido de capas de señal para el enrutamiento (Capas de señal = # de filas con señales/4)
  • Para E/S de alta velocidad, asegúrate de hacer la capa externa lo suficientemente delgada para eliminar la necesidad de reducción de cuello
  • Usar planos de tierra y/o relleno de tierra para apoyar el enrutamiento de alta velocidad con control de impedancia

Las directrices mencionadas aquí se aplican a cualquier BGA, pero son bastante importantes en FPGAs. Un FPGA se utiliza a menudo porque permite el acceso a múltiples interfaces de alta velocidad que no están disponibles en un componente más lento como un MCU/MPU. Incluso en BGAs de paso sub-mm, no se requiere implementar prácticas de diseño HDI, pero aún así debes implementar un apilado que permita el tipo de enrutamiento que necesitas para asegurar la integridad de la señal, la integridad de la potencia y la EMC.

Ejemplo de Apilado

El apilamiento mostrado a continuación proporciona múltiples canales de enrutamiento en varias capas. Si hay más de dos filas/columnas de E/S en el FPGA, entonces tendrás que dedicar múltiples capas de señal a estos grupos de E/S. Se pueden añadir capas adicionales para soportar otras señales no dedicadas al FPGA, o a otras interfaces (analógicas, SPI, etc.).

FPGA PCB stackup
Ejemplo de apilación de PCB de 12 capas para un diseño de PCB FPGA.

En este apilamiento, hemos tomado las mejores medidas disponibles para proporcionar aislamiento en diferentes canales, proporcionar suficiente espacio y capas para el enrutamiento de energía, y suficiente tierra para controlar las trayectorias de retorno. La intercalación de capas de tierra entre señal y PWR es muy importante ya que proporciona el control de la trayectoria de retorno necesario para asegurar que se cumplan los requisitos de EMC. En este apilamiento solo hay 1 capa de energía listada, aunque la energía también podría ser enrutada en capas de señal según sea necesario para hacer conexiones con rieles más pequeños. Sistemas de mayor corriente pueden usar múltiples capas de energía en paralelo si es necesario.

Conector de Placa a Placa SOM Fanout

El FPGA generalmente se colocará alejado de los bordes de la placa para que los canales de enrutamiento puedan extenderse hacia afuera. Sin embargo, existe un método alternativo para colocar un FPGA. En lugar de colocar el FPGA como un componente, este puede estar disponible en un módulo en sistema (SOM) del proveedor de la pieza o de una empresa de terceros. La colocación como un SOM requiere expandir conectores de placa a placa que pueden tener un conteo de pines muy alto. A continuación, se muestra un ejemplo.

FPGA board to board connector
Esta huella del conector de tabla a tabla se puede borrar en múltiples direcciones dependiendo de dónde las señales deben ser dirigidas.

Dependiendo de la huella del conector de placa a placa, puede que necesites alguna estrategia de expansión y reglas de diseño que podrías usar en un FPGA. Es común ver múltiples conectores agrupados en un arreglo cuadrado alrededor de la placa SOM o en los bordes.

Planificación para el Enrutamiento

Como podemos ver en toda la discusión anterior, el diseño y enrutamiento efectivos de PCB con un FPGA se trata de trabajar con BGAs, por lo que las mismas estrategias de enrutamiento utilizadas en otros BGAs se aplicarán en FPGAs. Hay algunas estrategias simples que se necesitan para enrutamiento de señales fuera de un FPGA grande:

  • Asegúrate de que la huella BGA de tu FPGA sea correcta y cumpla con los requisitos de DFM
  • Selecciona el fanout adecuado para tu BGA de modo que las señales puedan alcanzar los pines
  • Realiza canales en cada capa donde se enrutarán interfaces específicas
  • Organiza los periféricos alrededor de las E/S para evitar el enrutamiento de ida y vuelta alrededor de la placa
  • Aprovecha las reglas de diseño para asegurar el control de impedancia
  • Configura la geometría de tu par diferencial de modo que la impedancia esté dominada por el espaciado traza-a-tierra, no por el espaciado traza-a-traza

Otros desafíos de colocación normalmente involucrarían la colocación de capacitores en los pines de alimentación alrededor del FPGA para proporcionar desacoplamiento. Con los paquetes BGA, esto es mucho más conveniente porque puedes colocar esos capacitores a través de los pines en el lado posterior del FPGA. Asegúrate de especificar via-en-pad en tu documentación de fabricación si estás utilizando capacitores de mayor tamaño. Si trabajas con algunos de los estándares de señalización más rápidos, entonces deberías optar por tamaños de paquete más pequeños (sub-0402) para asegurar la respuesta más rápida posible en tu red de desacoplamiento.

FPGA PCB layout
Capacitors en los alfileres traseros de un BGA.

Para señales de muy alta velocidad, donde se necesita un emparejamiento de longitud preciso a través de un bus paralelo grande (como DDR4 o superior) y entre múltiples pares diferenciales (como en PCIe), necesitarás incluir los tiempos de vuelo a través del FPGA. Los FPGA físicamente grandes podrían requerir que las señales viajen a través del componente para que una señal salga de un bloque lógico y alcance un pin de E/S. A veces, estos están en lados opuestos del FPGA, por lo que habrá un gran retraso de propagación añadido al tiempo de viaje de la señal. Este tiempo de vuelo adicional puede incluirse en la información de retraso del paquete-pin para el FPGA. Si tu señal está transitando a través de un vía, no olvides incluir el retraso del vía (ver el enlace anterior).

Cuando necesites colocar un FPGA en tu diseño de PCB y enrutar señales a otros componentes, utiliza el mejor conjunto de características de diseño de PCB en Altium Designer®. Una vez que hayas completado tu PCB y estés listo para compartir tus diseños con colaboradores o tu fabricante, puedes compartir tus diseños completados a través de la plataforma Altium 365™. Todo lo que necesitas para diseñar y producir electrónica avanzada se puede encontrar en un solo paquete de software.

Solo hemos arañado la superficie de lo que es posible hacer con Altium Designer en Altium 365. Comienza tu prueba gratuita de Altium Designer + Altium 365 hoy.

Sobre el autor / Sobre la autora

Sobre el autor / Sobre la autora

Zachariah Peterson tiene una amplia experiencia técnica en el mundo académico y la industria. Actualmente brinda servicios de investigación, diseño y marketing a empresas de la industria electrónica. Antes de trabajar en la industria de PCB, enseñó en la Universidad Estatal de Portland y realizó investigaciones sobre la teoría, los materiales y la estabilidad del láser aleatorio. Su experiencia en investigación científica abarca temas de láseres de nanopartículas, dispositivos semiconductores electrónicos y optoelectrónicos, sensores ambientales y estocástica. Su trabajo ha sido publicado en más de una docena de revistas revisadas por pares y actas de congresos, y ha escrito más de 1000 blogs técnicos sobre diseño de PCB para varias empresas. Es miembro de IEEE Photonics Society, IEEE Electronics Packaging Society, American Physical Society y Printed Circuit Engineering Association (PCEA), y anteriormente se desempeñó en el Comité Asesor Técnico de Computación Cuántica de INCITS.

Recursos Relacionados

Documentación técnica relacionada

Volver a la Pàgina de Inicio
Thank you, you are now subscribed to updates.