PROGRAMA HSPICE

1 Introducción

En los próximos puntos se tratará el programa Hspice, su sintaxis, sus opciones de trabajo y sus modelos. Cabe mencionar que éste capitulo no pretende ser un manual exhaustivo del programa, sólo nos limitaremos a ver los aspectos esenciales para tranbajar con él en buena forma, sobre todo en el aspecto de modelos permitidos por el software, como estos modelos son tan amplios, acá sólo nos limitaremos a ver principalmente cómo se invocan.

El Hspice es un software de simulación de circuitos analógicos basado en SPICE, perteneciente a la casa Meta-Software, que se emplea comúnmente en ambientes industriales. Permite hacer análisis en corriente continua y en corriente alterna, en pequeña señal y análisis de transitorios y frecuencia.

Su característica fundamental es la variedad y calidad de las ecuaciones de modelización que usa el programa. Los modelos empleados son muy precisos en un amplio dominio de frecuencias que van desde DC hasta frecuencia de microondas (~ 100GHZ).

Este simulador está basado en el trabajo desarrollado inicialmente por la Universidad de Berkeley, California, en la creación del simulador SPICE, que originalmente fue llamado CANCER y fue desarrollado, específicamente, por Larry Nagel a fines de los sesenta, para ser presentado en público en julio de 1975.

SPICE era capaz de simular solamente resistencias, capasitores, inductores, diodos bipolares, y transistores. Pero el programa se ha ido mejorando y expandiendo hasta manejar JFET´s, MOSFET´s y subcircuitos.
 

2 Características Generales

HSPICE es compatible con SPICE y además tiene las siguientes características que lo identifican:

La simulación de circuitos y modelos se pueden organizar y simular utilizando las siguientes características: Estas características permiten solucionar problemas de simulación rápidamente y evitan muchos errores manuales.

3 Archivos de Trabajo para HSPICE

   3.1 Archivos de Entrada
HSPICE considera como archivos de entrada a aquellos que posean una de las siguientes extensiones:
HSPICE opera sobre un archivo de entrada (diseño.sp) y almacena los resultados, conservando el nombre (diseño), en cada uno de los archivos de salida. El archivo de entrada que designa e identifica el circuito debe contener lo siguiente:
  1. El diseño del circuito o netlist (con subcircuitos, macros y fuentes).
  2. La declaración de las librerías a usar (opcional).
  3. Una especificación del análisis requerido.
  4. Una especificación de la salida deseada (opcional).
  5. Este archivo puede ser generado por un editor ASCII o un editor de esquemáticos, como puede ser WORKVIEW PLUS o Workbrench.
  6. Las declaraciones o comandos dentro del archivo no tienen una jerarquía específica, excepto que la primera línea debe ser el titulo (.TITLE) y la última debe ser el comando .END y si se utiliza el comando .ALTER este debe ir siempre en la línea anterior a la declaración .END.

  7.  

     

    Aspectos básicos en el formato del archivo son:

  8.  Las cadenas de caracteres, tanto para el nombre, comandos y ecuaciones esta limitado a 25.
  9.  Como comentario de considera la zona comprendida desde un asterísco (*) hasta el fin de línea.
  10.  Un comando o declaración puede continuar en la próxima línea ingresando el signo mas (+) como primer carácter de la línea siguiente.
  11.  Un comentario también puede ser ingresado después del signo dólar ($) seguido de un espacio en blanco antes de comenzar el texto.
  12. Los nombres deben comenzar con un carácter alfanumérico, pero después de éste puede contener uno de los siguientes caracteres: ! # $ % * + - / < > [ ] _
  13. Solamente se toman los primeros 16 caracteres de un nombre, los demás serán ignorados.
  14.  La jerarquía se indica por periodos. Por ejemplo: “X1.A1.V” es el nodo V del subcircuito A1 del circuito X1
  15.  Los nombres de los nodos pueden tener hasta 16 caracteres
  16. La tierra eléctrica es considera aquella ubicada en el nodo 0, ó GND ó GND! ó GROUND.
  17. Los números pueden ser enteros o reales
  18. Los números pueden tener notación exponencial o de ingeniería, esto es con una letra que identifica el exponente (1e3=K), pero no ambos.
Por ejemplo: 1p ó 1e-12, pero no 1e-6U. 12.
Declaración o Elemento
 Definición 
.TITLE  la primera línea del archivo es considerada el titulo
* ó $ indica comentario
.OPTIONS  setea las condiciones para la simulación
.TEMP y declaración de análisis Análisis a realizar y de temperatura 
 .PRINT/.PLOT/.PROBE  salida deseada
