0% ont trouvé ce document utile (0 vote)
93 vues50 pages

Simulation Électronique avec SPICE

Le document présente SPICE, un simulateur utilisé en électronique pour réaliser différentes analyses de circuits, notamment en régime continu, alternatif et temporel. Il décrit les types de modèles, les méthodes de simulation, les algorithmes utilisés pour résoudre les circuits linéaires et non-linéaires, ainsi que les limitations et problèmes de convergence associés. Des exemples de syntaxe et d'applications pratiques sont également fournis pour illustrer les fonctionnalités de SPICE.
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
93 vues50 pages

Simulation Électronique avec SPICE

Le document présente SPICE, un simulateur utilisé en électronique pour réaliser différentes analyses de circuits, notamment en régime continu, alternatif et temporel. Il décrit les types de modèles, les méthodes de simulation, les algorithmes utilisés pour résoudre les circuits linéaires et non-linéaires, ainsi que les limitations et problèmes de convergence associés. Des exemples de syntaxe et d'applications pratiques sont également fournis pour illustrer les fonctionnalités de SPICE.
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

LU2EE203

Initiation au projet en
électronique et outils de
simulation

[email protected] 2021-22
LU2EE203

C3 : Différentes simulations

[email protected] 2021-22
Présentation de SPICE
Principales analyses possibles
 Rappel
 En électronique, 3 types de modèle
employés
 Continue (DC)
 Etude en statique = 0 Hz, état stable et établi
 C devient un CO et L devient un CC
 Grand signal (TR)
 Variation dans le temps avec des amplitudes
« importantes »
 Petit signal (AC)
 Variation dans le temps avec des amplitudes
« faibles »
 Sert ensuite à l’analyse AC (harmonique)
 Emploi du théorème de superposition (DC + AC)
3
Présentation de SPICE
Principales analyses possibles
 Continue (OP & DC) : Circuits linéaires et
non-linéaires
 Points de polarisation (I0, V0),
 Courbe de transfert (Vs/Ve), …
 Fréquentielle (AC) : Circuits linéaires*
 Diagramme de Bode (GdB, φ)
 Bruit, …
 Temporelle (Trans) : Circuits linéaires et
non-linéaires
 Retards (Δt),
 Distorsions, FFT, …
 Statistique et paramétrique :
 Température,
 Monte – Carlo, sensibilité, … 4
Présentation de SPICE
Fonctionnement du simulateur

5
Présentation de SPICE
Les limitations
 Calculs numériques
 Présence inéluctable d’une erreur / réalité
 Les circuits réels sont complexes
 Résultat dépend :
 du modèle (simple ou non) employé pour les différents
composants présents
 des conditions initiales
 Non pris en compte de l’environnement
 Bruit présent juste lors de l’analyse qui lui est dédié
 Fils et connexions sont idéales lors des simulations
niveau Schematic (pas de RLC, pas de diaphonie, …)
 Pas de perturbation électro-magnétique
 Ce n’est pas un détecteur de nos erreurs et
6
des disfonctionnements !
Présentation de SPICE
Simulation en régime continu
 Point de fonctionnement : Nous ne pouv ons pas afficher l’image.

 .OP (ou Bias Point Detail)


 Analyse statique monopoint
 Analyse systématiquement effectuée avant chaque
analyse (temporel, AC ou autre) : Condition départ
 Couple de valeurs (I0 – V0) obtenu à partir de la loi
des nœuds (Loi de Kirchoff en Courant - LKC)
• Etat stable établi  ω = 0 rad/s
• Capacité = Circuit ouvert idéalement
• Inductance = Court-circuit idéalement
• Seuls sont considérés les sources définies
en continue, les autres sont ignorées
(éteintes lors du calcul)
 Syntaxe : .OP (pas d’argument supplémentaire) 7
Présentation de SPICE
Simulation en régime continu
Nous ne pouv ons pas afficher l’image.

 Balayage en continu :
 .DC (ou DC sweep)
 Analyse statique multipoints : Succession de
calculs de point de fonctionnement
 Calcul des V et I statiques en faisant varier un
paramètre (en général, la valeur d'une source
indépendante) et en observant ses conséquences
 Pour des raisons de rapidité, ce calcul n’est pas
