Électronique numérique Année 2011-2012

publicité
TEXTE DES TRAVAUX PRATIQUES
Électronique numérique
Année 2011-2012
Laboratoire SIGMA : Bât. H, 4ème étage
Travaux pratiques d’électronique : Bât. A, 1er étage
Travaux Pratiques d’Électronique, ESPCI 1
ère
année
PARTIE I : DE LA MÉMOIRE RS À LA BASCULE JK
Le but de ces travaux pratiques est d’introduire les notions nécessaires à l’étude et à
la réalisation des systèmes séquentiels.
I
Travaux Pratiques d’Électronique, ESPCI 1
II
ère
année
La mémoire RS
C’est une mémoire très simple : il faut 4 transistors. Elle est représentée sur la
Figure 3, dans une réalisation avec des portes NON-ET (une autre réalisation utilise
des portes NON-OU).
Définitions
Un système combinatoire est caractérisé par des relations booléennes entre ses n
entrées (ei) et ses m sorties (Sj). La valeur du vecteur S est entièrement déterminée
par celle du vecteur d’entrée e, c’est une fonction de e (voir Figure 1).
Figure 3. La mémoire RS (réalisation avec des portes NON-ET).
Figure 1. Représentation d’un système combinatoire
Ceci n’est plus vrai dans le cas d’un système séquentiel, pour lequel à une même
valeur du vecteur d’entrée peuvent correspondre différentes valeurs du vecteur de
sortie. Plus précisément, c’est à une séquence temporelle déterminée des valeurs du
vecteur d’entrée que correspond une séquence du vecteur de sortie. Cette définition
suggère l’existence de mémoires dans les systèmes séquentiels. Le temps joue un
rôle fonctionnel.
Un système séquentiel se représente par un modèle bouclé, comportant des entrées
indépendantes, des sorties, des variables d’état (ou excitations) qui sont rebouclées
et retardées pour constituer des entrées d’état. Les sorties et les excitations sont des
fonctions booléennes des entrées indépendantes et d’état (voir Figure 2).
Les sorties Q et P ne peuvent pas s’exprimer comme des fonctions booléennes des
seules entrées a et b à cause du bouclage. Pour analyser le fonctionnement de ce
système séquentiel, il est nécessaire de prendre en considération le temps de
traversée des portes. Pour définir les excitations, il faut supprimer toutes les boucles
en coupant le minimum de connexions (une coupure = une excitation). Il suffit ici de
couper une seule connexion pour obtenir une telle représentation, comme le montre
la Figure 4.
Figure 4. Modèle pour l’analyse de la mémoire RS (système séquentiel).
Le système combinatoire ci-dessus fournit les fonctions booléennes de l’excitation et
des sorties :
!#Q = a.b.q = a + b.q
"
$#P = q.b = q + b
On en déduit les tables de vérité de l’excitation et des sorties (Figure 5).
Figure 2. Représentation d’état d’un système séquentiel
1/21
2/21
Travaux Pratiques d’Électronique, ESPCI 1
(a)
Q
q
10
année
Travaux Pratiques d’Électronique, ESPCI 1
ère
année
(b)
QP
ab 00 01 11
ère
q
ab 00 01
11 10
0
1
1
0
0
0
11 11
01 01
1
1
1
1
0
1
11 10
10 01
Figure 5. Tables de vérité de l’excitation (a) et des sorties (b) de la mémoire RS.
Chaque colonne correspond à une combinaison des entrées primaires. Agir sur le
système consiste à changer de colonne. Par hypothèse, on ne change qu’une entrée
primaire à la fois. Un état pour lequel Q = q est dit stable, sinon il est dit instable. Sur
la Figure 5, les états stables sont entourés d’un cercle. Étudier les transitions entre
les états stables.
Le chronogramme suivant des entrées a et b illustre une utilisation typique de cette
mémoire.
a
Figure 7. Dispositif antirebond.
Manipulation
Réaliser une mémoire RS à l’aide de deux circuits logiques NON-ET à deux entrées
(circuit 7400 ; vérifier individuellement le bon fonctionnement de toutes ses portes au
préalable). Prévoir d’utiliser quatre circuits comme indiqué en Annexe 1.
b
Q
P
Figure 6. Chronogramme d’utilisation typique de la mémoire RS.
Tracer les chronogrammes de Q et de P. Décrire le fonctionnement de la mémoire,
en particulier la fonction des entrées a et b, et en déduire quelle est l’entrée s
(comme « set » : mise à 1 de la sortie Q) et l’entrée r (comme « reset » : mise à 0 de
la sortie Q).
Figure 8. Chronogramme de test.
Vérifier les états stables et les transitions données par la table d’excitation en
appliquant la séquence de la Figure 8 aux entrées à l’aide d’interrupteurs (compléter
la séquence de Q).
Utilisation de la mémoire RS
Du point de vue de l’utilisateur, il est intéressant de disposer de la sortie Q et de son
complément Q . La table de vérité des sorties montre que P = Q pour tous les états
stables sauf pour les entrées a = b = 0. Il suffira donc d’interdire cette combinaison
des entrées. Montrer que c’est le cas pour l’application la plus connue, un dispositif
de suppression des commutations intempestives dues aux rebonds des interrupteurs
mécaniques utilisés comme éléments de commande des systèmes logiques, dit
dispositif « anti-rebond », représenté sur la Figure 7.
3/21
III
Le verrou RS
C’est la mémoire verrouillable la plus simple que l’on puisse imaginer : elle ne
comporte elle aussi qu’une excitation, voir Figure 9. L’entrée de verrouillage est
notée v.
4/21
Travaux Pratiques d’Électronique, ESPCI 1
ère
année
Travaux Pratiques d’Électronique, ESPCI 1
ère
année
v
s
r
Q
Figure 9. Le verrou RS.
déverrouillage
verrouillage déverrouillage
Figure 11. Chronogramme d’utilisation du verrou RS.
QP
v
q
0
1
sr 00 01 11
10 00 01
11 10
0
01 01 01
01 01 01
11 11
1
10 10 10
10 10 01
11 10
En général, le verrou RS est utilisé pour constituer un « verrou D ». Il suffit pour cela
de réaliser s = d et r = d . Les entrées s et r ne sont donc jamais à r = s = 1. Le
problème dû à l’aléa de propagation n’existe donc pas pour le verrou D2. De plus,
pour tous les états stables, on a P = Q , comme le montre la table de vérité des
sorties ci-dessous.
verrou D
Figure 10. Table de vérité des sorties du verrou RS.
d
La table de vérité des sorties du verrou RS est représentée sur la Figure 10. Étudier
le fonctionnement du verrou à l’aide de cette table. En particulier :
a) Expliciter son comportement lorsque v = 0 et qu’interviennent des transitions sur
les entrées s et r. De même lorsque v = 1.
b) Établir quelle transition de l’entrée de verrouillage provoque la transition éventuelle
des sorties.
c) Montrer que si v passe de 1 à 0 avec s = r = 1, la valeur de Q résultante n’est pas
prévisible (les temps de traversée des deux couples de portes NON-ET sont
différents et inconnus) : nous dirons que le fonctionnement de la verrou comporte un
aléa de propagation1.
Utilisation du verrou RS ; verrou D
QP
s
Q
verrou
SR
r v P
v
q
d
0
0
1
1
0
1
0
01 01
01 11
1
10 10
01 10
Figure 12. Le verrou D.
Le chronogramme de la Figure 13 illustre le fonctionnement typique du verrou D.
Lorsque v = 1, Q suit l’entrée d avec un retard de quelques nanosecondes. La
transition 1 ! 0 de l’entrée v verrouille la sortie Q à la valeur qu’elle possède à cet
instant.
Ceci impose donc d’interdire la combinaison s = r = 1 lorsque l’on utilise ce verrou.
Voici un chronogramme d’utilisation typique :
v
d
Q
Figure 13. Chronogramme d’utilisation du verrou D.
1
Noter que la table de la Figure 10 ne met pas en évidence l’aléa de propagation, observation qui
dévoile une carence de notre méthode d’analyse : la table de vérité des excitations ne permet pas
d’analyser complètement le fonctionnement d’un système séquentiel, à une seule excitation qui plus
est ! En effet, dans un circuit où un même signal emprunte deux chemins symétriques, il faut, pour
mettre en évidence un aléa de propagation, considérer deux signaux différents, un par chemin, pour
te
établir la table d’excitation. À faire en exercice, pour le schéma simplifié avec s = r = 1 = c , qui est le
cas qui nous occupe, avec deux signaux v1 et v2 pour le signal v.
En fait, à cause du retard introduit par la porte NON entre les deux entrées s et r, les entrées s et r
sont à 1 pendant quelques nanosecondes quand d passe de 0 à 1. Pour qu’il y ait un aléa de
propagation, il faut que le verrou passe de 0 à 1 justement pendant ces quelques nanosecondes.
Évaluer la probabilité d’un tel événement.
5/21
6/21
2
Travaux Pratiques d’Électronique, ESPCI 1
ère
année
Travaux Pratiques d’Électronique, ESPCI 1
Néanmoins, comme le verrou RS, le verrou D ne peut être utilisé comme élément de
base d’un système de logique synchrone dont l’horloge serait appliquée à l’entrée v.
Exercice : montrer que l’on ne peut pas réaliser un N-registre à décalage avec N
verrous D en cascade.
UQ
h
0
10 00 01
11 10
00 00 00 00
00 00 00
10 10
01 00 00 00
00 01 01
11 11
11 11 11 11
11 11 01
11 11
IV
10 11 11 11
11 10 00
10 10
Les éléments de base des systèmes synchrones sont des bascules dont,
contrairement aux verrous, le signal d’horloge seul provoque les transitions de la
sortie en fonction des valeurs imposées aux entrées. Les problèmes apparus avec
les verrous sont résolus en compliquant la structure. Ainsi, les bascules possèdent
au moins deux excitations.
On obtient une bascule RS en mettant en cascade deux verrous RS, le verrou
« maître » étant commandé par l’horloge, et le verrou « esclave » par son
complément, voir Figure 14. Les deux excitations sont par exemple U et Q.
année
1
sr 00 01 11
uq
Manipulation
Réaliser un verrou RS en utilisant la mémoire RS précédente, sur le même circuit
7400.
La bascule RS
ère
Figure 15. Table de vérité des excitations de la bascule RS.
Utilisation de la bascule RS
Montrer que, contrairement au verrou RS, une bascule RS maître-esclave peut-être
utilisée comme élément de base d’un registre à décalage (voir le schéma du registre
à décalage SN7495 sur le site de Texas Instruments http://www.ti.com/).
Manipulation
Figure 14. La bascule RS.
N.B. L’indétermination de la sortie des verrous lorsque s = r = 1 persiste ici et conduit
à interdire cette combinaison des entrées lors de l’utilisation de cette bascule.
La Figure 15 montre la table des excitations U et Q. Vérifier que les entrées s et r ne
provoquent jamais de transition de la sortie Q, et qu’elles sont provoquées par la
transition 1 ! 0 du signal h. Comme nous l’avons dit plus haut, c’est cette propriété
qui définit ce que nous appelons une bascule et ce qui en fait un élément de base
fiable d’un système synchrone.
7/21
Réaliser une bascule RS en utilisant le verrou RS précédent comme verrou esclave.
Prendre des NON-ET à 3 entrées pour les entrées du verrou maître (circuit
7410), et des NON-ET à 2 entrées pour ses sorties (cf. Annexe 1). Mettre les
entrées inutiles au +5V (ce qui revient à imposer un « 1 » logique), elles seront
utilisées pour le montage suivant. Tester le verrou maître seul, puis mettre ses
sorties en entrée du verrou esclave, ainsi que l’horloge complémentée (circuit 7404).
Vérifier le bon fonctionnement de la bascule.
V
La bascule JK créneau
Une légère modification de la bascule RS permet d’obtenir une bascule sans aléa de
propagation, et qui permet d’utiliser la combinaison j = k = 1 conduisant au
changement inconditionnel de la valeur de la sortie. Le fonctionnement d’une telle
bascule est défini par la pseudo-table de vérité (voir Annexe) du Tableau 1 :
8/21
Travaux Pratiques d’Électronique, ESPCI 1
J
0
0
1
1
K
0
1
0
1
ère
année
Travaux Pratiques d’Électronique, ESPCI 1
Q+
Q–
0
1
h
Q–
k
Tableau 1. Pseudo-table de vérité de la bascule JK.
j
ère
année
Pjh = qJh
ET1
qhk
ET2
x + qhk
ET4
X = qjh + xqhk
ET3
q
La bascule JK, dite « maître-esclave », est une bascule RS avec deux bouclages
supplémentaires des sorties sur les NON-ET d’entrée.
P = q + xh
x
xh
ET6
h
ET8
Q = xh + q(x + h)
ET7
xh
ET5
Figure 17. Modèle pour l’analyse de la bascule JK maître-esclave
XQ
Figure 16. La bascule JK maître-esclave (créneau).
Il suffit de deux coupures, par exemple en X et en Q, pour supprimer toutes les
boucles, d’où deux excitations. Les fonctions booléennes réalisées par chacune des
portes NON-ET sont explicitées sur la Figure 17. On en déduit la table des
excitations (Figure 18).
Écrire la table de vérité des sorties, et vérifier que, pour les états stables, Q et P sont
complémentaires. En déduire pourquoi les bouclages supplémentaires par rapport à
la bascule SR suppriment l’aléa de propagation.
Vérifier que, lorsque h = 0, une modification des valeurs des entrées J et K ne
modifie pas celle de la sortie Q (comme pour la bascule RS).
Vérifier que, pour des valeurs données de j et k, une transition 0!1 de l’horloge ne
modifie pas la valeur de Q, alors qu’une transition 1! 0 est susceptible de le faire.
h
0
1
jk 00
01 11 10
00 01 11
10
00 00
00 00 00
00 00 10
10
01 00
00 00 00
01 01 01
01
11 11
11 11 11
11 01 01
11
10 11
11 11 11
10 10 10
10
xq
Figure 18. Table des excitations de la bascule JK maître-esclave.
Étudier toutes les transitions du système, pour j et k fixées, lorsque l’horloge effectue
une transition 0!1, puis une transition 1!0. Montrer que cette bascule se comporte
conformément à la pseudo-table de vérité du Tableau 1 si r = cte et s = cte pendant
que h = 1. La bascule étudiée est dite « créneau » (« pulse-triggered »).
Manipulation
Réaliser la bascule JK à partir de la bascule SR précédente (ajouter les bouclages
des sorties Q et P sur les entrées des NON-ET à 3 entrées non utilisées
précédemment). Vérifier que le comportement attendu pour s = r = 1 est bien obtenu.
Appliquer aux entrées des signaux mettant en évidence son caractère « créneau ».
Vérifier le résultat de ces séquences sur la table de vérité des sorties.
9/21
10/21
Travaux Pratiques d’Électronique, ESPCI 1
VI
ère
année
La bascule JK front positif (FACULTATIF)
h
j
ET
ET
OU
k
ET
X
x
ET
Y
ère
année
PARTIE II : SYNTHÈSE
Ainsi, la fonction JK n’est pas toujours respectée avec une bascule créneau si les
entrées J et/ou K changent de valeur quand l’horloge est à 1. Les bascules front
positif ou négatif ne présentent pas ce défaut, ce qui permet de le utiliser pour
réaliser des circuits synchrones plus rapides.
Le schéma de la bascule JK 74109 est représenté sur la Figure 19. Utiliser la
méthode précédente pour analyser son fonctionnement. Montrer qu’en coupant aux
endroits indiqués, on obtient un circuit combinatoire. Établir la table des excitations
X, Y et Q. Caractériser entièrement le fonctionnement (table de vérité, transition
active, phase de sensibilisation) de la bascule.
ET
Travaux Pratiques d’Électronique, ESPCI 1
y
ET
Figure 19. La bascule JK 74109 (front positif).
ET
Q
q
P
Construire le schéma du montage qui permet de répondre au cahier des charges
et réaliser un tel montage pour au moins un des exercices et un des problèmes
proposés ci-dessous.
Exercice 1 : Câblage d’un additionneur complet.
Un additionneur de nombres exprimés en binaire peut-être réalisé en deux étapes
décrites ci-dessous. Proposer des schémas de câblage et réaliser le montage de
l’additionneur complet pour deux mots de 2 bits, la sortie comprenant 2 bits plus un
bit de retenue.
Demi-additionneur avec retenue
Ce circuit réalise l’addition de 1bit + 1bit + une retenue de sorte qu’il possède trois
entrées et deux sorties. Ecrire ses équations logiques.
À l’aide de deux circuits de ce type faire le montage de l’additionneur 2 bits désiré.
Exercice 2 : Codeur de priorité
Dans un mots de 4 bits, on désire connaître le numéro (codé sur 2 bits) du bit non
nul le plus élevé. C’est typiquement ce que l’on utilise dans le cas d’alarmes rangées
par ordre de priorité, car lorsque deux alarmes s’enclenchent simultanément, c’est la
réponse à l’alarme prioritaire qui doit être mise en œuvre. Prévoir la situation où tous
les bits d’entrée sont nuls.
Exercice 3 : Détecteur du nombre de jours dans le mois
Il s’agit d’un circuit qui reçoit en entrée le numéro du mois codé sur 4 bits et qui
indique en sortie si ce mois a 31 jours ou non. Prévoir le mois de février.
Exercice 4 : Multiplexeur
Un multiplexeur est un circuit qui transmet à sa sortie la valeur de l’une de ses 2N
entrées ; les entrées sont numérotées de 0 à 2N-1. L’entrée transmise est choisie par
son numéro codé sur N bits d’adresse. Réaliser un multiplexeur 4 entrées (N = 2)
(Figure 1).
11/21
12/21
Travaux Pratiques d’Électronique, ESPCI 1
ère
année
Travaux Pratiques d’Électronique, ESPCI 1
ère
année
Multiplexeur N bits
Entrées
Sortie
Problèmes
2N
Problème 1 : Réalisation de la commande d’un ascenseur
Adresse
N
Figure 1: Multiplexeur
Exercice 5 : Circuit transmettant des impulsions d’horloge sous
condition.
Condition e
?
Sortie s
Cahier des charges.
On désire réaliser la commande d’un ascenseur qui est supposé desservir quatre
niveaux (0, 1, 2 et 3). Les « états » possibles de l’ascenseur sont : en arrêt, en
montée ou en descente, ceci en fonction de la référence (étage auquel on veut se
rendre) et de l’étage où se trouve l’ascenseur.
Indications.
A tout instant, la logique doit comparer l’étage auquel se trouve l’ascenseur à celui
qui est demandé par l’opérateur. Puis, lorsque l’étage demandé et l’étage de
l’ascenseur ne coïncident pas, une action adéquate doit s’effectuer afin de déplacer
l’ascenseur vers l’étage demandé, sous la forme d’une incrémentation ou
décrémentation de celui auquel il se trouve. De ce fait, le circuit à réaliser peut être
vu comme comportant deux montages qu’il s’agit de développer indépendamment
puis de relier de façon ad hoc :
un comparateur, strictement combinatoire,
un compteur/décompteur, composé d’éléments combinatoires et séquentiels.
Horloge h
Figure 2
Cahier des charges.
On désire que la sortie s du schéma de la
Figure 2 reproduise en synchronisme le signal h pendant que e est au niveau 1, et
ceci sans tronquer ni la première ni la dernière impulsion d’horloge transmise
(toutefois un décalage est accepté). Proposer un montage réalisant cette fonction et
représenter sur un chronogramme les signaux intéressants en faisant apparaître les
temps de retard, si on utilise des bascules PET et des bascules NET. Identifier le
« glitch »
Proposer un montage pour un système ne laissant passer qu’une impulsion.
Problème 2 : réalisation d’un chronomètre avec bouton de
commande et affichage en décimal.
Cahier de charges.
On désire réaliser un chronomètre avec affichage numérique de 0 à 15, avec un seul
bouton de commande réalisant, par appuis successifs, trois fonctions, dans l’ordre
suivant :
1. démarrage du comptage,
2. arrêt du comptage,
3. remise à zéro.
Indications.
Ce circuit comporte trois montages:
un compteur pour la mesure du temps, composé d’éléments séquentiels et
combinatoires,
Un compteur pour les fonctions du bouton de commande, composés d’éléments
séquentiels et combinatoires
Le circuit de décodage pour l’afficheur 7 segments est disponibles dans les
bibliothèques Quartus.
13/21
14/21
Travaux Pratiques d’Électronique, ESPCI 1
ère
année
Problème 3 : Réalisation d’un feu de signalisation pour piétons.
Cahier des charges :
On désire réaliser un feu de croisement entre voitures et piétons. Dans une première
partie, on considère que ce feu fonctionne selon un cycle, sans intervention
extérieure. Le feu des voitures passe du vert à l’orange, puis de l’orange au rouge,
puis retourne directement au vert. Tandis que le feu du piéton est rouge pendant que
le feu des voitures est vert ou orange, puis devient vert lorsque le feu des voitures
passe au rouge et redevient rouge un peu avant que le feu des voitures ne repasse
au vert. Dans une seconde partie, on pourra compléter le circuit de sorte que le cycle
précédent ne se déroule que sur demande d’un piéton à partir d’un bouton poussoir,
sans quoi le feu reste vert en permanence pour les voitures.
Indications :
Ce circuit comporte trois parties :
Un compteur pour constituer la base de temps du système,
Un circuit combinatoire dont les sorties sont les 5 éléments du feu de croisement
(vert/orange/ pour voitures et vert/rouge pour piétons),
Un circuit combinatoire et séquentiel pour le bouton poussoir,
Travaux Pratiques d’Électronique, ESPCI 1
année
Annexe 1
Disposition des circuits sur le logitest et conseils
Conseils : disposer les quatre circuits ci-dessous sur le logitest dès le début de la
manipulation, et tester le bon fonctionnement de toutes leurs portes. Tester
également le bon fonctionnement des interrupteurs et des voyants lumineux dont
vous aurez besoin. Ces précautions prises, de futurs dysfonctionnements ne
pourront être dus qu’à des erreurs de câblage ou à des fils défectueux.
7410
(3 NONET à 3
entrées)
7404
(6 NON)
Q
P
verrou maître
7400
(4 NONET à 2
entrées)
7400
(4 NONET à 2
entrées)
S ou J R ou K
mémoire SR, puis
verrou (esclave)
V ou H
Figure 20. Disposition des circuits pour la réalisation.
15/21
ère
16/21
Travaux Pratiques d’Électronique, ESPCI 1
ère
année
Travaux Pratiques d’Électronique, ESPCI 1
Annexe 2
Classification des bascules
I
Q+
0
1
T
0
1
Q+
Q–
Q!
S
0
0
R
0
1
Q+
Q–
1
1
0
1
0
J
0
0
K
0
1
1
?
1
1
0
1
Q+
Q–
0
Classification à partir des phases de sensibilisation et des
transitions actives de l'horloge
Définition de la phase de sensibilisation : pour que la pseudo-table de vérité soit
effectivement respectée par le fonctionnement d'une bascule réelle, il faut que la ou
les entrées (D ou T, ou S et R, ou J et K) soient constantes à partir d'un certain
temps avant l'une des transitions du signal d'horloge jusqu'à un certain temps après
cette transition ou la suivante (si cette dernière est 1!0). Cette phase de
sensibilisation peut donc encadrer une transition (bascule front positif ou front
négatif, "Positive or Negative Edge Triggered flip-flop") ou bien la durée pendant
laquelle le signal d'horloge est à 1 (bascule créneau, "Pulse Triggered flip-flop").
Les constructeurs utilisent les symboles suivants :
• 5" signifie que les entrées doivent être présentes et stables 5 ns avant la transition
0!1 ("set up time").
• "3 signifie que les entrées doivent être présentes et stables jusqu'à 3 ns après la
transition 0!1 (hold time).
Une bascule créneau ("Pulse Triggered flip-flop") est définie par le symbolisme
suivant (exemple): 5" #4 (pour un fonctionnement correct, les entrées doivent être
stables au moins 5 ns avant la transition 0!1 de l'horloge et doivent le rester
jusqu'au moins 4 ns après la transition 1!0.
Il existe les bascules suivantes :
Transition active
"
#
Créneau
$" #%
"Pulse Triggered"
Phase de
Front positif
Verrouillage des entrées
$"%
sensibilisation
"Positive Edge Triggered" "With Data Lockout"
Front négatif
$#%
"Negative Edge Triggered"
17/21
A l’aide du logiciel QuartusII, il est proposé d’effectuer la conception, la simulation
et l’implémentation sur circuit logique des problèmes et des exercices proposés.
1
Q!
D, T, S, R, J, K représentent les valeurs binaires des entrées pendant la phase de
sensibilisation de la bascule. Q– représente la valeur binaire de la sortie pendant la
phase de sensibilisation de la bascule. Q+ représente la valeur binaire de la sortie
après (éventuellement modifiée par) la transition active (0!1 ou 1!0) du signal
d'horloge. Cette transition active est donc celle qui termine la phase de
sensibilisation.
II
année
Annexe 3
Travaux pratiques d’électronique numérique
Outil de conception assistée par ordinateur (CAO)
Classification à partir des pseudo-tables de vérité
D
0
1
ère
I
Principe général du fonctionnement de QuartusII
Le logiciel QuartusII permet de dessiner un circuit logique combinatoire ou
séquentiel en utilisant des composants logiques (portes, bascules). Le
fonctionnement du circuit, dont les entrées et les sorties sont définies lors de la
phase de conception, peut ensuite être simulé. Pour réaliser cette simulation, le
chronogramme des entrées doit être défini par l’utilisateur et celui des sorties sera
déterminé par le logiciel.
Lorsque la réalisation est satisfaisante, le logiciel permet de programmer un
circuit logique programmable. Les entrées et les sorties du schéma sont affectées à
des broches du circuit physique.
Le travail proposé doit s’effectuer suivant les trois étapes suivantes :
!
!
!
Conception et validation du circuit de commande.
Simulation.
Programmation du circuit physique et vérification du bon fonctionnement.
La suite de ce document présente en détail la démarche à suivre pour l’utilisation
du logiciel QuartusII et ceci pour chacune des trois étapes de la conception.
II
Conception et validation du circuit de commande
II.1
Création d’un projet.
La première étape consiste à définir un projet qui regroupera les différents fichiers
nécessaires à la conception, la simulation et la programmation du circuit. Pour cela,
utilisez la commande File > New Project Wizard …
! Choisissez le repertoire c:/TP/ALTERA/ pour enregistrer votre projet et un
nom (Next)
! Aucun fichier à inclure (Next)
! Selectionnez le composant sur lequel vous allez programmer votre circuit ;
sur votre carte de developpement le composant est EPM3032ALC44-10
de la famille MAX3000 (Next)
! (Next), (Finish)
Votre projet est maintenant créé.
18/21
Travaux Pratiques d’Électronique, ESPCI 1
ère
année
Le premier fichier que vous allez ajouter à votre projet correspond à la saisie
graphique du schéma de votre circuit. Il possède l’extension .bdf (Block Diagram
File) et porte le même nom que le projet. Pour le créer, aller dans File>New, Block
Diagram File. Enregistrez ce fichier dès à présent File>Save As en lui donnant le
même nom que votre projet.
II.2
Réalisation graphique du circuit
Pour positionner les circuits logiques (portes, bascules, compteurs,…), les
entrées et les sorties, les signaux logiques 0 et 1 (Vcc, ground), double-cliquez dans
la fenêtre qui s’est ouverte (fichier bdf) ou cliquez sur l’icône
de la barre d’outil à
gauche. Vous pourrez alors choisir les portes logiques ou bascules que vous voulez
insérer en les sélectionnant dans la liste des circuits et éléments disponibles en
bibliothèque. Les fonctions classiques, les entrées et sorties, les alimentations se
trouvent dans la bibliothèque c:/altera/…>primitives> :
! >logic> pour les fonctions combinatoire ;
! >other> pour Vcc et Ground ;
! >pin> pour les entrées et les sorties,
! >storages> pour les bascules JK, D, …
Pour tracer les connexions entre les circuits, reliez simplement les entrées et les
sorties des composants que vous avez placés sur la feuille.
Pour déplacer un circuit tout en maintenant les connexions, cliquez sur l’icône
de ce menu. La connexion est établie automatiquement quand les extrémités de
deux pistes se touchent par positionnement d’un objet. Il est néanmoins préférable
de positionner les circuits suffisamment espacés au départ pour limiter les
repositionnements.
Pour définir les entrées et les sorties de votre circuit, sélectionnez les
composants >pin>input et >pin>output>. Nommez ensuite les entrées et les sorties
du circuit que vous êtes en train de créer en double-cliquant sur « PIN_NAME ». Ce
sont ces signaux qui vous permettront de simuler le comportement logique du circuit
à l’aide d’un chronogramme, et ceux qui seront ensuite disponibles sur les pattes du
composant.+
Sauvegardez votre circuit File>Save. Vous lancez la compilation en appuyant sur
Start (voir ci-dessous).
Travaux Pratiques d’Électronique, ESPCI 1
ère
année
Pour la compilation, seul la référence du composant est nécessaire, sa
programmation n’interviendra que plus tard.
Lancez la compilation par le menu >Processing>Compiler Tool> puis Start. Si des
erreurs apparaissent, elles sont visibles dans la fenêtre du bas. Double-cliquez sur le
message pour la localiser, puis relancer la compilation après correction. Suite à une
compilation réussie, un rapport de compilation est disponible qui comporte en
particulier le taux d’occupation de la puce, l’implantation prévue des Entrées-Sorties,
…
Cliquez sur Report de la fenêtre Compiler Tool pour visualiser ce rapport.
III
Simulation.
Le circuit réalise-t-il la fonction logique désirée ? Pour le savoir, il faut définir les
signaux d’entrée et observer les signaux de sortie correspondants. Créez un
nouveau fichier de type « Vector Waveform File » : File > New > Other Files puis
Vector Waveform File (extension .vwf).
Pour spécifier la durée totale de simulation si nécessaire, allez dans Edit>End
Time. Par défaut, cette durée est fixée à quelques nano seconde ; cette échelle de
temps permet d’observer les délais de propagation des signaux dans les portes et
les bascules mais elle est peu réaliste pour les exercices et problèmes proposés.
Pour spécifier les entrées-sorties qui vous intéressent pour la simulation, doublecliquez sous la colonne Name. Une fenêtre « Insert Node or Bus »apparaît. Si vous
connaissez le nom de vos entrées et sorties vous pouvez compéter le champ prévu à
cet effet, sinon, cliquez sur Node Finder, selectionnez Pins:all dans filter et cliquez
sur list ; faire passer de la partie gauche à la partie droite les signaux qui vous
intéressent par le bouton >.
Cliquez sur Ok pour revenir à la feuille de conception des signaux. Les signaux que
vous avez sélectionnés apparaissent maintenant sur des lignes séparées avec leur
chronogramme correspondant dans la partie de droite.
Pour attribuer des valeurs aux entrées, sélectionnez la plage à laquelle vous
voulez attribuer une valeur en cliquant dans le chronogramme, puis, cette sélection
étant faite, cliquez sur la valeur à attribuer à cette zone dans le menu à gauche
).
Pour réaliser un signal d’horloge, sélectionnez l’intégralité du signal en cliquant
II.3
Validation du schéma par compilation.
La phase de validation consiste, pour le logiciel, à vérifier votre circuit : c’est la
phase de compilation. Elle est composée de 4 étapes :
! L’analyse de votre circuit et sa synthèse,
! L’optimiser du placement de votre circuit dans la puce que vous avez
sélectionnée,
! La création d’un fichier qui sera nécessaire à la programmation de la puce,
! Une analyse des temps de propagations dans votre circuit pour déterminer
sa fréquence maximale d’utilisation.
19/21
sur son nom, puis dans le menu de gauche cliquez sur
la période de l’horloge entre autre.
Utiliser la loupe (
qui vous permet de définir
) pour modifier la plage de temps visualisée.
Sauvegardez le fichier (.vwf) et lancer la simulation à partir du menu
>Processing>Simulateur Tool puis Start. Verifiez que les boites “Automatically add
pins to simulation waveforms”,”Glitch detection”, et Overwrite simulation input file
with simulation results” sont cochées. Il peut être nécessaire de revenir sur la durée
de simulation.
20/21
Travaux Pratiques d’Électronique, ESPCI 1
IV
ère
année
Programmation du circuit physique.
La dernière étape après la compilation et la simulation consiste à programmer la
puce avec votre circuit. Il est nécessaire au préalable de placer les entrées et les
sorties de votre circuit sur des pattes physique du composant. La fonction
>Assignements>Pin Planner ( ) permet de visualiser le composant et d’associer
les entrées-sorties aux pattes du composants.
Les contraintes de la carte de développement imposent les broches associées aux
interrupteurs, aux LED et à l’afficheur.
Pour pouvoir assigner une broche particulière du composant à une de vos
entrées/sorties compléter la colonne location sur la ligne correspondante.
En outre, il est nécessaire de préciser que les broches non utilisées sont à
considérer comme des entrées tri-state pour éviter tout conflit entre le composant et
la carte :
Dans le menu Assignements, cliquez sur Device… ,cliquez sur « Devices and Pin
Options.. » dans le cadre à droite, puis dans l’onglet Unused Pins selectionnez dans
le menu déroulant « As input tri-stated », ok, ok.
Il est alors nécessaire de recompiler le circuit pour re-optimiser le placement. Si vous
obtenez des erreurs à ce stade, cela signifie que la complexité du circuit ne permet
pas d’assigner les broches que vous avez choisies. Il faut alors envisager d’utiliser
un circuit plus gros.
Pour programmer la puce, vérifier que votre carte est connectée au PC par le port
parallèle ou USB. Cliquez ensuite sur
, la fenêtre du programmateur s’ouvre.
Vérifiez que le nom du fichier envoyé sur la puce (extension .pof) correspond bien au
nom de votre projet et cochez les boites «program» et «verify», puis cliquez sur
Start.
Observez le fonctionnement du circuit et vérifiez qu’il est bien conforme aux
chronogrammes établis en tout début de conception du circuit.
21/21
Téléchargement