.IC ó .NODESET  coloca condiciones iniciales 
Fuentes (I ó V)  fuentes de estímulo 
Netlist  descripción del circuito
.LIB/.INCLUDE  librerías y archivos incluidos 
.ALTER  análisis en línea (submodulo) 
.END fin
  Tabla 3.2 Archivo de entrada, declaraciones, netlist y elementos.




3.3.1.3 Exponentes

Las cantidades o valores en HSPICE se consideran que tienen el siguiente formato:
 
número 
exponente 
comentario

Por ejemplo: E3 , E-6, D6, D-12.

De igual forma puede ir expresado en cualquiera de los siguientes exponentes literales.

                    K=10e3                                 M=10e-3
                    X=MEG=10e6                       U=10e-6
                    G=10e9                                  N=10e-9
                    T=10e12                                 P=10e-12
                                                                   F=10e-15

Considerándose como comentario el resto de la cadena.

Por ejemplo: 10Uamp: Equivale a 10U=1E-5 -0.5V: Equivale a -0.5 1MEGOhm: Equivale a 1X=1MEG=1E6



 
 
 

3.3.1.4 Llamado de archivo
Se realiza en la línea de comando a través de la sentencia:
                        C:\ > hspice diseño.sp

Como repuesta a esta llamada se desplegará una pantalla en la cual se indicará el status de la simulación y se podrá ver el nombre del archivo en pantalla y el tiempo de CPU ocupado. Una vez finalizada la simulación se generarán los archivos de salida correspondiente (ver punto 3.3.2). Cuando se utiliza una interfaz gráfica para realizar los esquemáticos la forma de llamada puede ser distinta, esto ocurre en nuestro caso en donde la llamada es hecha desde una herramienta de Workview Plus en Windows.


 
3.3.2 Archivos de salida

Al archivo de entrada (diseño.sp) HSPICE responde con varios archivos de salida, tanto de texto como gráficos y de impresión. Acá no se tocará a fondo estos archivos debido a que para la visualización de los resultados gráficos e impresión se utiliza la interfaz gráfica contenida en Workview Plus, ésta es Viewtrace. Para mayor información acerca de estos archivos el lector se puede dirigir a los manuales de HSPICE .

El archivo que entrega por defecto el simulador es diseño.lis, este archivo tipo texto contiene el resultado de la simulación, ya fuese ésta exitosa o no. De fracasarse en la simulación en este archivo se puede encontrar los mensajes de error que existieran en el diseño o variables de simulación, para su posterior modificación o rectificación. Para los archivos de tipo gráfico HSPICE trae incluido un visor, HSPLOT, el cual permite ver el resultado de las simulaciones.
En la siguiente tabla se listan los diferentes tipos de archivos de salida que produce HSPICE
 

Extensión  Tipo de archivo
.lis  resultado de la simulación
.tr# &   resultado análisis transciente
.mt#  resultado mediciones análisis transciente
.sw# & resultado análisis DC
.ms#  resultado mediciones análisis DC
.ac# &  resultado análisis alterno AC
.ma# resultado mediciones análisis AC
.a2d   salida digital
.ft# &&  salida de análisis FFT (transformada rápida de fourier)
 .st#   estatus de salida
 .ic  voltajes nodales (condiciones iniciales)
                                              # corresponde a un número entero dado para cada barrido del análisis (ver comando .ALTER)
                                                            & se crea solamente si la declaración .POST es usada, esto es para generar datos gráficos para ser vistos por HSPLOT. Para Viewtrace se usa el comando .OPTIONS CSDF=2
                                                            && solamente se crea si la declaración .FFT fue usada
Tabla 3.3 HSPICE archivos de salida y extensiones

 
 

3.3.2.2 Archivo diseño.lis

Este archivo contiene las especificaciones de la salida e incluye la siguiente información:
1. Nombre y versión del simulador usado
2. Un bloque de mensaje Meta-Software
3. El nombre del archivo de entrada
4. Detalles de la licencia del producto
5. Una copia del archivo de entrada
6. Cantidad de nodos
7. Parámetros del punto de operación
8. Detalles de voltaje, corrientes, y potencia para cada fuente y subcircuito
9. Resultados del comando .PRINT
10. Resultados del comando .OPTIONS
11. Posibles errores
 
 
 

3.4 Comandos o declaraciones Hspice
3.4.1 Convenciones
Para una mejor comprensión de los comandos que se mostrarán en los puntos siguientes se utilizará las siguientes convenciones: xxx, yyy, zzz : representa cualquier carácter alfanumérico
<< >> : todos los parámetros que se encuentren entre estos paréntesis son opcionales.
… : los puntos suspensivos indican que algunos números de parámetros pueden ser ingresados en forma de demostración.
+ : el signo más va al comienzo de línea e indica la continuación de la línea anterior.

