Dépannage de la simulation

En un coup d'œil

Cet article vous explique comment diagnostiquer les échecs de simulation dans Altium Designer en vous aidant à déterminer si le problème provient du circuit lui-même ou de la configuration de la simulation. Il présente la différence entre les avertissements et les erreurs fatales, explique les causes des problèmes de convergence dans SPICE et propose des étapes de dépannage concrètes pour les analyses du point de fonctionnement, par balayage DC et transitoires. Vous découvrirez également des réglages et des ajustements de modélisation permettant de résoudre des problèmes courants, comme les erreurs de matrice singulière, les difficultés liées à l’incrémentation des sources et les problèmes de pas de temps. Pour identifier et résoudre plus rapidement les problèmes de simulation, ce guide constitue un excellent point de départ. Poursuivez votre lecture.

- Apprenez à interpréter les avertissements et les erreurs de simulation, et à comprendre ce qu’ils révèlent sur les causes d’un échec.
- Découvrez une liste de vérification étape par étape pour résoudre les problèmes de convergence, du contrôle du câblage et de la mise à la masse aux réglages avancés des paramètres d’analyse.
- Consultez des conseils de dépannage ciblés pour les analyses du point de fonctionnement, par balayage DC et transitoires, afin de choisir la solution adaptée au type de simulation qui échoue.
Approfondissez avec l'IA :

Lorsqu’un circuit ne peut pas être simulé, vous devez déterminer si le problème provient du circuit ou du processus de simulation. Suivez les informations de cette section de la documentation de référence et examinez les points proposés, en les essayant un par un.

Parfois, pendant une simulation, un message signale des erreurs ou des avertissements. Ces messages sont répertoriés dans le panneau Messages .

  • Warning Messages – les messages d’avertissement ne provoquent pas l’arrêt de la simulation. Ils fournissent généralement des informations sur les modifications que SPICE a dû apporter au circuit pour mener la simulation à bien. Il peut s’agir de paramètres non valides ou manquants, etc.
  • Error Messages – les messages d’erreur fournissent des informations sur les problèmes que le simulateur n’a pas pu résoudre et qui ont entraîné l’arrêt du processus de simulation. Ils indiquent que les résultats de simulation n’ont pas pu être générés. Les erreurs doivent donc être corrigées avant de pouvoir analyser le circuit.

Dépannage des échecs d’analyse de simulation

La convergence est l’un des défis auxquels sont confrontés tous les simulateurs. Que signifie exactement le terme convergence ? Comme la plupart des simulateurs, le moteur SPICE d’Altium Designer utilise un processus itératif qui consiste à résoudre à plusieurs reprises les équations représentant votre circuit, afin de déterminer les tensions et les courants au repos. S’il ne parvient pas à déterminer ces tensions et ces courants (s’il ne converge pas), il ne peut pas effectuer l’analyse du circuit.

SPICE utilise des systèmes d’équations linéaires, exprimés sous forme matricielle, pour déterminer le point de fonctionnement (tensions et courants continus) d’un circuit à chaque étape de la simulation. Le circuit est réduit à un ensemble de conductances, qui sont placées dans la matrice pour former les équations (G * V = I). Lorsqu’un circuit comprend des éléments non linéaires, SPICE effectue plusieurs itérations des équations linéaires pour tenir compte des non-linéarités. SPICE commence par estimer les tensions des nœuds, puis calcule les courants de branche à partir des conductances du circuit. Il utilise ensuite ces courants de branche pour recalculer les tensions des nœuds, et le cycle se répète. Ce cycle se poursuit jusqu’à ce que toutes les tensions des nœuds et tous les courants de branche respectent les tolérances spécifiées (convergence).

Toutefois, si les tensions ou les courants ne convergent pas dans le nombre d’itérations spécifié, SPICE génère des messages d’erreur (tels que singular matrix, Gmin stepping failed, source stepping failed ou iteration limit reached) et interrompt la simulation. SPICE utilise les résultats de chaque étape de simulation comme estimations initiales pour l’étape suivante. Si vous effectuez une analyse transitoire (c’est-à-dire que le temps progresse par pas) et que SPICE ne parvient pas à converger vers une solution avec le pas de temps spécifié, ce dernier est automatiquement réduit et le cycle se répète. Si le pas de temps devient trop petit, SPICE affiche un message Timestep too small et interrompt la simulation.

