agentee

Simulación

Simulación de circuitos

Ejecuta el lado analógico de un esquemático desde su lista de redes: punto de funcionamiento, CA, transitorio y ruido, con amplificadores operacionales y diodos modelados desde sus fichas técnicas y verificaciones de los resultados.

Una simulación de circuito ejecuta el lado analógico de un esquemático directamente desde su lista de redes: el punto de funcionamiento siempre, y un barrido en CA, un transitorio y un análisis de ruido cuando la especificación los pide. No se necesita layout, por lo que responde a las preguntas que deciden el esquemático: ¿el sesgo está donde debería, cuál es la ganancia a 1 kHz, dónde se satura la salida, qué tan fuerte es el siseo.

Empieza uno

agentee new sim preamp-ac --kind circuit

El ejemplo de preamplificador ejecuta un preamplificador de amplificador operacional de 9 V a través de cada análisis. Este es su barrido en CA y ruido, recortado:

name = "preamp-ac"
kind = "circuit"
schematic = "preamp"
record = ["VCC", "VREF", "GAIN_OUT", "FILT_OUT", "OUT"]

[[drives]]
net = "VBAT"
dc = "9V"

[[drives]]
net = "IN"
ac = 1
resistance = "100ohm"

[ac]
from = "1Hz"
to = "1MHz"
points = 20

[noise]
output = "OUT"
input = "IN"
from = "20Hz"
to = "20kHz"

[[checks]]
v = "VREF"
min = 4.1
max = 4.3

[[checks]]
v = "OUT"
at = "1kHz"
min = 18.3
max = 19.3

[[checks]]
noise = "OUT"
at = "1kHz"
max = "500n"

[[blocks]]
ref = "U1"
kind = "opamp"
gain = 1e5
gbw = "0.7MHz"
en = "40n"
vos = "3mV"
headroom_high = "1.5V"
headroom_low = "5mV"
agentee sim preamp-ac
agentee render sim:preamp-ac -o preamp-ac.png

La ejecución escribe preamp-ac.result.json junto a la especificación, con el punto de funcionamiento de cada red, la corriente a través de cada pieza, cada verificación y su valor, y las curvas de las redes registradas. El visor y render grafican la ganancia, la fase y el ruido.

Conductores

Solo un conductor alimenta una red, por lo que da a cada fuente uno. Un conductor es una fuente de voltaje a tierra, o a la red en return, con resistance en serie. current = true lo convierte en una fuente de corriente, que es cómo el preamplificador toma la corriente en reposo del amplificador operacional de su riel. ac marca la entrada de los análisis en CA y de ruido. Para el transitorio, un conductor toma steps (lineal por tramos), un pulse o un sine.

La tierra es cada red nombrada GND, 0V, GROUND o que comienza con VSS.

Análisis

  • Punto de funcionamiento: siempre. Iteración de Newton con limitación de unión, luego paso de gmin, luego paso de fuente cuando no se estabiliza.
  • CA: [ac] barre desde from hasta to con points por década, linealizado en el punto de funcionamiento. Las ganancias están en dB contra el conductor ac.
  • Transitorio: [tran] ejecuta hasta stop con step como el paso más grande. También almacena el espectro de cada red registrada sobre su segunda mitad.
  • Ruido: [noise] da la densidad en output y, con input, la curva referida a la entrada, más el RMS sobre la banda. Las resistencias, las corrientes de unión, los canales de MOSFET y el en del amplificador operacional contribuyen todos.

Verificaciones

Una verificación lee un número y lo mantiene entre min y max. Lo que lee depende de at:

verificaciónlee
v = "NET"el voltaje en el punto de funcionamiento
v = "NET", at = "5ms"el voltaje en el transitorio
v = "NET", at = "1kHz"la ganancia en CA en dB
phase = "NET", at = "1kHz"la fase en grados
noise = "NET", at = "1kHz"la densidad de ruido en V/rtHz
i = "R1"la corriente a través de una pieza de dos pines, del pin 1 al pin 2
peak, trough, rms, freq, thdel transitorio entre from y to

Una verificación que falla es un error en la simulación. Sube la verificación de 1 kHz anterior a min = 19 y la ejecución falla, y agentee check lo informa como un error mientras ese resultado está vigente:

error: ./preamp-ac.sim.toml: preamp-ac result: v(OUT) at 1kHz is 18.7870 dB, wanted 19 to 19.3 dB

El resultado se vuelve obsoleto cuando la especificación o la lista de redes del esquemático cambia: la verificación lo marca como obsoleto y descarta sus fallos hasta que la simulación se ejecute de nuevo, por lo que vuelve a ejecutar la simulación después de cada cambio al circuito. Inicia un intervalo thd o freq después de que el circuito se estabilice, o el paso de arranque se lee como distorsión.

Los modelos provienen de la hoja de datos

Cada pieza se convierte en un elemento por su letra de referencia: R, C y L por valor, D como un diodo, Q como un BJT o MOSFET por sus nombres de pin. Los conectores, puntos de prueba, agujeros y cristales se dejan fuera, y cualquier otra cosa es un error hasta que tenga un bloque o esté en ignore.

Los dispositivos integrados son genéricos: un diodo de silicio, un BJT de pequeña señal y un MOSFET de nivel lógico. Un resultado que se basa en uno de ellos describe al genérico, no a tu componente. Dales a cada componente importante una entrada [[blocks]] con los valores de su hoja de datos:

  • Los amplificadores operacionales son un polo con gain, gbw, rout, vos, en, ib, slew, psrr y un tope suave headroom lejos de cada riel. Cada unidad de un dual o quad es su propio amplificador operacional sobre rieles compartidos.
  • Los diodos toman is y n. Ajusta a dos puntos típicos de VF separados por una década de corriente: n = dV / (Vt ln 10), luego is = I / exp(V / (n Vt)).
  • Los BJT y MOSFET toman is, bf, va o vth, k, lambda y sus capacitancias.
  • Los LDO mantienen vout hasta que la entrada se acerca a dropout, luego la siguen hacia abajo.
  • Los potenciómetros toman una position de 0 a 1, de modo que el cursor carga y es cargado como el componente real.

Pon la hoja de datos y la tabla de donde salió cada valor en el description de la simulación. La siguiente persona que lea el resultado, a menudo el agente, sabrá entonces en qué se basa.

Ejemplos

  • examples/preamp: el punto de operación, la ganancia y el ruido de un etapa de ganancia y un filtro Sallen-Key sobre un LM358, el golpe al encender, la saturación y el diodo de batería invertida.
  • examples/ladder-vcf: un filtro de escalera de transistores cuyas simulaciones comprueban el seguimiento de 1 V/oct en tres CV, el pico de resonancia y la autooscilación en un transitorio.
  • examples/lna: lna-supply comprueba el OR de dos entradas de alimentación a través de Schottky, y lna-biastee cuánto RF deja pasar el bias tee a la alimentación.

Todas las claves están en la referencia de circuito.

Mejorar esta guía · Markdown para agentes