HSPICE no diferencia entre las letras mayúsculas y minúsculas por lo cual se pueden usar arbitrariamente, pero como convención se usarán de la siguiente forma:
MAYÚSCULAS : identificarán nombres, parámetros y comandos o declaraciones y no pueden ser cambiados.
minúsculas : identificarán las variables y pueden ser reemplazadas por números o símbolos con valores numéricos.
 

3.4.2 Declaración .TITLE
La primera línea del archivo es implícita para el titulo, si otro comando es utilizado en la primera línea se ignora ya que es tomado como título. Si la declaración .TITLE es usada en otra línea distinta a la primera, el titulo anterior se invalida y es cambiado por este nuevo título.
Forma General: .TITLE ó 

3.4.3 Declaración .END
Este comando identifica el termino del archivo, de las simulaciones y de los sub-modulos y sub-circuitos.
Debe existir un .END por cada simulación HSPICE. Cualquier texto que siga al comando .END será considerado como un comentario y no tendrá efecto sobre la simulación.
Forma general: .END 
 

3.4.4 Declaración General de Elementos

La declaración de elementos es usada para describir el netlist de dispositivos y fuentes. Los elementos son conectados unos a otros a través de nodos, los cuales se designan por números o nombres. Esta declaración especifica:
1. Tipo de dispositivo descrito
2. Los nodos a los cuales está conectado el dispositivo
3. Los valores que describen las características de operación eléctrica de los elementos

Esta declaración de elementos también puede hacer referencia a un modelo que es usado para definir los parámetros eléctricos de el modelo.
Forma general: elnombre < nodo1 nodo2 … nodon> ó elnombre 
donde: elnombre: nombre del elemento, debe tener no mas de 15 caracteres y debe comenzar con una letra especifica para cada tipo de elemento:
C : capacitor
D : diodo
E, F, G, H: fuentes controladas de corriente y tensión
I : Fuente de corriente
J: JFET ó MESFET
K: Inductancia mutua
L: Inductancia
M: MOSFET
Q: BJT
R : Resistor
T,U: Línea de transmisión
V: Fuente de voltaje
X: Llamada de subcircuito
nodo1: nombre de los nodos en los cuales está conectado el elemento. El nombre debe comenzar con una letra y puede alcanzar hasta 15 caracteres. Estos caracteres no son válidos: = ( ) , . ‘ [ ].
mnombre: nombre del modelo que se referencia, esto es necesario para todos los elementos, excepto para los dispositivos pasivos.
pnombre: nombre de un parámetro.
val1: valor del parámetro pnombre1. Este puede ser un número o una expresión algebraica.
M=val factor multiplicativo. Repite el elemento “val” veces en paralelo.

Por ejemplo:

                                        Qfelix 40 50 60 SUBSTRATE BJTMODEL AREA=1.0

Este ejemplo muestra un transistor de juntura bipolar, llamado Qfelix, con su colector conectado al nodo 40, la base al 50, el emisor al 60, y el substrato al nodo SUBSTRATE. Los parámetros del transistor se encuentran en el modelo BJTMODEL.

                                        M1 ADDR SIG1 GND SBS N1 W1+1 L1+L

Este segundo ejemplo muestra un MOSFET de nombre M1 cuyo terminales drenaje, puerta, fuente y substrato están ubicados en los nodos ADDR, SIG1, GND, y SBS respectivamente. La declaración de este elemento llama al modelo N1. Las dimensiones del MOSFET están dadas como expresiones algebraicas, ancho= W1+W y longitud= L1+L 3.4.5
 

Comando .MODEL

Esta declaración permite definir una serie de parámetros del modelo analítico del dispositivo, y este puede ser asumido por algún elemento. Un modelo puede contener características térmicas de un resistor, dimensiones de un MOSFET o una expresión algebraica para un diode, etc. La sintaxis empleada para definir un modelo es:

.MODEL mnombre mtype <parametros>

mnombre: nombre que permitirá hacer referencia posteriormente a dicho modelo.
mtype: es el identificador del dispositivo que se está modelando, este puede ser, por ejemplo, R para un resistor o cable, K para una mutua ó D para un diodo.

Por ejemplo:
            .MODEL res1 R res=1K RAC=100 3.4.6
 

Comando .PARAM

