Solución de problemas de simulación
Cuando un circuito no se puede simular, debe identificar si el problema está en el circuito o en el proceso de simulación. Siga la información contenida en esta sección de la referencia y revise los puntos sugeridos, probando uno a la vez.
A veces, durante una simulación, se mostrará un mensaje informando errores o advertencias. Estos mensajes se enumeran en el panel
-
Warning Messages – los mensajes de advertencia no son fatales para la simulación. Generalmente proporcionan información sobre cambios que SPICE tuvo que realizar en el circuito para poder completar la simulación. Estos incluyen parámetros no válidos o ausentes, entre otros. -
Error Messages – los mensajes de error proporcionan información sobre problemas que el simulador no pudo resolver y que fueron fatales para el proceso de simulación. Los mensajes de error indican que no se pudieron generar resultados de simulación, por lo que deben corregirse antes de que pueda analizar el circuito.
Solución de problemas de fallos en el análisis de simulación
Uno de los desafíos de todos los simuladores es la convergencia. ¿Qué significa exactamente el término
SPICE utiliza ecuaciones lineales simultáneas, expresadas en forma matricial, para determinar el punto de operación (voltajes y corrientes de CC) de un circuito en cada paso de la simulación. El circuito se reduce a una matriz de conductancias que se colocan en la matriz para formar las ecuaciones (G * V = I
Sin embargo, si los voltajes o corrientes no convergen dentro de un número especificado de iteraciones, SPICE produce mensajes de error (como singular matrixGmin stepping failedsource stepping failediteration limit reachedTimestep too small
Solución general de problemas de convergencia en simulación
Cuando falla un análisis de simulación, el problema más común es que el circuito no logre converger a un punto de operación razonable. Utilice las siguientes técnicas para resolver problemas de convergencia.
Pasos para solucionar problemas de convergencia
- Cuando tenga un problema de convergencia, primero desactive todos los análisis excepto el análisis de punto de operación.
-
Consulte el panel
Messages para ver cualquier error/advertencia relacionado con la simulación. - Asegúrese de que el circuito esté cableado correctamente. No se permiten nodos colgantes ni componentes sueltos.
- Asegúrese de que el circuito tenga un nodo de tierra y de que cada nodo del circuito tenga una ruta de CC hacia esa tierra. Los componentes que pueden aislar un nodo incluyen transformadores y capacitores. Las fuentes de voltaje se consideran un cortocircuito de CC, las fuentes de corriente se consideran un circuito abierto de CC.
- Asegúrese de no haber confundido los ceros con la letra O al introducir parámetros de simulación.
-
Asegúrese de haber especificado los multiplicadores SPICE correctos (
en lugar deMEG paraM ) para cualquier valor de componente o parámetro de simulación. Los multiplicadores no distinguen entre mayúsculas y minúsculas. Además, no se permiten espacios entre los valores y los multiplicadores. Por ejemplo, debe ser1e6 , no1.0uF .1.0 uF - Asegúrese de que todos los dispositivos y fuentes estén configurados con sus valores correctos.
- Asegúrese de que la ganancia de cualquier fuente dependiente esté correctamente configurada.
- Elimine temporalmente los capacitores en serie o las fuentes de corriente y vuelva a ejecutar la simulación.
- Elimine temporalmente los inductores en paralelo o las fuentes de voltaje y vuelva a ejecutar la simulación.
-
En la pestaña
Advanced del cuadro de diálogoAdvanced Analysis Settings (al que se accede haciendo clic enSettings en la regiónAnalysis Setup & Run del panelSimulation Dashboard ), aumente el valor del parámetro aITL1 . Esto permitirá que el análisis de punto de operación realice más iteraciones antes de desistir.300 -
En la pestaña
Advanced del cuadro de diálogoAdvanced Analysis Settings , establezca el valor de . Este valor de resistencia se agrega entre cada nodo del circuito y tierra y ayuda a corregir problemas como errores de "matriz singular". Como regla general, el valor de RSHUNT debe establecerse en una resistencia muy alta, comoRSHUNT1 .1e12 -
Agregue dispositivos .NS (Nodeset) para definir los voltajes de nodo. Si la estimación inicial del voltaje de un nodo está muy alejada del valor real, el dispositivo Nodeset puede usarse para predefinir un voltaje de arranque que se utiliza para una pasada preliminar del análisis de punto de operación. Configure el parámetro
Initial Voltage en cada dispositivo Nodeset que coloque. Un Nodeset puede colocarse desde la biblioteca Simulation Generic Components. - Si el dispositivo Nodeset no ayuda a la convergencia, intente definir las condiciones iniciales colocando dispositivos .IC. En este caso, los voltajes de nodo se mantienen en los valores especificados durante el análisis de punto de operación y luego se liberan durante el análisis transitorio. Los dispositivos Initial Condition pueden colocarse desde las mismas bibliotecas que un dispositivo Nodeset; el parámetro Initial Voltage debe configurarse de la misma manera.
-
Habilite la opción
Use Initial Conditions en la configuración deTransient en la regiónAnalysis Setup & Run del panelSimulation Dashboard . Esta opción funciona junto con los dispositivos .IC (o el parámetro IC de los componentes). Al establecer esta opción, no se realiza el análisis de punto de operación y los voltajes especificados se utilizan como condiciones iniciales para el análisis transitorio. -
Especifique los parámetros de resistencia en serie de sus modelos y aumente la opción
(la pestañaGMINAdvanced del cuadro de diálogoAdvanced Analysis Settings ) por un factor de .10 -
Especifique la condición inicial (Starting Condition) de los dispositivos semiconductores, especialmente los diodos, como
. Esto puede ayudar a resolver problemas de convergencia numérica omitiendo el diodo (o dispositivo semiconductor) en la primera iteración, lo que ayuda a mejorar la convergencia.OFF
Solución de problemas del análisis DC Sweep
Cuando tenga un problema con un análisis DC Sweep, primero pruebe los pasos enumerados arriba en los pasos de solución de problemas de convergencia. Si aun así sigue encontrando problemas, pruebe lo siguiente:
-
Cambie el valor del parámetro
Step en la secciónAnalysis Setup & Run deSimulation Dashboard . Si existen discontinuidades en un modelo de dispositivo (quizá entre las regiones lineal y de saturación del modelo), aumentar el tamaño del paso puede permitir que la simulación pase por encima de la discontinuidad. Por otro lado, hacer los pasos más pequeños permitirá que la simulación resuelva discontinuidades rápidas de transición de voltaje. - No utilice el análisis DC Sweep. Algunos problemas (como la histéresis) no pueden resolverse mediante análisis de CC. En tales casos, es más eficaz utilizar el análisis transitorio y hacer variar gradualmente los valores de las fuentes de alimentación apropiadas.
Solución de problemas del análisis transitorio
Cuando tenga un problema con un análisis transitorio, primero pruebe los pasos enumerados arriba en los pasos de solución de problemas de convergencia. Si aun así sigue encontrando problemas, pruebe lo siguiente.
En la pestaña
-
Establezca el parámetro
enRELTOL . Al aumentar la tolerancia desde su valor predeterminado de0.01 (precisión del 0,1 %), se requerirán menos iteraciones para converger a una solución y la simulación se completará mucho más rápido.0.001 -
Aumente el valor del parámetro
aITL4 . Esto permitirá que el análisis transitorio realice más iteraciones para cada paso de tiempo antes de desistir. Aumentar este valor puede ayudar a eliminar errores100 , mejorando tanto la convergencia como la velocidad de simulación.timestep too small -
Reduzca la precisión aumentando los valores de
yABSTOL , si los niveles de corriente/voltaje lo permiten. Puede que su circuito en particular no requiera resoluciones de hasta 1uV o 1pA. Sin embargo, debe dejar al menos un orden de magnitud por debajo de los niveles mínimos esperados de voltaje o corriente de su circuito.VNTOL -
Cambie
Integration Method a uno de los métodosGear . La integración Gear requiere un tiempo de simulación mayor, pero por lo general es más estable que la trapezoidal. La integración Gear puede ser particularmente útil en circuitos que oscilan o tienen rutas de realimentación.
Cosas adicionales para probar:
- Modele su circuito de forma realista. Agregue parásitos realistas, especialmente capacitancia parásita/de unión. Use redes RC snubber alrededor de los diodos. Sustituya los modelos de dispositivos por subcircuitos, especialmente para dispositivos de RF y potencia.
- Aumente los tiempos de subida/bajada de cualquier fuente de pulso periódico de su circuito. Ni siquiera los mejores generadores de pulsos pueden conmutar instantáneamente.