← Notas desde el banco de trabajo.
Cuándo vale la pena usar un autorouter en KiCad
Con doscientas redes ya colocadas, la colocación se ve bien y el ruteo no quiere cooperar. Alguien recurre a un autorouter, porque seguramente una computadora conecta puntos más rápido que un humano arrastrando pistas una por una. Los resultados son lo bastante mixtos, y los consejos de los foros lo bastante contradictorios, como para que la mayoría termine adivinando: rutear todo a mano por desconfianza, o entregar la placa completa a una herramienta y esperar que el reporte de DRC salga limpio. Ninguna de las dos es el valor predeterminado correcto, y vale la pena entender la diferencia antes de la próxima placa, no durante ella.
Qué hace realmente un autorouter
KiCad no incluye un autorouter integrado. La respuesta de siempre es FreeRouting, una aplicación Java aparte que lee una placa de KiCad como un archivo Specctra DSN, la rutea y devuelve un archivo de sesión para importar. FreeRouting trata el ruteo como un problema de búsqueda en laberinto: para cada red, encuentra un camino por la cuadrícula de la placa que no cruce un obstáculo, y usa una pasada de rip-up and reroute para retroceder e intentar de nuevo cuando una red posterior bloquea a una anterior. Es una herramienta de propósito general, y es razonablemente buena con problemas de propósito general — placas de dos capas, placas de conexión, cualquier caso donde la mayoría de las redes sean conexiones punto a punto simples sin requisitos de tiempo ni de impedancia.
Una opción más reciente, OrthoRoute, adopta un enfoque distinto: implementa el algoritmo de Lee — un frente de onda que se expande desde un pad inicial hasta llegar al destino — paralelizado en una GPU. Eso importa para una clase específica de placas con las que FreeRouting batalla: diseños grandes, densos y muy regulares como backplanes de varios miles de pads o patrones de escape de BGA, donde un router de laberinto general puede pasar horas moviendo una fracción minúscula de las líneas de conexión pendientes (airwires). No es un reemplazo general de FreeRouting; es una herramienta hecha para las placas donde un router limitado por CPU se queda sin tiempo antes de quedarse sin placa.
Ambas herramientas resuelven el mismo problema de fondo — llevar una pista del pad A al pad B sin un corto — y ninguna entiende por qué existe una pista. Ese es el límite que más importa.
En qué es bueno el autorouting y en qué no
Un autorouter no tiene concepto de integridad de señal, capacidad de corriente ni de lo que lleva una pista. Satisface las reglas de separación y de conectividad y ahí se detiene. Eso lo hace adecuado para algunas redes y poco adecuado para otras, y la división es bastante consistente entre placas:
| Tipo de red | Idoneidad del autorouter | Por qué |
|---|---|---|
| Digital de baja velocidad, GPIO, E/S general | Buena | Punto a punto, sin restricción de longitud ni de impedancia |
| Desacoplo de capacidad y retornos de tierra | Buena, con un plano | El router solo necesita una vía hacia el plano, no una pista ruteada |
| Pares diferenciales (USB, Ethernet, LVDS) | Mala sin gestión | Requiere longitud igualada y separación controlada que el router no deduce por sí solo |
| RF y señales asimétricas de alta velocidad (relojes, SPI a alta velocidad) | Mala | La longitud de la pista y el número de vías afectan directamente la calidad de la señal |
| Distribución de potencia, corriente alta | Mala | El router no razona sobre la sección de cobre ni la densidad de corriente |
| Escape denso de BGA, arreglos regulares grandes | Buena con una herramienta dedicada | Es justo lo que OrthoRoute busca resolver |
El router interactivo propio de KiCad — la herramienta push-and-shove integrada en pcbnew, no un autorouter aparte — maneja mejor que cualquiera de las dos herramientas automáticas el terreno intermedio difícil. Tiene un modo explícito de pares diferenciales con ajuste de longitud y de skew, y su comportamiento de empuje permite que una persona rutee una red crítica mientras el router desplaza todo lo demás en la vecindad en lugar de bloquear el movimiento. Es una herramienta manual, pero del tipo rápido de lo manual: rutear a mano un par diferencial con ajuste de longitud en pcbnew toma minutos, no las horas que parece que debería.
El orden que realmente funciona
La queja de que el autorouting «no funciona» casi siempre se remonta a saltarse la preparación que lo hace funcionar. Un router al que se le entrega una placa vacía, sin clases de redes ni áreas de exclusión, conectará todo de forma legal y producirá una placa que nadie quiere construir. La secuencia que se sostiene en la práctica:
Primero la colocación, siempre. Ningún router — humano o automático — se recupera de una mala colocación. Agrupa las partes relacionadas, mantén cortos los pares de alta velocidad antes de dibujar una sola pista y dale al router algo razonable con qué trabajar.
Reglas antes de rutear. Define clases de redes, anchos mínimos y reglas de pares diferenciales en las reglas de diseño de KiCad antes de ejecutar cualquier router. Un autorouter que no sabe que un par necesita 90 ohms de impedancia diferencial lo rutea como dos redes sin relación, y ninguna cantidad de limpieza posterior lo deshace por completo — hay que deshacer el ruteo y rehacerlo con la regla aplicada desde el principio.
Rutea primero a mano las redes críticas. Potencia, pares diferenciales, cualquier cosa con requisito de longitud o de impedancia, y cualquier cosa que lleve corriente real. Es una fracción pequeña del número de redes en la mayoría de las placas, pero concentra la mayor parte del riesgo del layout.
Deja que un router se encargue del resto. FreeRouting para las redes generales en una placa de tamaño normal, OrthoRoute si la placa es un arreglo regular grande donde FreeRouting se atora. Aquí es donde la automatización realmente se gana su lugar — la mayoría tediosa y de bajo riesgo de las conexiones.
Revisa antes de aceptar. No tomes un DRC limpio como prueba de que la placa está bien. El DRC revisa separación y conectividad, no si un router llevó una señal de baja velocidad por tres cambios de capa y cuarenta vías para satisfacer un área de exclusión que no tenía por qué respetar.
Qué revisar antes de que la placa vaya a fabricación
Una capa generada por un router, incluso una bien configurada, necesita una pasada de revisión específica antes de confiar en ella, además de la lista de verificación para la cotización de ensamblaje de siempre:
- Cantidad de vías por red. Un autorouter no tiene preferencia contra agregar una vía, y una señal que cambia de capa cuatro veces para evitar un obstáculo menor agrega inductancia y costo sin motivo. Cualquier red con más de uno o dos cambios de capa innecesarios merece rutearse de nuevo a mano.
- Longitud de los stubs en redes de alta velocidad. Incluso las redes que no se le pidió tratar como críticas pueden acabar con longitud innecesaria si la herramienta eligió un camino legal más largo en lugar de uno más corto que requería mover una pista de menor prioridad.
- Continuidad de la ruta de retorno. Un router respeta la separación respecto a un plano; no sabe si la corriente de retorno de una señal tiene una ruta continua debajo. Revisar los cruces de planos divididos en señales rápidas es un paso manual que ningún autorouter realiza.
- Alivio térmico y cobre que lleva corriente. Confirma que las redes de potencia siguen cumpliendo el ancho y el peso de cobre que el diseño realmente necesita — un autorouter dimensionó una pista según la regla de la clase de red, no según la corriente que la red llevará en servicio.
Nada de esto hace del autorouting la herramienta equivocada. Lo hace una herramienta con un trabajo estrecho y bien definido: despejar el atraso de ruteo en las redes que no importan lo suficiente como para rutearlas a mano, de modo que el tiempo de una persona vaya a las redes que sí importan.
Qué enviarnos
Si una placa ya pasó la colocación y el ruteo está tardando más de lo que debería, o se está entregando a una herramienta sin ningún resultado contra el cual revisarlo, envía el proyecto de KiCad, el stack-up y qué redes tienen un requisito de longitud, de impedancia o de corriente. A partir de eso podemos decirte qué vale la pena automatizar, qué necesita una persona y cómo debería verse la capa terminada antes de ir a fabricación.
¿Tienes una placa en KiCad que necesita un layout bien hecho? La ruteamos a mano y la revisamos antes de fabricarla.
Herramientas para este tema
- Impedancia de pistas PCB Ancho de pista para una impedancia objetivo, o la impedancia de un ancho: microstrip y stripline, simple o par diferencial, con apilados de 4 capas.
- Divisor de voltaje Vout a partir de Vin y dos resistencias, o los mejores pares estándar para un Vout objetivo — con rango de tolerancia y efecto de la carga.
- Resistencias de realimentación de regulador Pares de realimentación para cualquier Vref, para partes con pin de realimentación y ajustables de tres terminales, con el término de corriente de polarización, rango de peor caso y guía de corriente del divisor.
Notas relacionadas
- Why an NTC thermistor reads wrong on a microcontroller Why a thermistor on an ADC pin drifts, jumps or reads high: divider placement, the curve math, self-heating and leads. Checks to run before you blame the chip.
- Will a PCB antenna still work inside a metal enclosure? Why a metal case detunes a PCB antenna, the three ways out (window, external antenna, or plastic section), and what to test before you cut tooling.
- Why a microcontroller ADC reading is noisy or wrong Find out whether a noisy or offset ADC reading comes from source impedance, sample time, reference, layout or firmware, with a check order for each.