Electronique Logique LPA/EEA
Jean-Louis Monin
Corrigé succint de l'examen du 19/05/98, avec le barême adopté.
(Le total des points vaut 3+4+5+8+7 = 27, il a ensuite été ramené à 20)
I - Cours [3]
(1) Lorsque A et B sont H, T1 est bloqué, les courants d'entrée sont IIH en inverse dans la jonction BE1, de l'ordre de 20 ma. S=0 (porte NAND), le courant de sortie est IOL,, fourni par la porte suivante, c'est le courant IC de T3 et vaut environ 10 mA. T4 est bloqué.
(1) Lorsque A=H et B=L, le courant IIH de A est en inverse (qq 10 ma), le courant IIL de B est en direct (qq 10 mA). S=1 et le courant en sortie est fourni par T4, de l'ordre de qq 10 mA, en inverse dans la porte suivante (On ne demandait pas comment fonctionne une porte NAND).
(1) La diode D1 rajoute une tension de seuil sur l'émetteur de T4 de manière a assurer qu'il reste bloqué lorsque T3 est passant : VB4=VBE3+VCEsat2 ; VE4=VCEsat3+VD1. Cette diode intervient au niveau des tensions (par sa tension de seuil) et pas des courants, puisque de toute façon, T4 ne peut pas être passant avec un courant IC dirigé vers le haut (négatif sur les caractéristiques du transistor).
II - Compteurs [4]
(0.5) Il faut 3 bascules pour coder simplement des nombres allant jusqu'à 5 (101).
(1) Le graphe des états doit faire apparaitre 4 états A->B->C->D->A ... à coté desquels on indique la valeur souhaitée du compteur en sortie ; on ne demandait pas une liste de valeurs binaires de 0 à 7.
(1) On rajoute ensuite les états E, F, G et H qui correspondent aux 4 valeurs de 0 à 7 non comprises dans la série 5,4,3,2. L'appellation "compter de 5 à 2" est générique (on "compterait" de même si la série est 6,4,1,7,5, ...). Les états E à H doivent avoir une transition prévue vers un état du cycle ; il n'est pas plus logique de viser un état plutôt qu'un autre à moins de le justifier (simplicité des équations par exemple) ; voir en 5 le "départ" du cycle est tout à fait arbitraire. On demandait de sauter vers l'état pour lequel le compteur vaut 010 (peut importe son "nom").
(1) Les équations des Di en fonction des Qi s'écrivent directement sans table de Karnaugh (puisqu'on ne demandait pas de simplifier) à partir de la liste des états présents/futurs.
(0.5) La programmation du PAL s'en déduisait directement.
III - Transcodeur [5]
(1) Avec 4 bits, on peut coder 16 valeurs ; 16 nombres positifs ou nuls, ou bien 16 nombres avec signe (de -8 à +7). Ces valeurs sont : 0000:0, 0001:+1, 0010:+2, 0011:+3, 0100:+4, 0101:+5, 0110:+6, 0111:+7,1000:-8, 1001:-7, 1010:-6, 1011:-5, 1100:-4, 1101:-3, 1110:-2, 1111:-1.
(1) On en déduit la table de vérité de A'B'C'D' en fonction de ABCD:
N |
ABCD |
-N |
A'B'C'D' |
-N(hexa) |
0 |
0000 |
0 |
0000 |
$0 |
+1 |
0001 |
-1 |
1111 |
$F |
+2 |
0010 |
-2 |
1110 |
$E |
+3 |
0011 |
-3 |
1101 |
$D |
+4 |
0100 |
-4 |
1100 |
$C |
+5 |
0101 |
-5 |
1011 |
$B |
+6 |
0110 |
-6 |
1010 |
$A |
+7 |
0111 |
-7 |
1001 |
$9 |
-8 |
1000 |
-8 |
1000 |
$8 |
-7 |
1001 |
+7 |
0111 |
$7 |
-6 |
1010 |
+6 |
0110 |
$6 |
-5 |
1011 |
+5 |
0101 |
$5 |
-4 |
1100 |
+4 |
0100 |
$4 |
-3 |
1101 |
+3 |
0011 |
$3 |
-2 |
1110 |
+2 |
0010 |
$2 |
-1 |
1111 |
+1 |
0001 |
$1 |
(0.5) On n'a pas A'=/A du fait du nombre 0 qui est son propre opposé. Le cas de -8 est particulier.
(0.5) Si on effectue la règle du complément à 2, -8 est son propre opposé également ; en fait, on ne peut pas travailler sur 4 bits et rechercher l'opposé de -8.
(0.5) La table de Karnaugh de B' en fonction de ABCD se déduit de la table de vérité ci-contre. On obtient
B'=B xor (C+D).
(0.5) Les valeurs hexadécimales de la PROM sont listées dans la 5e colonne du tableau, le mot ABCD étant utilisé comme entrée d'adresse (attention à l'ordre) ; on a besoin de 16 cases de 4 bits pour stocker les opposés de tous les nombres possibles entre -8 et +7
(1) La capacité en bits de la mémoire est donc 16 x 4=64 bits.
IV - Générateur aléatoire [8]
(1) Un registre à décalage de 4 bits est constitué de 4 bascules D dont les sorties sont reliées aux entrées de bascules suivantes ; toutes les bascules ont la même horloge mais le montage n'a rien à voir avec un compteur synchrone. Au top d'horloge, chaque bascule recopie le bit en sortie de la précédente, de manière à ce qu'il y ait décalage du mot d'un bit.
(0.5) Si on démarre avec 0000, comme 0 xor 0 = 0, on stocke indéfiniment des 0 dans le registre.
(1.5) En partant de 1111, on décrit la séquence :
15,7,3,1,8,4,2,9,12,6,11,5,10,13,14.
On demandait la séquence du mot Q1Q2Q3Q4, écrit ainsi (Q1 : MSB).
(1) On trouve une périodicité puisqu'au bout de 15 décalages on retrouve le mot de départ 1111 ; comme le registre a parcouru 15 états, le mot de sortie a pris toutes les valeurs possibles sur 4 bits, d'où l'appellation de registre de longueur maximum.
(0.5) Pour la même raison, quelle que soit la valeur de départ, elle se trouve dans la série et on obtiendra le même résultat.
(1) Le chronogramme demandé est celui de Q4, à l'échelle 1cm pour un top d'horloge. La liste des valeurs était donnée dans l'exemple de la question suivante.
(1) On vérifie que
S(N)=-1 pour tout N non nul ; S(0)=+15.(0.5)La fonction obtenue est une fonction de Dirac.
(0.5) Sa TF est une constante : le signal obtenu a la même puissance à toutes les fréquences.
(0.5) On appelle un tel signal aléatoire un bruit blanc.
V - Mini mémoire [7]
(1) Les différents mots du circuit sont distingués par les entrées d'adresse EAEB et WAWB, qu'on utilise dans les opérations d'écriture ou de lecture, en association avec les signaux de validation /ER et /EW (entrées valides au niveau bas). On atteind le mot 2 avec les adresses WBWA=10 (voir question plus bas).
(1) Comme les entrées d'adresse et de commande de lecture et d'écriture sont distinctes, peut lire un mot pendant qu'on en écrit un autre : lecture et écriture sont simultanées.
(0.5) /ER (inversée) commande la sortie en haute impédance parce qu'il est inutile de fournir un mot en sortie lorsqu'on n'est pas en train de lire ; cela évite de "laisser trainer" sur le bus de sortie des mots qu'on n'exploite pas. La question ne portait pas sur tel ou tel cablage mais sur les raisons de ce cablage. De plus, cette commande pourra être utilisée pour stocker N (N>4, avec plusieurs circuits) mots de 4 bits.
(1) G23=/WA.EW./(/WB.EW) ; ainsi, pour écrire dans la bascule 23, il faut fournir EW=1, WA=0, WB=1 (on atteind le mot 2 avec les adresse WBWA=10).
(1) Q4=/(Q34.RB.ER./(ER./RA) + Q24.RB./RA.ER + Q14./RB.ER./(ER./RA) + Q04./RB./RA.ER). Pour lire Q14, il faut donc : ER=1, RB=0, RA=1.
(1) Pour obtenir une mémoire de 8 mots de 4 bits, il faut utiliser 2 circuits 670 dont les entrées (adresses et data mais pas les commandes) et les sorties sont reliées entre elles, et utiliser la fonctionnalité de commande en haute impédance par ER pour choisir quel mot on envoie sur le bus (les ER et les EW ne sont pas reliés). Les commandes ER et EW (inversée sur l'autre circuit) sont utilisées comme un troisième bit d'adresse car il faut 3 bits pour adresser 8 valeurs.
(1) Pour obtenir 4 mots de 8 bits, on utilise 2 circuits 670 avec les entrées et les commandes communes, et les sortie côte à côte pour former un mot de 8 bits. C'est le mode d'expansion le plus simple des deux.
(0.5) Un tel circuit est une mémoire qui ne peut pas atteindre une grande taille car les circuits rajoutés prennent beaucoup de place, mais elle a l'avantage d'être très rapide et bidirectionnelle "simultanée" ; cela peut être utile dans certaines applications de calcul cablé.