agentee

Diseño

Colocación, ruteo y zonas de cobre

Colocación automática, zonas de cobre de masa y alimentación, uniones de planos, el ruteador automático, etiquetas de serigrafía, pads de prueba y las verificaciones de reglas de diseño que controlan el paquete de fabricación.

Un layout coloca las huellas del esquemático en la placa y las une con cobre. Cada comando de aquí escribe entradas ordinarias en el *.pcb.toml, así que, sea lo que sea lo que haya hecho el colocador o el enrutador, tú o el agente podéis editarlo después.

agentee new layout NAME

Añade board y schematic al inicializador. La comprobación entonces informa de cada pieza que aún no está colocada.

Colocar

agentee place NAME
agentee render pcb:NAME -o placed.png

agentee place es un punto de partida rápido para una placa completa. En orden de prioridad, hace lo siguiente:

  • coloca los conectores en los bordes con el lado de acoplamiento hacia fuera, y nunca un conector RF y un conector USB en el mismo borde si otro reparto encaja, porque el ruido de USB 3 cae en la banda de 2,4 GHz;
  • traza una ruta RF en línea recta de conector a conector, con componentes de derivación junto a la línea en su nodo;
  • acerca los chips grandes al centro, lejos de los bordes y los agujeros donde el despanelado dobla la placa;
  • agrupa los condensadores de desacoplamiento de cada CI en los pines de alimentación que sirven, y su cristal en sus pines de reloj;
  • mantiene los reguladores conmutados a 8 mm de los cristales y los componentes RF, y separa las piezas calientes;
  • mantiene los condensadores cerámicos de 0805 o mayores fuera de la zona flexible cerca de bordes y agujeros, y gira los pequeños para que queden a lo largo del borde;
  • gira cada componente hacia sus redes.

La referencia de colocación da la fuente de cada regla. El resultado depende solo de los archivos y de --seed.

Luego haz lo que haría una persona: míralo, mueve los componentes importantes y fíjalos.

agentee edit pcb NAME place J1 2.54,12 --rotation 180 --locked
agentee place NAME --keep-placed
agentee place NAME --seed 7
agentee place NAME --parts 'C*,R*'
agentee place NAME --side both

locked = true nunca se mueve. --keep-placed deja cada componente que ya tenga un sitio, --parts coloca solo los que coincidan y --side both permite que las condensadoras de desacople vayan debajo de una BGA en la cara trasera. [place] edges en el layout fija un conector a un borde, y keepouts son polígonos que ningún courtyard puede entrar:

[place]
edges = { J1 = "left", J2 = "right" }
keepouts = [[[0, 0], [8, 0], [8, 6], [0, 6]]]

Zonas de cobre y planos

agentee edit pcb NAME zone GND --layers F.Cu,In1.Cu,In2.Cu,B.Cu
agentee edit pcb NAME zone 3V3 --layers In2.Cu --priority 1

Una zona rellena su contorno (la placa por defecto) menos el cobre de cada otra red, expandido por su separación, como polígonos exactos con esquinas redondeadas. Los cuellos más estrechos que el min_width de la zona se eliminan, como los grabaría el fabricante, y las islas que no tocan nada se descartan. En una capa, las zonas se rellenan por priority, por lo que una zona de alimentación dentro de una zona de masa a toda la placa se rellena alrededor en lugar de cortocircuitarse con ella. --pad-connection relief une los pads con cuatro radios en lugar de cobre sólido.

Los rellenos se calculan al cargar y se guardan en caché. agentee fill NAME los almacena al final del archivo de layout, así que un checkout nuevo carga sin rellenar.

Une los pads a sus planos

agentee tie NAME

Una red con una zona es una red de plano. tie da a cada pad SMD de una red de plano un tramo corto y una vía junto a él, en el lado opuesto al componente, libre de cada pad y de otras redes. Así es como los pads de masa y alimentación deberían llegar a un plano, en lugar de pistas entre ellos. Un pad que ya tenga una vía de su red cerca se deja solo, y un pad sin sitio legal se lista bajo failed.

Rutea

agentee route NAME --nets 'USB_*,SPI_*' --layers F.Cu,B.Cu
agentee route NAME --nets '*'

