Directrices de diseño y enrutamiento para PCIe

Zachariah Peterson
|  Creado: April 1, 2019  |  Actualizado: January 13, 2021
Directrices de diseño y enrutamiento para PCIe

De niño, me gustaba abrir el ordenador y contemplar la complicada maraña de ranuras para tarjetas, chips y otros componentes electrónicos que poblaban la placa madre, y me preguntaba cómo era posible mantener en orden la miríada de detalles del diseño de una PCB. Tras aprender más sobre el diseño de PCB para la arquitectura de los ordenadores y periféricos, valoré mucho más la tarea de los diseñadores de placas y su importante papel en el desarrollo de dispositivos electrónicos increíbles.

Las modernas tarjetas GPU, USB, de audio y de red pueden funcionar con el mismo estándar de interconexión: PCI Express. Si eres nuevo en el diseño de PCB de alta velocidad para dispositivos PCIe, encontrarás que la información sobre el tema está un poco fragmentada, a menos que compres un documento de normas de PCI-SIG (Peripheral Component Interconnect Special Interest Group, o "Grupo de Interés Especial de Interconexiones de Componentes Periféricos"). Afortunadamente, las especificaciones básicas pueden desglosarse en algunas reglas de diseño procesables y puedes diseñar y enrutar fácilmente tu próximo dispositivo PCIe utilizando el software de diseño de PCB adecuado.

Como ocurre con cualquier diseño de alta velocidad, seguir a ciegas una norma de especificaciones de enrutamiento no garantiza que tu diseño funcione según lo previsto. Cualquier diseño de prototipo debe probarse a fondo para garantizar que no haya problemas de integridad de la señal en el diseño. Incluso si has diseñado todo según las especificaciones de enrutamiento adecuadas en cuanto a impedancia, longitud de pista, etc., aún es posible que el diseño falle debido a malas elecciones de diseño. Las especificaciones de PCIe para cada generación también incluyen requisitos de prueba, que se publican en el sitio web de PCI-SIG. No entraremos aquí en las pruebas, pero sigue leyendo para ver un breve resumen de lo que aparece en la norma y de cómo puedes diseñar tarjetas PCIe para ajustarte mejor a las nuevas generaciones de PCIe.

Especificaciones de enrutamiento

Actualmente, hay cinco generaciones PCIe publicadas por PCI-SIG, el grupo de trabajo del sector que supervisa la especificación PCIe. PCIe Gen 5 se ha lanzado este año y se esperan dispositivos PCIe Gen 6 en 2022. Las especificaciones exactas de enrutamiento dependen de qué generación de PCIe vayas a utilizar para tus componentes particulares. En términos de diseño, tendrás que emparejar componentes y controladores host que admitan la velocidad de datos que necesitan tus componentes. PCIe es compatible con versiones anteriores y posteriores, por lo que el ancho de banda mínimo de datos se limita al mínimo del controlador y los componentes periféricos.

Topología y velocidad de datos

Todos los enlaces PCIe se componen de múltiples carriles (grupos de pares diferenciales) que proporcionan un alto rendimiento como grupo de interfaces en serie. Ten en cuenta que, aunque un carril PCIe va en serie, los carriles en su conjunto parecen formar un bus paralelo, pero este no es el caso. La comunicación es bidireccional con grupos de carriles Rx y Tx. Los carriles PCIe se enrutan punto a punto como pares diferenciales, por lo que deben existir reglas estándar sobre la coincidencia de longitudes y el sesgo. Las normas de PCIe definen hasta 16 carriles disponibles, que también definen el tamaño de las ranuras estandarizadas para tarjetas PCIe. Los diferentes controladores host tendrán diferentes números de carriles disponibles, lo que puede definir el número de periféricos que pueden admitir. Los dispositivos PCIe utilizan un reloj integrado con diferentes códigos de línea (8b/10b en Gen 1 y 2, 128b/130b en Gen 3 y superiores), por lo que no tenemos que preocuparnos de enrutar un canal de reloj adicional como en DDR. Por último, cada generación duplica el rendimiento de los datos de la generación anterior, llegando hasta 32 GT/s en PCI Gen 5.

