Cours Spice 1
Cours Spice 1
Electronique
CAO
Electronique
Logiciel Pspice A/D
année 2004
GENERALITES
Les thèmes
Les librairies
Liste des éléments simulables
Les unités
Les sources de tensions
SAISIE DE SCHEMAS
Appel des composants en librairie
Placement des composants
Spécification des valeurs des composants
SIMULATION
Configuration du profil de simulation
Configuration de l’affichage des résultats
Lancement de la simulation
GENERALITES
LES THEMES
Analyse du continu
Configuration de l’analyse DC
Variation primaire et variation secondaire
Variation de la température
Variation d’un paramètre de modèle
Analyse de sensibilité
Configuration de l’analyse de sensibilité
Dépouillement des résultats
Analyse fréquentielle
Configuration de l’analyse AC
Analyse de Monte Carlo
Configuration de l’analyse de Monte Carlo
Distribution spécifique
Tracé d’histogrammes
Analyse du Worst Case
Configuration de l’analyse du Worst Case
Dépouillement des résultats
Analyse de bruit
Analyse transitoire
Configuration de l’analyse TRAN
Calcul de la FFT
Configuration de l’analyse FFT par Probe
Excursion en fréquence
Largeur des raies
Configuration de l’analyse FFT par PSpice
Calcul des coefficients de la série de Fourier
Evaluation de la distorsion
Editeur de modèle
Editeur de stimuli
Utilisation d’un stimulus analogique
Utilisation d’un stimulus de type signal ou horloge
Utilisation d’un stimulus de type bus
Modélisation comportementale
Principe du paramétrage
Probe
Configuration de l’affichage des résultats
Multifenêtrage
Utilisation des curseurs de mesure
Visualisation des résultat
LES LIBRAIRIES
[Link]
Blocs fonctionnels : additionneur, soustracteur, dérivateur, intégrateur, filtre, …
[Link]
Résistance, condensateur, inductance, ligne de transmission.
Sources de tension et de courant contrôlées en tension et en courant.
ANALOG_P.OLB
Résistance, condensateur, inductance, résistance variable, varistance.
[Link]
Composants primaires (autres que les composants de base R, C, L, …)
Eléments avec tolérances (pour l’analyse de Monte Carlo).
Interrupteur contrôlé en tension (Sbreak).
Interrupteur contrôlé en courant (Wbreak).
Potentiomètre, convertisseur ADC ou DAC.
[Link]
Environ 20 composants analogiques et 140 composants digitaux (incluant un composant
programmable : le PAL 20RP4B).
[Link]
Sources de tension et de courant analogiques, générateurs digitaux.
[Link]
Sources de stimuli, 2 analogiques et 6 digitales.
[Link]
Eléments de contrôle de la simulation.
Remarque importante : Pour réaliser une simulation, il est indispensable de préciser la masse
analogique (GND) du circuit. La masse a pour nom ‘0’ dans la librairie [Link].
Celle-ci s’indique à l’aide du symbole dans la barre d’outil.
COMPOSANTS ANALOGIQUES
Composants passifs :
C Condensateurs
K Circuits magnétiques
L Inductances
R Résistances
T Lignes de transmissions (avec ou sans pertes)
Interrupteurs :
S Interrupteur contrôlé en tension
W Interrupteur contrôlé en courant
Composants actifs :
B Transistor AsGa
D Diode, diode zener, diode varicap
J JFET
M MOSFET
Q Transistor bipolaire
Z IGBT
X AO et comparateur
X Thyristor
X Triac
X Opto-coupleur, Timer 555, PWM
COMPOSANTS DIGITAUX
LES UNITES
Les éléments passifs (résistances, inductances, condensateurs) ne nécessitent pas la spécification de
l’unité (Ohm, Henry, Farad).
109 = 1G ou 1g
106 = 1MEG ou 1meg ! ATTENTION
103 = 1K ou 1k
10-3 = 1M ou 1m ! ATTENTION
10-6 = 1U ou 1u
10-9 = 1N ou 1n
10-12 = 1P ou 1p
10-15 = 1F ou 1f
10Vdc
VAC : source de tension pour les analyses fréquentielles (ne convient pas pour les analyses
temporelles)
V1
1Vac
0Vdc
10V
FREQ = 1 kHz VAMPL = 10 V
VOFF = 0 V
0V
TD = 0.5 ms
DF = 80 PHASE = -45°
-10V
0s 5ms 10ms
V(V1:+)
Time
V1 = 0V V2
V2 = 10V
TD1 = 1ms
TC1 = 1ms
TD2 = 5ms
TC2 = 2ms
10V V2
TC1
5V TC2
0V V1
TD1 TD2
V1
VOFF = 0V
VAMPL = 10V
FC = 2kHz
MOD = 12
FM = 100Hz
10V
0V
-10V
V1 = 0V V1
V2 = 10V
TD = 1ms
TR = 100us
TF = 200us
PW = 1.7ms
PER = 5ms
PW
10V V2
5V TR TF
0V V1
PER
10V
5V
0V
-4V
0s 2ms 4ms 6ms 8ms 10ms
V(V1:+)
Time
La première étape consiste à créer un nouveau projet en sélectionnant dans OrCAD Capture
File/New/Project. Une boîte de dialogue apparaît, vous devez spécifier le nom que vous allez donner
à votre projet. Pour utiliser Pspice, choisissez l’option Analog or Mixed Signal Circuit Wizard. Tous
les projets que vous allez créer au cours de cette formation seront enregistrés sous C:\Program
Files\OrCAD Demo\Applications. Préciser le chemin d’accès dans Location.
Le gestionnaire de projets vous permet de parcourir, gérer, archiver et restaurer vos projets.
Un projet se présente de la manière suivante :
Vous pouvez visualiser le contenu des dossiers en cliquant sur le dossier ou sur le signe + situé
devant le nom du dossier. Le signe – permet de réduire la structure.
L’onglet File permet de visualiser l’organisation du projet sous forme de dossiers schéma, de fichiers
schéma et de pages schémas.
L’onglet Hierarchy permet de visualiser la structure hiérarchique du projet (structure à plat,
hiérarchies simples ou complexes).
Remarques :
Lorsque vous validez la création de votre nouveau projet, le logiciel vous demande les librairies que
vous souhaitez déclarer dans votre projet. Il en sélectionne certaines par défaut, vous pouvez en
ajouter en cliquant sur Add. Cette déclaration n’est pas définitive.
SAISIE DE SCHEMAS
Capture est la saisie de schémas de Pspice. C’est depuis la saisie de schémas que pourront être
définis les signaux de test à appliquer au circuit, les types de simulation (fréquentielle, temporelle,
statistique), les spécifications des nouveaux modèles ou encore le paramétrage des signaux à
visualiser dans l’oscilloscope.
La barre d’icônes suivantes s’affiche. Elle vous permet de placer différents objets sur le schéma
(composants, fils, bus, …).
Dans la fenêtre Place Part, vous pouvez rechercher un composant en tapant son nom, ou le début du
nom (la liste des composants s’affiche), ou encore en utilisant le caractère * ou ? pour votre
recherche.
Vous pouvez spécifier d’autres librairies grâce au bouton Add Library.
En sélectionnant un composant au niveau de la barre de défilement, vous visualisez la représentation
graphique de votre composant.
D’autre part, vous pouvez effectuer une recherche sur un ensemble de librairies, cliquez sur le bouton
Part Search. La fenêtre suivante s’affiche :
Le placement des fils est obtenu avec la commande Place/Wire ou avec l’icône correspondante.
Un premier clic sur le bouton gauche de la souris permet de fixer l’origine du fil, un deuxième clic
permet de fixer l’extrémité de ce fil mais aussi l’origine d’un nouveau fil.
Pour quitter le mode insertion de fil : touche Echap ou W ou clic sur le bouton droit de la souris et
sélectionnez End Mode dans le menu contextuel.
Pour nommer les fils importants (très pratique pour la simulation), utilisez la commande Place/Net
Alias ou avec l’icône correspondante.
- Soit en cliquant directement sur la valeur du composant et le menu suivant apparaît alors :
Outre la possibilité d’affecter une valeur au composant, vous pouvez modifier le format d’affichage de
la valeur et du nom du composant.
- Soit en cliquant sur le corps du composant et avec le bouton droit de la souris, sélectionner Edit
Properties ; l’éditeur d’attributs ci-dessous apparaît :
Dans ce cas, il faut accéder au paramètre Value pour modifier la valeur du composant. En
sélectionnant Display, vous accédez à la fenêtre Display Properties.
SIMULATION
Simulation Profile ou de l’icône . Vous devez spécifier le nom que vous allez donner à votre
analyse. Ensuite, la fenêtre Simulation Settings s’affiche :
AC Sweep : Analyse fréquentielle (balayage en fréquence) Pour cette analyse, le simulateur calcule
le point de repos du système et y linéarise ses caractéristiques. Il s’agit donc d’une analyse aux
faibles signaux.
DC Sweep : Ce type d’analyse permet de faire varier une source de tension, une source de courant,
un paramètre ou la température et ceci en régime continu. Dans ce type d’analyse, les inductances
sont remplacées par des court-circuits et les condensateurs par des circuits ouverts.
Dans la fenêtre Options, il est possible de sélectionner une analyse avancée, celle-ci sera couplée à
une analyse générale (temporelle, continue, fréquentielle). Elle permet d’analyser les performances du
circuit en fonction de différents facteurs (température, valeurs des composants, sources,, …).
Choix possibles : analyse de Monte-Carlo, analyse Worst Case, analyse paramétrique, analyse en
température.
Il est également possible de sauvegarder (Save Bias Point) ou de recharger (Load Bias Point) un
point de calcul intermédiaire.
Display Probe window when profile is opened : Affiche la fenêtre Probe quand un fichier (*.DAT)
est ouvert.
Display Probe Window : Affiche automatiquement la fenêtre Probe au cours de la simulation ou à la
fin de la simulation.
All voltages, currents and digital states : Toutes les tensions et les courants du schéma sont édités
dans le fichier (*.DAT) dans Probe.
All but internal subcircuit data : Probe ne sauvegarde pas les tensions et courants relatifs aux
nœuds internes des sous-circuits.
At Markers only : Seuls les tensions et courants du schéma « attachés » à une sonde sont édités
dans le fichier (*.DAT).
None : Les tensions et les courants du schéma ne sont pas édités dans le fichier (*.DAT).
Lancement de la simulation
En lançant cette commande, le logiciel commence par annoter le schéma (si nécessaire), puis vérifie
sa cohérence électrique (entrée en l’air, …). Enfin, il génère la netlist du schéma qui sera interprétée
par le cœur de simulation PSPICE.
Si aucune erreur n’a été rencontrée lors de la vérification électrique, la simulation s’exécute :
A l’aide d’opérateurs prédéfinis, présents à droite de la fenêtre, vous pouvez traiter des signaux
(somme, valeur absolue, partie réelle, phase, …).
Remarque : Pour identifier rapidement le nom du signal que l’on souhaite visualiser, il est
recommandé de nommer tous les signaux susceptibles d’être observés.
sur l’icône .
V
A ce stade, le curseur de la souris prend l’aspect du symbole suivant .
Placez sur le schéma, autant de sondes qu’il y a de signaux à visualiser. Veillez à ce que l’extrémité
du symbole soit en contact avec le fil en question.
Retournez dans la fenêtre des résultats de simulation : les courbes sont automatiquement ajoutées.
Remarque : Toutes ces étapes sont développées à nouveau dans les applications n°1, 2 et 3.
∫
1
AVG(y) y dx moyenne de y sur Ox (intégration entre 0 et x) OUI NON
y
d ∫
1
AVGX(y,d) y dx moyenne de y sur Ox (intégration entre x-d et x) OUI NON
Dans cette application, nous cherchons à tracer les caractéristiques statiques d’un transistor NPN. Il
s’agit donc de tracer le réseau de caractéristiques IC = f (VCE ) .
Saisie du schéma
Q1
V1
Q2N2222 5V
I1
20uA
Les éléments nécessaires à la saisie du schéma se trouvent dans les librairies suivantes :
[Link], [Link], [Link]. Les sources de tension et de courant sont de type
VDC et IDC, dans lesquels les champs DC ont été configurés avec une valeur arbitraire.
Après avoir créé un nouveau projet de nom ‘application1’ et localisé dans le répertoire de travail
C:\…\applications, saisissez sur la page 1 le schéma.
Le gestionnaire de projet nomme par défaut le dossier racine SCHEMATIC1. Vous pouvez
sauvegarder le projet dans votre répertoire de travail.
Profil de simulation
Tout d’abord, il faut créer un profil de simulation à partir de Capture.
Accédez au menu Pspice/New Simulation Profile. Vous devez spécifier un nom que vous allez
donner à votre analyse, par exemple ‘traces’ dans Name, puis cliquez sur Create. Ensuite, la
fenêtre Simulation Settings apparaît.
Pour l’analyse du continu, il est possible de faire varier deux paramètres (Primary Sweep et
Secondary Sweep) de façon linéaire, logarithmique ou par valeurs croissantes quelconques.
Choisissez DC Sweep dans Analysis type. Sélectionner Primary Sweep (première variation)
dans Options.
Cliquez sur Voltage source, puis donnez le nom de la source dont la valeur DC va varier et
configurez sa variation.
Pour chaque valeur prise par la source de tension V1, on fait varier la source de courant I1 de 20 µA à
100 µA par pas de 20 µA en balayage linéaire.
Sélectionnez Secondary Sweep (deuxième variation) dans Options. Cliquez sur Current
source, puis donnez le nom de la source dont la valeur DC va varier et configurez sa variation.
Valider la seconde variation en cliquant dans la case à cocher.
Lancement de la simulation
Il est possible de configurer l’affichage des résultats. Pour cela, sélectionnez l’onglet Probe Window
dans la fenêtre Simulation Settings.
Il peut être intéressant d’activer Last plot pour obtenir les résultats affichés dans la dernière
configuration utilisée par Probe.
Lancez la simulation à l’aide de la commande Pspice/Run ou de l’icône .
L’ensemble des signaux visualisables est présenté dans le champ Simulation Output Variables.
Remarque : Pour identifier rapidement le nom du signal que l’on souhaite visualiser, il est
recommandé de nommer tous les signaux susceptibles d’être observés (Place/Net Alias ou
Pspice/Markers)
Dans notre exemple, sélectionnez IC(Q1) qui s’affiche dans le champ Trace Expression, puis
terminez par OK.
30mA
20mA
10mA
0A
0V 4V 8V 12V 16V 20V
IC(Q1)
V_V1
En sélectionnant la courbe, puis en cliquant avec le bouton droit de la souris, vous avez accès à un
menu contextuel. Sélectionnez Properties pour modifier la couleur, l’épaisseur du trait, …
Autre application
Le but est d’observer la variation d’une caractéristique IC = f (VCE ) en fonction de la température. Le
courant I B est fixe et vaut 20 µA, la température variant de 0 à 200 °C par pas de 50 °C.
Lancez la simulation.
10mA
Variation de la température
200 °C
150 °C
5mA 100 °C
50 °C
0 °C
0A
0V 4V 8V 12V 16V 20V
IC(Q1)
V_V1
Autre application
Le but est de tracer le réseau de caractéristiques IC = f (VCE ) pour différentes valeurs du beta du
transistor à I B = cte . Le courant I B reste fixe à 20 µA, la valeur du beta variant de 150 à 350 par pas
de 100.
Cliquez sur le transistor pour le sélectionner, puis accédez au menu Edit/Pspice Model.
Méthode 1 :
Créez un nouveau profil de simulation de nom ‘beta1’. Entrez dans le menu DC Sweep, puis
Secondary Sweep et configurez comme indiqué ci-dessous :
Attention ! ! ! Tous les transistors du schéma dont le modèle est 2N2222 verront leur beta varier.
Méthode 2 :
Allez dans la fenêtre de l’outil Model Editor (Edit/Psice Model) et modifiez Bf=255.9 en Bf={Beta}.
Sauvegardez le modèle au sein de votre projet.
L’éditeur de modèles extrait le modèle depuis la librairie originale et le copie dans une librairie
attachée au projet (dossier Model Librairies du gestionnaire de projet). Ce mécanisme laisse intacte
les librairies du logiciel.
Déclarez sur le schéma à l’aide du symbole PARAM, le paramètre BETA (voir application n°3
principe du paramétrage).
Après avoir créer un nouveau profil de simulation de nom ‘beta2’, etc…, paramétrez dans le menu
Edit/Simulation Settings/DC Sweep/Secondary Sweep la variation du beta du transistor :
Dans cette application, nous cherchons à tracer la réponse en fréquence du transfert en tension d’un
filtre du premier ordre dans le diagramme de Bode.
Saisie du schéma
R1
out
1k
V1
1V C1
1u
Les éléments nécessaires à la saisie du schéma se trouvent dans les librairies [Link] et
[Link]. La source de tension est de type VAC.
Remarques :
Après avoir créé un nouveau projet de nom ‘application2’ et localisé dans le répertoire de travail
C:\…\applications, saisissez sur la page 1 le schéma.
Sauvegardez le projet.
Profil de simulation
On crée un profil de simulation à partir de Capture.
Accédez au menu Pspice/New Simulation Profile. Donnez un nom à votre analyse , par
exemple ‘RCBode’ dans Name, puis cliquez sur Create. Ensuite, la fenêtre Simulation Settings
apparaît.
Résultats de la simulation
Accédez au menu Trace/Add Trace. Au sein de la fenêtre, cliquez à droite sur l’opérateur DB( ),
puis cliquez à gauche sur la variable V(out). DB(V(out)) s’affiche dans le champ Trace
Expression, puis terminez par OK.
-20
-40
1.0Hz 10Hz 100Hz 1.0KHz 10KHz
DB(V(out))
Frequency
Le module de la fonction de transfert est ainsi tracé dans le plan de Bode. La phase n’ayant ni même
échelle, ni même unité, on ajoute une nouvelle fenêtre de visualisation.
0d
(159.681,-45.094)
-50d
-100d
P(V(out))
0
-20 (159.681,-3.0253)
SEL>>
-40
1.0Hz 10Hz 100Hz 1.0KHz 10KHz
DB(V(out))
Frequency
Pour connaître précisément la valeur d’un signal en un point particulier, PSpice dispose de deux
PSpice affiche dans une fenêtre séparée les coordonnées de ces deux curseurs et les différences ∆X
et ∆Y :
Sur le bouton droit de la souris est attaché le premier curseur (A1), sur le bouton droit de la souris le
second curseur (A2).
Pour placer des marqueurs sur la courbe, sélectionnez l’icône .
Dans cette application, nous présentons la mise en œuvre d’une analyse paramétrique permettant de
répéter une analyse temporelle ou fréquentielle pour différentes valeurs d’un composant.
Saisie du schéma
R1 L1
out
{Rvar} 10mH
PARAMETER
V1 S
Rvar = 50
C1
1u
V1 est une source de tension VPULSE délivrant un échelon de tension à t=0 et telle que : tensions 0V
à 1V; période 200 ms; largeur d’impulsion 100 ms; temps de montée et de descente 1µs; délai 0s.
Pour définir le signal, cliquez sur V1 dans le schéma, éditez Edit/Properties (ou bouton droit de la
souris et choisir Edit Properties), puis remplissez les champs V1, V2, TD, TR, TF, PW, et PER.
Principe du paramétrage
Remplacez la valeur de la résistance par un nom de variable entre accolade, {Rvar} par exemple.
Placez sur le schéma l’élément PARAM avec Place/Part (dans librairie [Link]). Pour
déclarer ce paramètre, éditez les propriétés Edit/Properties, puis cliquez sur New Column,
remplissez les champs Name et Value par ‘Rvar’ et ‘50’ respectivement et terminez par OK.
Pour visualiser ces données dans le schéma, sélectionnez la colonne Rvar et cliquez sur Display,
puis choisissez Name and Value.
Dans Pspice/New Simulation Profile, donnez un nom (‘tran’) puis cliquez sur Create. Choisissez
l’analyse temporelle dans Analysis type et accédez à l’option Parametric Sweep pour spécifier
les valeurs du paramètre Rvar.
Dans ce cas de figure, il n’y a pas de progression linéaire ou logarithmique des valeurs. On utilise
donc une liste de valeurs en ordre croissant.
Start saving data after : Attendre avant l’enregistrement des résultats (facultatif).
Transient options :
• Maximum step size : taille maximum du pas de calcul (facultatif).
• Skip the initial bias point calculation : possibilité d’empêcher le calcul du point de repos
du système.
Dans Run to time, spécifiez une analyse de 3 ms, puis lancez la simulation.
A la fin de la simulation, Pspice affiche la liste des simulations effectuées (ici 4). Sélectionnez All,
appuyez sur OK et les quatre courbes s’affichent.
1.5V
1.0V
0.5V
0V
0s 0.5ms 1.0ms 1.5ms 2.0ms 2.5ms 3.0ms
V(OUT)
Time
Si vous cliquez sur une courbe avec le bouton droit de la souris, une fenêtre s’ouvre pour vous fournir
toutes les informations relatives à cette courbe.
V(OUT)
Analyse de performances
Par ailleurs, il est possible d’afficher une des performances du circuit en fonction d’un paramètre (ici
Rvar). Dans cet exemple, nous étudierons le temps de montée de 10% à 90% de la valeur finale du
signal V(out) en fonction de Rvar.
Cette action a pour effet de placer le paramètre Rvar sur l’axe X dans un nouveau graphe. De plus, la
fenêtre Add Trace propose maintenant un certain nombre de « Measurements » qui permettent
d’évaluer une caractéristique particulière sur une famille de courbes.
Voici la signification de quelques-unes unes d’entre elles :
1.2m
0.8m
0.4m
0
0 100 200 300 400 500
GenRise(V(out))
Rvar
Configuration de la simulation
Créez un nouveau profil de simulation que vous nommerez FILTRE dans lequel vous déclarez une
simulation temporelle de 3ms. Maintenant, il faut déclarer le dossier COPIE1 comme schéma racine
(Design/Make Root) et créer un profil de simulation COPIE1 identique au profil FILTRE (Inherit
from). Même démarche pour COPIE2 et COPIE3.
Les quatre profils de simulation sont créés et stockés dans le dossier SIMULATION PROFILES du
gestionnaire de projets.
Lancement de la simulation
Dans le gestionnaire de projets, sélectionnez les quatre profils de simulation et choisir
Pspice/Simulated Selected Profiles.
PSPICE lance les quatre simulations l’une après l’autre. Dans la fenêtre Simulation Queue, vous
pouvez observer l’avancement des simulations. Lorsque PSPICE a terminé, les quatre fichiers de
simulation ou profils de simulation [Link], [Link], [Link], [Link] se trouvent
dans la fenêtre Completed Simulations.
Faites Close.
Vous pouvez noter la présence des onglets en bas de la fenêtre PSPICE, qui vous permettent de
repérer quelle simulation vous visualisez et de basculer d’une simulation à l’autre.
Sur les graphes, affichez la tension V(out) à l’aide du menu Trace/Add traces.
Vous pouvez visualiser les quatre courbes sur une même page avec l’option Window/Tile
Horizontally.
L’analyse de Monte Carlo est utilisée principalement pour évaluer le comportement d’un système en
fonction des tolérances des composants qui le composent.
Sur les composants de base (R, L, C, …), il est possible d’utiliser l’attribut TOLERANCE. Dans ce cas,
on considère que toutes les tolérances ont la même répartition qui correspond à la répartition par
défaut défini dans la fenêtre Simulation Settings au niveau de l’option Use Distribution.
Le simulateur connaît deux distributions Uniform et Gaussian, mais il est possible de définir sa
propre distribution à l’aide de la directive Distributions.
Distribution spécifique
Si vous voulez définir une tolérance sur un composant avec une répartition différente des autres
tolérances, il faudra remplacer le composant de base (R, L, C) par un composant primaire (Rbreak,
Lbreak, Cbreak) de la librairie [Link], puis définir le modèle de ce composant (tolérance et
répartition) par accès au menu Edit/Pspice Model…
Par exemple, après placement d’un composant Rbreak sur le schéma, il faut lui associer son nouveau
modèle.
Sélectionnez cette résistance sur le schéma, puis accédez au menu Edit/Pspice Model :
Remplacez .model Rbreak RES R=1 par .model Rmod RES(R=1 DEV=5%)
Ce modèle définit une résistance dont la tolérance est de 5% avec une loi de probabilité uniforme. Il
est sauvegardé dans une librairie portant le même nom que celui du projet ([Link]) qui est
stocké dans le dossier Model Libraries du gestionnaire de projet.
Si l’on veut une loi de probabilité gaussienne : .model Rmod RES(R=1 DEV/GAUSS=5%)
Attention, 5% représente la valeur de σ, ce qui signifie que la résistance est définie à ± 15%.
Le projet ‘[Link]’ s’appuie sur un filtre réjecteur à 3 MHz. Le but est de visualiser, sous
forme d’histogramme, la répartition de la fréquence de réjection lorsque l’on définit des tolérances de
20% sur les selfs et les capacités. La bande de fréquence à explorer est de 300 kHz à 30 MHz.
Saisie du schéma
L1
10uH 20%
C1
0.3n 20%
R1 R2
out
100 100
R4 C2
100 0.3n
20% R3
L2 100
V1
10uH
1V 20%
Remarque : pour définir les tolérances, cliquez sur le composant dans le schéma, éditez
Edit/Properties (ou bouton droit de la souris et choisir Edit Properties). Remplissez le champ
TOLERANCE, puis cliquez sur Apply. Si vous voulez faire apparaître la valeur sur le schéma, cliquez
sur Display Properties et choisissez Value Only.
Sélectionnez également la case à cocher List model parameter values in the output file for each
run, pour connaître les valeurs de chaque composant pour chacun des tirages (voir fichier output).
Après avoir effectuer les opérations précédentes, définissez le balayage fréquentiel indiqué, puis
lancez la simulation.
-20
-40
-60
300KHz 1.0MHz 3.0MHz 10MHz 30MHz
DB(V(out))
Frequency
-40
-80
300KHz 1.0MHz 3.0MHz 10MHz 30MHz
DB(V(out))
Frequency
Pour créer ce « Measurement », accédez à la fenêtre Trace/Measurements, puis cliquez sur New.
Remarque : Si vous devez générer un « Measurement » pour une simulation particulière, cette
fonction doit être créée en locale (use local file). En revanche, si ce « Measurement » doit être visible
par tous les utilisateurs du logiciel, elle doit être définie de façon globale (use global file), donc dans
le fichier [Link] ou dans un fichier (other file) connu et accessible par tous les utilisateurs.
Attention : lors d’une mise à jour du logiciel, il se peut que le fichier [Link] soit mis à jour. Par
conséquent, effectuez une sauvegarde du [Link] si vous avez modifié ce fichier.
Dans le cas présent, on procède plus directement pour obtenir la fréquence de réjection. En effet, au
sein de la liste des « Measurements », existe ‘CenterFrequency’ pour un filtre passe bande. Il suffit
d’en faire une copie et de modifier le calcul en inversant les pentes positive et négative.
20
%
10
SEL>>
0
2.4M 2.6M 2.8M 3.0M 3.2M 3.4M 3.6M
RejectFreq(V(out),10)
-0
-25
-50
-75
300KHz 1.0MHz 3.0MHz 10MHz 30MHz
DB(V(out))
Frequency
- median : valeur de l’axe X telle que 50% des valeurs prises par la fonction d’évaluation lui
soient inférieure,
- 90th %ile : valeur de l’axe X telle que 90% des valeurs prises par la fonction d’évaluation lui
soient inférieure,
- maximum : valeur maximale de la fonction d’évaluation.
- 31.1 dB
Cette analyse ne peut se faire que lors d’une étude fréquentielle (Analyse AC). L’application utilise le
même schéma que précédemment.
Remarque : Les composants possédant un modèle de bruit sont la résistance, le transistor AsGa, la
diode, le transistor JFET, le transistor MOSFET, le transistor bipolaire, l’interrupteur contrôlé en
tension (VSWITCH), l’interrupteur contrôlé en courant (ISWITCH).
Lancez la simulation.
Dans Pspice, vous avez accès aux bruits de papillotement (NF : flicker noise), de grenaille (NS : shot
noise), thermique (N) et total de chaque composant, source de bruit. Ces bruits s’expriment en
Volt2/Hz.
200nV 1.1e-18
1 2
1.0e-18
100nV
0.9e-18
>>
0V 0.8e-18
100KHz 1.0MHz 10MHz 100MHz
1 V(INOISE) 2 NTOT(ONOISE)
Frequency
1.2e-18
0.8e-18
0.4e-18
0
100KHz 300KHz 1.0MHz 3.0MHz 10MHz 30MHz 100MHz
NTOT(ONOISE) NTOT(R1) NTOT(R2) NTOT(R3) NTOT(R4)
Frequency
L’analyse Worst Case est utilisée lorsque vous avez fixé des tolérances sur des composants et que
vous souhaitez trouvez une combinaison de ces tolérances donnant le cas le plus défavorable au-
dessus et au-dessous d’une valeur ou courbe nominale.
PSPICE réalise tout d’abord, une simulation du fonctionnement sélectionné (analyse du continu ou
fréquentielle ou transitoire) avec les valeurs nominales des composants. Puis, pour chaque
composant dont les tolérances sont spécifiées, PSPICE réalise une simulation afin de déterminer la
valeur qui donne le résultat le plus défavorable en sortie. Lorsque toutes ces valeurs sont connues,
PSPICE les utilise pour réaliser une dernière simulation et déterminer ainsi le cas de fonctionnement
le plus défavorable du circuit.
Dans cette application, vous utiliserez le filtre réjecteur à 3 MHz. Quatre composants possèdent des
tolérances (20%), ce qui conduira PSPICE à réaliser 6 runs (nominal, pour C1 , pour C2 , pour L1 ,
pour L2 , worst case).
Output variable : signal étudié lors de l’analyse Worst Case. Attention, dans notre cas VdB(out).
Cliquez sur l’onglet More Settings pour compléter le paramétrage de votre analyse.
Pour les opérations YMAX et MAX, cette direction est par défaut HI, pour toutes les autres opérations,
cette direction est par défaut LOW.
Un dernier paramètre RELTOL est nécessaire pour ce type d’analyse (précision relative des calculs).
Il spécifie d’étudier la sensibilité de la sortie en faisant varier chaque valeur de composant par pas
égal à RELTOL.
Cliquez sur l’onglet Options de la fenêtre Simulation Settings. Choisissez dans Category,
Analog Simulation et positionnez-vous sur Relative accuracy of V’s and I’s. Fixez RELTOL à
O.OO1.
Simulation
Lancez la simulation, puis chargez tous les résultats.
run nominal
runs pour C1 , C2 , L1 , L2
worst case
-0
(2.9066M,-14.623)
-20
pire cas
(2.4225M,-56.557)
-40
nominal
(2.9066M,-70.492)
-60
-80
300KHz 1.0MHz 3.0MHz 10MHz 30MHz
DB(V(out))
Frequency
Cette simulation montre que, pour des composants de tolérance 20%, on obtient une variation relative
de la fréquence de réjection de l’ordre de 16.6% dans le cas le plus défavorable. Avec un tel écart par
rapport à la fréquence idéale, le filtrage n’est environ que de –14 dB au lieu de -70 dB à 2.9 MHz.
Le fichier fait apparaître l’écart observé sur V(out) en dB par rapport à sa valeur nominale pour
chaque évaluation de la valeur d’un composant dans le cas le plus défavorable. Il faut remarquer que
ceux-ci sont donnés par ordre d’influence.
SENSITIVITY SUMMARY
******************************************************************************
Les modifications apportées aux composants pour réaliser la simulation du cas le plus défavorable
apparaissent ci-dessous. Ils ont tous pris leur valeur maximale.
******************************************************************************
Les résultats statistiques de cette simulation donne un écart de 55.681 dB au-dessus de la nominale à
la fréquence de 2.9065 MHz.
******************************************************************************
Cette analyse produit des résultats visibles uniquement dans le fichier OUTPUT. Le but est de
connaître dans quelle proportion une grandeur du circuit (courant ou tension continue) sera affectée
par la variation des valeurs des composants ou des paramètres des modèles de composants
intrinsèques (diode ou transistor).
L’application présente permet d’évaluer les tolérances requises sur les valeurs des résistances d’un
pont de Wheathstone pour respecter les spécifications d’un cahier des charges.
Saisie du schéma
R1 R3
120 10k
V1 A B
10V
R2 R4
120 10k
Il s’agit d’étudier la sensibilité de la tension différentielle V(A,B) en fonction des différents éléments du
circuit.
Après avoir créé un nouveau projet de nom ‘application7’, saisissez sur la PAGE1 le schéma.
Profil de simulation
Accédez au menu Pspice/New Simulation Profile. Donnez un nom à votre analyse. Ensuite, la
fenêtre Simulation Settings, choisissez Bias Point dans Analysis type. Validez Perform
Sensitivity analysis et tapez V(A,B) pour étudier cette tension différentielle.
Lancez la simulation.
Résultats de la simulation
Examinez le fichier OUTPUT (View/Output File).
Le tableau des sensibilités montre que l’influence de la valeur de la tension d’alimentation est
totalement négligeable et que, par ailleurs, la somme des sensibilités relatives 4 × 0.025 donne une
sensibilité totale de 0.1V / % pour ce montage.
En choisissant des résistances à 0.1%, l’erreur maximale sur V(A,B) sera donc de 10 mV.
Développement mathématique :
⎛ R2 R4 ⎞
La tension différentielle V(A,B) a pour expression V ( A, B ) = ⎜⎜ − ⎟ V1
⎟
⎝ 1
R + R 2 R3 + R4 ⎠
∂V ( A, B ) ∂V ( A, B ) ∂V ( A, B ) ∂V ( A, B ) ∂V ( A, B )
dV ( A, B ) = dR1 + dR 2 + dR3 + dR 4 + dV1
∂R1 ∂R 2 ∂R3 ∂R 4 ∂V1
∂V ( A, B ) R1 ∂V ( A, B ) 120
= V1 = 2.083 10 −2 V / Ω ou normalisée = 2.083 10 − 2 = 0.025 V / %
∂R2 (R1 + R2 ) 2 ∂R2 100
La sensibilité totale du montage est donnée par la somme des sensibilités relatives de la tension de
mesure vis-à-vis de chacun des éléments, soit dV ( A, B ) = 4 × 0.025 = 0.1V / %
Le but est d’effectuer le calcul de la FFT d’un signal périodique, puis d’interpréter les résultats selon
les diverses valeurs des paramètres temporels de l’analyse (temps de simulation, pas maximum de
calcul).
Saisie du schéma
+ IC= 5
+VCC
7
C1 R1 U1 +VCC
3 V+OS2 5
+ V1
15n 10k out
R2 6
C2 OUT 15Vdc
10k 2 1
15n - V- OS1
uA741 D1 0
0 0 4
-VCC R4 V2
D1N4148
15Vdc
D2
R5 10k
D1N750
2k
-VCC
J1
J2N4416 R3
100k C3
1u
Il s’agit d’un oscillateur à pont de Wien dont l’étage de gain utilise un JFET pour l’entretien des
oscillations dans le retour de contre-réaction.
A remarquer la condition initiale mise sur l’équipotentielle ‘out’ et disponible dans la librairie
[Link] de symbole IC1 qui va permettre un démarrage de l’oscillateur plus rapide.
Après avoir créé un nouveau projet de nom ‘application8’ et localisé dans le répertoire de travail,
saisissez le schéma sur la page 1.
Profil de simulation
Accédez au menu Pspice/New Simulation Profile. Donnez un nom à votre analyse , par
exemple ‘tran’ dans Name, puis cliquez sur Create.
Lancez la simulation.
Résultats de la simulation
Observez dans PSPICE, la forte distorsion du signal V(out) et mesurez sa fréquence à l’aide des
curseurs.
10V
0V
-10V
-20V
0s 5ms 10ms 15ms 20ms
V(out)
Time
Lancez le calcul de la FFT du signal V(out) en cliquant sur l’icône ou en accédant au menu
Trace/Fourier. Le calcul de la FFT est effectué de 0 à 20 ms. Mesurez la fréquence du
fondamental.
Cliquez de nouveau sur l’icône ou accédez au menu Trace/End Fourier et le signal V(out) en
fonction du temps est affiché à nouveau.
Dans ces conditions, le calcul de la FFT est effectué précisément sur 6 périodes du signal V(out),
mesurées aux curseurs précédemment.
10V
(624.938,8.8172)
(1.2500K,5.0000)
5V
(0.000,2.7999)
la simulation a créé
0V
0Hz 4KHz 8KHz 12KHz 16KHz 20KHz 24KHz 28KHz
V(out)
Frequency
Excursion en fréquence
Il est également très important de noter que l’excursion en fréquence de la FFT dépend du pas
d’échantillonnage des signaux. A l’occurrence, le pas d’échantillonnage dépend du temps total de
simulation et du nombre de points de calcul total de la simulation. Ce nombre de points de calcul est
systématiquement ramené par interpolation linéaire à la puissance de 2 la plus proche.
durée de simulation
Te = pas d ' échantillo nnage =
nombre d ' échantillo ns
Le choix de la fréquence d’échantillonnage Fe doit être tel que les composantes de fréquence
supérieure à Fe 2 soient négligeables, ou du moins inférieures à l’erreur admissible sur les
composantes utiles.
Dans le cas présent où la FFT est calculée sur toute la durée de simulation [0-20 ms], on obtient les
résultats suivants :
- le nombre de points de simulation est de 1019.
- le nombre d’échantillons utilisé par PROBE est donc de 1024 ( 210 > 1019 ).
- Te = 0.02 1024 = 19.53125 µs , soit une fréquence d’échantillonnage Fe = 51.2 kHz .
- l’excursion en fréquence est alors de fmax = 25.6 kHz .
Relancez une simulation d’une durée de 40 ms et mesurez de nouveau la largeur des raies.
Remarque : Lors de la première simulation, le calcul de la FFT a été effectué avec une fenêtre
temporelle correspondant à 6 périodes du signal. Vérifiez par le calcul la largeur des raies et
comparez aux deux résultats précédents.
En conclusion :
- la largeur des raies, et donc la résolution en fréquence, sera d’autant plus fine que la
durée d’analyse pour le calcul de la FFT sera longue.
- l’excursion en fréquence sera d’autant plus importante que la période d’échantillonnage
(pas de calcul) sera faible.
Tout signal périodique e(t ) de période T peut être mis sous la forme d’une somme de fonctions
sinusoïdales (harmoniques) dont les fréquences sont des multiples de f = 1 T :
∞
e(t ) = A0 +
∑ C cos(2π f t − ϕ )
n =1
n n
La connaissance du spectre d’un signal est une donnée essentielle qui permet d’évaluer en
particulier :
- la bande passante nécessaire à la transmission d’un signal,
- la pureté d’un signal sinusoïdal caractérisée par le taux de distorsion
∞
∑C
n =2
2
n
harmonique D = .
C1
Ce calcul sera mené durant une analyse temporelle (Simulation Settings)et sera donc configuré
dans le menu correspondant en cliquant sur le bouton Output File Options… :
En considérant la non périodicité d’un signal e(t ) comme résultant d’une excursion à l’infini de la
période T d’un signal périodique e p (t ) , on peut représenter ce signal par une intégrale de Fourier
+∞ +∞
e(t ) =
∫ E ( j 2πf ) e j 2 πf t df avec E ( j 2πf ) =
−∞ ∫
−∞
e(u ) e − j 2 πf u du
La fonction E ( j 2πf ) constitue la transformée de Fourier du signal e(t ) et joue le même rôle que les
coefficients de Fourier dans le cas de signaux périodiques. De fait, ces coefficients constituent les
1
échantillons de la transformée de Fourier au facteur 1/T près, soit Cn = E ( j 2πF ) avec F la
T
fréquence du fondamental. Le spectre du signal périodique e p (t ) est alors le résultat d’un
échantillonnage de période F du spectre du signal e(t ) , ce qui signifie que périodiser dans le domaine
temporel revient à échantillonner dans le domaine fréquentiel.
Il n’y a plus lieu de considérer séparément les séries et les intégrales de Fourier, puisque la
transformation de Fourier permet de passer de la représentation temporelle d’un signal à sa
représentation fréquentielle et réciproquement.
Pour calculer la transformée E ( j 2πf ) d’un signal e(t ) , un calculateur numérique ne peut accéder
qu’à la séquence temporelle {e(n )} des échantillons e(n Te ) associée à la mesure d’échantillonnage
e * (t ) du signal e(t ) :
+∞
e * (t ) =
∑ e(nT ) δ(t − nT )
−∞
e e avec δ(t ) impulsion de Dirac
Si la fréquence d’échantillonnage est suffisamment grande (condition de Shannon Fe > 2fmax avec
fmax fréquence maximale du spectre de e(t ) ), ainsi que la durée de la mesure (troncature temporelle
T), on peut, en première approximation, admettre que la connaissance de la transformée de Fourier
des M échantillons de e(t )
M −1
*
F (eM (t )) =
∑ e(nT )e
n =0
e
− j 2 πf n Te
En fin de compte, si on considère un signal e(t ) défini par une séquence {e(n )} de M échantillons,
on définit sa transformée de Fourier discrète (DFT) par la séquence {E (k )} telle que :
M −1
∑e(n) e
nk
1 − j 2π
E (k ) = M
M
n =0
Afin de limiter le temps de calcul des DFT, on utilise les algorithmes FFT dont le plus employé
applique le nombre d’échantillons tel que M = 2m .
Dans cet exemple, nous allons mettre en œuvre l’éditeur « graphique interactif » de stimuli pour la
génération d’une onde sinusoïdale.
Les formes d’onde disponibles au niveau analogique sont : EXP (exponential), PULSE, PWL
(piecewise linear), SFFM (single-frequency FM), SIN (sinusoïdal).
Saisie du schéma
V1
10V R2
R4
1k C1
10k out
0 Q1
C2
in 1u
1u Q2N2222
V2 R3
R5
S R1 1k
720
Implementation = IN 50
La source de tension qui stimule cet amplificateur à pseudo-émetteur commun, va être définie avec
l’éditeur de stimuli.
Tout d’abord, donnez un nom au stimulus en sélectionnant l’éditeur d’attributs de VSTIM. Dans le
champ Implementation, tapez IN.
Vous pouvez redéfinir les domaines du temps (0 à 4 ms) et de l’amplitude du signal (80 mV à 120 mV)
à l’aide du menu Plot/Axis Settings et modifier à nouveau les paramètres avec Edit/Attributes.
Lancez la simulation.
200mV
100mV
0V
-100mV
0s 2ms 4ms 6ms 8ms 10ms
V(IN) V(OUT)
Time
Remarque : Lorsque vous sauvegarder votre stimulus dans votre répertoire de travail, il est stocké
avec l'extension .STL au sein du dossier STIMULUS FILES de votre gestionnaire de projet. En éditant
ce fichier, vous pouvez modifier votre stimulus.
Dans cette application, nous allons montrer les possibilités offertes par PSPICE en matière de
modélisation comportementale. Ce type de simulation signifie qu’un système n’est plus étudié à partir
de sa description structurelle, mais à partir des équations qui régissent son fonctionnement.
Ainsi, on trouvera dans les librairies de symboles [Link] (Analog Behavior Modeling),
[Link], [Link] et [Link], tous les éléments nécessaires à une description
comportementale. En voici quelques uns :
1E3
TRANSFORMEE GENERATEUR DE I
INTEGRATEUR DERIVATEUR DE LAPLACE CONTROLE EN I
(INTEG) (DIFFER) (LAPLACE) (F)
F1
1
1.0 d/dt 1+s
0v 1.0 F
GENERATEUR DE V GENERATEUR DE I
CONTROLE PAR MULT DE V CONTROLE PAR SOMME DE V Y CONTROLE EN V
(EMULT) (GSUM) (YX)
E1 G1 X1
1 + YX 4
IN1+ IN1+
IN1-OUT+ IN1-OUT+ 2 - 5
EMULT GSUM
Reference
IN2+OUT- IN2+OUT-
IN2- IN2- 3
Saisie du schéma
in 1 out
PARAMETERS:
V1 w0 = 10000
1 + s*2*z/w0+s*s/(w0*w0) z = 0.25
1
Editez la transformée de Laplace 2
.
p 2z
+ p +1
ω02 ω0
Profil de simulation
Créez un profil de simulation que vous appellerez ‘tran’. Dans la fenêtre Simulation Settings,
déclarez une analyse transitoire d’une durée de 2 ms.
Couplez à l’analyse transitoire une analyse paramétrique pour le paramètre z prenant les valeurs
suivantes : 0.25, 0.5, 1, 2.5.
Lancez la simulation.
Résultats de la simulation
1.0V
0.5V
0V
0s 0.4ms 0.8ms 1.2ms 1.6ms 2.0ms
V(OUT)
Time
Nous allons effectuer une première approche de la simulation mixte. Cette application a pour but de
démontrer la facilité de sa mise en œuvre. Le circuit étant mixte, les connexions réalisées présentent
différents types d’équipotentielles qui sont ici expliqués.
Saisie du schéma
R1
330
U1A U2A
RC 1 2 out1 1 2 out2
7414
V V
7404 V
C1
0.3u
Les éléments digitaux placés dans le schéma, sont traités par PSPICE de manière « transparente »
par l’utilisateur.
Remarque : Les alimentations des composants numériques n’apparaissent pas sur le schéma et leur
définition est optionnelle. Par défaut, les éléments CMOS et TTL sont alimentés en 5V.
Vous trouverez les éléments digitaux au sein de la librairie [Link]. Constituez ce schéma en
prenant la précaution de respecter le nom des équipotentielles, placez 3 sondes de tensions sur les
équipotentielles CR, OUT1 et OUT2.
OUT2
4.0V
2.0V
0V
0s 0.2ms 0.4ms 0.6ms 0.8ms 1.0ms
V(OUT1) V(CR)
Time
L’affichage des signaux numériques et analogiques s’effectue simultanément dans Pspice A/D. Tous
les signaux appartenant à une équipotentielle en liaison directe avec un élément purement analogique
(résistance, transistor, condensateur, …), sont traités comme des signaux analogiques. Ceux qui ne
sont pas en contact avec des éléments analogiques, en l’occurrence OUT2, sont considérés comme
digitaux.
Remarque : Pour transformer OUT2 en un signal analogique, il suffit de placer une résistance entre la
sortie de l’inverseur et la masse.
4.0V
2.0V
0V
0s 0.2ms 0.4ms 0.6ms 0.8ms 1.0ms
V(out1) V(CR) V(out2)
Time
Equipotentielles d’interface
Lorsque des composants logiques et analogiques sont connectés, PSpice insère automatiquement un
ou plusieurs sous-circuits d’interface qui permettent d’établir une correspondance entre états logiques
et caractéristiques d’entrée/sortie analogique. Le nom original de l’équipotentielle est conservé côté
analogique et affecté au côté logique d’un suffixe $AtoD ou $DtoA selon qu’il s’agit d’une entrée ou
d’une sortie logique.
out1$AtoD
out1$DtoA
out2$DtoA
RC$AtoD
Conclusion : En fonction des connexions réalisées, PSpice est susceptible de reconnaître trois types
d’équipotentielles : équipotentielles analogiques, équipotentielles logiques, équipotentielles
d’interface.
Après avoir saisi les nuances relatives à l’application précédente, passons à la deuxième approche de
ce type de simulation. Les sujets à aborder ici sont les pseudo-symboles et les stimuli digitaux.
Saisie du schéma
C1
400pF
V
R1 U1A
U2A 750 1
U3A U3B HI J 3 out
1 2 CR 1 2 out1 3 4 out2 12 Q
CLK 2 outBar
7414 7414 Q
V V V
4
CLR
K
V
7405
74107
13
DSTM1 U4A
S RESET 1 2
7404
RESET V
Pseudo-symboles
Pour mettre en œuvre une simulation mixte, on dispose de pseudo-symboles dont le rôle est de fixer
les états logiques suivants :
HI Niveau logique 1
LO Niveau logique 0
Pour placer ces symboles, sélectionnez Place/Power ou cliquez sur l’icône correspondante.
Stimuli digitaux
Les stimuli digitaux à définir avec l’éditeur de stimuli doivent être déclarés à partir DigStim de la
librairie [Link].
Placez un élément pour définir le signal RESET et accédez le menu Edit/Pspice Stimulus.
Ensuite, dans l’éditeur de stimuli, faites Stimulus/New afin de paramétrer le signal :
La première étape consiste à indiquer le type de signaux à éditer : Clock (signal répétitif), Signal (1
bit), Bus (n bits).
Pour définir l’échelle des temps, accédez au menu Plot/Axis Settings et prenez une échelle de 0
à 1µs.
Entrez dans le menu Edit/Add. Votre curseur prend la forme d’un crayon et en cliquant
directement sur le tracé, vous créez une transition à l’instant t voulu. Créez un signal dont l’état
logique est 1 de 0 à 100ns, et 0 au-delà de 100ns. Puis terminez par File/Save.
RESET
OUT
OUTBAR
5.0V
2.5V
0V
-2.0V
0s 2us 4us 6us 8us 10us
V(CR) V(out1) V(out2)
Time
Par ailleurs, en effectuant un zoom sur les transitions des signaux OUT et OUTBAR, on constatera la
modélisation et la représentation par PSPICE des états R (Rise) et F (Fall) qui sont définis comme
des phases de passage de l’état logique ‘0’ vers ‘1’ et inversement, phases durant lesquelles le signal
est dans une plage d’indétermination.
RESET
OUT
OUTBAR
plages d’indétermination
5.0V
2.5V
0V
-2.0V
2.400us 2.410us 2.420us 2.430us 2.440us
V(CR) V(out1) V(out2)
Time
0 : état logique 0
1 : état logique 1
R : transition montante
F : transition descendante
X : état indéterminé (haut, bas, intermédiaire ou métastable)
Z : état de forçage d’une sortie.
0 1 R F X Z
Ces états logiques représentent des définitions limitées qui ne correspondent pas à un niveau de
tension déterminé, ni même stable :
- un état logique 0 (ou 1) signifie que la tension correspondante appartient à la plage de tension
basse (ou haute) d’une famille de circuits intégrés logiques.
- un état R (ou F) signifie qu’un signal est susceptible de passer de l’état bas à l’état haut (ou
l’inverse) à un instant quelconque de l’intervalle spécifié. Il ne donne aucun renseignement quant
à la vitesse de croissance ( ou de décroissance) de ce signal.
Par défaut, l’ensemble des éléments digitaux (TTL, CMOS, ECL) placés sur le schéma sont déjà
alimentés. Par exemple, les familles TTL et CMOS sont alimentées en 5V.
Nous pouvons être amené à modifier l’alimentation de certains boîtiers, voir même de la totalité des
éléments digitaux d’un schéma.
A titre d’exemple, nous reprenons l’application précédente et nous allons modifier uniquement
l’alimentation du trigger de Schmitt U3A (7414) de la famille TTL.
DIGIFPWR
Nous allons utiliser l’éditeur de propriétés afin de modifier certains attributs de l’élément DIGIFPWR.
Ouvrez l’éditeur et dans l’onglet Parts, changez les valeurs de VOLTAGE et REFERENCE (ou
directement dans l’élément DIGIFPWR).
Dans l’onglet Pins, renommez les broches d’alimentation en remplaçant <Gnd_Node> par
My_Ref et <Pwr_Node> par My_Power.
Considérez maintenant l’élément U3A et modifiez, à l’aide de l’éditeur de propriétés, les attributs
du composant logique pour faire correspondre les champs $G_DGND et $G_DPWR avec les
valeurs définies précédemment, respectivement My_Ref et My_Power.
Les broches d’alimentation du composant U3A sont alors connectées à la nouvelle alimentation.
RESET
OUT
OUTBAR
5.0V
2.5V
0V
-2.0V
0s 2us 4us 6us 8us 10us
V(CR) V(out1) V(out2)
Time
Constatez ici une amplitude plus faible du signal V(out1) comparée à celle obtenue lors de la
simulation précédente.
Passons à la troisième approche de ce type de simulation. Les sujets à aborder ici sont le placement
automatique des labels de bus et le format de visualisation de ces bus sous Probe.
Saisie du schéma
V
VP
JK D[7..0]
HI
R3
R1 V
10k
U3
V
3 D0
330 U2A O0 D1
2
14 12 VBR Clk2 14 O1 4 D2
U1A J Q CLK O2 7 D3
1 2 Clk1 1 13 O3 10 D4
CLK R2 LO O4
CLKINHIBIT 1 D5
74LS14 3 13 10k O5 5 D6
Q1
CLR
K Q O6 6 D7
C1 O7 9
O8 11
0.3u 7473
RESET
Q2N2222 O9 12
2
CARRYOUT
0 DSTM1
RAZ
S1 0
V CD4017A
15
Implementation = RAZ
VP
PARAMETERS: RESET
Valim = 5V VP + IC= {Valim} C2
0.1u
V1
DC = {Valim} V
R4
1k
0
0
Placez un tel élément pour définir le signal RAZ et accédez le menu Edit/Pspice Stimulus.
Ensuite, dans l’éditeur de stimuli, faites Stimulus/New afin de paramétrer le signal : nommez-le
‘RAZ’, choisissez Signal, Initial Value à 0 et tapez OK.
Accédez au menu Plot/Axis Settings et prenez une échelle des temps de 0 à 2 µs.
Entrez dans le menu Edit/Add, créez un signal dont l’état logique est 0 de 0 à 1 µs, et 1 au-delà
de 1 µs, puis terminez par File/Save.
D[7..0]
U3
3 D0
O0 2 D1
14 O1 4 D2
CLK O2 7 D3
13 O3 10 D4
CLKINHIBIT
O4 1 D5
O5 5 D6
O6 6 D7
O7 9
O8 11
RE
O9 12
SE
CARRYOUT
T
15 CD4017A
c Tracez un fil et placez un alias sur ce fil que vous nommez D0.
d Appuyez sur la touche CTRL. Sélectionnez le fil et déplacez-le à l’endroit voulu à l’aide de la
souris. Relachez la touche CTRL (le fil est inséré automatiquement et son label est incrémenté lui
aussi).
e Appuyez autant de fois sur F4 que vous avez de signaux à connecter au bus (les alias sont
incrémentés).
f Ensuite, placez le bus et nommez-le D[7:0].
Profil de simulation
Entrez dans le menu PSpice/Edit Simulation Settings, puis sélectionnez l’onglet Options.
Choisissez la catégorie Gate-level Simulation afin de configurer les paramètres de simulation
digitaux :
RAZ
{D[7:0]} 1 2 4 8 10
6.0V
4.0V
2.0V
0V
0s 0.2ms 0.4ms 0.6ms 0.8ms 1.0ms
V(RESET) V(CLK2) V(VBR) V(CLK1)
Time
Par défaut, la valeur d’un bus s’affiche en Hexadécimal. Pour modifier le format, cliquez sur le signal
en question D[7 :0] et entrez dans le menu Edit/Modify Objet :
Il peut se produire des problèmes lors d’une simulation numérique. Au sein de cette application qui
consiste à tester une bascule JK, nous allons générer deux types d’erreurs, à savoir une erreur de
SETUP et une erreur de WIDTH.
Saisie du schéma
DSTM1
in
S1
Implementation = in V U1A
14 12 out
J Q
DSTM2
clk 1
S1 CLK V
Implementation = clk V
3 13
CLR
LO K Q
74LS73A
DSTM3
clr
2
S1
Implementation = clr V
Après avoir créé un nouveau projet, saisissez le schéma avec les stimulis qui suivent.
Remarque : la position de la transition voulue, effectuée à l’aide du curseur en forme de crayon, est
indiquée en bas et à gauche de la fenêtre de l’éditeur de stimulis.
Sauvegardez le projet.
Profil de simulation
Créez un nouveau profil.
Dans le menu Simulation Settings, définissez une analyse temporelle de 600 ns, puis lancez la
simulation.
Résultats de la simulation
A la fin de la simulation, PSpice indique qu’il a détecté deux Warnings.
Le système vous demande si vous souhaitez visualiser les erreurs. Choisissez Oui.
Choisissez le problème rencontré à t = 200 ns, de type SETUP, et cliquez sur Plot.
Une nouvelle fenêtre s’ouvre dans laquelle le premier problème est décrit :
Il s’agit d’un problème sur le temps de Setup de la bascule qui n’a pas été respecté. Des curseurs
sont mis en place pour indiquer la zone interdite de basculement des Data avant l’arrivée du front
d’horloge.
Choisissez le deuxième problème rencontré à t = 520 ns, de type WIDTH, et cliquez sur Plot.
Dans le cadre de la simulation numérique, PSPICE offre une simulation dite de « WORST-CASE ».
Ce type d’analyse permet de représenter, sur une seule et même simulation, les temps de
propagations minimal et maximal des composants par l’intermédiaire des états R et F.
Saisie du schéma
U1A U2A
DSTM1
S1 clk 1 2 out1 1 2 out2
Implementation = clk V
74LS04 V
74LS04 V
Le montage est réalisé avec un stimulus de nom ‘clk’ (librairie [Link]) de type CLOCK tel
que l’état initial soit ‘0’, l’état ‘1’ dure 50 ns et une période de 100 ns.
Sauvegardez le projet.
Profil de simulation
Cette simulation est réalisable en définissant une analyse temporelle et en paramétrant la simulation
numérique.
Dans le menu Simulation Settings, définissez une analyse temporelle de 300 ns, puis avec
l’onglet Options, choisissez l’option Worst-case de la section Timing Mode.
Résultats de la simulation
OUT1
OUT2
CLK
A l’aide des curseurs, mesurez les temps de propagation de la première porte (OUT1).
Comparez et concluez.