Dépannage général des problèmes de convergence de simulation

Lorsqu’une analyse de simulation échoue, le problème le plus fréquent est l’incapacité du circuit à converger vers un point de fonctionnement cohérent. Utilisez les techniques suivantes pour résoudre les problèmes de convergence.

Étapes de dépannage des problèmes de convergence

  • Lorsque vous rencontrez un problème de convergence, commencez par désactiver toutes les analyses à l’exception de l’analyse du point de fonctionnement.
  • Consultez le panneau Messages pour repérer les erreurs et avertissements liés à la simulation.
  • Assurez-vous que le circuit est correctement câblé. Les nœuds non connectés et les composants isolés ne sont pas autorisés.
  • Assurez-vous que le circuit possède un nœud de masse et que chaque nœud du circuit dispose d’un chemin en courant continu vers cette masse. Les transformateurs et les condensateurs font partie des composants susceptibles d’isoler un nœud. Les sources de tension sont considérées comme des courts-circuits en courant continu, tandis que les sources de courant sont considérées comme des circuits ouverts en courant continu.
  • Vérifiez que les zéros n’ont pas été confondus avec la lettre O lors de la saisie des paramètres de simulation.
  • Assurez-vous que les multiplicateurs SPICE appropriés ont été spécifiés (MEG au lieu de M pour 1e6) pour toutes les valeurs de composants et tous les paramètres de simulation. Les multiplicateurs ne sont pas sensibles à la casse. De plus, les espaces entre les valeurs et les multiplicateurs ne sont pas autorisés. Par exemple, il faut saisir 1.0uF, et non 1.0 uF.
  • Assurez-vous que tous les composants et toutes les sources sont réglés sur les valeurs appropriées.
  • Assurez-vous que le gain de chaque source dépendante est correctement défini.
  • Supprimez temporairement les condensateurs ou les sources de courant en série, puis relancez la simulation.
  • Supprimez temporairement les inductances ou les sources de tension en parallèle, puis relancez la simulation.
  • Dans l’onglet Advanced de la boîte de dialogue Advanced Analysis Settings (accessible en cliquant sur Settings dans la zone Analysis Setup & Run du panneau Simulation Dashboard), augmentez la valeur du paramètre ITL1 à 300. Cela permettra à l’analyse du point de fonctionnement d’effectuer davantage d’itérations avant d’abandonner.
  • Dans l’onglet Advanced de la boîte de dialogue Advanced Analysis Settings, définissez la valeur de RSHUNT1. Cette résistance, ajoutée entre chaque nœud du circuit et la masse, aide à corriger les problèmes tels que les erreurs de « matrice singulière ». En règle générale, RSHUNT doit être réglé sur une résistance très élevée, telle que 1e12.
  • Ajoutez des composants .NS (Nodeset) pour définir les tensions des nœuds. Si l’estimation initiale de la tension d’un nœud est très éloignée de la valeur réelle, le composant Nodeset peut être utilisé pour prédéfinir une tension de départ utilisée lors d’une passe préliminaire de l’analyse du point de fonctionnement. Configurez le paramètre Initial Voltage dans chaque composant Nodeset placé. Un composant Nodeset peut être placé à partir de la bibliothèque Simulation Generic Components.
  • Si le composant Nodeset n’améliore pas la convergence, essayez de définir les conditions initiales en plaçant des composants .IC. Dans ce cas, les tensions des nœuds sont maintenues aux valeurs spécifiées pendant l’analyse du point de fonctionnement, puis libérées pendant l’analyse transitoire. Les composants de condition initiale peuvent être placés à partir des mêmes bibliothèques qu’un composant Nodeset ; le paramètre de tension initiale doit être configuré de la même manière.
  • Activez l’option Use Initial Conditions dans les paramètres Transient de la zone Analysis Setup & Run du panneau Simulation Dashboard. Cette option fonctionne conjointement avec les composants .IC (ou le paramètre IC des composants). Lorsque cette option est activée, l’analyse du point de fonctionnement n’est pas effectuée et les tensions spécifiées sont utilisées comme conditions initiales pour l’analyse transitoire.
  • Spécifiez les paramètres de résistance série de vos modèles et augmentez l’option GMIN (dans l’onglet Advanced de la boîte de dialogue Advanced Analysis Settings) d’un facteur de 10.
  • Définissez la condition initiale (condition de départ) des composants à semi-conducteurs, en particulier des diodes, sur OFF. Cela peut aider à résoudre les problèmes de convergence numérique en ignorant la diode (ou le composant à semi-conducteur) lors de la première itération, ce qui favorise la convergence.

