El análisis de Monte Carlo se utiliza para calcular la respuesta de un circuito ante cambios aleatorios en los valores de sus componentes o de alguno de los parámetros de los dispositivos dentro de un rango de tolerancia especificado. Este análisis proporciona información estadística del impacto de la variación de un parámetro de un dispositivo. En el análisis de Monte Carlo se definen tolerancias de ciertos parámetros de los dispositivos y el análisis principal (transitorio, barrido de CD o barrido de CA) se realiza en varias corridas usando estas tolerancias.
ANALISIS TRANSITORIO
Al diseñar circuitos digitales o de conmutación, una de las preocupaciones principales es la variación de los tiempos de subida y bajada de las señales debida a la tolerancia de los dispositivos que componen el circuito. Para ejemplificar este caso, utilizaremos el circuito inversor implementado con un BJT que se muestra en la figura 282, el cual guardaremos en el proyecto “ejemplo14”. Las resistencias utilizadas tienen una tolerancia de 5%, el transistor varía su Hfe desde 50 hasta 350.
El modelo de las resistencias Rb y Rc, y del transistor deben cambiarse por el siguiente: .model Rgauss RES(R=1 dev/gauss 5%)
.model Q2N3904 NPN(Is=6.734f Xti=3 Eg=1.11 Vaf=74.03 + Bf=200 dev/uniform 150
+ Ne=1.259 Ise=6.734f Ikf=66.78m Xtb=1.5 Br=.7371 Nc=2 Isc=0 Ikr=0 Rc=1 + Cjc=3.638p Mjc=.3085 Vjc=.75 Fc=.5 Cje=4.493p Mje=.2593 Vje=.75 + Tr=239.5n Tf=301.2p Itf=.4 Vtf=4 Xtf=2 Rb=10)
* National pid=23 case=TO92 * 88-09-08 bam creation
Una vez creado el circuito, y realizados estos cambios a los modelos de los dispositivos, el circuito resultante se muestra en la figura 283, crearemos el perfil de simulación utilizando el comando “NEW SIMULATION PROFILE” del menú “PSPICE”, al nuevo perfil le llamaremos “MONTE CARLO TRANSITORIO”. En la ventana de edición de perfil seleccionamos “TIME DOMAIN (TRANSIENT)” en el campo “ANALYSIS TYPE” de la lista disponible. En el campo “RUN TO TIME” escribimos 10us, ver figura 284. El análisis consistirá en ver la evolución del voltaje de salida (V(out)), al variar el valor de los parámetros del circuito, para esto, es necesario seleccionar la opción “MONTE CARLO/WORST
CASE” del campo “OPTIONS”. La ventana de configuración del análisis de Monte Carlo, figura 285, tiene las siguientes
opciones:
1.- “OUTPUT VARIABLE”.- Nombre de la variable de salida sobre la cual se realizará el análisis de Monte Carlo. 2.- “MONTE CARLO OPTIONS”.- Campo que contiene los parámetros de configuración del análisis de Monte
Carlo. Los parámetros que contiene son los siguientes:
a.- “NUMBER OF RUNS”.- Representa el número de corridas del análisis a ejecutar.
b.- “USE DISTRIBUTIONS”.- Define el tipo de distribución que será utilizada por omisión al ejecutar la simulación.
c.- “RANDOM NUMBER SEED”.- Define el número que será utilizado como semilla por el generador de números aleatorios, el número utilizado debe ser un entero en el rango de 1 a 32767, por omisión, el número utilizado es 17533.
d.- “SAVE DATA FROM”.- Define cuales corridas de la simulación serán guardadas en los archivos de salida. Cuenta con cinco opciones:
aa.- “<NONE>”.- Solo guarda el resultado de la simulación con valores nominales. bb.- “ALL”.- Genera resultados en todas las corridas incluyendo la de valor nominal.
cc.- “FIRST”.- Genera resultados solo con las primeras “n” corridas. El valor “n” se define en el campo “RUNS”.
dd.- “EVERY”.- Genera resultados cada “n” corridas.
ee.- “RUNS (LIST).- Realiza el análisis y genera la salida solo para las corridas listadas en el campo “RUNS”.
Para nuestro ejemplo, configuraremos el análisis para que V(out) sea la variable de salida, el total de corridas de la simulación sea 1000 con distribución uniforme y se guarden todos los resultados del análisis, tal como se muestra en la figura 285.
3.- “MORE SETTINGS”.- Permite definir opciones del archivo de salida. La ventana que abre, figura 286, permite especificar la función que se quiere evaluar en el análisis estadístico, las funciones disponibles son:
a.- “YMAX”.- Encuentra la mayor diferencia de la variable de salida a valores nominales y con valores modificados por la distribución utilizada.
b.- “MAX”.- Encuentra el valor máximo de la variable de salida para cada corrida. c.- “MIN”.- Encuentra el valor mínimo de la variable de salida para cada corrida.
d.- “RISE EDGE”.- Encuentra la primer ocurrencia de cruce, hacia arriba, de la variable de salida con el valor de umbral definido en el campo “THRESHOLD VALUE”. La variable de salida debe tener uno o varios puntos por debajo de este umbral seguido de uno por encima.
e.- “FALL EDGE”.- Encuentra la primer ocurrencia de cruce, hacia abajo, de la variable de salida con el valor de umbral definido en el campo “THRESHOLD VALUE”. La variable de salida debe tener uno o varios puntos por encima de este umbral seguido de uno por abajo.
f.- “EVALUATE ONLY WHEN THE SWEEP VARIABLE IS IN THE RANGE”.- Restringe el rango en el cual se evaluará la función.
Para nuestro ejemplo dejaremos los valores que tiene por omisión, esto es, utilizar la función “YMAX”.
Fig. 284.- Configuración del análisis transitorio.
Para ejecutar el análisis seleccionado se utiliza el comando “RUN” del menú “PSPICE”, o se presiona la tecla de
F11, esto activa el programa PSPICE AD, en PSPICE AD se realizará la simulación y abrirá un área para desplegado de
formas de onda.
Al terminar la simulación aparecerá la ventana mostrada en la figura 287, donde se tiene la opción de visualizar una, varias o todas las corridas realizadas. Para muestro ejemplo pulsamos los botones “ALL” y “OK”.
Para nuestro ejemplo, se quiere conocer el comportamiento del tiempo de subida y del tiempo de bajada. Primero desplegaremos el comportamiento del tiempo de subida en función del análisis estadístico, para esto utilizaremos la función objetivo “RISETIME()” del análisis de desempeño aplicada al voltaje de salida, ver figura 288.
Fig. 286.- Configuración de las opciones de salida del análisis de Monte Carlo.
El tiempo promedio de subida debido a las variaciones en los parámetros del circuito es de 2.2m S con una variación estándar (sigma) de 0.11m S. Otros valores estadísticos que se proporcionan son los valores máximo y mínimo, la mediana y los valores de los percentiles 10 y 90.
Fig. 288.- Ventana para agregar una función objetivo al área de desplegado.
Para ver el comportamiento del tiempo de bajada reemplazaremos el histograma de la función RISETIME(v(out)) por el de la función FALLTIME(v(out)) utilizaremos la tecla “INS”, ver figura 290.
Fig. 290.- Ventana para agregar una función objetivo al área de desplegado.
El tiempo promedio de bajada debido a las variaciones en los parámetros del circuito es de 0.15m S con una variación estándar (sigma) de 47.1nS. Otros valores estadísticos que se proporcionan son los valores máximo y mínimo, la mediana y los valores de los percentiles 10 y 90.
ANALISIS DE BARRIDO DE CD
Al diseñar circuitos con sensores tipo puente resistivo, una de las preocupaciones principales es la variación en la medición del voltaje o corriente de salida debida a la tolerancia de los dispositivos que componen el circuito. Para ejemplificar este caso, utilizaremos el circuito sensor de presión implementado con un puente resistivo que se muestra en la figura 292, el cual guardaremos en el proyecto “ejemplo15”. Las resistencias utilizadas tienen tolerancias de 2% y 5%. El parámetro global “P” representa la presión aplicada al sensor.
El modelo de las resistencias R1, R2, R3 y R4 deben cambiarse por los siguientes:
.model RMC RES R=1 dev=2% lot=10% .model RTerm RES R=1 dev=5%
Una vez creado el circuito, y realizados estos cambios a los modelos de los dispositivos, el circuito resultante se muestra en la figura 293, crearemos el perfil de simulación utilizando el comando “NEW SIMULATION PROFILE” del menú “PSPICE”, al nuevo perfil le llamaremos “MONTE CARLO CD”. En la ventana de edición de perfil seleccionamos “DC SWEEP” en el campo “ANALYSIS TYPE” de la lista disponible. Seleccionamos “GLOBAL PARAMETER” como variable de barrido y escribimos “P” en el campo “PARAMETER NAME”. El tipo de barrido a utilizar será lineal de 0 a 5 con incrementos de 0.1, ver figura 294. El análisis consistirá en ver la evolución de la corriente en el medidor (I(medidor)), al variar el valor de los parámetros del circuito, para esto, es necesario seleccionar la opción “MONTE
CARLO/WORST CASE” del campo “OPTIONS”.
Para nuestro ejemplo, configuraremos el análisis para que I(medidor) sea la variable de salida, el total de corridas de la simulación sea 10 con distribución uniforme y se guarden todos los resultados del análisis, tal como se muestra en la figura 295. Los valores de “MORE SETTINGS” para nuestro ejemplo los dejaremos en los valores que tiene por omisión.
Fig. 293.- Circuito con cambio de modelos.