Este comando permite definir constantes globales, que pueden usarse a lo largo de todo el circuito. La forma general para definir estas constantes es:
                .PARAM var1=expr1 

En donde expr puede ser: Un valor de un parámetro
Por ejemplo: .PARAM F=10KHz PI=3.1415 R=1K.
Una expresión algebraica.
Por ejemplo: .PARAM X=’y+3’
Una función.
Por ejemplo: .PARAM S(F)=’1/(2*PI*f)’

Estas variables pueden ser usadas posteriormente en el circuito:
    Por ejemplo: R1 1 out R C1 out 0 ‘S(F)/R’

Aparte de los operadores algebraicos básicos (+ - * / ), Hspice soporta además las siguientes funciones: sin(x), cos(x), tan(x), atan(x) sinh(x), cosh(x), tanh(x) exp(x), log(x), log10(x) sqrt(x) abs(x), min(x1,x2), max(x1,x2), pwr(x,y), x elevado a la potencia de y,db(x).
 

3.4.7 Dispositivos

3.4.7.1 Dispositivos Pasivos.

En los próximos puntos se verá la forma de incluir elementos pasivos al circuito tales como resistencias, capacitores, inductancias y elementos magnéticos. Resistencias, condensadores e inductancias son de dos tipos: Uno simple, elemento lineal con un valor y algunas dependencias de temperatura, inicialización y escalamiento. Un elemento que hace referencia a un modelo.
Cabe mencionar que con estos elementos se puede construir desde transformadores, cables coaxiales, líneas de transmisión y diseño de circuitos integrados, para una mayor información se puede recurrir al manual respectivo

3.4.7.1.1 Resistencia

La declaración de una resistencia tiene el siguiente formato básico:

Rxxx n1 n2 rval 
ó Rxxx n1 n2 R=’ecuac’

donde: Rxxx: nombre del elemento resistivo, debe comenzar con R seguido de un máximo de 15 caracteres.
n1, n2: nombre que recibirán los nodos de conexión.
mnombre: nombre de un modelo, rval puede estar dado en el modelo.
rval: valor de la resistencia, puede ser un parámetro.
TC1, TC2: primer y segundo coeficientes de temperatura.
SCALE=val: factor de escala para resistencia y capacitancia. Por defecto = 0.
M=val: factor multiplicativo que permite simular “val” resistencias en paralelo.
AC=val: valor de la resistencia usada en un análisis AC. Por defecto = Reff. ACeff = AC * SCALE / M
DTEMP: diferencia de temperatura existente entre el elemento y el circuito.
R=’ecuac’: el valor del resistor puede ser descrito como una función de cualquier voltaje de nodo, corriente de rama, frecuencia (Hertz) o temperatura.

La influencia de la temperatura en el valor de la resistencia viene dado por:
R(t) = R * [ 1 + TC1 * (t - tnom) + TC2 * (t - tnom)2 ]
RAC (t) = RAC [ 1 + TC1 * (t - tnom) + TC2 * (t - tnom)2 ]
t = temperatura del elemento en grados Kelvin = t0 del circuito + DTEMP + 273.15
tnom = t0 nominal en grados Kelvin = 273.15 + TNOM.

Ejemplos:

R1 in 2 100 * resistencia conectada entre los nodos ***** in y 2 de valor 100 ohms
RC1 2 7 1K TC1=0.001 AC=1e10

3.4.7.1.2 Condensador

La sintaxis general para incorporar un condensador es:
Cxxx n1 n2 cval ó
Cxxx n1 n2 C=’ecuac’CTYPE=0 ó 1
donde: Cxxx: nombre del condensador.
n1, n2: nombre de los nodos de los terminales positivo y negativo respectivamente.
mnombre: nombre que referencia a un modelo.
cval: valor de la capacitancia, puede ser un parámetro.
IC=val: voltaje inicial en el capacitor en volts.
TC1, TC2: coeficientes de temperatura de primer y segundo orden respectivamente.
M=val: factor multiplicativo que permite simular “val” condensadores en paralelo.
CTYPE: si la capacitancia es una función de V(n1,n2), CTYPE=0, si no es función de V(n1,n2) entonces CTYPE debe tener el valor 1. La carga de la capacitancia es calculada de diferente forma para cada tipo. No se recomienda que C sea una función de múltiples variables. Por defecto = 0
DTEMP: diferencia de temperatura existente entre el elemento y el circuito.
C=’ecuac’: el valor del condensador puede ser descrito como una función de cualquier voltaje de nodo, corriente de rama, o cualquier variable independiente como frecuencia (Hertz), tiempo o temperatura.

Ejemplos:

Cload 15 2 20 pF C2 1 2 0.2e-12 IC=1.5V
 

También se puede declarar un modelo de condensador, la declaración es:
.MODEL mnombre C param=val
mnombre: nombre del modelo
C: especifica que el modelo es del tipo capacitivo param: cualquier parámetro de modelo.
Algunos parámetros para un modelo capacitivo son:

Alias Unidad VPD Descripción CAP F 0.0 valor por defecto de la capacitancia CAPSW F / m 0.0 sidewall fringing capacitance COX f / m 2 0.0 bottom capacitance SHRINK 1.0 shrink factor DI 0.0 relative dielectric constant VPD: Valor por defecto
Tabla 3.4
Para mayor información sobre todos los parámetros remitirse al Manual respectivo [...]

Ejemplo:
.MODEL Capmio C CAP=0.1 3.4.7.1.3

Inductancia

Para declarar este elemento se debe seguir el siguiente formato:

Lxxx n1 n2 lval ó Lxxx n1 n2 L=’ecuac’ LTYPE=0 ó 1 donde:
Lxxx: nombre del inductor. n1,n2: nodos de conexión del elemento.
lval: valor del elemento en Henrios. TC1, TC2: primer y segundo coeficientes de temperatura.
R=val: resistencia en ohms de la inductancia. Por defecto = 0.
M=val: factor multiplicativo que permite simular “val” inductores en paralelo.
IC=val: corriente inicial a través de la inductancia.
DTEMP: diferencia de temperatura existente entre el elemento y el circuito.
L=’ecuac’: el valor de la inductancia puede ser descrito como una función de cualquier voltaje de nodo, corriente de rama, frecuencia (Hertz) o temperatura.
LTYPE: si la inductancia L es una función de I(Lxxx), LTYPE=0, si no es función de I(Lxxx) entonces LTYPE debe tener el valor 1. Por defecto = 0.

El valor del inductor no debe superar el valor 0.1, de lo contrario Hspice entregará un mensaje de warning.
Una inductancia mutua también puede ser declarada siguiendo la siguiente sintaxis: Kxxx Lyyy Lzzz Kvalor donde: Kxxx: nombre de la inductancia mutua. Lyyy, Lzzz: nombre de los inductores acoplados. Kvalor: coeficiente de acoplamiento. Este debe ser mayor que cero y menor o igual a 1. Si Kvalor es negativo, la dirección del acoplamiento es invertido, esto es equivalente a cambiar la polaridad de cada uno de los inductores acoplados. Ejemplos: Lload 15 0 1mH lsenci 5 10 20mHenry IC=2mA K07 Laa Lbb 0.999 Ktrf L1 L4 K=0.878 Al acoplar más de dos inductancias, Hspice calcula el acoplamiento de segundo orden usando las opciones GENK y KLIM. Por ejemplo, para 3 inductores, Hspice automáticamente calcula el acoplamiento entre L1 y L3 si el acoplamiento entre L1, L2 y L2 ,L3 le es dado. Por ejemplo: K1 L1 L2 0.989 K2 L2 L3 0.834

3.4.7.2 Dispositivos Activos

3.4.7.2.1 Diodos

Hspice permite modelar una amplia gama de diodos, tales como zener y schottky. Estos modelos pueden ser usados para describir dispositivos integrados bipolares, circuitos MOS o bien como elementos discretos. Hspice permite 3 tipos de modelos de diodo: el de juntura no geométrica, el modelo Fowler-Nordheim (como metal-insulator-semiconductor ó como semiconductor- insulator-semiconductor), y de juntura geométrica. Acá solo se tratará el modelo de juntura no geométrica por ser el de uso más frecuente y por su menor complejidad, la llamada a este diodo es de la forma: Dxxx anodo catodo model donde: Dxxx: nombre del diodo anodo: terminal positivo del diodo catodo: terminal negativo del diodo model: nombre del modelo AREA=val: valor del área del diodo, ésta escala IS, RS, CJO, y IBV (ver tabla 3.?) IC=vd: voltaje inicial a través del diodo. Actúa en conjunto con la opción UIC.
M=val: factor multiplicativo que permite simular “val” diodos en paralelo.
DTEMP: diferencia de temperatura existente entre el elemento y el circuito. Se debe tener presente que la intensidad directa circula desde anodo a catodo. Algunos de los parámetros del modelo de juntura del diodo se muestran en la siguiente tabla: Alias Unidad VPD Descripción IS amp 1e-14 saturation current N 1.0 emission coefficient RS ohms 0.0 ohmic series resistance SHRINK 1.0 shrink factor IBV amp 1e-3 reverse breakdown current VB volts 0.0 reverse breakdown voltaje Tabla 3.5. Algunos parámetros del modelo de juntura para un diodo La forma de declarar un modelo es:

