¿Cómo empezar a usar ngspice?

2

Recientemente he terminado algunos trabajos con hspice, y ahora no tengo acceso al servidor. He instalado ngspice en mi máquina Fedora 15, pero no estoy familiarizado con su funcionamiento. En hspice, pude producir un archivo de salida con valores medidos y un conjunto de formas de onda que se trazaron fácilmente con cosmosscope.

Sin embargo, no estoy seguro de cómo hacerlo en ngspice. Aquí hay un código SPICE básico:

Transient Response of a Linear Network

** Circuit Description **

* input signal source
Vi 1 0 SIN ( 0V 10V 60Hz )
* linear network
R1      1   2   1Ohm
C1      2   0   2.65mF
Rload   3   0   10Ohm
E1      3   0   2   0   10

** Analysis Request **
* compute transient response of circuit over three full
* periods (50 ms) of the 60 Hz sine-wave input with a 1 ms
* sampling interval
.TRAN 1ms 50ms 0ms 1ms

** Output Request **
* print the output and input time-varying waveforms
.PRINT TRAN V(3) V(1)
* plot the output and input time-varying waveforms
* set the range of the y-axis between -100 and +100 V
.PLOT TRAN V(3) V(1) (-100,+100)

.END

¿Cómo obtengo ngspice para generar los valores solicitados y para trazar los valores solicitados EN UNA VEZ?

ACTUALIZACIÓN: Me he familiarizado más con ngspice. Parece que fue capaz de generar los datos que quería y puede trazar datos. Sin embargo, tengo que hacer esto por separado con diferentes comandos en el intérprete ngspice. Me pregunto cómo puedo obtener ngspice para trazar todo y generar todos los datos de una sola vez. Aquí hay una foto de cómo funciona:

    
pregunta sj755

1 respuesta

1

Puede poner el comando de intérprete entre los comandos .control y .endc en el archivo del circuito. De esta manera deberían ejecutarse junto con la simulación.

PS. Para realizar un trazado y un procesamiento posterior más complejos, puede comenzar con los datos tabulares de SPICE y enviarlos a gnuplot o Python + numpy + matplotlib.

PS. Tenga en cuenta que ngspice se basa en Berkeley Spice 3 (reescrito en C), mientras que la mayoría de los motores comerciales SPICE se basaron en la segunda versión (en Fortran). Las diferencias son principalmente con ngspice que admite nombres de nodos textuales y funciones matemáticas arbitrarias en fuentes de corriente / voltaje dependientes. Esto último con frecuencia causa dolores de cabeza cuando se intenta utilizar los modelos de IC provistos por el fabricante que usan la declaración POLY antigua (y no admitida en ngspice).

    
respondido por el jpc

Lea otras preguntas en las etiquetas