Simulation SPICE non convergente : résolution matricielle, erreurs de convergence et méthodes d'optimisation
11 min
- I. Algorithme fondamental derrière la netlist : l'analyse nodale modifiée (MNA)
- II. Causes de la non-convergence des itérations non linéaires et méthodes d'ajustement
- III. Erreurs courantes dans la simulation transitoire : singularités mathématiques causées par des composants idéaux
- De la simulation SPICE à la validation sur carte réelle avec JLCPCB
- Conclusion : Comprendre correctement la nature d'approximation mathématique de la simulation
Lors de la simulation de circuits dans le développement matériel, de nombreux ingénieurs rencontrent des situations où la simulation reste bloquée à 99,9 % de progression et génère une erreur. Les messages courants incluent Singular Matrix (matrice singulière), Convergence Failed (échec de convergence) et Time Step Too Small (pas de temps trop petit).
L'interface des logiciels EDA modernes est très intuitive : il suffit de glisser-déposer des composants et de connecter les fils pour effectuer une simulation de circuit. Cependant, cela peut facilement amener le concepteur à négliger la logique mathématique sous-jacente à la simulation. Quelle que soit la commodité de l'interface, le cœur du travail des outils de type SPICE est de résoudre des équations algébriques linéaires ou non linéaires. Le schéma est d'abord converti en une liste de connexions (netlist), puis le solveur utilise des modèles discrets pour approximer les variations physiques continues du circuit réel. Pour éliminer efficacement les problèmes de non-convergence, il est nécessaire de comprendre les mécanismes de base de la construction de matrices, de l'itération et de la discrétisation temporelle.
I. Algorithme fondamental derrière la netlist : l'analyse nodale modifiée (MNA)
Au début de la simulation, le logiciel ne calcule pas directement les courants et les tensions à partir du graphique. Il convertit d'abord la topologie du circuit et les paramètres des composants en une netlist numérique. Les solveurs SPICE grand public utilisent généralement l'analyse nodale modifiée (Modified Nodal Analysis, MNA), basée sur la loi des courants de Kirchhoff (KCL), pour établir des équations pour les nœuds indépendants et certains courants de branche.
Représentation matricielle des circuits linéaires
Pour un circuit composé d'éléments linéaires tels que des résistances, des sources de courant indépendantes et des sources de tension indépendantes, le solveur peut établir l'équation linéaire suivante :

- A : Matrice des coefficients du système, contenant les admittances des composants, les contraintes des sources de tension et les relations de connexion du circuit.
- X : Vecteur des inconnues à déterminer, contenant généralement les tensions de chaque nœud et les courants traversant les sources de tension indépendantes.
- Z : Vecteur d'excitation, contenant les sources de courant indépendantes, les sources de tension et les termes d'historique équivalents.
D'un point de vue mathématique, lorsque A est inversible, la solution peut s'écrire :

Cette expression aide à comprendre l'inversibilité de la matrice, mais les solveurs numériques pratiques ne calculent généralement pas explicitement A-1. Ils utilisent plutôt des méthodes comme la décomposition LU pour résoudre directement le système d'équations linéaires, améliorant ainsi la vitesse et la stabilité numérique. Ceci est particulièrement important pour les grandes matrices de circuits creuses. Pour une compréhension de base des équations linéaires et de l'analyse nodale, vous pouvez également consulter le solveur de circuits électroniques.
Lorsque le circuit inclut des éléments non linéaires tels que des diodes, des MOSFETs, des BJTs, etc., les coefficients de la matrice changent en fonction des tensions de nœud et du point de fonctionnement. Les équations deviennent un système implicite non linéaire, et le solveur doit passer à une linéarisation et une résolution itératives.
II. Causes de la non-convergence des itérations non linéaires et méthodes d'ajustement
Lorsqu'il traite des éléments non linéaires, le solveur utilise généralement l'itération de Newton-Raphson au point de fonctionnement continu (DC) et à chaque pas de temps transitoire. Prenons l'exemple d'une diode : le solveur suppose d'abord un ensemble de tensions de nœud, puis calcule la pente locale à ce point de fonctionnement, linéarise le modèle non linéaire en une admittance équivalente et une source de courant, puis obtient l'ensemble suivant de tensions de nœud, répétant le processus jusqu'à ce que le résidu et la mise à jour de la tension soient inférieurs au seuil de convergence. Lors de l'utilisation de LTspice pour simuler des circuits électroniques, le moteur sous-jacent est également confronté aux mêmes problèmes de point de fonctionnement et d'itération.
Deux scénarios courants de non-convergence
- Pente excessive du modèle ou saut discontinu : La commutation dans les alimentations à découpage, la rétroaction à gain élevé ou les modèles segmentés idéalisés peuvent dégrader le conditionnement de la matrice jacobienne. Si l'estimation initiale est trop éloignée du point de fonctionnement réel, le pas de Newton peut osciller ou diverger.
- Nœuds flottants ou isolés : Les enroulements de transformateur, les bornes de condensateur sans référence de masse continue, ou les nœuds isolés à haute impédance formés après l'ouverture d'un interrupteur de puissance peuvent priver la matrice d'une solution unique et la rendre singulière. Ces problèmes topologiques font également partie des erreurs courantes de conception de schémas.
Réglage des paramètres SPICE et ordre de dépannage
En cas d'erreur de non-convergence, vérifiez d'abord la netlist, la référence de masse, l'orientation des composants et les paramètres du modèle, puis ajustez les options de résolution en fonction de l'outil SPICE utilisé. Les noms de paramètres et les valeurs par défaut peuvent varier selon les logiciels ; il n'est pas conseillé d'utiliser une valeur unique comme solution universelle.
- GMIN / GMIN Stepping : Fournit un chemin de conduction continue minimal pour les nœuds à haute impédance, ou permet au solveur de passer progressivement d'une admittance minimale plus grande à la valeur cible, réduisant ainsi le risque de matrice singulière.
- Source Stepping : Obtient d'abord un point de fonctionnement stable avec une amplitude de source plus petite, puis augmente progressivement jusqu'à la valeur définie, aidant les circuits fortement non linéaires à entrer dans le domaine de solution correct.
- RELTOL, VNTOL et ABSTOL : Un relâchement modéré des seuils d'erreur peut parfois aider à franchir des points numériquement sensibles, mais cela réduit la précision du calcul. Pour RELTOL par exemple, une valeur plus grande signifie généralement une exigence de tolérance relative plus large ; après modification, vérifiez si les formes d'onde critiques répondent toujours aux objectifs de conception.
- Conditions initiales et ensembles de nœuds (Nodeset) : Fournir des valeurs initiales raisonnables pour les tensions des condensateurs, les courants des inductances ou les nœuds critiques peut raccourcir le chemin de recherche du point de fonctionnement, mais n'utilisez pas de valeurs ne correspondant pas à l'état réel du circuit pour forcer la convergence.