.MODEL mnombre D … donde: mnombre: nombre del modelo LEVEL: identifica el tipo de modelo: LEVEL=1 diodo juntura LEVEL=2 Fowler-Nordheim LEVEL=3 juntura geométrica parámetro1: cualquier parámetro del modelo, como IS ó IBV Ejemplos: D1 3 4 D1N4007 IC=0.2 DFES 7 11 D1N4148 .MODEL D1N4148 D (IS=0.1p RS=16 CJO=2P BV=100 + IBV=0.1P TT=12N) 3.4.7.2.2 TRANSISTORES (BJT´s) El modelo del BJT utilizado por Hspice es una adaptación del modelo de Gummel y Doon, este modelo simplifica automáticamente el modelo de Ebers-Moll cuando ciertos parámetros (VAF, VAR, IKF, IKR) no son especificados.

El modelo del BJT se puede usar para desarrollar circuitos BiCMOS, TTL y ECL.
La llamada de un transistor es de la siguiente manera:
Qxxx nc nb en mnombre 

Qxxx: nombre del transistor
nc: terminal correspondiente al terminal colector
nb: terminal correspondiente al terminal base
ne: terminal correspondiente al terminal emisor
ns: terminal correspondiente al terminal substrato
mnombre: nombre del modelo referenciado
AREA=val: valor del área del BJT
M=val: factor multiplicativo que permite simular “val” transistores en paralelo. Todas las corrientes, capacitancias y resistencias son afectadas por M.
DTEMP: diferencia de temperatura existente entre el elemento y el circuito.
La declaración para un modelo es de la forma:
.MODEL mnombre PNP ó .MODEL mnombre NPN 
donde:
mnombre: identifica al modelo de transistor
NPN: identifica a un transistor NPN
PNP: identifica a un transistor PNP
param1: cualquier parámetro del modelo de transistor.
Algunos de los parámetros de un transistor son:

ALIAS UNIDAD VPD DESCRIPCION BF (BFM) 100 ideal maximun forward beta BR(BRM) 1.0 ideal maximun reverse beta IS amp 1e-16 transport saturation current IBS amp 0.0 reverse saturation current between b-c NF 1.0 forward current emission coefficient VAF (VA, VBF) volts 0.0 forward early voltage NC 2.0 b-c leakage emission coefficient EN 1.5 b-e leakage emission coefficient RE ohm 0.0 emitter resistance RC ohm 0.0 collector resistance CJC F 0.0 b-c zero-bias dipletion capacitance MJE 0.33 b-e junction exponent (grading factor) CCSP F 0.0 external c-subs. Const capacitance (vertical) AF 1.0 flicker-noise exponent EG eV 1.17 energy gap for pn junction

Tabla 3.6. Algunos de los parámetros del transistor

3.4.7.2.3 MOSFETS

Un MOSFET estará definido por el tipo de modelo MOSFET que se utilice, los parámetros, y 2 submodelos seleccionados por los parámetros CAPOP y ACM. Estos submodelos definen las características de la puerta y diodos. Los modelos se clasifican por niveles (LEVEL) y estos van desde el nivel 1 al 50. Debido a esta amplia gama de modelos y a la casi inexistente presencia de estos elementos en la aplicación analógica que se desarrollo, no se profundizará en los distintos niveles ni en los submodelos, sólo se remitirá a ver cómo se incorpora un MOSFET a un circuito.

Forma general: Mxxx nd ng ns mnombre 
donde:
Mxxx: nombre del elemento
ng: nodo del terminal gate
nd: nodo del terminal drain
ns: nodo del terminal sourse
nb: nodo del terminal bulk
L=val, W=val: son las dimensiones geométricas el canal del MOSFET (length y width)
AD, AS: son las dimensiones geométricas del área de difusión de drenador y fuente respectivamente.ferencia de temperatura existente entre el elemento y el circuito. La sintaxis para un modelo es: .MODEL mname [PMOS / NMOS ] (….) donde: mnombre: nombre del modelo PMOS: identifica un modelo canal P NMOS: identifica un modelo canal N. LEVEL=val: identifica el nivel del modelo (de 1 a 50). Por defecto LEVEL=1 Ejemplos: M31 2 8 10 6 MODN L=5U W=2U .MODEL MODN NMOS (LEVEL=7 VTO=-3.25 GAMMA=1.0) M1 14 7 2 PMOS W=12U 3.4.7.2.4 JFETS Y MESFETS

