LE201
Licence d’Ingénierie Electronique
2010-2011
1
TD 1 : Algèbre de Boole
2. Mettez sous forme canonique, disjonctive et conjonctive, les fonctions s dont les tables de
vérités sont données ci-dessous.
4. Ecrire les équations booléennes simplifiées issues des tableaux de Karnaugh de la figure 1.
La figure 2 montre l’intersection entre une route principale et une route secondaire. Des
capteurs de voitures ont été placés le long des voies C et D (route principale) et des voies A et
B (route secondaire). Les sorties de ces capteurs sont à l’état logique 0 quand il n’y a pas de
voitures et à l’état logique 1 quand il y en a.
2
TD 1 : Algèbre de Boole
Le feu de circulation se trouvant à cette intersection est commandé par les règles suivantes:
• Le feu E-O est vert quand il y a des voitures dans les deux voies C et D.
• Le feu E-O est vert quand il y a des voitures dans C ou D et quand il y en a dans A ou
B (ou pas du tout) mais pas dans les deux.
• Le feu N-S est vert quand il y a des voitures dans les voies A et B et qu’il y en a dans
C ou dans D mais pas dans les deux.
• Le feu N-S est aussi vert quand il y a des voitures dans A ou B et qu’il n’y a pas de
voitures dans C et D.
• Le feu E-O est vert quand il n’y a pas de voiture du tout.
E-O
N-S
Figure 3: Chronogramme à compléter
3
TD 2 : Codage
TD 2 : Codage
1. Codage Base 2
Coder en base 2 les nombres décimaux suivants:
• 1024
• 345
• 12
2. Codage Base 16
Coder en base 16 les nombres binaires suivants:
• 100101
• 11110000
• 10101010
3. Codage Base 16
Coder en base 16 les nombres décimaux suivants:
• 10
• 16
• 458
4. Codage DCB
Coder en DCB les nombres :
•5
• 55
• 128
Comparer ces nombres avec leurs homologues codés en binaire standard.
7. Codage en complément à 2
Coder en complément à deux sur 8 bits les nombres suivants:
• 34
• -23
• -128
•0
4
TD 2 : Codage
Lorsque les enfants sélénites, qui n’ont que 4 doigts (le majeur, l’annulaire, l’auriculaire et le
pouce), apprennent à compter sur les doigts, la notion d’ordre n’est pas leur priorité. Cela a
pour conséquence que, pour eux, lever en même temps le majeur et l’annulaire ou bien
l’auriculaire et le pouce produit le même résultat, à savoir ici la représentation du nombre 2.
Il vous ait demandé ici de réaliser un circuit qui a en entrée 4 bits représentant les 4 doigts de
la main d’un enfant sélénite et en sortie N bits codant l’information représentée par ces doigts
en base 2. Un bit en entrée du circuit est à 1 lorsque le doigt correspondant est levé, sinon il
est à 0.
Pour des entiers naturels allant de 0 à 7, représenter sur deux colonnes adjacentes le codage de
ces entiers en binaire naturel (cba) et en binaire réfléchi ou code Gray (gba). Exprimer et
simplifier les variables logiques g, b et a en fonction des variables c, b et a. En déduire une
méthode simple de transcription d’un chiffre codé en binaire naturel en code binaire réfléchi.
5
TD 3 : Fonctions combinatoires complexes
On veut comparer 2 mots de 4 bits A et B. Si on considère les deux bits de même poids Ai et
Bi, trois solutions sont possibles : soit Ai est plus grand que Bi, soit Ai est plus petit que Bi,
soit ils sont égaux.
Le comparateur étudié comporte, outre les 2 mots de 4 bits à comparer, 3 entrées qui résultent
d’une éventuelle comparaison de bits de poids inférieur. Ces entrées sont les suivantes :
– (A < B)in indique que la comparaison des bits de poids inférieur donne A < B
– (A > B)in indique que la comparaison des bits de poids inférieur donne A > B
– (A = B)in indique que tout les bits de poids inférieur sont égaux.
On admettra qu’une seule de ces entrées peut être active.
(b) Exprimer en fonction des fonctions Ei, Gi et Pi définies plus haut, les différentes
possibilités qui imposeront un niveau actif sur la sortie (A > B)out puis sur la sortie
(A < B)out . On pourra considérer les bits de poids le plus fort puis descendre jusqu’aux
bits de poids faible.
On désire maintenant étudier la génération de la sortie (A > B)out. La démarche pour réaliser
cette fonction peut s’exprimer de la manière suivante : A est plus grand que B si A n’est pas
plus petit que B et que A n’est pas égal à B.
(e) Décrivez en VHDL un composant qui compare 2 mots de 4 bits et qui répond à la
description précédente.
(f) Comment peut on associer 2 circuits de ce type pour comparer 2 mots de 8 bits?
(g) Décrivez en VHDL un composant qui compare 2 mots de 8 bits en utilisant des
comparateurs 4 bits.
6
TD 3 : Fonctions combinatoires complexes
On souhaite réaliser un décodeur permettant d’associer l’appui sur un bouton à une couleur
affichée sur un écran VGA.
On dispose de 4 boutons (Bouton0, Bouton1, Bouton2, Bouton3) dont les sorties sont à 0 s’ils
sont relevés et à 1 s’ils sont enfoncés.
Lors de l’appui sur un bouton, la couleur associée à ce bouton doit être affichée sur un écran
VGA. Pour ce faire, un vecteur de 3 bits rgb (r pour red, g pour green et b pour blue) est
envoyé à un driver d’écran VGA.
On choisit d’associer : Bouton0 rouge
Bouton1 bleu
Bouton2 vert
Bouton3 jaune
Le tableau 2 donne la correspondance entre la couleur affichée et le code rgb. Le schéma de la
figure 4 représente le système global d’affichage.
RGB Couleur
Bouton0
Bouton1
rgb 000 Noir
décodeur 001 Bleu
Bouton2
Bouton3
010 Vert
3 011 Cyan
100 Rouge
101 Magenta
110 Jaune
111 Blanc
Ecran VGA
7
TD 4 : Arithmétique combinatoire
TD 4 : Arithmétique combinatoire
1. Additionneur à Propagation de Retenue
La solution la plus courante consiste à mettre en cascade plusieurs cellules additionneur 1 bit
avec retenue. Les entrées d’une telle cellule sont les 2 bits des mots à additionner Ai et Bi, et
la retenue de l’addition des bits de poids inférieur Ci. Les deux sorties sont la somme de ces
3 bits Si et la retenue Ci+1.
On considère un additionneur à propagation de retenue sur 8 bits. Cette structure peut être
envisagée comme la juxtaposition de deux blocs additionneurs de 4 bits, reliés par le bit de
retenue C4 (voir figure 1).
A(7:4) B(7:4) A(3:0) B(3:0)
C8 Additionneur C4 Additionneur C0
4 bits 4 bits
S(7:4) S(3:0)
Figure 1 : Additionneur 8 bits non optimisé
8
TD 4 : Arithmétique combinatoire
4. Multiplieur combinatoire
a) Etablissez la table de vérité d’un multiplieur 1 bit ayant en entrée deux variables a et b
et en sortie une variable p.
9
TD5 et 6 : Bascules D, compteurs et registres
Clk
D Q
D
Clk Q Q
Q
Figure 5
Dessinez sur la figure 4 le chronogramme correspondant aux sorties Q et Q de la bascule D
représentée par le montage de la même figure.
2. Chenillard.
D1 Q1 D2 Q2
Clk Q1 Clk Q2
H
Figure 6
a) A l’aide des sorties du montage de la figure 6, on veut réaliser les fonctions S1, S2, S3
et S4 telles que :
S1=1 si Q1=Q2=0, S2=1 si Q1=1 et Q2=0,
S3=1 si Q1=Q2=1, S4=1 si Q1=0 et Q2=1
Déterminer les équations logiques des 4 fonctions S. Donner la succession des états de Q1 et
Q2 puis tracer les chronogrammes des Si.
b) On connecte les sorties Si à des LED s’allumant si Si=1 et restant éteintes sinon.
Qu’observe-t-on sur l’ensemble des 4 LED connectées à S1, S2, S3 et S4 lorsque la fréquence
de l’horloge vaut 1 Hz ? Lorsqu’elle vaut 100 Hz ?
3. Registres à décalage.
Un registre à décalage est constitué de N bascules D mises en série de la manière indiquée sur
la figure 7; dans ce cas, le registre comporte 4 bascules, toutes reliées à une horloge commune
H de période T.
On a accès à l’entrée E, à la sortie S et au mot de 4 bit "interne" Q=Q4Q3Q2Q1 (Q4=MSB et
Q1=LSB). A tout instant, l’état du registre est déterminé par la valeur du mot Q ; on passe
d’un état à un état suivant à chaque front montant d’horloge. Par exemple, de Q = 0110, on
passe à 0011 (si E = 0) ou à 1011 (si E = 1).
10
TD5 et 6 : Bascules D, compteurs et registres
a) On part de l’état Q = 1011, et on demande de donner la liste des 5 états suivants dans
les 4 cas indiqués ci-dessous. Compléter les tableaux A, B, C et D ci-dessous. Donner
la valeur décimale VD correspondante à chacun des états obtenus.
i.) lorsque E = 0
ii.) lorsque E = 1
iii.) lorsque E = Q3
iv.) lorsque E = S
b) Au bout de ces 5 états, quelle est la périodicité observée dans les valeurs successives
de Q dans chacun des cas (en régime permanent) ?
11
TD5 et 6 : Bascules D, compteurs et registres
Tableau E : E = Q4 + Q3 + Q2
Les liaisons série permettent la communication entre deux systèmes numériques en limitant le
nombre de fils de transmission.
La liaison série aux normes RS 232 est utilisée dans tous les domaines de l'informatique (ex :
port de communication com1 et com2 des PC, permettant la communication avec des
périphériques tels que modem et souris).
Afin que les éléments communicants puissent se comprendre, il est nécessaire d'établir un
protocole de transmission : les différents bits sont transmis les uns à la suite des autres à
chaque top d’horloge. Les données envoyées sont composées :
• D’un Bit de start : la ligne au repos est à l'état logique 1. Pour indiquer qu'un mot va
être transmis la ligne passe à l'état bas avant de commencer le transfert.
• D’un octet : les 8 bits à envoyés sont ensuite transmis du poids faible au poids fort
• D’un Bit de stop : après la transmission, la ligne est positionnée au repos pendant 1
période d'horloge.
La trame est représentée sur la figure 8.
12
TD5 et 6 : Bascules D, compteurs et registres
horloge
LOAD DLOAD
D Q
Clk
0 LSB MSB 1
Bascule
octet à transmettre élémentaire
utilisée
Figure 8
L’octet à envoyer doit être d’abord chargé en parallèle puis décalé en série pour être transmis.
Pour cela une utilise des bascules D permettant de réaliser un chargement parallèle.
Si LOAD est à ‘1’, la sortie prend la valeur de DLOAD au moment du front d’horloge, si
LOAD est à ‘0’, la sortie prend la valeur de D (comme pour la bascule D simple).
Donnez le schéma de cette bascule en utilisant celui d’une bascule D classique puis
donnez sa table de vérité.
b) On utilise à présent les bascules décrites dans le (a) dont le schéma bloc est donné sur
la figure 1. Combien faut-il de bascules pour mémoriser le message complet ?
c) Comment peuvent être reliées les bascules entre elles de manière à garantir le
chronogramme de la figure 1 ? Par quelle opération commence-t-on pour charger
l’octet en mémoire qui doit être transmis ?
e) Dessinez l'état de toutes les bascules à chaque top d'horloge en donnant les valeurs
successives de LOAD et des entrées DLOAD dans le cas où la donnée à transmettre est
« 11000110 ».
Dans le protocole des liaisons séries, on peut ajouter un bit de parité, entre l’octet et le bit de
stop, qui permet de vérifier s’il n’y a pas eu d’erreur de transmission (c'est-à-dire qu’à la
réception un ‘0’ peut avoir été reçu à la place d’un ‘1’ par exemple). Dans le cas de la parité
paire, le bit de parité est tel qu’il y a un nombre pair de bits à l’état ‘1’ dans l’ensemble ‘octet
+ bit de parité’ soit que la somme des bits à l'état ‘1’ est paire. Dans le cas contraire, on peut
conclure qu’il y a eu une erreur de transmission.
f) Imaginez un circuit permettant de mettre le bit de parité à la bonne valeur selon l’octet
à envoyer.
13
TD5 et 6 : Bascules D, compteurs et registres
Un compteur est réalisé à partir de 3 bascules D pilotées par la même horloge Clk. Les entrées
Reset asynchrones sont reliées. Les équations des entrées D sont :
D0 = Q1 ⋅ Q0 + Q1 ⋅ Q2 + Q0 Q2
D1 = Q1 ⊕ Q0
D2 = Q1 ⋅ Q0 + (Q1 + Q0 ) ⋅ Q2
Quel est le cycle de comptage ? Quelle particularité présente ce compteur ?
On souhaite utiliser un compteur de décade programmable dont la table de vérité est indiquée
ci-dessous. L’entrée Clear est asynchrone et active à 1. L’entrée Mode permet d’incrémenter
ou de décrémenter le compteur. L’entrée Enable permet d’inhiber le compteur (sortie
constante même en présence de fronts d’horloge).
La sortie Max est à 0 et passe à 1 lorsque les sorties indiquent 9 en mode incrémentation ou 0
en mode décrémentation.
Clear Enable Mode
Clear CK Enable Mode Sorties
1 X X X Qi = 0
0 0 X Qin = Qin-1
(mémoire, CK
compteur inhibé))
Max
0 1 1 Incrémentation
0 1 1 Décrémentation
Q3 Q2 Q1 Q0
14
TD5 et 6 : Bascules D, compteurs et registres
Load P3 P2 P1 P0
Clear CK Load Enable Mode Sorties
1 X X X X Qi = 0 Clear
0 1 X X Qi = P i CK
Chargement // Enable
0 0 0 X Qin = Qin-1
Max
(compteur inhibé)) Mode
0 0 1 1 Incrémentation
Q3 Q2 Q1 Q0
0 0 1 0 Décrémentation
15
TD7 : Arithmétique pipelinée
X0 X1 X2
Exercice n°2
On considère le circuit logique ci-dessous, où F1, F2, F3, F4 et F5 sont des fonctions
combinatoires dont le temps de propagation est tp. L'entrée est un vecteur X sur 5 bits et la
sortie un vecteur Y sur 5 bits.
16
TD5 et 6 : Bascules D, compteurs et registres
X4 X3 X2 X1 X0
F3 F2 F1
F5 F4
Y4 Y3 Y2 Y1 Y0
On reprend le multiplieur étudié au TD n°4 qui possède 2 entrées A et B de 3 bits et une sortie
S de 6 bits. On considère que l'additionneur 1 bit et le multiplieur 1 bit ont un temps de
propagation tp identique.
17
TD8 : CAN et CNA
On désire convertir une tension continue U0 variant de 0 à U0max, en un mot binaire codé sur
quatre bits. Pour cela, on compare cette tension à une rampe linéaire de tension. Tant que la
rampe reste inférieure à U0, on incrémente régulièrement un compteur tout les T0. Si la rampe
dépasse U0, on arrête alors le comptage. Ceci est réalisé par le schéma de la Figure 9. Un
deuxième compteur de la même capacité que le premier assure le séquencement du montage
total.
Fonctionnement général
a) En quoi ce montage constitue-t-il un convertisseur Analogique - Numérique ?
b) Où se trouve le résultat final ?
c) Identifier sur la figure les différentes parties précitées et expliquer le fonctionnement
de ce convertisseur. On pourra partir d'un temps t = 0, où le condensateur est
déchargé et les compteurs réinitialisés.
d) Déterminer la durée de conversion et le moment où le mot est mémorisé.
18
TD8 : CAN et CNA
U
t
H0
t
H'0
t
NB
t
NA
t
X
t
19
TD8 : CAN et CNA
2. CNA R/2R
2R 2R 2R 2R
R R R
Vout
2R
20
TD8 : CAN et CNA
Vconv
CNA
Comparateur logique
N
Bascule
- Y
D
+
U0 MSB LSB
Data
Circuit
H0
Le CNA est le même que celui de la Figure 11. Le niveau logique 1 est E = 5V et le niveau
logique 0 est 0V.
Le circuit travaille avec un cycle de 5TH.
à t = 0, N3 = 1, N2 = N1 = N0 = 0
à t = TH, N3 mémorise Data, N2 = 1, N1 = N0 = 0
à t = 2TH, N3 est conservée, N2 mémorise Data, N1 =1, N0 = 0
à t = 3TH, N3 et N2 sont conservées, N1 mémorise Data, N0 = 1
à t = 4TH, N3, N2 et N1 sont conservées, N0 mémorise Data puis un front actif est envoyé sur
l'entrée horloge de la bascule D
à t = 5TH, on reprend à t = 0
On pose que N3 et Y3 sont respectivement le MSB de N et le MSB de Y.
Le comparateur logique fournit une donnée Data = 1 si V+ > V- et une donnée Data = 0 si
V+ > V- .
Compléter les chronogrammes dans le tableau de la Figure 13. U0 est donnée sur le
diagramme. Pour Vconv il faut préciser la valeur numérique en Volts. On considère le CNA
initialisé: à t = 0 Y = 0 0 0 0.
21
TD8 : CAN et CNA
3,4 V 3V
U0 2V
Valeur de Vconv
1
N3 0
N2
N1
N0
Data
Y3
Y2
Y1
Y0
TH 2TH t
Figure 13
4. Système d’émission-réception
On considère un système d'émission réception de données analogique. Les données sont
transmises sous forme numérique et donc ce système nécessite un CAN et un CNA (étudiés
en 1. et 2.), comme indiqué dans la Figure 14.
Transmission
X3
f(t) g(t)
CAN CNA
X0
Figure 14
On considère la fonction f(t) de la Figure 15. On effectue une prise d'échantillons sur le CAN
tous les Te.
a) Donner la valeur de X à chaque temps t = n.Te. et compléter le tableau de la page
suivante.
22
TD8 : CAN et CNA
t/Te 0 1 2 3 4 5 6
f(t)
X3X2X1X0
g(t)
t/Te 7 8 9 10 11 12
f(t)
X3X2X1X0
g(t)
f(t)
7V
6,5V
6V
5,5V
5V
4,5V
4V
3,5V
3V
2,5V
2V
1,5V
1V
0,5V
0V
Te 2Te t
Figure 15
23