Balance de pérdidas e impedancia diferencial

Las cinco generaciones actuales de PCIe tienen especificaciones variables sobre impedancia y balance de pérdidas para las distintas generaciones y deben seguirse de cerca para mantener el rendimiento requerido. Puedes ver un resumen en la tabla que encontrarás más abajo. Algunas guías de enrutamiento definirán una longitud máxima de pista, ya sea como un número fijo o como un intervalo. He compilado los balances de pérdidas totales en la tabla a continuación. Estos valores se toman a la velocidad de datos máxima especificada para cada generación. Ten en cuenta que estos balances incluyen pérdidas de inserción, retorno, conector y dieléctricas o de rugosidad a lo largo de la longitud de un carril PCIe.

Generación

Balance de pérdidas por inserción

Impedancia diferencial

Gen1

12 dB @ 2,5 GHz

100 ohmios

Gen2

12 dB @ 5 GHz

100 ohmios

Gen3

24,5 dB

100 ohmios o 85 ohmios

Gen4

26 dB

85 ohmios

Gen5

32 dB

85 ohmios

Gen6

32 dB

85 ohmios

Aunque las normas de alta velocidad definen cosas como longitudes de pista en especificaciones, lo más importante son las pérdidas a lo largo de la trayectoria de enrutamiento. Todas las pérdidas por reflexiones, discontinuidades de impedancia, absorción, rugosidad del cobre y otras fuentes se suman a lo largo de la trayectoria de enrutamiento y deben tenerse en cuenta al determinar la longitud de la pista. Para PCIe, cuando salió la cuarta generación, FR4 dejó de ser la mejor opción y se necesitan laminados con pérdidas más bajas para permitir el enrutamiento en las distancias que se verían en una unidad de montaje en rack o en una placa base. Ten cuidado con tomar simplemente un cálculo de longitud de pista para un sustrato y extenderlo a un sustrato diferente, ya que es poco probable que coincidan los espectros de pérdida de retorno y de inserción de los carriles PCIe en los dos sustratos diferentes.

Extensores del elevador de PCIe conectados a una placa base

Condensadores de acoplamiento de CA

La especificación básica de PCIe actual exige que se coloquen condensadores de acoplamiento de CA de 176 a 265 nF cerca del extremo del transmisor de un canal para eliminar el desplazamiento de corriente continua en un carril de PCIe. Los condensadores de acoplamiento de CA se requieren a ambos lados de un par diferencial y se colocan como un par de condensadores discretos en el extremo Tx de un carril (normalmente, condensadores 0402). Presta atención a la hoja de datos de los componentes, ya que el controlador (host) puede recomendarte un valor concreto que no esté dentro del intervalo de la especificación básica.

Una vez que lleguemos a PCIe Gen6, la señalización PAM4 dará otra duplicación de velocidad de datos hasta los 64 GT/s. Del mismo modo, tendremos otro aumento en el valor de pérdida permitido siguiendo la tendencia de la tabla anterior. Aparte de las pérdidas de canal y de garantizar la coincidencia de impedancia en todas las interconexiones, el diseño del stackup y la colocación de los componentes son dos puntos importantes para garantizar que se mantenga el control de la impedancia para pares diferenciales en carriles de PCIe y permitir el enrutamiento con la mínima cantidad posible de transiciones de capas e interferencias con otros componentes.

Cómo afectan el stackup y la disposición al enrutamiento

Las placas PCIe típicas con menor número de carriles pueden usar un stackup de cuatro capas con dos planos de potencia interiores y dos capas de señal en cada superficie exterior (enrutamiento de microstrip, Tx y Rx enrutados en diferentes lados de la placa). Cada capa de potencia puede llevarse a diferentes niveles de sesgo, dependiendo de los requerimientos del dispositivo. Algunos diseños pueden utilizar un stackup de seis capas con señales de menor velocidad que se ejecutan entre las dos capas eléctricas; ten cuidado con esto, ya que las señales de alta velocidad en las capas internas pueden crear diafonía y la conexión a tierra es necesaria en este tipo de placas. También existen algunas pautas para los stackups de 8 y 10 capas para las placas PCIe.