effectué pour chaque itération, mais par
extrapolation du résultat du 1ier point, puis des 2
derniers points calculés pour servir de base de
calcul du point suivant …

8
Présentation de SPICE
Simulation en régime continu
Nous ne pouv ons pas afficher l’image.

 Balayage en continu :
 .DC (ou DC sweep)
 Syntaxe
• .DC (LIN) <Var> <Val_Deb> <Val_Fin> <Pas>
• .DC (<Loi_Var>) <Var> <Val_Deb> <Val_Fin> <Nb_Points>
• .DC <Var> LIST <Valeur1> <Valeur2>…<ValeurX>

où <Loi_Var> = Mode de variation du paramètre (DEC ou OCT)


<Var> = Nom du paramètre variant
<Val_Deb> = Valeur initiale du paramètre
<Val_Fin> = Valeur finale
<Pas> = Pas de variation
<Nb_Points> = Nb de points simulés entre <Val_Deb> et
<Val_Fin>
9
LIST … = Suite de valeurs prises successivement par <Var>
Présentation de SPICE
Simulation en régime continu
Nous ne pouv ons pas afficher l’image.

 Balayage en continu :
 .DC (ou DC sweep)
 Exemples
• .DC VIN -0.25 0.25 0.05
→ Analyse DC durant laquelle le générateur de tension
VIN varie linéairement (par défaut) de -0.25 V à 0.25 V
par pas de 0.05 V
• .DC TEMP LIST -50 0 20 50 80
→ Calcul de cinq points de polarisation en fonction de
la température (TEMP)

10
Présentation de SPICE
Simulation en régime continu
Nous ne pouv ons pas afficher l’image.

 Balayage en continu :
 Algorithme de simulation
 Circuit linéaire

Matrice construite par


inspection

11
Présentation de SPICE
Simulation en régime continu
Nous ne pouv ons pas afficher l’image.

 Balayage en continu :
 Algorithme de simulation
 Circuit linéaire
• Exemple : On cherches des tensions

• Application de KCL  Méthode nodale

12
 Emploie que de sources de courant
Présentation de SPICE
Simulation en régime continu
Nous ne pouv ons pas afficher l’image.

 Balayage en continu :
 Algorithme de simulation
 Circuit linéaire
• Exemple (suite) :

• Sous forme matricielle

• Résolution par élimination de Gauss (pivot)


13
• Méthode de Kramer (déterminant), …
Présentation de SPICE
Simulation en régime continu
Nous ne pouv ons pas afficher l’image.

 Balayage en continu :
 Algorithme de simulation
 Remarque
 La méthode nodale n’autorise que les sources de
courant  Schéma équivalent de Norton
 Développement de la méthode nodale modifiée
(Modified Nodal Analysis - MNA)

 Pour un gain en temps de calcul, emploi d’une


extension de l’élimination gaussienne :
Factorisation LU (Lower & Upper triangular) :
[V] = [G]-1[I] = [L]-1[U]-1[I]

14
Présentation de SPICE
Simulation en régime continu
Nous ne pouv ons pas afficher l’image.

 Balayage en continu :
 Algorithme de simulation
 Circuit non-linéaire

15
Présentation de SPICE
Simulation en régime continu
Nous ne pouv ons pas afficher l’image.

 Balayage en continu :
 Algorithme de simulation
 Circuit non-linéaire
• Impossibilité de résoudre simplement les équations
 Equation transcendentale

• Résolution par l’algorithme de Newton-Raphson :


• Approximations successives

où Vn+1 = Tension à la nouvelle itération


Vn = Tension à l’itération précédente
 F(Vn) + (Vn+1 – Vn)F’(Vn) doit tendre vers 0 16
Présentation de SPICE
Simulation en régime continu
Nous ne pouv ons pas afficher l’image.

 Balayage en continu :
 Algorithme de simulation
 Circuit non-linéaire
• Exemple de convergence :
Nous ne pouv ons pas afficher l’image.

V1/R

V1

17
Présentation de SPICE
Simulation en régime continu
Nous ne pouv ons pas afficher l’image.

 Balayage en continu :
 Algorithme de simulation
 Circuit non-linéaire
• Exemple de convergence :
Nous ne pouv ons pas afficher l’image.