El ruteador trabaja en una cuadrícula de 0,05 mm y mantiene el ancho, la separación, las capas y las vías de cada clase frente a todo lo que ya esté ahí. Avanza en direcciones de 45 grados, cobra por las vías y las curvas, aprieta las rutas después y estrecha una pista hasta un pad que sea más estrecho que el ancho de la clase. Una conexión sin camino libre retira lo que tenga delante y esas redes vuelven a la cola.

  • Un comodín en --nets nunca coincide con una red de plano, por lo que --nets '*' rutea cada señal y deja la masa a los planos.
  • El cobre existente nunca se mueve, a menos que --reroute borre primero las pistas y vías de las redes nombradas.
  • Cuando fallan unas pocas conexiones, rutea de nuevo junto con las redes de alrededor y --reroute, o baja a --grid 0.025.
  • --pairs rutea pares diferenciales como pares acoplados donde encajan.
  • --via-in-pad permite que una vía se sitúe dentro de un pad SMD de su red, rellena y con tapa.
  • --dry-run informa sin escribir.

Rutea primero a mano las redes que importan: una línea RF, el bucle caliente de un conmutador, un cristal. Luego deja que el ruteador rellene el resto, una clase a la vez.

A mano, las pistas y las vías también son comandos:

agentee edit pcb NAME track RF_OUT F.Cu 19.28,12 30.92,12
agentee edit pcb NAME via GND 7.2,8.9

Una pista tiene que entrar en un pad. Una cuya línea central solo roza el borde del pad se marca, aunque el cobre toque.

Puentes y abanicos

[[stitching]]
net = "GND"
pitch = "2.5mm"

[[stitching]]
net = "GND"
fence = ["RF_*"]

[[fanouts]]
ref = "U3"
skip_rings = 2

[[stitching]] coloca vías de masa en una cuadrícula donde libren de cada otra red, o una valla de ellas a lo largo de las pistas de las redes nombradas. [[fanouts]] pone una vía en cada pad conectado de un BGA, dejando los anillos exteriores para la salida en la capa superior. Ambos son reglas: las vías se colocan de nuevo cada vez que cambia el cobre alrededor. agentee edit pcb NAME stitch GND --pitch 2.5mm y fanout U3 --skip-rings 2 las escriben.

Serigrafía

La verificación marca cada etiqueta de referencia que amontona otro texto, se sitúa sobre un pad o una vía, o sale de la placa, y nombra un punto que pasa. agentee silk las mueve todas allí:

agentee silk NAME
agentee silk NAME --hide

--hide oculta las etiquetas sin sitio, típicamente pasivos pequeños bajo un BGA.

Cada placa también lleva agentee vX.Y.Z-HASH en su serigrafía, en la cara inferior por defecto. Necesita una franja libre de unos 23 por 1,2 mm; en una placa pequeña o concurrida, libera sitio para ella o configura [watermark] at tú mismo. El paquete de fabricación se rechaza sin ella.

Pads de prueba

agentee testpoints NAME
agentee testpoints NAME --nets '3V3,*RST*' --side B --pitch 2.54

Cada placa necesita acceso de sonda para el arranque y un fixture de pines pogo para la prueba de producción. Por defecto, eso son los raíles de alimentación, la masa, los resets, los enables, el power good, los relojes y los buses de baja velocidad; los nodos de conmutación y la retroalimentación del regulador se dejan fuera a propósito. testpoints añade un componente TP en el esquemático, un pad de 1 mm en el lado de sonda cerca del cobre de la red, y una pista ruteada a él, para cada red que aún no tenga acceso. Las redes de impedancia y los pares se omiten, porque un tramo les perjudica.

Verificaciones de reglas de diseño

agentee check --item pcb:NAME
agentee drc NAME
agentee drc NAME --list

check ejecuta cada regla; drc imprime solo los diagnósticos de reglas del layout, cada uno empezando con su id entre corchetes, y --list imprime cada regla con si se aplica a esta placa. Los errores bloquean el paquete de fabricación. Las advertencias y notas son práctica, no límites del fabricante: síguelas salvo que el diseño dé una razón, y escribe la razón en DESIGN.md.

El ruteo está terminado cuando unrouted es 0 en cada red de agentee show pcb:NAME.

Desenredar los pines de un chip

agentee pinswap NAME --part U3
agentee pinswap NAME --part U3 --write

pinswap reasigna la E/S intercambiable de un FPGA o MCU (mismo banco, pares como pares, pines de reloj en pines de reloj) para desenredar el ratsnest, y --write reescribe las referencias de pines del esquemático.

El motor de layout

agentee layout NAME ejecuta las etapas configuradas del motor de layout en orden (restricciones, colocación, acceso, enrutado global, enrutado detallado, finalización) e imprime una puntuación por término con los peores infractores de cada uno. --from, --to y --only eligen las etapas. Es más nuevo que place y route; las etapas y sus ajustes están en la tabla [engine] del layout, y el visor puede ejecutarlas sobre el layout tal como está en la ventana.

Mejorar esta guía · Markdown para agentes