Si estás diseñando una tarjeta PCIe estándar, tendrás que asegurarte de que el grosor total de la placa coincide con el estándar de 1,57 mm (1 mm para PCIe Mini) de grosor y pinout para tarjetas PCIe, independientemente del stackup de capas de PCB. Otras placas con todos los componentes PCIe en el mismo sustrato (sin conector de borde) pueden tener un número indeterminado de capas o grosor, aunque es recomendable limitarse al grosor estándar para garantizar unos costes de fabricación razonables.

Las placas base con ranuras para tarjetas PCIe suelen enrutar todas las señales en la misma capa (Rx y Tx en lados opuestos de la placa), por lo que debes dejar suficiente espacio en la placa para enrutar los carriles sin transiciones de capa (más información sobre las vías a continuación). Si observas algún enrutamiento PCIe en generaciones posteriores, verás que las pistas utilizan un enrutamiento en zigzag para compensar el sesgo del tejido de fibra del sustrato. Si utilizas un sustrato de fibra de vidrio denso con bajas pérdidas, es posible que puedas relajar este requisito, pero, aun así, debes probar tu placa para asegurarte de que funciona dentro de tus especificaciones de uso.

Pistas enrutadas en una PCB con máscara para soldar azul

Enrutamiento de pines, almohadillas, vías y conexiones

El enrutamiento alrededor de obstáculos y la acomodación de componentes y vías en una placa PCIe son aspectos de especial importancia. El enrutamiento a pines, almohadillas y componentes y el enrutamiento de conexiones de BGA deben ser simétricos y de longitud coincidente, con un ajuste o desajuste de longitud aplicado cerca del extremo de origen de un enlace. Los pares diferenciales deben estar estrechamente acoplados a lo largo de toda su longitud, así que trata de evitar variaciones debidas a almohadillas, vías o componentes a lo largo de la trayectoria de enrutamiento. Este punto importante en la planificación puede evitar problemas de integridad de señal después de un giro de la placa.

Y lo mismo se aplica al enrutamiento de las conexiones desde una BGA u otros componentes. El enrutamiento hacia una BGA, por ejemplo, requerirá que se coloque una curva en una pista a fin de llegar a una de las almohadillas. A ser posible, la misma curva debería aparecer en la otra pista. El par también debe enrutarse conjuntamente entre las almohadillas vecinas de una BGA, en lugar de ejecutar el enrutamiento con almohadillas entre las pistas. Consulta esta publicación sobre enrutamiento a una interfaz PCIe en una BGA para obtener más información.

Para las vías, el borrador original de la norma PCIe Gen1 de Intel especificaba límites para los recuentos de vías en carriles de PCIe, pero un recuento estricto de vías es menos relevante que las pérdidas totales de todas las vías en una interconexión. Aunque generalmente todo en el enrutamiento de PCIe ocurre en una sola capa (Tx y Rx en diferentes lados), presta atención a las pérdidas cuando haya vías presentes en los extremos de los carriles de PCIe. Lo ideal sería minimizar y retroperforar (hacer "backdrilling") las vías (no es necesario usar vías ciegas o enterradas) y, si haces el diseño o el enrutamiento correctamente, no necesitarás vías para repetir las transiciones de capa.

Mantener la impedancia, el acoplamiento y la longitud de tus pistas dentro de las especificaciones es mucho más fácil cuando el software de diseño de PCB incluye funcionalidades de enrutamiento de impedancia controlada. Puedes especificar la tolerancia de impedancia directamente en tu software de diseño y tu herramienta de enrutamiento interactiva garantizará que las pista estén dispuestas con la geometría y el espaciado adecuados. Las funcionalidades de diseño y enrutamiento de Altium Designer® se integran en un único programa junto con las funcionalidades de simulación, verificación y preparación para la producción. El paquete CircuitStudio® te ayuda a garantizar que tu diseño cumpla las especificaciones de enrutamiento del diseño PCIe.

Ahora puedes descargar una prueba gratuita de Altium Designer y obtener más información sobre el diseño, el enrutamiento y las funciones de verificación. Habla con un experto de Altium Designer hoy mismo para obtener más información.

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.