Recorrer un vector en ngspice

3

ngspice no es capaz de realizar un análisis de CC mientras está barriendo la longitud del transistor. Estoy tratando de hacer una solución creando un vector, haciendo un bucle a través de él y alterando @m1[l]

Aquí hay un código de trabajo mínimo:

VA 4 2 DC 0
VSBN 0 3 DC 0
VGSN 1 0 DC 1
VDSN 4 0 DC 1
M1 2 1 0 3 nmos w=200n l=45n

.control
compose length start=100n stop=500n step=1n
foreach l length <-- ??? not sure about this
  alter @m1[l] l <-- ??? not sure about this, too
  dc VGSN 0 1 1m
end
.endc

¿Hay alguna manera de recorrer un vector en ngspice?

    
pregunta Kit

1 respuesta

1

Uso LTSpice, así que no tengo experiencia con esto en ngspice y es posible que ya hayas visto esto, pero has visto las p.266 y p.321 de manual ?

Parece bastante similar a tu código anterior. La otra opción es usar LTSpice, en la que esto es ciertamente posible.
Aquí hay una lista de redes LTSpice en la que la longitud de un NMOS monolítico se barre de 1nm a 2000nm (Todos los demás valores están predeterminados)

* C:\Program Files\LTC\LTspiceIV\MOSFET param test 2.asc
V1 +V 0 5 Rser=0
R1 +V N001 1K
R2 N004 0 1m
R3 +V N003 500k
R4 N003 0 500k
M1 N001 N003 N004 N002 OLIMOS
R5 N002 0 1m
.model NMOS NMOS
.model PMOS PMOS
.lib C:\PROGRA~1\LTC\LTSPIC~1\lib\cmp\standard.mos
.step NMOS OLIMOS(L) 1n 2000n 100n
.model OLIMOS NMOS(KP=2e-5)
.op
.backanno
.end
    
respondido por el Oli Glaser

Lea otras preguntas en las etiquetas