Tenemos a nuestra disposición 3 modelos JFET / MESFET DC, el modelo SPICE, el SPICE modificado y el modelo MOSFET hiperbólico tangente. Como el uso de MESFETS en la aplicación del Trabajo de Titulo fue nula, no se profundizará en los modelos ni ecuaciones de éstos limitándose solamente a ver la forma de incorporarlos al circuito, y ésto es: Jxxx nd ng ns mnombre donde: Jxxx: nombre del JFET o MESFET, debe comenzar con J y seguir con 15 caracteres alfanuméricos. nb: nombre del nodo correspondiente al terminal bulk nd: nombre del nodo correspondiente al terminal drain ng: nombre del nodo correspondiente al terminal gate ns: nombre del nodo correspondiente al terminal source mnombre: nombre del modelo AREA: valor del área geométrica. Su valor por defecto es 1.0 W=val: ancho de la gate del FET L=val: longitud de la gate del FET IC=vdsval, vgsval: condición inicial para el voltaje drain-source (vdsval), o para el de gate-source (vgsval) M=val: factor multiplicativo para simular múltiples JFETS DTEMP: diferencia de temperatura existente entre el elemento y el circuito. La declaración para modelos JFETS y MESFETS es: .MODEL mnombre NJF … ó .MODEL mnombre PJF donde: mnombre: nombre del modelo NJF: identifica un JFET o MESFET de canal N PJF: identifica un JFET o MESFET de canal P LEVEL: selecciona uno de los tres modelos existentes pnom1=val1 cualquiera de los parámetros de modelo Por ejemplo: J1 7 2 3 GAASFET .MODEL GAASFET NJF LEVEL=3 CAPOP=1 SAT=1 VTO=2.5 + BETA=2.8E-3 RS=70 CGD=5P 3.4.7.3 Fuentes Independientes Las fuentes nos permitirán introducir estímulos en el circuito, ya sean de tensión o corriente. Para la fuentes de tensión se asume que la corriente fluye desde el nodo positivo de la fuente al nodo negativo. En las fuentes independientes su comportamiento temporal sólo depende del tiempo. 3.4.7.3.1 DC, AC y Transientes La declaración de fuentes puede ser DC, AC, transcientes o fuentes independientes mixtas de voltaje o corriente. Para algunos análisis se pueden asociar fuentes distintas, por ejemplo, en un análisis DC si se especificaron fuentes AC y DC en una sola fuente independiente, la fuente AC quedará fuera del análisis DC y la DC fuera del análisis AC. La forma general de éstas es: Vxxx n+ n- <dcval> > ó Iyyy n+ n- <dcval> donde: Vxxx: nombre de la fuente independiente de tensión Iyyy: nombre de la fuente independiente de corriente n+, n- : nodos positivo y negativo respectivamente DC: valor de la fuente DC tranfun: fuente con función transciente (AC, ACI, DC, EXP, PE, PL, PU, PULSE, PWL, R, RD, SFFM, SIN) AC: fuente AC para análisis en pequeña señal acmg: magnitud AC acfase: fase AC, por defecto=0 M=val factor que simula fuentes de corriente en paralelo. El valor de corriente es multiplicado por M, por defecto=1 Ejemplos: Vin 1 0 5V Vb in 0 DC=VCC VFES 3 4 DC=2 AC=1.9 Ig 2 8 AC 1.5 45 SFFM (0 1 10k 5 1k) Fuentes DC: su valor en el tiempo es constante Por ejemplo: V2 1 0 DC=15V I2 1 0 5mA * fuente de corriente continua de 5 mili A Fuentes AC: se debe especificar la magnitud y fase del impulso con el parámetro AC

Por ejemplo:
        V1 1 0 AC=10V, 90

Fuentes transcientes: se usan para los análisis transcientes, las funciones disponibles son: pulso, exponencial, senoidal amortiguada, FM, y PWL Fuente mezclada: se especifican para más de un tipo de análisis. Hspice selecciona el tipo de fuente adecuada para cada análisis.

        Por ejemplo:
        Vin 13 2 0.5 AC 1 SIN (0 1 1X) $$ fuente DC de 0.5V, una fuente AC de ***1 volt y una senoidal de 1 mega Hertz, conectadas a los nodos 13 y 2 . 3.4.7.3.2 Pulso Es un estímulo que se considera para un análisis transitorio. La forma de onda generada es un tren de pulsos. También permite modelar un escalón. La forma general es: PULSE <(> v1 v2 >>>> <)> ó PU <(> v1 v2 >>>> <)> donde: v1, v2: valores entre los que cambia la señal td: retraso del primer cambio en segundos tr: tiempo de subida tf: tiempo de bajada pw: duración o ancho del pulso per: periodo en segundos de la señal .

