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 Messages .

  • 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 convergence? Como la mayoría de los simuladores, el motor SPICE de Altium Designer utiliza un proceso iterativo de resolución repetida de las ecuaciones que representan su circuito para encontrar los voltajes y corrientes quiescentes del circuito. Si no logra encontrar estos voltajes y corrientes (no converge), entonces no podrá realizar un análisis del circuito.

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). Cuando un circuito incluye elementos no lineales, SPICE utiliza múltiples iteraciones de las ecuaciones lineales para tener en cuenta las no linealidades. SPICE realiza una estimación inicial de los voltajes de nodo y luego calcula las corrientes de rama basándose en las conductancias del circuito. Después, SPICE utiliza las corrientes de rama para recalcular los voltajes de nodo, y el ciclo se repite. Este ciclo continúa hasta que todos los voltajes de nodo y corrientes de rama estén dentro de las tolerancias especificadas (converjan).

Sin embargo, si los voltajes o corrientes no convergen dentro de un número especificado de iteraciones, SPICE produce mensajes de error (como singular matrix, Gmin stepping failed, source stepping failed o iteration limit reached) y aborta 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, se está avanzando en el tiempo) y SPICE no puede converger a una solución usando el paso de tiempo especificado, el paso de tiempo se reduce automáticamente y el ciclo se repite. Si el paso de tiempo se reduce demasiado, SPICE muestra un mensaje Timestep too small y aborta la simulación.

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 (MEG en lugar de M para 1e6) 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 ser 1.0uF, no 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á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 ITL1 a 300. Esto permitirá que el análisis de punto de operación realice más iteraciones antes de desistir.
  • En la pestaña Advanced del cuadro de diálogo Advanced Analysis Settings, establezca el valor de RSHUNT1. 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, como 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 de Transient en la región Analysis Setup & Run del panel Simulation 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 GMIN (la pestaña Advanced del cuadro de diálogo Advanced Analysis Settings) por un factor de 10.
  • Especifique la condición inicial (Starting Condition) de los dispositivos semiconductores, especialmente los diodos, como OFF. 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.

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ón Analysis Setup & Run de Simulation 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 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 RELTOL en 0.01. Al aumentar la tolerancia desde su valor predeterminado de 0.001 (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.
  • Aumente el valor del parámetro ITL4 a 100. 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 errores timestep too small , mejorando tanto la convergencia como la velocidad de simulación.
  • Reduzca la precisión aumentando los valores de ABSTOL y VNTOL, 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.
  • Cambie Integration Method a uno de los métodos Gear. 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.
AI-LocalizedLocalizado por IA
Si encuentra un problema, seleccione el texto/imagen y presioneCtrl + Enterpara enviarnos sus comentarios.
Disponibilidad de funciones

Las funciones disponibles dependen de la solución de Altium que tenga: Altium Develop, una edición de Altium Agile (Agile Teams o Agile Enterprise), o Altium Designer (con suscripción activa).

Si no ve alguna función mencionada en su software, contacte con Ventas de Altium para obtener más información.

Documentación heredada

La documentación de Altium Designer ya no está versionada. Si necesita acceder a la documentación de versiones anteriores de Altium Designer, visite la sección Documentación heredada de la página de Otros instaladores.

Contenido