ID = Is [exp(qVD/nkT) - 1]
→ dID/dVD = (qIs/nkT)eqVD/nkT = (q/nkT) (ID + IS)

→ Linéarisation = Dev. de Taylor à l’ordre 1

ID ≈ ID-1 + (dID/dVD)*(VD – VD-1)


F(Vn-1) + F’(Vn)(Vn – Vn-1)
≡(q/nkT) (ID-1 + Is)*VD – (q/nkT) (ID-1 + Is)*VD-1 + ID-1
18
= G*V – F
Présentation de SPICE
Simulation en régime continu
 Balayage en continu :
Nous ne pouv ons pas afficher l’image.

 Algorithme de simulation
 Circuit non-linéaire
• Exemple de convergence : Répéter l'analyse
nodale au besoin (méthode de Newton)
• Modèle linéarisé créée en un point de fonctionnement (diode,
par ex.)
• Quel point de fonctionnement ?
Nous ne savons pas !
 Deviner un point de fonctionnement d’essai
• Après avoir résolu les équations nodales, la tension trouvée à
travers la diode sert de point de fonctionnement de l’essai
suivant  Nouveau modèle linéaire créé
• Encore une fois, les équations nodales sont résolus et le point
d'essai d'exploitation suivant est trouvé … 19
Présentation de SPICE
Simulation en régime continu
 Balayage en continu :
Nous ne pouv ons pas afficher l’image.

 Algorithme de simulation
 Circuit non-linéaire
• Exemple de convergence : Répéter l'analyse
nodale au besoin (méthode de Newton)
• Répéter jusqu'à ce qu'il converge vers une solution
• Comment savoir quand vous avez trouvé une solution ?
Si les changements des V et des I, entre une itération (n)
et la précédente (n-1), sont plus petits qu’une certaine
limite, alors vous avez trouvé une solution :
|Vn – Vn-1| < VLIMIT ? & |In – In-1 | < ILIMIT ?
avec VLIMIT = Vn∙RELTOL + VNTOL
ILIMIT = In∙RELTOL + ABSTOL
ITL1 = Nb max d’itérations
(Cf. .OPTIONS) 20
Présentation de SPICE
Simulation en régime continu
 Balayage en continu :
Nous ne pouv ons pas afficher l’image.

 Algorithme de simulation
 Circuit non-linéaire
• Exemple de convergence : Répéter l'analyse
nodale au besoin (méthode de Newton)
• Résumé :
1. Deviner le point de fonctionnement initiale de(s) élément(s) NL
2. Créer un modèle linéaire de(s) élément(s) NL
3. Résoudre les équations nodales
4. Convergence ?
• Non : Utilisez la solution actuelle (non satisfaisante)
comme nouveau point de fonctionnement pour une autre
itération et recommencez à l'étape 2
• Oui : Solution atteinte à un Ɛ près !

21
Présentation de SPICE
Simulation en régime continu
 Balayage en continu :
 Problème de convergence
 Convergence = Les valeurs (I,V) trouvées lors de
l’itération vérifient à un epsilon près les équations du
modèle réel (non-linéaire)

• Problème de la division par zéro :


 Rajout d’une conductance fictive
pour éviter les divisions par 0 (Cf. p 43)

22
Présentation de SPICE
Simulation en régime continu
 Balayage en continu :
 Problème de convergence
 Plusieurs solutions possibles

23
Présentation de SPICE
Simulation en régime alternatif
 Balayage en fréquence :
 .AC (AC sweep)
 Analyse dans le domaine des fréquences
(harmoniques)  Petit signal

24
Présentation de SPICE
Simulation en régime alternatif
 Petit signal BF
 Rappel :

http://grimmy10.free.fr/fichiers/coursELEC2.pdf
 Petite amplitude par rapport aux valeurs du point
de fonctionnement
 Emploi du théorème de superposition
 Développement de Taylor à l’ordre 1 autour d’un
point de fonctionnement

25
Présentation de SPICE
Simulation en régime alternatif

 Balayage en fréquence :
 .AC (AC sweep)
 Analyse dans le domaine des fréquences
(harmoniques)  Petit signal
 Calcul similaire à l’analyse DC de circuits linéaires
 Les composants non-linéaires sont linéarisés
