Esquemático y layout
Colocación automática
agentee place: conectores en bordes, chips grandes en el centro, condensadores de desacoplamiento en sus pines, y luego legalización y refinamiento.
agentee place NAME [--parts 'U*,C1?'] [--keep-placed] [--side F|B|both] [--seed N] [--dry-run] (MCP place) coloca las piezas del esquemático del diseño de PCB dentro del contorno de la placa y escribe cada at, rotation y side en su entrada [[footprints]] (añade entradas para piezas nuevas, elimina el at de una etiqueta movida), mueve las etiquetas de referencia que ahora fallan una comprobación de serigrafía y luego actualiza los rellenos almacenados. Es un arranque rápido para una placa entera: colocar, mirar y luego mover a mano lo importante y bloquearlo. --parts coloca solo las piezas coincidentes y deja el resto donde está; --keep-placed deja cada pieza que ya tenga una colocación; locked = true en una entrada [[footprints]] nunca se mueve. --side both permite que los condensadores de desacoplamiento de un BGA vayan debajo en la cara trasera y que los pasivos desborden a la cara trasera cuando la delantera está llena; por defecto, todo va en la cara delantera. El resultado depende solo de los archivos y --seed, así que una semilla distinta es un arranque distinto. Informa de la longitud de alambre de semiperímetro (HPWL) de las redes de señal y de todas las redes, cruces de ratsnest, solapamientos de courtyard y la distancia media y peor de desacoplamiento, para la colocación de la que partió (cuando cada pieza tenía una) y para la suya, además de los clústeres que construyó y el borde al que fue cada conector. Las pistas y vías ya en el archivo se quedan donde están; coloca una placa sin enrutar, o route --reroute después. Las etiquetas se mueven con la misma búsqueda que agentee silk (un sitio libre junto a la pieza, hasta 8 pasadas y 3 intentos por etiqueta), ejecutada sobre el diseño de PCB colocado en memoria, así que el proyecto se carga una vez más, no una vez por pasada; labels_moved las cuenta y labels_failing nombra las que quedaron sin sitio libre, para agentee silk NAME --hide o un movimiento a mano.
Qué va dónde, de lo más fuerte a lo más débil, y por qué:
- Los conectores (piezas con pads
edge = true,overhang = true, o una referenciaJ/P) van en los bordes de la placa, cada borde repartido uniformemente, con la cara de acoplamiento hacia fuera: la línea del borde es la líneaDwgs.Userde la huella junto a un texto que diceedge(la marcaPCB Edgede KiCad), si no, el lado exterior de sus padsedge, si no, sus pads másmin_part_to_edgepara una pieza saliente, si no, su courtyard másmin_body_to_edge. Un conector RF (SMA, SMB, BNC, U.FL, MMCX, coaxial) y un conector USB nunca comparten un borde a menos que no quepa otra división, ya que el ruido de USB 3 cae en la banda de 2,4 GHz (Intel, "USB 3.0 Radio Frequency Interference Impact on 2.4 GHz Wireless Devices", 2012).[place] edgesfija un conector a un borde. Los taladros de montaje van en las esquinas (primero en diagonal), los fiduciales en las esquinas libres con sus pads a 3 mm o más del borde, libres de los raíles de la banda transportadora y las pinzas (SMEMA Fiducial Mark Standard 3.1). - Una ruta RF se traza en línea recta. Partiendo de cada conector con un pad en una red RF (una clase con
impedancey sindiff_gap), el colocador sigue las redes RF a través de las piezas que llevan dos o más de ellas y tienen como máximo 16 pines (bloques de CC, atenuadores, conmutadores, LNAs, baluns) y toma la ruta más larga que termina en otro conector o en un chip mayor con pines RF; un conmutador con un bypass pasa por el amplificador, no por el bypass. Cuando ambos extremos son conectores, van en bordes opuestos del eje largo de la placa y se deslizan por ellos hasta una línea, a través del centro de la placa donde quepan ambos. Cada pieza de la ruta gira para que sus pads de entrada y salida estén en esa línea, en orden, apretados hacia la entrada con como máximo 1,5 mm de separación extra cada una, y el resto del espacio va a la última carrera. Una pieza de dos o tres pines con un pad en un nodo de la ruta (una pinza ESD, una ahogada de polarización, un condensador en derivación) se sitúa junto a la línea en ese nodo, girada para que sus otros pads apunten hacia fuera, lo bastante cerca para que su pad RF toque la pista y lo bastante lejos para que sus otros pads mantengan la separación de la clase; dos derivaciones en un nodo toman lados opuestos. La ruta se fija antes de colocar el resto alrededor, y una pieza que saldría de la placa o caería sobre otra se deja al colocador general. - Los chips grandes (BGA, paquetes de 16 pines o más con más de 25 mm2, o en su caso la pieza con mayor número de pines) se colocan en el centro de la placa y se mantienen dentro de
off_centrede ese centro, donde tienen espacio para sacar sus pines por todos los lados (Xilinx UG1099, Recommended Design Rules and Strategies for BGA Devices) y lejos de los bordes y los orificios de montaje, donde el manejo y el despanelado flexionan la placa y agrietan las uniones BGA (directrices de deformación IPC/JEDEC-9704A). - Los clústeres provienen de la lista de redes: cada CI toma los pasivos cuyas redes de señal llegan solo a él, los condensadores entre una fuente que utiliza y tierra (el CI más cercano en el esquemático cuando varios comparten la fuente, repartidos por sus pines de alimentación) y su cristal. Los condensadores de desacoplamiento de un clúster se sitúan junto al pin de alimentación que sirven (Analog Devices MT-101, Decoupling Techniques; TI SCAA082, High-Speed Layout Guidelines) o debajo, en la cara trasera, con
--side both(Xilinx UG483, 7 Series PCB Design Guide, coloca los condensadores pequeños bajo el BGA); el cristal se sitúa junto a sus pines de reloj (ST AN2867, Oscillator design guide). Los clústeres se colocan para minimizar el HPWL ponderado: las redes de una clase de impedancia o de par,[[pairs]]y[[interfaces]]cuentan tres veces, y las redes de alimentación y tierra no cuentan nada (son planos). - Un conmutador (un CI con un inductor en uno de sus pines cuyo otro extremo es una fuente) mantiene su inductor y sus condensadores de entrada pegados a él, y los conmutadores se mantienen a 8 mm (de centro a centro) de las piezas sensibles: cristales y piezas en redes de impedancia de un solo extremo (RF) (TI SNVA021, AN-1149 Layout Guidelines for Switching Power Supplies; Linear Technology AN139, Power Supply Layout and EMI).
- Las piezas calientes (fuentes de 0,25 W o más en una simulación térmica de este diseño de PCB, y paquetes grandes de más de 49 mm2) se separan 10 mm para que su calor no se acumule (TI SNVA419, AN-2020 Thermal Design by Insight, not Hindsight; IPC-2221B, thermal management). Cuando las piezas calientes, cada una ampliada por
hot_distance, ocupan como máximo una cuarta parte de un lado de la placa, sus courtyards también deben mantenerse separados porhot_distance, tal como lo mideplacement-hot-parts-close(una pieza que no cabe en otro lugar descarta la regla); en una placa más ajustada, la longitud de cable gana.hot_spreaden la salida indica esa proporción y si se aplicó la regla. - Los condensadores cerámicos de 0805 o mayores se mantienen fuera de
flex_zone, y los más pequeños dentro de ella se alinean con el borde, la esquina o el orificio de montaje más cercanos (directrices de montaje de MLCC de Murata y TDK sobre flexión de placa; Knowles). La zona se mide como la miden las comprobaciones demlcc-flex-zone, desde los dos pads hasta el contorno, los recortes de la placa y los taladros de los orificios de montaje; una pasada final gira o mueve (hasta 12 mm) cualquier condensador que siga en el lugar equivocado. Cada cuerpo se mantiene amin_body_to_edgedel contorno y de cada orificio de[[outline.cutouts]]del archivo de placa, que está fuera de la placa, los courtyards nunca se superponen en un lado (las piezas de paso a través bloquean ambos lados) y nada entra en un polígono de[place] keepouts(courtyards IPC-7351B: el courtyard es el área mínima que necesita una pieza y su patrón de aterrizaje). - La rotación sigue a las redes principales: cada pieza toma el giro de un cuarto de vuelta que acerca sus pads a los otros extremos de sus redes, y los pasivos de un clúster comparten un eje.
El método: cada clúster (un CI y sus miembros) y cada pieza suelta se convierte en un bloque con el área de sus piezas. Un diseño espectral del grafo de cliques ponderado de los bloques (sus dos vectores propios no triviales más bajos, por rango) los ordena en la placa. Luego, 24 rondas alternan una resolución de longitud de cable cuadrática y un paso de dispersión: la resolución tira de los pines, no de los centros, para los chips, y elige el giro de un cuarto de vuelta de cada chip en cada ronda (por longitud de cable, y en las rondas posteriores también por los cruces de sus redes de dos pines); los conectores se tiran hacia su borde más cercano y los chips grandes hacia el centro; el paso de dispersión biseca el área libre de la placa (dentro del contorno y lejos de recortes, zonas de exclusión y piezas colocadas) a lo largo de su lado más largo, dando a cada bloque una región del tamaño de su área, y cada ronda tira de los bloques con más fuerza hacia sus regiones. Los conectores se asignan luego a bordes (se prueban todas las asignaciones hasta siete conectores, y de forma codiciosa a partir de ahí) y se deslizan a lo largo de ellos, alineados con el contorno donde este corre en ese punto (un muesca o un escalón cuentan como borde), probando primero los otros bordes más cercanos cuando no hay sitio libre en el asignado, y la resolución se ejecuta de nuevo con ellos fijos. La legalización coloca cada clúster como un todo: su ancla en cada giro de un cuarto de vuelta (para chips) y cinco ajustes de un tercio del ancho del clúster, sus miembros alrededor, manteniendo el más barato por longitud de cable y cruces; cada pieza va al sitio más cercano en una cuadrícula de 0,05 mm donde sus courtyards no chocan con nada y cumple las reglas de borde. Luego se colocan de nuevo los clústeres enteros girados o ajustados, y se intercambian pares de clústeres de chips de tamaño similar, cuando eso reduce el coste. Sigue un refinamiento por recocido simulado (desplazamientos, giros de un cuarto de vuelta, intercambios de piezas del mismo tamaño, movimientos de clústeres enteros, inversiones de cara con --side both; 1500 movimientos por pieza, y luego 500 más a baja temperatura), puntuado por HPWL ponderado, cruces de redes de dos pines (4 por cruce) y las reglas anteriores como penalizaciones. Ocho inicios (las ocho reflexiones del diseño espectral) se legalizan en hilos paralelos, y los tres más baratos continúan con los movimientos de clúster y el recocido, de modo que el resultado depende solo de los archivos y de --seed, no del número de hilos.
Las piezas se mantienen lejos de la propia serigrafía de la placa: las líneas de [[graphics]] en una capa de serigrafía, el texto de serigrafía con locked = true y el [[artwork]] de serigrafía bloquean los courtyards en su lado (una pieza que no cabe en otro lugar aún puede cubrirlos). El texto de serigrafía que no está bloqueado no impide las piezas: tras colocar, cada texto que una pieza (o su etiqueta reservada) cubre se mueve al sitio libre más cercano en la placa dentro de 10 mm, lejos de piezas, etiquetas, serigrafía bloqueada y otros textos; texts_moved lista los movimientos escritos de vuelta en [[graphics]] y texts_stuck los textos sin sitio libre. Los conectores, los orificios de montaje y los fiduciales reservan también una etiqueta, en el lado exterior de la pieza o girada hacia el lado interior, y van sin ella cuando ninguna cabe en el sitio que ocupa la pieza. La etiqueta de referencia de cada pieza también necesita espacio: cuando las etiquetas ocupan como máximo una cuarta parte del área libre de la placa, se mantiene libre una caja del tamaño del texto de referencia (0,2 mm alrededor, en el punto de referencia de la huella, empujada lejos de sus propios pads y serigrafía) como si fuera un courtyard, y place escribe ese punto como label.at; en una placa más llena con espacio restante, la superposición de esas cajas con otras piezas y etiquetas es un pequeño coste en el recocido, y en una placa llena las etiquetas se dejan para la pasada de etiquetas (agentee silk --hide para las que no tienen sitio).
En una copia de examples/sdr sin pistas ni vías (251 componentes, 65 x 45 mm), solo capa superior, las semillas 1 a 4 dan de 3276 a 3436 mm de HPWL de señal y de 261 a 293 cruces, en unos 2 s de resolución en 4 núcleos (unos 6 s de CPU) más la carga y el paso de etiquetas. Con --side both dan unos 1955 a 2025 mm y de 150 a 165 cruces.