Tutorial NGSPICE v13 2015

download Tutorial NGSPICE v13 2015

of 15

Transcript of Tutorial NGSPICE v13 2015

  • 8/19/2019 Tutorial NGSPICE v13 2015

    1/47

    DISEÑO DE CIRCUITOS Y SISTEMAS INTEGRADOS

    Máster en Ingeniería de Telecomunicación

    Curso 2015/16

    INTRODUCCIÓN A

  • 8/19/2019 Tutorial NGSPICE v13 2015

    2/47

    2 Introducción a

    ÍNDICE

    1 INTRODUCCIÓN ....................................................................................................................... 4

    1.1 Origen ............................................................................................................................. 4

    1.2 ¿Qué es NGSPICE? .......................................................................................................... 4

    1.3 ¿Dónde obtener el software e información sobre él? ................................................... 5

    2 PRIMEROS PASOS CON NGSPICE ............................................................................................. 5

    2.1 Línea de comandos ........................................................................................................ 6

    2.2 Componentes básicos .................................................................................................... 7

    2.3 Modos de ejecución ....................................................................................................... 7

    2.3.1 Batch mode (procesamiento por lotes) ................................................................. 7

    2.3.2 Interactive mode (interactive interpreter) ............................................................ 7

    2.3.3 Control mode (Interactive mode with control file or control section) .................. 8

    2.4 Descripción básica de un circuito en un fichero netlist ................................................. 8

    2.5 Modelos ......................................................................................................................... 9

    2.5.1 Modelo de diodo .................................................................................................. 10

    2.5.2 Modelo BJT ........................................................................................................... 11

    2.5.3 Modelo MOSFET .................................................................................................. 132.6 Comandos Básicos de Simulación ................................................................................ 14

    3 INTERFAZ GRÁFICA DE USUARIO ........................................................................................... 15

    4 BIBLIOTECA COMPARTIDA Y USO DINÁMICO ....................................................................... 18

    4.1 Enlazar la librería compartida ...................................................................................... 18

    4.2 API compartida ............................................................................................................. 18

    4.3 Paralelismo ................................................................................................................... 18

    5 ANÁLISIS BÁSICO ................................................................................................................... 19

    5.1 Análisis AC .................................................................................................................... 19

    5.2 Análisis de distorsión (.DISTO) ..................................................................................... 22

    5.3 Análisis de punto de operación (.OP) .......................................................................... 25

    5.4 Análisis de sensibilidad (.SENS) .................................................................................... 26

    5.5 Análisis transitorio .TRAN ............................................................................................ 30

    5.6 Análisis de función de transferencia (.DC) ................................................................... 31

    5.7 Análisis de ruido (.NOISE)............................................................................................. 32

    5.8 Análisis de ceros y polos (.PZ) ...................................................................................... 37

  • 8/19/2019 Tutorial NGSPICE v13 2015

    3/47

    3 Introducción a

    5.9 Análisis de función de transferencia (.TZ) .................................................................... 39

    6 SUBCIRCUITOS ....................................................................................................................... 41

    6.1 Definición de un subcircuito ........................................................................................ 41

    6.2 Llamada a un subcircuito ............................................................................................. 42

    6.3 EJEMPLO 1. Divisor resistivo ........................................................................................ 43

    6.4 EJEMPLO 2: INVERSOR CMOS ...................................................................................... 44

    6.5 Consideraciones ........................................................................................................... 45

    7 REFERENCIAS ......................................................................................................................... 46

    8 LISTA DE CAMBIOS................................................................................................................. 47

  • 8/19/2019 Tutorial NGSPICE v13 2015

    4/47

    4 Introducción a

    1 INTRODUCCIÓN

    1.1 Origen

    El proyecto Spice (Simulation Program with Integrated Circuit Emphasis) fuedesarrollado en el laboratorio de investigación electrónica (Electronics ResearchLaboratory) de la Universidad de California, Berkeley, por Larry Nagel bajo la direcciónde su asesor de investigación Donald Pederson en 1973 (SPICE1). Hasta ese momentovarios simuladores de circuitos eléctricos habían sido desarrollados por eldepartamento de defensa de los Estados Unidos pero no habían sido puestos adisposición del público. Cuando el profesor Pederson asumió la dirección dellaboratorio consiguió que el programa Spice fuera reescrito a partir de su antecesor, elcual era un programa con licencia privativa, para poder poner esta nueva versión delprograma bajo dominio público.

    Debido a esta característica de código abierto, Spice fue ampliamente utilizadocomo base para el desarrollo de otros programas de simulación tanto en lasuniversidades como en la industria en general. Esto nos permite encontrar en elmercado un gran número de versiones derivadas del Spice original tanto libres comocomerciales. En la siguiente tabla recogemos algunas de las versiones disponiblesactualmente:

    Versiones comerciales Versiones software libre PSpice/OrCAD

    HSpice MicroCad Dr. Spice Proteus Intusoft Spice-It!

    SIMetric Intro TopSPICE

    ASCO tool GEDA

    MacSpice NGspice Oregano

    Qucs TclSpice

    1.2 ¿Qué es NGSPICE?NGSpice es un simulador de circuitos. NGSpice se basa en tres componentes software de

    código abierto: Spice3f5, Xspice y Cider1b1

    SPICEes el origen de todos los simuladores de circuitos. Sus sucesores sonampliamente usados en la comunidad electrónica.

    Xspice es una extensión de Spice3 que proporciona modelos de código de lenguaje Cadicionales para apoyar el modelado de comportamiento analógico y co-simulación de

    componentes digitales, todo ello gracias a un modelo basado en eventos.

    http://es.wikipedia.org/w/index.php?title=Electronics_Research_Laboratory&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Electronics_Research_Laboratory&action=edit&redlink=1http://es.wikipedia.org/wiki/Universidad_de_Californiahttp://es.wikipedia.org/wiki/Berkeley_(California)http://es.wikipedia.org/w/index.php?title=Larry_Nagel&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Donald_Pederson&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Donald_Pederson&action=edit&redlink=1http://es.wikipedia.org/wiki/Estados_Unidoshttp://es.wikipedia.org/wiki/Software_propietariohttp://es.wikipedia.org/wiki/C%C3%B3digo_abiertohttp://es.wikipedia.org/wiki/C%C3%B3digo_abiertohttp://es.wikipedia.org/wiki/Software_propietariohttp://es.wikipedia.org/wiki/Estados_Unidoshttp://es.wikipedia.org/w/index.php?title=Donald_Pederson&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Larry_Nagel&action=edit&redlink=1http://es.wikipedia.org/wiki/Berkeley_(California)http://es.wikipedia.org/wiki/Universidad_de_Californiahttp://es.wikipedia.org/w/index.php?title=Electronics_Research_Laboratory&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=Electronics_Research_Laboratory&action=edit&redlink=1

  • 8/19/2019 Tutorial NGSPICE v13 2015

    5/47

    5 Introducción a

    Cider añade un simulador numérico a ngspice . Se acopla el simulador de nivel decircuito al simulador de dispositivo para proporcionar una mayor precisión de lasimulación (a expensas de un mayor tiempo de simulación).

    Se puede entender a partir de su nombre como el Spice de Nueva Generación (Next

    Generation Spice). El objetivo del proyecto NGSpice es el de proporcionar una herramientaque nos permita simular circuitos de una manera fiable, rápida y amigable. De la mismamanera que los proyectos sobre los que se basa, consiste en un simulador por línea decomandos. El software proporciona tanto el simulador como el front-end para el análisis yrepresentación de los resultados.

    Actualmente el software permite realizar tres tipos de análisis: análisis no lineal DC,análisis no lineal transitorio y análisis lineal AC. Proporciona la posibilidad de incluir un grangrupo de elementos circuitales tales como resistencias, condensadores, bobinas, líneas detransmisión, diodos, transistores bjt, mosfets, mesfets, jfet, etc.

    1.3 ¿Dónde obtener el software e información sobre él?Desde el siguiente enlace podemos acceder a la última versión disponible del software:

    http://ngspice.sourceforge.net/ donde la versión disponible a fecha de realización del presentemanual corresponde a ngspice-26 (liberada el 12/01/2014 ).

    Aquí encontraremos dos versiones distintas: la versión estable, pensada parausuarios finales y el repositorio de código (git) para poder contribuir a mejorar el

    código. La versión estable puede descargarse de dos maneras distintas:

    Descargar el código fuente para poder compilarlo uno mismo bajo variossistemas operativos, como GNU/Linux, MS Windows, Mac OS, BSD,Solaris, y tal vez algún otro más.

    Descargar los archivos binarios distribuidos para MS Windows y Mac OSX.

    Esta versión no contiene los últimos cambios ni las funcionalidades que están enfase de pruebas, ya que va destinada para usuarios finales que desean una versiónestable.

    2 PRIMEROS PASOS CON NGSPICEPara trabajar con el simulador únicamente es necesario especificar nuestro circuito en un

    fichero Netlist . Generalmente estos ficheros estarán organizados en diferentes partes. Laprimera línea siempre es ignorada por el simulador y puede ser usada para establecer el títulode la simulación. En el resto de líneas hay que respetar las diferentes convencionesestablecidas. Tendremos sentencias referidas a comandos que deben comenzar con un ‘.’(punto) y sentencias referidas a componentes que comenzarán con una letra que representa eltipo de componente (por ejemplo R para una resistencia). Cuando una de estas sentencias

    http://ngspice.sourceforge.net/http://ngspice.sourceforge.net/http://ngspice.sourceforge.net/

  • 8/19/2019 Tutorial NGSPICE v13 2015

    6/47

    6 Introducción a

    continua en varias líneas se insertará un ‘+’ al principio de cada línea múltiple. Cada línea quecomience con ‘*’ será ignorada ya que es el símbolo para identificar comentarios.

    2.1 Línea de comandos

    Sintáxis:ngspice [-o logfile] [-r rawfile] [-b] [-i] [input file]ngnutmeg [] [datafile …]

  • 8/19/2019 Tutorial NGSPICE v13 2015

    7/47

    7 Introducción a

    2.2 Componentes básicosLa sintaxis para declarar cada uno de los componentes básicos en el fichero netlist es lasiguiente :

    Resistencia: RXXXXXXX N1 N2 Ej.:RHOT n1 n2 10k TEMP=500 Condensador: CXXXXXXX N+ N- VALUE Bobina: LYYYYYYY N+ N- VALUE Diodo:DXXXXXXX N+ N- MNAME Transistor BJT:QXXXXXXX NC NB NE MNAME Transistor MOSFET:MXXXXXXX ND NG NS NB MNAME

    + Fuente de Tensión: VXXXXXXX N+ N-

    +

    Fuente de Corriente: IXXXXXXX N+ N- +

    Se pueden generar diferentes señales de fuente con las siguientes funciones: Pulso: PULSE(V1 V2 ) Sinusoide: SIN(V0 VA FREQ ) Exponencial: EXP(V1 V2 ) Piece-Wise: PWL(T1 V1 )

    2.3 Modos de ejecución

    2.3.1 Batch mode (procesamiento por lotes)Este modo de ejecución se basa en la creación de ficheros de descripción de circuitos para serposteriormente ejecutados, mediante la opción [-b].

    ngspice – b – r rawfile.raw circuitfile.cir

    En el modo bach el análisis descrito por las líneas de control del archivo de entrada soninmediatamente ejecutadas. Si se activa la opción [-r] entonces todos los datos generados se

    escriben en un archivo rawfile de ngspice. El archivo raw (datos en crudo) puede ser leídoposteriormente a través del modo interactivo de ngspice usando el comando “load”. Si por elcontrario no se especifica ningún archivo de tipo raw la salida se muestra en formato de líneade comandos y las tablas pueden ser impresas según los archivos de control .print, .plot y.four.

    2.3.2 Interactive mode (interactive interpreter)El flujo de simulación en ngspice (entrada, simulación, salida) puede ser controlado porcomandos ‘.’ en el modo bach. Existe, sin embargo, una forma mucho más potent e de controldisponible en ngspice, tradicionalmente denominada “modo interactivo”.

  • 8/19/2019 Tutorial NGSPICE v13 2015

    8/47

  • 8/19/2019 Tutorial NGSPICE v13 2015

    9/47

    9 Introducción a

    Esta es la forma en la que spice interpretará y situará el componente para su posteriorsimulación. Esto se puede ver de manera más sencilla en el siguiente ejemplo de un circuito deun divisor resistivo.

    Netlist

    *Divisor de Tensión

    V1 in 0 sin(0 1 1e3)R1 in out 50kR2 out 0 50k

    .TRAN 10n 2m

    .end

    En el circuito anterior hay tres componentes (una fuente de tensión que llamamos V1 y2 resistencias R1 y R2. A cada entrada y salida de cada componente le asignamos un númerode nodo. Después se indican los valores y características de los componentes. Así tenemos elfichero que describe el circuito:

    La primera línea describe fuente V1 que está incluida entre el nodo IN y el nodo0 – masa -. Se trata de una señal sinosuidal de 1 V de amplitud y 1 KHz. (ver

    manual de ngspice, apartado 4.1.2). La segunda línea describe la resistencia R1, que está entre el nodo IN Y EL nodoOUT, con valor de 50K.

    La tercera línea describe la resistencia R2, que está entre el nodo OUT y el nodo0 – masa- y tiene un valor de 50K.

    El circuito ya está descrito para que SPICE lo interprete y se hagan posteriores análisis ysimulaciones. Así la cuarta línea efectúa un análisis transitorio del circuito. Estos análisis sedescriben en posteriores apartados

    2.5 ModelosLa mayoría de los elementos circuitales solo requieren de unos pocos parámetros de

    configuración. Sin embargo, algunos dispositivos como los semiconductores necesitan que seles sea especificado un gran número de ellos para definir correctamente su comportamiento.Por este motivo, se puede definir bajo un mismo nombre y modelo (.model) a un grupo dedispositivos mediante una línea adicional.

    Modelo genérico: .model MNAME TYPE(PNAME1=PVAL1 PNAME2=PVAL2 ... )

  • 8/19/2019 Tutorial NGSPICE v13 2015

    10/47

    10 Introducción a

    2.5.1 Modelo de diodo.model MNAME D(PNAME1=PVAL1 PNAME2=PVAL2 ... )

    PARÁMETROS DC

    PARÁMETROS CAPACITIVOS

  • 8/19/2019 Tutorial NGSPICE v13 2015

    11/47

    11 Introducción a

    PARÁMETROS TÉRMICOS

    PARÁMETROS RUIDO

    Ejemplo: D1 1 2 Da1N4004 .model Da1N4004 D (IS=18.8n RS=0 BV=400 IBV=5.00u

    + CJO=30 M=0.333 N=2) Ejemplo: D1 1 2 D1N4148

    .model D1N4148 D (IS=0.1PA, RS=16 CJO=2PF TT=12N BV=100+ IBV=0.1PA)

    2.5.2 Modelo BJT.model MNAME NPN/PNP(PNAME1=PVAL1 PNAME2=PVAL2 ... )

  • 8/19/2019 Tutorial NGSPICE v13 2015

    12/47

    12 Introducción a

    Ejemplo: 1N2222A NPN Transistor

    .model Q2N2222A NPN (IS=14.34F XTI=3 EG=1.11 VAF= 74.03+ BF=255.9 NE=1.307 ISE=14.34F IKF=.2847 XTB=1.5 BR=6.092+ NC=2 ISC=0 IKR=0 RC=1 CJC=7.306P MJC=.3416 VJC=.75+ FC=.5 CJE=22.01P MJE.377 VJE=.75 TR=46.91N TF=411.1P+ ITF=.6 VTF=1.7 XTF=3 RB=10)

    Ejemplo: 2N696 NPN Transistor

    .model Q2N696 NPN (IS=14.34F XTI=3 EG=1.11 VAF= 74.03+ BF=65.62 NE=1.208 ISE=19.48F IKF=.2385 XTB=1.5 BR=9.715 + NC=2 ISC=0IKR=0 RC=1 CJC=9.393P MJC=.3416 VJC=.75 FC=.5

  • 8/19/2019 Tutorial NGSPICE v13 2015

    13/47

    13 Introducción a

    + CJE=22.01P MJE=.377 VJE=.75 TR=58.98N TF=408.8P ITF=.6+ VTF=1.7 XTF=3 RB = 10)

    2.5.3 Modelo MOSFET.model MNAME NMOS/PMOS(PNAME1=PVAL1 PNAME2=PVAL2 ... )

  • 8/19/2019 Tutorial NGSPICE v13 2015

    14/47

    14 Introducción a

    Ejemplo: CMOSN ( NMOS)

    .MODEL CMOSN NMOS LEVEL=3 PHI=0.600000 TOX=2.1200E-08+ XJ=0.200000U TPG=1 VTO=0.7860 DELTA=6.9670E-01+ LD=1.6470E-07 KP=9.6379E-05 UO=591.7 THETA=8.1220E-02+ RSH=8.5450E+01 GAMMA=0.5863 NSUB=2.7470E+16 NFS=1.98E+12

    + VMAX=1.7330E+05 ETA=4.3680E-02 KAPPA=1.3960E-01+ CGDO=4.0241E-10 CGSO=4.0241E-10 CGBO=3.6144E-10 CJ=3.8541E-04+ MJ=1.1854 CJSW=1.3940E-10 MJSW=0.125195 PB=0.800000

    Ejemplo: CMOSP (PMOS)

    .MODEL CMOSP PMOS LEVEL=3 PHI=0.600000 TOX=2.1200E-08+ XJ=0.200000U TPG=-1 VTO=-0.9056 DELTA=1.5200E+00 LD=2.2000E-08+ KP=2.9352E-05 UO=180.2 THETA=1.2480E-01 RSH=1.0470E+02+ GAMMA=0.4863 NSUB=1.8900E+16 NFS=3.46E+12 VMAX=3.7320E+05+ ETA=1.6410E-01 KAPPA=9.6940E+00 CGDO=5.3752E-11+ CGSO=5.3752E-11 CGBO=3.3650E-10 CJ=4.8447E-04 MJ=0.5027+ CJSW=1.6457E-10 MJSW=0.217168 PB=0.850000

    2.6 Comandos Básicos de Simulación Condiciones iniciales (.IC): permite establecer las condiciones iniciales de un nodo o de

    un circuito con memoria.

    Uso: .ic V(NODNUM)=VAL V(NODNUM)=VAL ...

    Análisis del estado estable (.OP) : encuentra las condiciones de estado estable entodos los dispositivos y nodos.

    Uso: .op

    Análisis de ganancia de pequeña señal (.TF) : proporciona la ganancia en estadoestable dadas una señal de entrada y una de salida.

    Uso: .tf OUTVAR INSRC

    Análisis de estado estable (.DC) : calcula las condiciones de los dispositivos y nodospara una serie de condiciones de entrada.

    Uso: .dc SRCNAM VSTART VSTOP VINCR [SRC2 START2 STOP2 INCR2]

    Análisis AC de pequeña señal (.AC): calcula como los dispositivos se comportan en eldominio frecuencial en un determinado estado estable.

    Uso: .ac STYPE ND FSTART FSTOP

    Análisis transitorio (.TRAN): monitoriza el estado de un circuito en el dominiotemporal para una determinada entrada.

  • 8/19/2019 Tutorial NGSPICE v13 2015

    15/47

    15 Introducción a

    Uso: .tran TSTEP TSTOP

    Fin de la simulación (.END): a partir de este comando cualquier línea será ignorada y lasimulación será ejecutada.

    Uso: .end

    Imprimir por pantalla (.PRINT): permite imprimir por pantalla el valor de lasmagnitudes deseadas.

    Uso: .print var1 var2 …

    Visualizar resultados (.PLOT): permite representar por pantalla un gráfico con lasevoluciones de las diferentes magnitudes.

    Uso: .plot var1 var2 …

    3 INTERFAZ GRÁFICA DE USUARIONGSpice ofrece una gran variedad de interfaces. Este factor muestra el potencial querepresenta ngspice y su ecosistema.

    A continuación se muestran algunos ejemplos de esta variedad de interfaces para diversossistemas operativos.

    Figura: ngspice on KDE (Linux)

  • 8/19/2019 Tutorial NGSPICE v13 2015

    16/47

  • 8/19/2019 Tutorial NGSPICE v13 2015

    17/47

    17 Introducción a

    Figura: ngspice running on Windows XP within Cygwin

    Figura: ngspice on KDE (Linux) with gschem in background

  • 8/19/2019 Tutorial NGSPICE v13 2015

    18/47

    18 Introducción a

    4 BIBLIOTECA COMPARTIDA Y USO DINÁMICONgspice puede ser compilada como una librería compartida y de esta forma permitir a unaaplicación externa controlar la simulación.

    El módulo compartido ofrece una interfaz que exporta funciones para para poder controlar elsimulador y funciones de devolución de llamada (callback functions) para obtener laretroalimentación.

    De esta forma se puede controlar la simulación que se ejecutará en otro hilo de ejecución einformará a la aplicación anfitriona en forma de evento cuando se produzca la tarea X.

    4.1 Enlazar la librería compartidaBásicamente existen dos métodos (con archivos *.so y *.dll):

    Enlazar durante la compilación: cuando se crea una librería compartida de ngspice nosólo se crean los archivos *.so (*.dll), sino que además se crea un pequeño archivo queincluye las referencias a las funciones exportadas.

    Enlazar durante la ejecución: dlopen (GNU/Linux) o LoadLibrary (MS Windows) cargarála librería libngspice.so/ngspice.dll dentro del espacio de direcciones reservado a laejecución del programa anfitrión. Las funciones devolverán un manejador que podráser usado para adquirir los punteros a las funciones exportadas por la libreríalibngspice.so.

    4.2 API compartidaLos fuentes de la API de ngspice están contenidos dentro de un único archivo C (sharedspice.c)y su correspondiente fichero de cabecera (sharedspice.h). Las declaraciones de tipos yfunciones están contenidas en el fichero sharedspice.h, que puede ser añadido directamenteen la aplicación que quiera hacer uso de ellas si está escrita en C o C.

    4.3 ParalelismoGracias a la creación de bibliotecas compartidas de ngspice se introduce la capacidad deejecución de varias invocaciones a ngspice en paralelo, en hilos de ejecución individuales demanera sincronizada, permitiendo el intercambio de datos entre los diferentes hilos.

    Un programa principal se encarga de cargar varias instancias de la librería ngspice y ejecutarhilos de ejecución individuales en cada instancia. Hay que dividir el circuito en particiones ydefinir sus interconexiones. Cada hilo de ejecución de ngspice carga una partición distinta y

    ejecuta la simulación. El progreso de simulación se sincroniza a través de una función de

  • 8/19/2019 Tutorial NGSPICE v13 2015

    19/47

    19 Introducción a

    devolución de llamada (callback), mientras que los datos (o voltaje) son compartidos deacuerdo a la interfaz definida en otra función de devolución de llamada.

    5 ANÁLISIS BÁSICOA continuación presentamos los tipos de análisis realizable con el software.

    5.1 Análisis AC

    Mediante este análisis podemos determinar la respuesta del circuito ante una señal senoidal

    de determinada frecuencia a partir de los modelos de pequeña señal de los elementos. Este

    análisis es similar al análisis de corriente continua en el cual esto representa el

    comportamiento fijo del sistema descrito.

    Para la realización del análisis, el programa primero calcula el .dc del circuito y determina

    modelos de pequeña señal para todos los dispositivos no lineales en el circuito. El resultado

    obtenido es analizado sobre un rango especificado de frecuencias. La salida de este tipo de

    análisis es por lo general una función de transferencia.

    Las instrucciones que nos permite realizar este tipo de análisis son:

    Instrucciones Ejemplos

    .AC DEC ND FSTART FSTOP

    .AC OCT NO FSTART FSTOP

    .AC LIN NP FSTART FSTOP

    .AC DEC 10 1 10K

    .AC OCT 10 1K 100MEG

    .AC LIN 100 1 100HZ

    Donde cada parámetro tiene el siguiente significado:

    DEC variación de década.

    o ND número de puntos por década.

    OCT variación de octava.

    o NO número de puntos por octava.

    LIN variación lineal.

    o NP número de puntos.

    Mediante los parámetros fstart y fstop podemos marcar la frecuencia de inicio y la frecuencia

    final del barrido de frecuencias.

  • 8/19/2019 Tutorial NGSPICE v13 2015

    20/47

    20 Introducción a

    Nota: para este análisis al menos un la fuente independiente debe haber sido especificada con

    un valor de .ac .

    A continuación podemos visualizar un ejemplo práctico correspondiente con el siguiente

    esquemático, figura X:

    El circuito elegido en este caso es un RLC paralelo que presenta una resonancia alrededor de la

    frecuencia. Se utilizará un generador de corriente para excitar la impedancia equivalente del

    circuito.

    Figura X: Esquemático del circuito de ejemplo.

    El circuito definido enNGSPICE es el siguiente:

    Analisis en alterna

    *CIRCUITO RLC

    II 0 1 ac 0.1L1 1 0 1mC1 1 0 1nR1 1 0 10k

    *EJECUTAMOS.control

    *ANALISIS EN FRECUENCIA*Instruccion: .AC [DEC/OCT/LIN] [ND/NO/NP] FSTART FSTOPac dec 25 1.0e5 1e6plot V(1) xlimit 100k 300k ylogprint V(1) > ac.txtdisplay > ac.varasciiplot V(1)> ac.plt

    .endc

    .end

  • 8/19/2019 Tutorial NGSPICE v13 2015

    21/47

  • 8/19/2019 Tutorial NGSPICE v13 2015

    22/47

    22 Introducción a

    14 3.630781e+005 2.935634e+000, -5.41019e+00115 3.981072e+005 2.259003e+000, -4.74753e+00116 4.365158e+005 1.765103e+000, -4.19760e+00117 4.786301e+005 1.395760e+000, -3.73338e+00118 5.248075e+005 1.114178e+000, -3.33607e+00119 5.754399e+005 8.961353e-001 -2.99221e+00120 6.309573e+005 7.251491e-001, -2.69188e+00121 6.918310e+005 5.896754e-001, -2.42761e+00122 7.585776e+005 4.814294e-001, -2.19362e+00123 8.317638e+005 3.943372e-001, -1.98540e+00124 9.120108e+005 3.238639e-001, -1.79933e+00125 1.000000e+006 2.665689e-001, -1.63248e+001

    Tabla X: Valores de la tensión en función de la frecuencia.

    5.2 Análisis de distorsión (.DISTO)

    El siguiente análisis corresponde con el análisis de distorsión. Este tipo de análisis calcula el

    armónico fijo y los armónicos de segundo y tercer orden de la señal de entrada, realizando de

    esta manera una estimación de la distorsión del circuito.

    La generación de ruido blanco por parte de las resistencias y de los dispositivos

    semiconductores es simulado en este tipo de análisis. Además de caracterizar la distorsión

    utilizando dos señales de frecuencia diferente como excitación del circuito.

    Si por ejemplo, tenemos una seña de una sola frecuencia como entrada al circuito, los

    armónicos de segunda y tercera son determinados en cada punto en el circuito. Por el

    contrario, si a la entrada tenemos dos señales de diferente frecuencia, el análisis calcula los

    valores de las variables del circuito tanto para la suma (f2+f1) como para la diferencia (f2-f1)

    de las frecuencias de entrada.

    Este tipo de análisis se puede dar para dispositivos no lineales como: Diodos, BJT, JFET,

    MOSFETs, MESFET.

    NOTA: Si un modelo de dispositivo no permite el análisis de distorsión directo es necesario

    usar un análisis de Fourier.

    Las instrucciones que nos permite realizar este tipo de análisis son:

    Instrucciones Ejemplos

    .DISTO DEC ND FSTART FSTOP < F2OVERF1 >

    .DISTO OCT NO FSTART FSTOP < F2OVERF1 >.DISTO LIN NP FSTART FSTOP < F2OVERF1 >

    .DISTO DEC 10 1kHz 100Mhz

    .DISTO DEC 10 1kHz 100Mhz 0.9

  • 8/19/2019 Tutorial NGSPICE v13 2015

    23/47

    23 Introducción a

    La línea .disto hace un análisis de distorsión de señal pequeña del circuito. Como en el análisis

    .AC el resto de comandos realizan las mismas funciones, principio y fin del barrido de

    frecuencia, variaciones y número de puntos. El parámetro opcional para este análisis es

    f2overf1 , este analiza la distorsión en el circuito para una sola frecuencia de entrada F1,

    especificando el barrido. Este parámetro debe ser un número real entre [0 - 1]; considerando

    el circuito con entradas sinusoidales en dos frecuencias diferentes F1 y F2.

    Dónde:

    F1 es la frecuencia según la línea de control.

    F2 es fija en una frecuencia sola.

    El análisis calcula la información sobre los valores de de los voltajes en los nodos y en las

    frecuencias armónicas 2F1 .

    Cada fuente independiente en el circuito puede tener dos entradas sinusoidales para la

    distorsión, las frecuencias F1 y F2. La magnitud y la fase del componente F1 son especificadas

    en el argumento distof1 en la línea de entrada de la fuente y lo mismo para para F2 (distof2) .

    Si el distof1/ distof2 no se determinan en la descripción entonces la fuente no posee ninguna

    entrada especifica en frecuencia. Por lo que los valores de magnitud y fase son 1 y 0

    respectivamente.

    Existe un subconjunto de dispositivos no lineal en NGSPICE que modela el análisis de

    distorsión. Estos son: Diodos, BJT, JFET, MOSFETs,MESFET.

    Para una mayor compresión, se planteará un ejemplo: el circuito escogido para el análisis de

    distorsión utiliza un dispositivo pasivo no lineal como generador, un diodo D1 que se polariza

    mediante la alimentación de la fuente VCC.

    El circuito a analizar se presenta en la figura X.

  • 8/19/2019 Tutorial NGSPICE v13 2015

    24/47

    24 Introducción a

    Figura X: Esquemático utilizado para el análisis de distorsión.

    El circuito definido enNGSPICE es el siguiente:

    Analisis Distorsion

    R1 2 0 1kD1 1 2 diodoVCC 1 3 5v ac 0.001 sin(5 0.01 1000) distof1 0.01 distof2 0.01VCC2 3 0 0v

    *ANPLITUD DISTORSION.model diodo D is=1.0e-14 tt=0.1n cjo=2p

    .control*ANALISIS DE DISTORSION*Instruccion: .DISTO [DEC/OCT/LIN] [ND/NO/NP] FSTART FSTOP

    disto dec 1 1000 1000rusage everything > disto.opedisplay > disto. var

    *setplot*setplot disto20*print all

    .endc

    .end

    Para poder visualizar el resultado del análisis NSPICE dispone de diferentes formas, una de

    ellas es seleccionando mediante el comando “.setplot NUM_PLOT” el armónico que

    queremos visualizar. Eligiendo de esta manera entre el estudio del segundo y tercer armónico

    de la señal excitadora de 1KHz de la fuente de señal VCC.

    A continuación mostramos una captura de esta representación, figura X:

  • 8/19/2019 Tutorial NGSPICE v13 2015

    25/47

    25 Introducción a

    Figura X: Representación de los resultados de los armónicos.

    5.3 Análisis de punto de operación (.OP)Calcular el punto de trabajo en continua o también denominado “punto de operación, viene

    especificado por la sentencia “ .OP” en el fichero netlist. Este tipo de análisis es el encargado de

    calcula los valores de tensión en todos los nodos del circuito y los muestra en el fichero de

    salida.

    A continuación se presenta un breve ejemplo, figura X:

  • 8/19/2019 Tutorial NGSPICE v13 2015

    26/47

    26 Introducción a

    Figura X: Esquemático para el análisis de punto de operación.

    El circuito elegido para el análisis de punto de operación está compuesto por transistor bipolar

    en configuración de emisor común, además de un par de resistencias y una fuente de tensión.

    El fichero netlist correspondiente para la realización del ejemplo es:

    Analisis en punto de operacion

    Q1 2 1 0 QMODR1 1 3 200kR2 2 3 1kVCC 3 0 5

    .MODEL QMOD NPN

    .control*VOLCADO FICHERO .CIR ANALIZADO SINTACTICAMENTElisting > bjt.lst

    *ANALISIS PUNTO DE OPERACION}oprusage everything > op.opeprint V(3) V(2) V(1) > op.txtdisplay > op.var

    .endc

    .end

    Tras realizar la simulación hemos almacenado el valor de cada variable del circuito en un

    fichero “.txt” mediante el comando “print V(3) V(2) V(1) > op.txt” . Los valores obtenidos son

    los siguientes:

    v(3) = 5.000000e+000v(2) = 2.896719e+000v(1) = 7.934391e-001

    5.4 Análisis de sensibilidad (.SENS)Continuando con los tipos de análisis, NGSPICE nos permite calcular la sensibilidad de la señal

    de corriente alterna de una variable. Es decir, NGSPICE nos entrega un listado de la sensibilidad

    de las tensiones o corrientes que se especifiquen a variaciones de los parámetros de cada uno

    de los componentes del circuito.

    Ya que el método es una aproximación numérica, los resultados pueden manifestarse cuando

    se realiza el análisis por segunda vez, o pueden fallar al mostrar la sensibilidad muy baja.

  • 8/19/2019 Tutorial NGSPICE v13 2015

    27/47

    27 Introducción a

    Las instrucciones que nos permite realizar este tipo de análisis son:

    Instrucciones Ejemplos

    . SENS OUTVAR

    . SENS OUTVAR AC DEC ND FSTART FSTOP

    . SENS OUTVAR AC OCT NO FSTART FSTOP

    . SENS OUTVAR AC LIN NP FSTART FSTOP

    . SENS V( 1 ,OUT)

    . SENS V(OUT) AC DEC 10 100 100k

    . SENS I (VTEST)

    Donde cada parámetro tiene el siguiente significado:

    OUTVAR variable de circuito que corresponde con el voltaje de nodo o la corriente

    de rama de la fuente de voltaje.

    Fijándonos en los ejemplos, la primera instrucción es la encargada de calcular la sensibilidad

    del valor de corriente continua de OUTVAR. La última forma calcula la sensibilidad de los

    valores de corriente alterna de OUTVAR.

    Los parámetros catalogados para la sensibilidad de corriente alterna son los mismos como en

    un análisis de corriente alterna (observar el análisis .AC).

    A continuación podemos visualizar un ejemplo práctico correspondiente con el siguiente

    esquemático, figura X:

    Figura X: Esquemático utilizado para el análisis de sensibilidad.

    El circuito elegido para realizar el análisis de sensibilidad está compuesto por una fuente

    VMEAS, una resistencia y dos transistores NPN. Este tipo de análisis se realiza en dos fases:

  • 8/19/2019 Tutorial NGSPICE v13 2015

    28/47

  • 8/19/2019 Tutorial NGSPICE v13 2015

    29/47

  • 8/19/2019 Tutorial NGSPICE v13 2015

    30/47

  • 8/19/2019 Tutorial NGSPICE v13 2015

    31/47

    31 Introducción a

    .IC V(NODMUN)=VAL V(NODNUM)=VAL .IC V(11)=5 V(4)=5 V(2)=2.2

    La línea .IC es para poner condiciones transitorias iniciales. Esto tiene dos interpretaciones

    diferentes, dependiendo si el parámetro uic es especificado sobre la línea de control de .tran y

    cuando no.

    Las dos interpretaciones de esta línea son así:

    1. Cuando el parámetro uic es especificado sobre la línea .tran , entonces los voltajes

    especificados sobre la línea de control de .ic son usados para calcular el condensador,

    el diodo, BJT, JFET, y MOSFET condiciones iniciales. Esto es equivalente a la

    especificación del (ic = ...) el parámetro sobre cada línea de dispositivo.

    2. Cuando el parámetro uic no es especificado sobre la línea de control de .tran , serealiza antes del análisis transitorio un análisis de la tendencia de dc. En este caso,fuerzan los voltajes de nodo especificados sobre la línea de control de .ic a los valoresdeseados iniciales durante la solución de tendencia. Esto es el método adecuado yaque esto permite a NGSPICE para calcular una solución constante dc .

    5.6 Análisis de función de transferencia (.DC)Forma general:

    .dc srcname vstart vstop vincr [src2 start2 stop2 incr2]

    Define la curva de transferencia de la fuente (variable independiente).

    srcname define la fuente a analizar

    vstart límite inferior de los valores del barrido

    vstop límite superior de los valores del barrido

    vincr incremento de los valores del barrido

  • 8/19/2019 Tutorial NGSPICE v13 2015

    32/47

    32 Introducción a

    5.7 Análisis de ruido (.NOISE)Forma general:

    .noise v (output ) src (dec|lin|oct) pts fstartfstop +

    Ejemplos:

    .noise v(5) VIN dec 10 1kHZ 100Mhz

    .noise v (5,3) V1 oct 8 1.0 1.0e6 1

    output define el nodo sobre el que se quiere calcular el ruido total de salida

    ref (opcional) su valor se resta al voltaje del ruido de salida. Por defecto se asume que

    ref es tierra.

    El ruido de entrada está referido a la fuente independiente especificada mediante src

    pts, fstart y fstop son parámetros del tipo .ac y especifican el rango de frecuencias que

    se desea plotear.

    pts_per_summary es un entero opcional. Cuando se especifica, define cada cuantos

    puntos de frecuencia los generadores de ruido contribuyen.

    Se puede especificar si se prefiere variación en la representación por décadas, por octavas o

    lineal con dec, oct o lin respectivamente.

    Este tipo de análisis produce dos representaciones .

    - Curvas de densidad espectral (en V2/Hz o A2/Hz)

    - Ruido total integrado en el rango de frecuencias especificado (en V 2 o A2)

    EJEMPLO:

    Fuente: http://vision.lakeheadu.ca/eng4136/spice/noise_analysis.html

    El circuito implementado para el ejemplo de uso es el siguiente:

    http://vision.lakeheadu.ca/eng4136/spice/noise_analysis.htmlhttp://vision.lakeheadu.ca/eng4136/spice/noise_analysis.htmlhttp://vision.lakeheadu.ca/eng4136/spice/noise_analysis.htmlhttp://vision.lakeheadu.ca/eng4136/spice/noise_analysis.html

  • 8/19/2019 Tutorial NGSPICE v13 2015

    33/47

    33 Introducción a

    Este es un circuito de switch de RF. En función de la polarización del diodo la señal de radio

    frecuencia pasa o no pasa. Para implementarlo en NGSpice en primer lugar se han definido los

    nodos de la siguiente manera.

    La descripción es la siguiente:

    *** Circuito switch de RF ***

    *____________COMPONENTES________________________________

    _____

    * Fuente de entradavs 1 0 dc 0V ac 1V sin(0V 1V 100MegHz 20ns 0)

  • 8/19/2019 Tutorial NGSPICE v13 2015

    34/47

    34 Introducción a

    Rs in 1 50ohm

    * SwitchCi in 4 1.6nF

    Rb 4 3 2.1kLc1 3 2 100uH

    D1 4 50 1N4148vmeter 50 5 dc 0

    Lc2 5 0 100uH

    cout 5 out 1.6n

    * CargaRload out 0 1k

    * Polarización DC

    vcc 2 0 5V

    *___________COMANDOS____________________________________

    _____

    .control

    *Análisis tipo noisenoise v(out) vs dec 10 1MegHz 100MegHz

    *Representación del valor del ruido total integrado

    print inoise_total onoise_total*Representación de la densidad espectral de potencia

    setplot noise1

    plot inoise_spectrum onoise_spectrum.endc

    *____________MODELOS____________________________________

    _____*SRC=1N4148;1N4148;Diodes;Si;100V 150mA 4.0ns

  • 8/19/2019 Tutorial NGSPICE v13 2015

    35/47

    35 Introducción a

    .MODEL 1N4148 D ( IS=6.2229E-9

    + N=1.9224

    + RS=.33636+ IKF=42.843E-3

    + CJO=764.38E-15+ M=.1001

    + VJ=9.9900+ ISR=11.526E-9

    + NR=4.9950

    + BV=100.14+ IBV=.25951

    + TT=2..end

    La densidad espectral de potencia obtenida se representa a continuación, en verde la de

    entrada, y en rojo la de salida. Las unidades son V2/Hz.

    Figura: Densidad espectral de ruido

    El ruido total integrado es:

    - Entrada: 1,77634 · 10-10 V2

  • 8/19/2019 Tutorial NGSPICE v13 2015

    36/47

    36 Introducción a

    - Salida: 1,039302· 10-10 V2

    ngspice 7 -> noise.txt

    Circuit: *** circuito switch de rf ***

    Warning: Model issue on line 30 : .model 1n4148 d (

    is=6.2229e-9 n=1.9224 rs=.33636 ikf=42 ...unrecognized parameter (isr) - ignored

    unrecognized parameter (nr) - ignored

    Doing analysis at TEMP = 27.000000 and TNOM =

    27.000000

    No. of Data Rows : 21

    No. of Data Rows : 1

    inoise_total = 1.177634e-010

    onoise_total = 1.039302e-010

  • 8/19/2019 Tutorial NGSPICE v13 2015

    37/47

  • 8/19/2019 Tutorial NGSPICE v13 2015

    38/47

    38 Introducción a

    Figura: Respuesta en frecuencia del filtro

    Filtro en T pasivo

    V1 1 0 12 AC 1

    C1 1 2 1uC2 2 3 1u

    R3 2 0 1k

    R4 1 3 1k

    .control

    *Análisis polo-ceropz 1 0 3 0 vol pz

    print all > pzvalor.txt

    .endc

    .end

  • 8/19/2019 Tutorial NGSPICE v13 2015

    39/47

    39 Introducción a

    En un pzvalor.txt se almacena el resultado obtenido:

    pole(1) = -2.61803e+003,0.000000e+000

    pole(2) = -3.81966e+002,0.000000e+000

    zero(1) = -1.00000e+003,0.000000e+000zero(2) = -1.00000e+003,0.000000e+000

    5.9 Análisis de función de transferencia (.TZ)Forma general:

    .tf outvar insrc

    Ejemplos:

    .tf v(5,3) VIN

    .tf i(VLOAD) VIN

    Se deben definir la entrada y salida en pequeña señal para el análisis DC.

    insrc define la fuente

    outvar define sobre que nodo se quiere medir el voltaje de salida

    Ngspice devuelve el valor de la función de transferencia (salida/entrada), la resistencia de

    entrada y la resistencia de salida.

    Hemos implementado este ejemplo con un divisor de tensión:

    DIVISOR DE TENSIÓN

    V1 IN 0 dc 5

    R1 IN 1 2K

    R2 1 2 2K

    V2 2 OUT DC 0R3 OUT 0 2K

    *#destroy all

  • 8/19/2019 Tutorial NGSPICE v13 2015

    40/47

    40 Introducción a

    *#run

    *#print all

    .tf v(out) V1

    .end

    Obteniendo el resultado:

    ngspice 6 -> trans.txtCircuit: divisor de tensiÓn

    Doing analysis at TEMP = 27.000000 and TNOM = 27.000000

    No. of Data Rows : 1

    transfer_function = 3.333333e-001

    output_impedance_at_v(out) = 1.333333e+003v1#input_impedance = 6.000000e+003

  • 8/19/2019 Tutorial NGSPICE v13 2015

    41/47

    41 Introducción a

    6 SUBCIRCUITOS

    Un subcircuito se define como si en definitiva se tratara de una "caja negra" que realice unadeterminada función que previamente se conoce, y con un número determinado de nodos deconexión. Es decir, dentro de dicha "caja negra" se describe un circuito con una funcionalidad

    característica, el cual puede ser llamado como si de un dispositivo más se tratara para poderutilizar en el resto del circuito.

    La principal ventaja que incorpora la creación de subcircuitos es la de simplificar el desarrollode circuitos cada vez más complejos en los que se hace uso de un patrón definido dos o másveces.

    6.1 Definición de un subcircuitoPara definir el subcircuito se utiliza el comando .SUBCKT en el fichero de entrada, tal y comoaparece descrito a continuación:

    .SUBCKT NOMBRE N 1 N2 ... N i (conjunto de elementos y/o otros subcircuitos)

    * Descripción del subcircuito *

    .ENDS NOMBRE

    Es importante que el campo NOMBRE dé una idea clara de la funcionalidad del subcircuito,para que una vez quiera instanciarse se recuerde fácilmente. Seguidamente se observa que sedefinen tantos nodos (N 1, N2, ..., Ni) como se requieran.

    El programa inserta el grupo de elementos definidos en el lugar donde el subcircuito esreferenciado o invocado

  • 8/19/2019 Tutorial NGSPICE v13 2015

    42/47

  • 8/19/2019 Tutorial NGSPICE v13 2015

    43/47

    43 Introducción a

    6.3 EJEMPLO 1. Divisor resistivoEn este primer ejemplo se muestra cómo diseñar un divisor resistivo con ratio de división 3

    como si de un subcircuito se tratara.

    5K10 K

    1 2 3

    Para ello en primer lugar sería necesario definir el subcircuito "DIVISOR_TENSION" con nodos1, 2 y 3; tal y como aparece representado en la figura superior.:

    .SUBCKT DIVISOR_TENSION 1 2 3

    R1 1 2 10k

    R2 2 3 5K.ENDS DIVISOR_TENSION

    Una vez definido el subcircuito, éste podría instanciarse en el fichero de entrada de lasiguiente forma, y el conexionado respecto al circuito general quedaría según la imageninferior:

    Xdivisor1 N5 N6 0 DIVISOR_TENSION

    Como se observa, el nodo 1 del subcircuito se correspondería con N5, el nodo 2 del subcircuitocon N6 y el nodo 3 del subcircuito con 0 (GND)

    .

  • 8/19/2019 Tutorial NGSPICE v13 2015

    44/47

    44 Introducción a

    6.4 EJEMPLO 2: INVERSOR CMOSEl uso de subcircuitos simplifica la construcción de circuitos cada vez más complejos, tal ycomo se ha indicado ya. Supongamos que tenemos el siguiente inversor CMOS(Complementary MOS). Este tipo de circuito se compone de un PMOS y un NMOS

    La descripción del circuito en un fichero netlist podría ser la siguiente:

    *Inversor CMOS

    MP1 OUT IN VDD VDD MOSFET_TIPO_P W=32U L=1U

    MN1 OUT IN GND GND MOSFET_TIPO_N W=16U L=1U

    .MODEL MOSFET_TIPO_N NMOS

    .MODEL MOSFET_TIPO_N PMOS

    .END

    El circuito podría ser visto denuevo como una caja negra, con una entrada IN, una salida OUT,una entrada de tensión VDD y la masa del circuito GND, tal y como aparece representado en lasiguiente figura.

    IN OUT

    VDD

    INVERSOR CMOS

    GND

  • 8/19/2019 Tutorial NGSPICE v13 2015

    45/47

    45 Introducción a

    Se podría describir por lo tanto el circuito anterior como si de un subcircuito se tratara de lasiguiente forma:

    . SUBCKT INVERSOR_CMOS IN OUT VDD GND

    MP1 OUT IN VDD VDD MOSFET_TIPO_P W=32U L=1U

    MN1 OUT IN GND GND MOSFET_TIPO_N W=16U L=1U

    .MODEL MOSFET_TIPO_N NMOS

    .MODEL MOSFET_TIPO_N PMOS

    .ENDS INVERSOR_CMOS

    En el caso de que un circuito más complejo se requiriera hacer uso de varios inversiores CMOS,simplemente sería necesario hacer uso del subcircuito "INVERSOR_CMOS" diseñado de la

    siguiente forma:Xinvejemplo1 A B VIN 0 INVERSOR_CMOS

    La entrada A se correspondería con el nodo IN del subcircuito, la salida B con el nodo OUT delsubcircuito , VIN con el nodo VDD del subcircuito y 0 por el nodo GND del subcircuito. SPICEautomáticamente introduciría el circuito en estos nodos y modelaría el inversor CMOS comodos MOSFET en serie tal y como ya se había descrito.

    6.5 ConsideracionesEn lo que al diseño de subcircuitos se refiere, es necesario tener en cuenta algunasconsideraciones relevantes:

    No hay límite a la complejidad o tamaño de un subcircuito. Cada vez que se invoca un subcircuito, SPICE inserta en el lugar de las líneas de

    llamada las líneas correspondientes a dicho sub-circuito. Dentro de la definición del subcircuito pueden exist ir otros sub-circuitos y estos a su

    vez pueden contener otros. Los nudos definidos en un subcircuito tienen carácter local, salvo el nudo 0 que es

    global. Dentro de la definición del subcircuito no se pueden usar líneas de control y sí de

    modelo

  • 8/19/2019 Tutorial NGSPICE v13 2015

    46/47

    46 Introducción a

    7 REFERENCIAS

    http://ngspice.sourceforge.net/

    http://jjc.hydrus.net/jjc/technical/ee/documents/spicehowto.pdf

    http://www.allaboutcircuits.com/vol_5/chpt_7/8.html

    http://littletux.homelinux.org/knowhow.php?article=ngspice/ar01s03

    http://www.seas.upenn.edu/~jan/spice/spice.overview.html

    http://ngspice.sourceforge.net/http://ngspice.sourceforge.net/http://jjc.hydrus.net/jjc/technical/ee/documents/spicehowto.pdfhttp://jjc.hydrus.net/jjc/technical/ee/documents/spicehowto.pdfhttp://www.allaboutcircuits.com/vol_5/chpt_7/8.htmlhttp://www.allaboutcircuits.com/vol_5/chpt_7/8.htmlhttp://littletux.homelinux.org/knowhow.php?article=ngspice/ar01s03http://littletux.homelinux.org/knowhow.php?article=ngspice/ar01s03http://www.seas.upenn.edu/~jan/spice/spice.overview.htmlhttp://www.seas.upenn.edu/~jan/spice/spice.overview.htmlhttp://www.seas.upenn.edu/~jan/spice/spice.overview.htmlhttp://littletux.homelinux.org/knowhow.php?article=ngspice/ar01s03http://www.allaboutcircuits.com/vol_5/chpt_7/8.htmlhttp://jjc.hydrus.net/jjc/technical/ee/documents/spicehowto.pdfhttp://ngspice.sourceforge.net/

  • 8/19/2019 Tutorial NGSPICE v13 2015

    47/47

    47 Introducción a

    8 LISTA DE CAMBIOS

    VERSION FECHA AUTOR DESCRIPCION

    0 19/02/2013 Fernando Vicente Guijalba Estructura general del documento:Introducción, Primeros Pasos, Análisis Básico yReferencias.

    1.0 28/02/2013 Daniel Garrido Ordóñez Capítulo 4 Subcircuitos. Ejemplo divisorresistivo.

    1.1 05/03/2013 Daniel Garrido Ordóñez

    Capítulo 2.2. Descripción básica circuito netlistApartado 4.2 Se añade ejemplo subcircuitoinversor CMOSTabla de lista de Cambios.

    1.2 13/02/2014 Rubén Crespo Cano

    Mejora del punto uno y dos. Añadidos lossiguientes apartados: modos de ejecución,ejemplos de UI, biblioteca compartida, usodinámico y paralelismo.

    1.3 10/03/2015 María Ortega MartínezGema Baldó Llorca Reedición del capítulo 5. Análisis Básico1.4 15/02/2016 Aitor Morales Hernández Mejora del Capítulo 6 (Subcircuitos)