agentee

Esquemático y layout

Esquemáticos

El archivo *.sch.toml: componentes colocados, redes como listas de pines, clases de red, raíles y la verificación de nivel de señal, y hojas para diseños grandes.

Los componentes son símbolos colocados; las redes listan los pines que unen. Los cables se dibujan por ti en una cuadrícula de 1,27 mm a menos que los proporciones.

name = "lna"
board = "lna"                  # net classes come from this board
no_connect = ["U2.7"]          # pins left open on purpose

[[parts]]
ref = "U1"
symbol = "SPF5189Z"
value = "SPF5189Z"
at = [66.04, 50.8]             # keep on the 1.27 mm grid
rotation = 90                  # 0, 90, 180, 270, counter-clockwise
mirror = true                  # flip left to right before rotating
# unit = 2                     # one [[parts]] per unit of a multi-unit symbol, same ref
# footprint = "SOT-89-3"       # default: the symbol's footprint
# dnp = true
fields = { mpn = "Qorvo SPF5189Z" }

[[nets]]
name = "RF_OUT"
class = "RF"                   # a netclass of the board; without one the net is in "Default"
pins = ["C2.2", "J2.1", "L3.1"]   # REF.PIN, by number or by a unique pin name
# style = "power"              # wire (default) | label | power (ground and supply symbols)
# wires = [[[x, y], [x, y]], ...] # draw it yourself; check verifies it reaches every pin

Los rieles y las entradas analógicas, para la comprobación de nivel de señal, van al principio del archivo (o del esquemático superior de un conjunto de hojas):

rails = { GND = 0, "3V3" = [3.25, 3.35], VBUS = [4.75, 5.25] }   # volts, or [min, max]
analog = ["U1.13"]             # inputs read by an ADC: only min and max apply

Con rails establecido, la verificación calcula el voltaje que ve cada entrada con levels: resistencias (componentes R, 1 % a menos que el componente tenga un campo tolerance), interruptores (componentes SW, en cada estado abierto y cerrado), salidas colector abierto (apagada y baja), derivas internas y fuga de entrada, cada una en su peor esquina a lo largo de los rangos de riel y de resistencia. Es un error cuando la entrada puede quedar entre VIL y VIH, cuando flota sin nada que la ligue a un riel, cuando la fuga a través de una derivación débil la saca de un nivel válido, y cuando puede superar su min o max. Estar a menos de 100 mV de un umbral es una advertencia. Una red con cualquier otra cosa encima (una salida, un conector, un diodo, un pin de alimentación de una red no incluida en rails) está impulsada por algo que no puede modelar y se omite. Los condensadores y los puntos de prueba se ignoran. Un pin bidireccional puede estar impulsando: a menos que un interruptor o un colector abierto en la red muestre que está derivado, las otras entradas de su red se omiten y no se informa de que flota.

Hojas

Divide un diseño grande en un esquemático por sección y únelos en un esquemático superior que los liste. El layout coloca el esquemático superior.

name = "sdr"                   # sdr.sch.toml
board = "sdr"
sheets = ["power", "fpga", "rf", "usb"]

Cada hoja es un archivo de esquemático ordinario con sus propios componentes y redes. Las redes se unen entre hojas por nombre, por lo que 3V3 en cada hoja es una red y una señal sale de una hoja y llega a otra bajo el mismo nombre. Los pines de una red deben ser componentes en la misma hoja; una red que abarca hojas necesita el mismo class dondequiera que lo nombre, y se dibuja con etiquetas. Las referencias son únicas en todo el diseño. Una hoja por sí sola omite las advertencias de pin único y clase Default (el resto de la red, y su clase, pueden estar en otra hoja); el esquemático superior ejecuta cada comprobación en el diseño unido y dibuja las hojas apiladas de arriba a abajo. El archivo superior también puede contener componentes y redes propios.

La verificación informa de pines en dos redes, pines sin red, redes de un solo pin, varias salidas en una misma red, cables manuales que no tocan un pin o tocan un pin de otra red, componentes superpuestos, huellas cuyos pads no cubren los pines del símbolo, y niveles de señal cuando rails está establecido. Cada red en la clase de red Default es una advertencia, ya sea que no nombre ninguna clase o que nombre Default: la clase fija el ancho, el despeje, las vías y el orden de enrutado de la red, por lo que cada red debería decir qué es. La advertencia necesita una placa y un layout del esquemático; un esquemático solo simulado (como examples/logic) la omite. Da a la placa una clase por tipo de red (Signal, Data, Clock, Analog, Ground, Power, RF, parejas) y mantén Default como el valor predeterminado que el layout usa para las reglas que ninguna clase cubre. agentee show sch:lna imprime la posición de cada pin.

docs/format.md · Markdown para agentes