Figure 1 : Illustration des trajectoires de convergence, d'oscillation et de divergence de l'itération de Newton-Raphson.
III. Erreurs courantes dans la simulation transitoire : singularités mathématiques causées par des composants idéaux
Lors de l'exécution d'une analyse transitoire .TRAN, le solveur divise le temps continu en points temporels discrets et convertit les condensateurs et les inductances en modèles compagnons équivalents correspondant à la méthode d'intégration. Un nouveau système d'équations linéarisées doit être construit et résolu à chaque pas de temps.
Si le modèle est trop idéalisé, par exemple une source de tension idéale connectée directement à un condensateur idéal via un interrupteur à impédance nulle, la fermeture de l'interrupteur exige que la tension du condensateur change instantanément en un temps nul. D'après la relation du condensateur :

Lorsque Δt tend vers zéro et que ΔV n'est pas nul, le modèle idéal déduit un courant instantané tendant vers l'infini, formant mathématiquement un point de discontinuité. Pour capturer ce saut, le solveur peut réduire continuellement le pas de temps ; lorsque le pas de temps devient inférieur à la précision numérique disponible ou à la limite interne, l'erreur "Time Step Too Small" se produit.
Techniques de modélisation pour éliminer les singularités mathématiques
Lors de la modélisation, il ne faut pas utiliser inconditionnellement des composants idéaux. Ajoutez des paramètres parasites réalistes basés sur la fiche technique, le boîtier et la structure du routage pour donner au modèle un amortissement raisonnable et réduire les sauts discontinus :
- Ajoutez aux condensateurs une ESR, une ESL et un chemin de fuite conformes aux spécifications du composant et à la plage de fréquences ; les caractéristiques physiques associées peuvent être consultées dans la réponse en fréquence des condensateurs de découplage.
- Définissez pour les interrupteurs une résistance à l'état passant finie, une résistance à l'état bloqué et des temps de montée/descente raisonnables, évitant ainsi les fronts idéaux parfaitement verticaux.
- Ajoutez des résistances et inductances parasites appropriées en fonction de la géométrie du boîtier, des vias et du routage, plutôt que d'ajouter des valeurs arbitraires juste pour faire passer la simulation.
- Effectuez une vérification de sensibilité sur les nouveaux paramètres parasites ajoutés pour confirmer qu'ils améliorent la convergence sans masquer des problèmes de sonnerie, de surtension ou de stabilité.
De la simulation SPICE à la validation sur carte réelle avec JLCPCB
La convergence de la simulation signifie seulement que le modèle numérique a réussi à obtenir une solution, et ne garantit pas que le circuit réel est stable. Après avoir effectué les vérifications du point de fonctionnement, du transitoire, de la température et des tolérances des composants, convertissez le schéma en PCB et vérifiez les boucles d'alimentation, la masse, le découplage, les chemins de courant et les paramètres parasites critiques. Pour une évaluation plus approfondie du réseau d'alimentation, vous pouvez combiner avec l'analyse de l'intégrité de l'alimentation du PCB.
Après avoir confirmé les règles de conception, soumettez les fichiers Gerber, la nomenclature (BOM) et les coordonnées de placement à JLCPCB, et utilisez le service d'assemblage de PCB pour fabriquer des prototypes de validation. Comparez les résultats SPICE avec les mesures effectuées à l'aide d'oscilloscopes, de charges électroniques et de tests d'élévation de température.
Utilisez les services de fabrication et d'assemblage de JLCPCB pour transformer vos modèles SPICE en circuits physiques mesurables
Téléchargez vos fichiers Gerber et BOM pour obtenir un devis instantané, et validez le point de fonctionnement, la réponse transitoire et l'intégrité de l'alimentation par des tests sur carte réelle.
Conclusion : Comprendre correctement la nature d'approximation mathématique de la simulation
La simulation de circuits est un moyen technique d'approcher un circuit réel par un modèle mathématique. Il n'existe pas de résultat de simulation qui reproduise parfaitement le circuit physique. Les formes d'onde de tension et de courant affichées à l'écran sont des valeurs approximatives obtenues par le solveur après la construction de la matrice, la décomposition numérique, l'itération non linéaire et la discrétisation temporelle.
Que vous utilisiez un outil de simulation en ligne léger ou un logiciel SPICE de bureau professionnel, vous devez d'abord vérifier la topologie de la netlist, le domaine de validité du modèle et les paramètres du solveur. En comprenant la matrice MNA, l'itération non linéaire, les nœuds flottants et les singularités des composants idéaux, le concepteur peut ajuster le modèle et les paramètres en fonction de la cause profonde, plutôt que de relâcher aveuglément les seuils d'erreur.
En fin de compte, les hypothèses de la simulation doivent être validées par des mesures sur la carte réelle. Ce n'est qu'en combinant le modèle numérique, les effets parasites du PCB et les résultats expérimentaux que les données de simulation peuvent véritablement aider au développement matériel et réduire la difficulté de débogage.
Continuez à apprendre
Simulation SPICE non convergente : résolution matricielle, erreurs de convergence et méthodes d'optimisation
Lors de la simulation de circuits dans le développement matériel, de nombreux ingénieurs rencontrent des situations où la simulation reste bloquée à 99,9 % de progression et génère une erreur. Les messages courants incluent Singular Matrix (matrice singulière), Convergence Failed (échec de convergence) et Time Step Too Small (pas de temps trop petit). L'interface des logiciels EDA modernes est très intuitive : il suffit de glisser-déposer des composants et de connecter les fils pour effectuer une simu......
Développer des circuits imprimés adaptés à la fabrication : Une checklist DFM pratique pour une conception de PCB réussie
Le layout est électriquement terminé, les composants sont en place, la simulation semble bonne, et pourtant, après le téléchargement des données Gerber, le fabricant pose une question. Ou pire : le circuit imprimé est fabriqué, assemblé et ne fonctionne pas de manière fiable. Dans la plupart des cas, la raison ne réside pas dans le schéma électrique, mais plutôt dans les détails qui ont été négligés lors du layout. Celui qui développe un circuit imprimé en tenant compte des contraintes de fabrication ......
Maîtriser les règles de conception PCB:guide complet
Les règles de conception PCB regroupent des recommandations essentielles pour garantir le fonctionnement, la fiabilité et la fabricabilité des circuits imprimés. En les appliquant correctement, les concepteurs peuvent optimiser les performances, réduire les problèmes pendant la fabrication et améliorer la qualité du produit final. Ce guide complet présente les principales règles de conception PCB, des conseils pratiques et des exemples concrets pour vous aider à réussir le routage de vos PCB. I. Compr......
Conception de PCB multicouches:guide complet
Qu'est-ce qu'un PCB multicouche? Un PCB multicouche est un circuit imprimé comportant plus de deux couches, dont au moins trois couches conductrices en cuivre. Ses couches supérieure et inférieure ressemblent à celles d'un PCB double face, mais des couches supplémentaires sont intégrées de part et d'autre du noyau. Plusieurs circuits double face sont laminés et assemblés avec des couches isolantes résistantes à la chaleur. Les composants actifs et passifs sont généralement placés sur les faces supérie......
Comment l'IA révolutionne la conception PCB:guide complet
Les algorithmes d'apprentissage automatique, d'optimisation et d'IA générative pourraient bientôt être intégrés à vos logiciels de conception PCB préférés. Depuis que ChatGPT s'est fait connaître du grand public et que d'autres entreprises développent leurs propres modèles de langage, comme Claude ou LLaMA, les start-up spécialisées dans l'EDA cherchent à exploiter ces outils pour améliorer la productivité des concepteurs de PCB et des ingénieurs. L'automatisation et l'IA ayant déjà transformé de nomb......
Le rôle crucial de la largeur des pistes PCB et comment la calculer
Naviguer dans le domaine complexe de la conception de circuits imprimés (PCB) nécessite une compréhension approfondie de nombreux facteurs critiques, la largeur des pistes occupant une place centrale. Cet aspect essentiel de la conception de PCB est la clé pour obtenir des performances supérieures des dispositifs électroniques, garantir leur fiabilité et optimiser leur fonctionnement. Dans ce guide complet, nous explorons l’univers des largeurs de pistes PCB et leur influence sur l’intégrité des signa......