Nous ne pouv ons pas afficher l’image.
autour d’un point de fonctionnement
• Pour les différentes fréquences, calcul de
[Y(ωi)] * [V(ωi)] = [I(ωi)]
• ωi : Intervalle de pulsation défini par utilisateur
• Y = Admittance complexe
• Module et phase
26
Présentation de SPICE
Simulation en régime alternatif
 Balayage en fréquence :
 .AC (AC sweep)
 .AC <Loi_Var> <Nb_Points> <Frq_Deb> <Frq_Fin>

où <Loi_Var> = Loi de variation (LIN, DEC ou OCT)


<Nb_Points> = Nombre de points par unité de variation
<Frq_Deb> = Fréquence de début d’analyse
<Frq_Fin> = Fréquence de fin d’analyse

 Exemples :
• .AC LIN 21 1K 100K → Analyse en courant alternatif de 21
points de fréquence, distribués linéairement entre 1 kHz et
100 kHz
• .AC DEC 20 1MEG 100MEG → On fait varier la fréquence de
simulation de 1 MHz et 100 MHz avec 20 points par décade
27
Présentation de SPICE
Simulation en régime alternatif
 Balayage en fréquence :
 .AC (AC sweep)
 Exemple :
• Modélisation AOP

28
Présentation de SPICE
Simulation en régime alternatif
 Balayage en fréquence :
 .AC (AC sweep)
 Remarques :
• Importance du point de fonctionnement
• Erreur courante : Saturation non observable
•  Même avec 1 AOP polarisé en ± 10 V, avec Vin = 3 kV,
a se simule !! 
• On parle de source sinusoïdale comme pour une analyse
temporelle MAIS ATTENTION !
• Le paramètre AC ne doit pas être confondu avec les
sources VSIN et ISIN qui sont des sources
sinusoïdales employées lors de simulations dans le
domaine temporel
• Observation en échelle logarithmique ≠ échelle linéaire

29
Présentation de SPICE
Simulation en régime temporelle
 Analyse transitoire :
 .TRAN (Transcient)
 Analyse dans le domaine du temps
 Comme à l’oscilloscope

30
Présentation de SPICE
Simulation en régime temporelle
 Analyse transitoire :
 .TRAN (Transcient)
 Syntaxe
 .TRAN <Pas_Max > <Durée_Ana>
 .TRAN <Pas_Max > <Durée_Ana> <Delai>
 .TRAN <Pas_Max > <Durée_Ana> <Delai> <Pas_Ana>
où <Pas_Max> = Pas de génération des résultats
<Durée_Analyse> = Dimension de la fenêtre de
simulation
<Delai> = Retard avant le début de l’enregistrement des
données de l’analyse
<Pas_Ana> = Pas max d’analyse

31
Présentation de SPICE
Simulation en régime temporelle
 Analyse transitoire :
 .TRAN (Transcient)
 Syntaxe
 Exemples
• .TRAN 1M 100M
→ Analyse effectuée à partir de t = 0 s (valeur par
défaut) jusqu’à 100 ms avec un pas d’échantillonnage
de 1 ms
• .TRAN 1nS 100ns 10nS
→ Définition d’une fenêtre de simulation de [0 ; 100 ns]
avec un pas maximal de 1 ns avec un retard de 10 ns
de début de stockage des résultats de simulation

32
Présentation de SPICE
Simulation en régime temporelle
 Analyse transitoire :
 .TRAN (Transcient)
 Analyse dans le domaine du temps
 Comme à l’oscilloscope
 Calcul proche du DC, MAIS plus complexe
 Pris en compte
• Des capacités et inductances
• Composants à stockage d’énergie
• Modèles non-linéaires  Modèles grand signal
 SPICE ne permet pas de :
• Calcul analytique
• Résoudre des équations différentielles
 Solution obtenue par
• Intégration numérique
• Méthode nodale 33
• Méthode de Newton-Raphson
Présentation de SPICE
Simulation en régime temporelle
 Analyse transitoire :
 Intégration numérique
 SPICE trouve une approximation à la solution
analytique pour des instants discrets
 Plusieurs méthodes d’intégration numérique
 Forward-Euler
 Backward Euler
 Trapezoïdale
 Gear-2