Dépannage de l’analyse par balayage continu

Lorsque vous rencontrez un problème avec une analyse par balayage continu, commencez par essayer les étapes de dépannage des problèmes de convergence indiquées ci-dessus. Si les problèmes persistent, essayez les mesures suivantes :

  • Modifiez la valeur du paramètre Step dans la section Analysis Setup & Run de Simulation Dashboard. Si le modèle d’un composant présente des discontinuités (par exemple entre ses régions linéaire et de saturation), l’augmentation du pas peut permettre à la simulation de franchir la discontinuité. À l’inverse, la réduction du pas permet à la simulation de traiter les discontinuités dues aux transitions rapides de tension.
  • N’utilisez pas l’analyse par balayage continu. Certains problèmes (comme l’hystérésis) ne peuvent pas être résolus par une analyse en courant continu. Dans ce cas, il est plus efficace d’utiliser l’analyse transitoire et de faire varier progressivement les valeurs des sources d’alimentation concernées.

Dépannage de l’analyse transitoire

Si vous rencontrez un problème lors d’une analyse transitoire, essayez d’abord les étapes de dépannage des problèmes de convergence indiquées ci-dessus. Si les problèmes persistent, essayez les solutions suivantes.

Dans l’onglet Advanced de la boîte de dialogue Advanced Analysis Settings (accessible en cliquant sur Settings dans la zone Analysis Setup & Run du panneau Simulation Dashboard) :

  • Réglez le paramètre RELTOL sur 0.01. En augmentant la tolérance par rapport à sa valeur par défaut de 0.001 (précision de 0,1 %), vous réduirez le nombre d’itérations nécessaires pour converger vers une solution et accélérerez considérablement la simulation.
  • Augmentez la valeur du paramètre ITL4 à 100. Cela permettra à l’analyse transitoire d’effectuer davantage d’itérations à chaque pas de temps avant d’abandonner. L’augmentation de cette valeur peut aider à éliminer les erreurs timestep too small et à améliorer à la fois la convergence et la vitesse de simulation.
  • Réduisez la précision en augmentant les valeurs de ABSTOL et de VNTOL, si les niveaux de courant et de tension le permettent. Votre circuit ne nécessite pas forcément des résolutions aussi fines que 1 µV ou 1 pA. Vous devez toutefois conserver une résolution au moins dix fois inférieure aux plus faibles niveaux de tension ou de courant attendus dans votre circuit.
  • Choisissez l’une des méthodes Gear pour Integration Method. L’intégration de Gear nécessite un temps de simulation plus long, mais elle est généralement plus stable que l’intégration trapézoïdale. Elle peut être particulièrement utile pour les circuits qui oscillent ou comportent des boucles de rétroaction.

Autres pistes à essayer :

  • Modélisez votre circuit de manière réaliste. Ajoutez des éléments parasites réalistes, en particulier des capacités parasites et de jonction. Utilisez des circuits d’amortissement RC aux bornes des diodes. Remplacez les modèles de composants par des sous-circuits, en particulier pour les composants RF et de puissance.
  • Augmentez les temps de montée et de descente de toutes les sources d’impulsions périodiques de votre circuit. Même les meilleurs générateurs d’impulsions ne peuvent pas commuter instantanément.
AI-LocalizedLocalisé par IA
Si vous trouvez un problème, sélectionnez le texte/l’image et appuyez surCtrl + Enterpour nous envoyer vos commentaires.
Contents
Disponibilité des fonctionnalités

Les fonctionnalités auxquelles vous avez accès dépendent de la solution Altium dont vous disposez – Altium Develop, Altium Agile Teams, Altium Agile Enterprise, ou Altium Designer (avec un abonnement actif).

Si vous ne voyez pas une fonctionnalité documentée dans votre logiciel actuel, contactez le service commercial d’Altium pour en savoir plus.

Documentation héritée

La documentation d’Altium Designer n’est plus versionnée. Si vous devez accéder à la documentation des versions antérieures d’Altium Designer, consultez la section Documentation héritée de la page Other Installers.

Contents