Ejemplos: Vin 1 0 PULSE (-1 1 2NS 2NS 2NS 50NS 100NS) v2 6 0 pu VA VB RET SUB BAJ ANCHO PERI $ todos los ****valores están parametrizados Figura

3.1 3.4.7.3.3 Senoidal

La forma de onda generada es una senoide que puede estar amortiguada con el tiempo (producto de una exponencial por una senoidal). Su forma general es: SIN <(> vo va >>> <)> donde: vo: offset de voltaje o corriente va: amplitud de la señal en volts o amperes. frec: frecuencia de la señal td: retardo en segundo, su valor por defecto es cero. j: desfase en grados q: factor de amortiguación La expresión para la señal es: Tiempo Valor 0 < t< td vo + va sin ( (2pl) / 360 ) td < t vo + va exp[ -(t-td*q) ] sin (2p ( frec (t-td) + l/360)) Para obtener una senoide sin amortiguación basta con darle el valor cero a q, o bien omitirlo ya que su valor por defecto es cero.

Ejemplo: .param v0=0 va=1 freq=100meg delay=2n theta=5e7 phase=0 v 1 0 sin(v0 va freq delay theta phase) $$ Figura 3.2 Figura 3.2

3.4.7.3.4 Exponencial

La forma generada es una exponente de subida y otra de bajada. Su forma general es: EXP <(> v1 v2 >>> <)> donde: v1: voltaje o corriente inicial y segundo valor asintótico v2: primer valor asintótico td1: tiempo de retardo td2: tiempo de subida o retraso de la segunda exponencial t1: constante de tiempo de la primera exponencial t2: constante de tiempo de la segunda exponencial La expresión para la señal es: Tiempo Valor o < t < td1 v1 td1 < t < td2 v1 + (v2 - v1) [1- exp (- (t - td1) / t1) ] td2 < t v1 + (v2 - v1) [1- exp (- (t - td1) / t1) ] + (v1 - v2) [1-exp(- (td2 - t) / t2) ] Figura 3.3

3.4.7.3.5 PWL (Picewise linear)

La forma de onda generada por esta fuente corresponde a una función lineal a trazos.
PWL <(> t1 v1 < t2 v2 t3 v3 .... > <)> donde: v1, v2 ... : valores de voltaje o corriente t1, t2 ... : valores de tiempo R: produce una repetición de la señal repi: especifica el valor desde el cual comienza a repetirse la función Td=ret longitud del tiempo de retraso de la onda Figura 3.3 Es esta onda cada par de puntos (Vk, Tk) especifica el valor de la fuente (Vk) en el tiempo Tk, el valor de la fuente en los puntos intermedios se calcula mediante interpolación entre los puntos. También se puede utilizar el formato PL, en vez de PWL, pero para ésto se debe cambiar el orden del par tensión-tiempo por el de tiempo-tensión Ejemplos: V1 in 0 PWL 60n 0V, 120N 0V, 130N 5V, 170N 4V, 180N + 0V, R 0N V2 2 0 PL ( 0V 60N, 0V 120N, 5V 130N, 4V 170N, 0V + 180N, R 60N )

3.4.7.3.6 Señales Moduladas Hspice nos permite utilizar fuentes que representan señales moduladas en amplitud o moduladas en frecuencia. El formato para ésta última es: SFFM < (> vo va > > < ) > donde: vo: offset de la tensión o corriente va: valor de voltaje o corriente de salida de la amplitud imd: índice de modulación, por defecto vale cero fs: frecuencia, en hertz, de la señal fc: frecuencia, en hertz, de la portadora La expresión usada es vo + va * sin (2p fc t + imd sin (2p fs t ) Figura 3.4 Para obtener una señal modulada en amplitud (AM), se debe usar la siguiente sintaxis: AM ( sa oc fm fc td) donde: sa: amplitud de la señal oc: offset constante fm: frecuencia, en hertz, de la moduladora fc: frecuencia, en hertz, de la portadora td: tiempo de retardo antes de comenzar la señal La expresión es: sa [ oc + sin (2p fm (t - td) ]* sin (2p fc (t - td ) ) Ejemplo: AM (10 1 100 1k 1m) Figura 3.5 Aunque en otros simuladores como SPICE2G6 esta estructura es obligatoria. Se debe añadir en el análisis TRAN la sentencia UIC para que emplee dichas condiciones iniciales.