34
Présentation de SPICE
Simulation en régime temporelle
 Analyse transitoire :
 Intégration numérique
 Plusieurs méthodes d’intégration numérique
• Forward-Euler
 La base
 Non employé dans SPICE

 Principe :
 Pour chaque intervalle de temps h = tn+1 - tn
Nous ne pouv ons pas afficher l’image.

 Basé sur la pente ( ) du point n pour le calcul du point


n+1
= +

 Plus de détails, voir « correction_ts._dm5.12.pdf » dans


Ex_C3.zip

35
Présentation de SPICE
Simulation en régime temporelle
 Analyse transitoire :
 Intégration numérique
 Plusieurs méthodes d’intégration numérique
 Backward-Euler
• Précision et stabilité moyennes
• Par défaut dans certaines versions de SPICE

• Principe :
• Pour chaque intervalle de temps h = tn+1 - tn
• Basé sur la pente ( ) du point n+1 pour le calcul du
point n+1

= +

36
Présentation de SPICE
Simulation en régime temporelle
 Analyse transitoire :
 Intégration numérique
• Exemple d’un condensateur

37
Présentation de SPICE
Simulation en régime temporelle
 Analyse transitoire :
 Intégration numérique
• Exemple d’un condensateur
• On a V = Q/C et I = dQ/dt
• D’après la formule de Backward-Euler

38
Présentation de SPICE
Simulation en régime temporelle
 Analyse transitoire :
 Intégration numérique
• Exemple d’un condensateur

&
39
Présentation de SPICE
Simulation en régime temporelle
 Analyse transitoire :
 Intégration numérique
 Autres méthodes
• Trapézoïdale
• Pente basée sur les points présent et passé

• Plus précise que stable (oscille dans certains cas)


• Par défaut dans certaines versions de SPICE
• Gear-2
• Pente basée sur le point présent et les 2 précédents

• Meilleur stabilité que précision


• La plus stable
40
Présentation de SPICE
Simulation en régime temporelle
 Analyse transitoire :
 Algorithme de calcul
 Circuit linéaire

41
Présentation de SPICE
Simulation en régime temporelle
 Analyse transitoire :
 Algorithme de calcul
 Circuit non-linéaire

42
Présentation de SPICE
Simulation en régime temporelle
 Analyse transitoire :
 Algorithme de calcul
 Circuit non-linéaire

43
Présentation de SPICE
Simulation en régime temporelle
 Analyse transitoire :
 Algorithme de calcul
 Circuit non-linéaire

44
Présentation de SPICE
Simulation en régime temporelle
 Analyse transitoire :
 Algorithme de calcul
 Circuit non-linéaire
• Exemple : Pas de simulation variable

45
Présentation de SPICE
Simulation en régime temporelle
 Analyse transitoire :
 Algorithme de calcul
 Circuit non-linéaire
• Exemple : Pas de simulation variable

46
Présentation de SPICE
Simulation en régime temporelle
 Analyse transitoire :
 Algorithme de calcul
 Circuit non-linéaire
• Exemple : Pas de simulation variable

47
Présentation de SPICE
Simulation en régime temporelle
 Analyse transitoire :
 Remarques
 La fréquence des signaux (min et max) sont à
considérer à travers le pas de simulation
 Par défaut, <Pas_Max> = <Durée_Ana> / 50. Il est
automatiquement réduit en cas de nécessité
• S’il est trop grand, les erreurs de convergence ne
sont pas toujours détectées
• Typiquement, on prendra un pas de 1/100 à 1/1000
de la durée de simulation

48
Présentation de SPICE
Simulation en régime temporelle
 Analyse transitoire :
 Remarques
 Les problème de convergence se rencontrent souvent
dans les systèmes oscillants, résonnants ou, plus
généralement, dans le cas de fortes variations des
signaux
 Solutions :
• Choix judicieux du pas
• Le retard (<Délai>) de début d’analyse permet d’éviter de
générer des résultats erronés et d’arriver au régime établi
plus rapidement
• Ce retard peut être réduit par l’emploi des commandes .IC
ou .NODESET
• Relacher les contraintes de convergence
• Changer la méthode d’intégration numérique

49
Questions ?

[email protected] 2021-22

Vous aimerez peut-être aussi