Resolución de problemas de simulación
De un vistazo
- Aprende a interpretar las advertencias y los errores de simulación, y comprende qué revelan sobre las causas de un fallo.
- Obtén una lista de comprobación paso a paso para resolver problemas de convergencia, desde la revisión del cableado y las conexiones a tierra hasta los ajustes avanzados de la configuración del análisis.
- Consulta consejos específicos para resolver problemas en los análisis de punto de operación, barrido de CC y transitorios, y elige así la solución adecuada para el tipo de simulación que esté fallando.
Cuando un circuito no se puede simular, debe determinar si el problema está en el circuito o en el proceso de simulación. Siga la información de esta sección de la referencia y pruebe los puntos sugeridos de uno en uno.
A veces, durante una simulación, se muestra un mensaje que informa de errores o advertencias. Estos mensajes aparecen en el panel Messages .
- Warning Messages – los mensajes de advertencia no impiden que la simulación continúe. Por lo general, proporcionan información sobre los cambios que SPICE ha tenido que realizar en el circuito para completar la simulación. Entre ellos se incluyen parámetros no válidos o ausentes, etc.
- Error Messages – los mensajes de error proporcionan información sobre problemas que el simulador no ha podido resolver y que han impedido completar el proceso de simulación. Los mensajes de error indican que no se han podido generar resultados de simulación, por lo que los problemas deben corregirse antes de poder analizar el circuito.
Solución de fallos en los análisis de simulación
Uno de los retos de todos los simuladores es la convergencia. ¿Qué significa exactamente el término convergence? Como la mayoría de los simuladores, el motor SPICE de Altium Designer utiliza un proceso iterativo que resuelve repetidamente las ecuaciones que representan el circuito para encontrar sus tensiones y corrientes de reposo. Si no logra encontrar estas tensiones y corrientes (es decir, si no converge), no podrá realizar un análisis del circuito.
SPICE utiliza ecuaciones lineales simultáneas, expresadas en forma matricial, para determinar el punto de funcionamiento (tensiones y corrientes de CC) de un circuito en cada paso de la simulación. El circuito se reduce a un conjunto de conductancias que se introducen en la matriz para formar las ecuaciones (G * V = I). Cuando un circuito incluye elementos no lineales, SPICE realiza varias iteraciones de las ecuaciones lineales para tener en cuenta las no linealidades. SPICE realiza una estimación inicial de las tensiones de los nodos y, a continuación, calcula las corrientes de las ramas a partir de las conductancias del circuito. Después, SPICE utiliza las corrientes de las ramas para recalcular las tensiones de los nodos y repite el ciclo. Este ciclo continúa hasta que todas las tensiones de los nodos y las corrientes de las ramas se encuentran dentro de las tolerancias especificadas (convergen).
Sin embargo, si las tensiones o las corrientes no convergen en un número determinado de iteraciones, SPICE genera mensajes de error (como singular matrix, Gmin stepping failed, source stepping failed o iteration limit reached) y cancela la simulación. SPICE utiliza los resultados de cada paso de simulación como estimaciones iniciales para el siguiente paso. Si está realizando un análisis transitorio (es decir, el tiempo avanza por pasos) y SPICE no puede converger a una solución con el paso de tiempo especificado, este se reduce automáticamente y se repite el ciclo. Si el paso de tiempo se reduce demasiado, SPICE muestra un mensaje Timestep too small y cancela la simulación.
Solución de problemas generales de convergencia en la simulación
Cuando falla un análisis de simulación, el problema más habitual es que el circuito no logre converger a un punto de funcionamiento razonable. Utilice las siguientes técnicas para resolver los problemas de convergencia.
Pasos para solucionar problemas de convergencia
- Si tiene un problema de convergencia, desactive primero todos los análisis excepto el análisis del punto de funcionamiento.
- Consulte el panel Messages para ver si hay errores o advertencias relacionados con la simulación.
- Asegúrese de que el circuito esté conectado correctamente. No se permiten nodos sin conectar ni componentes aislados.
- Asegúrese de que el circuito tenga un nodo de tierra y de que todos sus nodos tengan un camino de CC hasta esa tierra. Entre los componentes que pueden aislar un nodo se incluyen los transformadores y los condensadores. Las fuentes de tensión se consideran cortocircuitos en CC y las fuentes de corriente se consideran circuitos abiertos en CC.
- Asegúrese de no haber confundido los ceros con la letra O al introducir los parámetros de simulación.
-
Asegúrese de haber especificado los multiplicadores de SPICE correctos (
MEGen lugar deMpara1e6) en los valores de los componentes o en los parámetros de simulación. Los multiplicadores no distinguen entre mayúsculas y minúsculas. Tampoco se permiten espacios entre los valores y los multiplicadores. Por ejemplo, debe ser1.0uF, no1.0 uF. - Asegúrese de que todos los dispositivos y las fuentes tengan configurados los valores correctos.
- Asegúrese de que la ganancia de cualquier fuente dependiente esté configurada correctamente.
- Elimine temporalmente los condensadores o las fuentes de corriente en serie y vuelva a ejecutar la simulación.
- Elimine temporalmente los inductores o las fuentes de tensión en paralelo y vuelva a ejecutar la simulación.
-
En la pestaña Advanced del cuadro de diálogo Advanced Analysis Settings (al que se accede haciendo clic en Settings en la región Analysis Setup & Run del panel Simulation Dashboard), aumente el valor del parámetro
ITL1a300. Esto permitirá que el análisis del punto de funcionamiento realice más iteraciones antes de detenerse. -
En la pestaña Advanced del cuadro de diálogo Advanced Analysis Settings, establezca el valor de
RSHUNT1. Esta resistencia se añade entre cada nodo del circuito y tierra y ayuda a corregir problemas como los errores de «matriz singular». Por regla general, RSHUNT debe establecerse en un valor de resistencia muy alto, como1e12. - Añada dispositivos .NS (Nodeset) para definir las tensiones de los nodos. Si la estimación inicial de la tensión de un nodo está muy alejada del valor real, puede utilizar el dispositivo Nodeset para predefinir una tensión inicial que se usará en una pasada preliminar del análisis del punto de funcionamiento. Configure el parámetro Initial Voltage en cada dispositivo Nodeset que coloque. Puede colocar un dispositivo Nodeset desde la biblioteca Simulation Generic Components.
- Si el dispositivo Nodeset no ayuda a lograr la convergencia, pruebe a definir las condiciones iniciales colocando dispositivos .IC. En este caso, las tensiones de los nodos se mantienen en los valores especificados durante el análisis del punto de funcionamiento y se liberan durante el análisis transitorio. Los dispositivos de condición inicial se pueden colocar desde las mismas bibliotecas que los dispositivos Nodeset; el parámetro de tensión inicial debe configurarse del mismo modo.
- Active la opción Use Initial Conditions en los ajustes Transient de la región Analysis Setup & Run del panel Simulation Dashboard . Esta opción funciona junto con los dispositivos .IC (o con el parámetro IC de los componentes). Al activar esta opción, no se realiza el análisis del punto de funcionamiento y se utilizan las tensiones especificadas como condiciones iniciales para el análisis transitorio.
-
Especifique los parámetros de resistencia en serie de sus modelos y aumente la opción
GMIN(en la pestaña Advanced del cuadro de diálogo Advanced Analysis Settings) por un factor de10. -
Especifique la condición inicial (condición de arranque) de los dispositivos semiconductores, especialmente los diodos, como
OFF. Esto puede ayudar a resolver problemas de convergencia numérica al omitir el diodo (o el dispositivo semiconductor) en la primera iteración, lo que contribuye a mejorar la convergencia.
Solución de problemas del análisis de barrido de CC
Si tiene un problema con un análisis de barrido de CC, pruebe primero los pasos indicados anteriormente para solucionar problemas de convergencia. Si sigue teniendo problemas, pruebe lo siguiente:
- Cambie el valor del parámetro Step en la sección Analysis Setup & Run de Simulation Dashboard. Si existen discontinuidades en el modelo de un dispositivo (por ejemplo, entre las regiones lineal y de saturación del modelo), aumentar el tamaño del paso puede permitir que la simulación salte la discontinuidad. Por otro lado, reducir el tamaño de los pasos permitirá que la simulación resuelva las discontinuidades debidas a transiciones rápidas de tensión.
- No utilice el análisis de barrido de CC. Algunos problemas (como la histéresis) no pueden resolverse mediante un análisis de CC. En estos casos, resulta más eficaz utilizar el análisis transitorio y variar en rampa los valores de las fuentes de alimentación correspondientes.
Solución de problemas del análisis transitorio
Si tiene problemas con un análisis de transitorios, pruebe primero los pasos indicados anteriormente para solucionar problemas de convergencia. Si los problemas persisten, pruebe lo siguiente.
En la pestaña Advanced del cuadro de diálogo Advanced Analysis Settings (al que se accede haciendo clic en Settings en la región Analysis Setup & Run del panel Simulation Dashboard):
-
Establezca el parámetro
RELTOLen0.01. Al aumentar la tolerancia respecto a su valor predeterminado de0.001(precisión del 0,1 %), se necesitarán menos iteraciones para converger en una solución y la simulación se completará mucho más rápido. -
Aumente el valor del parámetro
ITL4a100. Esto permitirá que el análisis de transitorios realice más iteraciones en cada paso de tiempo antes de abandonar el intento. Aumentar este valor puede ayudar a eliminar los errores detimestep too smally mejorar tanto la convergencia como la velocidad de simulación. -
Reduzca la precisión aumentando los valores de
ABSTOLyVNTOL, si los niveles de corriente y tensión lo permiten. Es posible que su circuito no requiera resoluciones de hasta 1 µV o 1 pA. No obstante, debe permitir una resolución de al menos un orden de magnitud por debajo de los niveles mínimos de tensión o corriente previstos en su circuito. - Cambie Integration Method a uno de los métodos Gear. La integración de Gear requiere un mayor tiempo de simulación, pero suele ser más estable que la integración trapezoidal. La integración de Gear puede resultar especialmente útil en circuitos que oscilan o tienen rutas de realimentación.
Otras opciones que puede probar:
- Modele su circuito de forma realista. Añada elementos parásitos realistas, especialmente capacitancias parásitas y de unión. Utilice redes amortiguadoras RC en paralelo con los diodos. Sustituya los modelos de dispositivos por subcircuitos, especialmente en el caso de dispositivos de RF y de potencia.
- Aumente los tiempos de subida y bajada de todas las fuentes de pulsos periódicos de su circuito. Ni siquiera los mejores generadores de pulsos pueden conmutar instantáneamente.