Esquemático y layout
Ruteo automático
agentee route, tie, tune y neck: ruteo en rejilla que mantiene anchos de clase, despejes y vías, uniones de plano, igualación de longitud y reducciones de cuello.
agentee route NAME --nets 'FX_D*,SPI_*' --layers F.Cu,In2.Cu,B.Cu (MCP route) enruta el ratsnest de las redes indicadas sobre una rejilla (--grid, valor predeterminado 0,05 mm) y añade las pistas y las vías al archivo de layout como entradas ordinarias de [[tracks]] y [[vias]], para que puedas editarlas después. Mantiene el ancho, el despeje y las layers de cada clase de red frente a cada pad, pista, vía, orificio y borde de la placa. Dimensiona el espacio para cada clase de vía según su propio pad, taladro y capas (una microvía cabe donde una vía pasante no, y una microvía puede situarse junto a una vía enterrada en otras capas). Mantiene las vías nuevas a min_hole_to_hole de cualquier taladro cuyo tramo comparta un dieléctrico con el suyo, y sus orificios a min_via_hole_to_copper de los pads, pistas y vías de otras redes. Las mantiene alejadas de los pads SMD de cualquier red, incluida la suya (el cobre de la vía no puede tocarlos, via-cuts-pad, y el orificio se mantiene a min_hole_to_smd_pad de ellos, hole-to-smd-pad, a menos que --via-in-pad, MCP via_in_pad, permita que se sitúe por completo dentro de un pad SMD de su red con un taladro de como máximo max_filled_via_drill). Usa las vías de la clase para cambiar de capa, la más barata cuyo tramo abarque ambas capas (--via uv-top,core o MCP via para elegir entre otros nombres, --via-cost en mm de pista, valor predeterminado 3, multiplicado por el cost de la vía). Cobra --bend-cost mm de pista por cada giro de 45 grados (valor predeterminado 0,1, tres veces esa cantidad para 90). Nunca mueve lo que ya está a menos que se indique --reroute, que primero elimina las pistas y vías de las redes indicadas. Una conexión que no encuentra un camino libre desmonta las redes enrutadas que cruzaría o cuyos orificios de vía acercaría a menos de min_hole_to_hole de los suyos (orificios cuyos tramos comparten un dieléctrico), recuerda ese punto como congestionado y esas redes vuelven a la cola. La búsqueda avanza en direcciones de 45 grados y cobra por cada giro, por lo que los caminos salen como tramos rectos con giros de 45 grados; después, los tramos se tensan con doglegs de 45 grados de dos segmentos y cualquier esquina de 90 grados que quede se chanfra donde despeja. Solo el tramo final hacia el centro de un pad fuera de la rejilla puede situarse en otro ángulo. Cuando el ancho de la clase no cabe en un pad final (más ancho que el lado menor del pad, o demasiado cerca de los pads vecinos para mantener el despeje), la ruta se estrecha: la pista del ancho de la clase se detiene antes del pad y una entrada separada de [[tracks]] con un width explícito va recta al centro del pad, con una longitud máxima de neckdown de la clase y un ancho mínimo de min_track_width. Su ancho es el menor entre el ancho de la clase, el lado menor del pad y el más ancho que mantiene el despejo, redondeado hacia abajo a 0,01 mm (o exactamente min_track_width si el redondeo lo haría bajar por debajo y el ancho sin redondear no lo hace); la pista ancha comienza en el primer punto alejado del pad donde su ancho completo mantiene el despeje (y, para un pad más estrecho que la pista, fuera del pad). Los pads de una red que se tocan, como un pad térmico construido con varias entradas de pad, cuentan como un solo pad ancho. Los pares enrutados con --pairs no se estrechan. Una conexión de una red que ya tiene cobre nuevo comienza desde ese cobre. Una vez que todo está en su sitio, cada conexión enrutada que usa vías se intenta de nuevo en una capa a la vez con el resto fijo, y la ruta de una capa la reemplaza si es como máximo un 25 % más 1 mm más larga. Después, las vías de conexiones paralelas vecinas que cambian de capa cerca la una de la otra se deslizan a lo largo de sus propias pistas hasta una fila o columna común en la rejilla, donde el punto es legal y la conexión mantiene su longitud (las patas de pares mantenidas por --pairs y las redes con varias conexiones se quedan donde están). Una red en una interfaz con max_vias mantiene la traza (cada red del carril, a través de componentes en serie) dentro de ella: una ruta con demasiadas vías se intenta de nuevo con vías más caras, luego en una capa, y falla con el motivo si ninguna cabe. La segunda red de un par se dibuja hacia su pareja en la separación del par; --pairs intenta enrutarse ambas mitades juntas como una sola pista acoplada primero. Cuando unas pocas conexiones fallan, enrútalas de nuevo juntas con las redes de alrededor y --reroute, para que el enrutador pueda desmontar y reordenar toda el área, o baja a --grid 0.025. --dry-run informa sin escribir. Enruta primero a mano las redes que importan y luego deja que el enrutador complete el resto, una clase a la vez.
Una red con una entrada de [[zones]] es una red de plano. Un glob en --nets nunca la coincide, por lo que --nets '*' enruta cada señal y alimentación que no tenga zona de cobre y deja el tierra a los planos; nombra la red exactamente para enrutarla con pistas de todos modos. Las vías colocadas por reglas de [[stitching]] no son obstáculos para el enrutador: la regla las coloca de nuevo alrededor del cobre nuevo.
agentee tie NAME [--nets GND] [--dry-run] (MCP tie) conecta cada pad SMD de una red de plano a la capa más cercana que su zona cubre con un tramo corto y una vía junto al pad, que es cómo los pads de tierra y alimentación se unen a un plano en lugar de pistas entre ellos. La vía se coloca en el lado del pad alejado del centro del componente, tan cerca como pueda: su cobre despejado de cada pad SMD (el suyo incluido, por lo que no hay vía en pad), su orificio a min_hole_to_smd_pad de ellos, a min_hole_to_hole de otros orificios, a min_via_hole_to_copper y al despeje de la clase de otras redes, a min_copper_to_edge desde el contorno, y el tramo despejado de otras redes en la capa del pad. Prueba 16 direcciones, la más cercana a la exterior primero, hasta 1,2 mm más allá del pad. Un pad que ya tenga una vía de su red a menos de 0,8 mm de su borde se deja solo, los pads pasantes y las bolas BGA (escape se encarga de esos) se omiten, y un pad sin un punto legal se lista bajo failed. Los tramos y vías se añaden como entradas ordinarias de [[tracks]] y [[vias]].
agentee neck NAME [--nets 'VBUS,RF_*'] [--taper] [--dry-run] (MCP neck) estrecha el cobre que ya existe. Examina ambos extremos de cada pista de las redes indicadas (por defecto, todas) que terminan dentro de un pad de su propia red en su capa, y selecciona los que sean más anchos que el lado menor del pad, o cuyo ancho total incumple el despeje dentro de la longitud de la clase neckdown (más un ancho de pista) del pad. Se corta ese extremo: la pista mantiene su ancho desde el corte hacia afuera y una nueva entrada [[tracks]] con un width explícito va desde el punto final antiguo dentro del pad hasta el corte, siguiendo el camino antiguo. El ancho del cuello es el menor entre el ancho de la pista, el lado menor del pad y el ancho máximo que mantiene el despeje a lo largo del cuello, redondeado hacia abajo a 0,01 mm (o exactamente min_track_width, como se indicó anteriormente). El corte es el primer punto, en pasos de 0,01 mm, donde el ancho total mantiene el despeje para los siguientes neckdown más un ancho de pista (y, en el caso de un pad más estrecho que la pista, queda fuera del pad); un cuello nunca es más largo que neckdown ni más corto que min_track_width, de lo contrario el extremo se lista bajo failed con el motivo y se deja tal cual. Un pad construido a partir de varias entradas de pad de la misma red que se tocan cuenta como un solo pad ancho. --taper aumenta el ancho de nuevo a lo largo de una cadena corta en lugar de un solo cuello: después del cuello estrecho vienen hasta dos entradas más, cada una a un tercio del camino desde el ancho del cuello hasta el ancho de la pista, con una longitud total no mayor que neckdown (tres veces el cuello, como máximo). El cobre solo se estrecha, por lo que no puede aparecer ningún nuevo error de despeje; el archivo se edita in situ (se conserva cada otra línea) y se actualizan los rellenos de zona almacenados. El informe lista cada cuello (índice de pista, red, pad, motivo, ancho, longitud, entradas) y cuenta las pistas modificadas y añadidas.
Los pares y las reglas de longitud también están en el layout:
[[pairs]] # optional: nets ending _P/_N, _DP/_DN, +/-, P/N in a class
p = "USB_DP" # with diff_gap are paired on their own
n = "USB_DN"
max_skew = "0.1mm" # or `max_skew` on the net class
[[match_groups]]
name = "ddr-dq0"
nets = ["DQ?", "DQS0_*"] # * and ? globs
tolerance = "0.5mm"
# target = "42mm" # default the longest memberLa verificación informa del skew de cada par en mm y ps (a partir de la permitividad efectiva de la capa), de un tramo del par ejecutado con el hueco incorrecto y de los pares que pasan menos del 80% de su longitud lado a lado. Los grupos de coincidencia indican qué red es corta o larga y en cuánto. Un par que pasa por componentes de dos pines en serie, como las condensadoras AC de un carril USB, se mide de extremo a extremo: su skew es la suma sobre todos los pares que une, e informado como FX_TX1_P+SS_TX1_P/FX_TX1_N+SS_TX1_N.