Corrigé

Transcription

Corrigé
Q1
Questionnaire
examen intra
Q2
Q3
Q4
Q5
ELE1300
Q6
BONUS
Total
Identification de l’étudiant(e)
Nom :
Prénom :
Signature :
Matricule :
Groupe :
Sigle et titre du cours
ELE1300 – Circuits Logiques
Groupe
01 et 02
Professeur
Jean-Pierre David et Tarek Ould Bachir
Jour
Lundi
Trimestre
Automne 2006
Local
L-1720 et B-415
Date
16 octobre 2006
Durée
1h50
Documentation
Téléphone
Heures
15h45 à 17h35
Calculatrice
Toute
Aucune
Aucune
Programmable
Voir directives particulières
Non programmable
Les cellulaires,
agendas
électroniques ou
téléavertisseurs
sont interdits.
Directives particulières
Répondre uniquement sur le questionnaire.
Vous avez droit à un aide mémoire constitué d’une feuille (8½"x11", recto-verso)
écrite par vous-même
Bonne chance à tous!
Important
Cet examen contient x7 questions sur un total de x10 pages (incluant
cette page)
La pondération de cet examen est de x30 %
Vous devez répondre sur :
le questionnaire
Vous devez remettre le questionnaire :
oui
le cahier
non
les deux
ELE1300 – Automne 2006 - Examen intra
2/10
Question 1 – Format des nombres (5 pts – 10 minutes)
1) Pour les nombres entiers suivants, représentés sous format binaire signé, donner la
valeur décimale :
a) 11
→
-1
b) 01
→
1
c) 010
→
2
d) 110
→
-2
e) 11111101
→
-3
2) Pour les nombres entiers suivants, représentés en décimal, donner la représentation en
format binaire signé avec le minimum de bits possible :
a) –12
→
1010
b) +62
→
0111110
c) +12,5
→
01100.1
d) –255
→
100000001
e) –126
→
10000010
Question 2 – Opérations sur les nombres (4 pts – 10 minutes)
Consignes : Tous les nombres sont donnés en format binaire signé. Indiquer les bits de
retenue en utilisant les cases disponibles (sur la première ligne). Si il y a débordement, le
préciser et donner le résultat correct en ajoutant 1 bit supplémentaire (dans la grille de
droite).
Exemple : 10- 01
+
= 10 + 11
1 0
1 0
1 1
1 0 1
Débordement ? OUI
Équivalent décimal : (-2) -(1) = -3
+
Résultat : 101
1 1
1
1
1 1
0
1 0
1 1
0 1
ELE1300 – Automne 2006 - Examen intra
1) 0101 – 1010
0 1
0
0
0 1
0
1
1
0
=
3/10
0101 + 0110
0
0 1
1 0
1 1
Débordement ? OUI
0 0
0
0
0 0
1
0 1 0 1
0 1 1 0
1 0 1 1
0 0
0
0
0 0
1
0
0
1
Résultat : 01011
Équivalent décimal : 5 – (-6) = 5 + 6 = 11
2) 0100 + 1010
0 0
0
1
0 1
0
1
0
1
0
0 0
1 0
1 0
Débordement ? NON
Résultat : 10
Équivalent décimal : 4 + (-6) = -2
3) 011,1 – 100,1
0 1
0
0
0 1
1
1
1
1
=
011,1 + 011,1
1
1 1
1 1
1 0
Débordement ? OUI
1
1
1
1
1
1 1
1 1
1 0
Résultat : 0111 (.0)
Équivalent décimal : 3.5 – (-3.5) = 7.0
4) 10,1 + 100,001 = 110,100 + 100,001
1 0
1
1
1 0
0
1
0
1
0
0
0
0
0
1
0
1
Débordement ? OUI
0
0 0
0 1
0 1
1 1
1
1
1 1
Résultat : 1010.101
Équivalent décimal : -1.5 + (-3.875) = -5.375
0
1
1
0
0
1
0
1
0
0
0
0
0
1
0
1
0
0 0
0 1
0 1
ELE1300 – Automne 2006 - Examen intra
Question 3 – Changements de base (4 pts – 10 minutes)
Exprimez 31740 (8) en base 16
011 001 111 100 000(2) = 011 0011 1110 0000(2) = 33E0(16)
Écrivez la valeur de 5/3 en base 9
5/3 = 15/9 = 1 + 6/9 = 1.6(9)
Exprimez 4.25(10) en base 4
4.25 = 4 + ¼ = 10.1(4)
Exprimez 111(5) en base 7
25 + 5 + 1 = 31
31/7 = 4 reste 3
111(5) = 43(7)
Question 4 – Algèbre de Boole (4 pts – 10 minutes)
Démontrer que :
1) A ( A +B)
A ( A +B)
=
=
A
( A +0)( A +B)
=
A +0B
=
A +0= A
=
A B
=
A ( A +B)(A+ B )
=
A (A+ B )
=
A B
=
A B
=
A ( A + B )( A + B ) B
=
A B
4) AB+A( (A+B) + B )
=
A
AB+A( (A+B) + B )
=
AB+A( A B + B )
=
=
AB+A( B )
A
2) A (A+ B )( A +B)
A (A+ B )( A +B)
3) A ( A + B ) B
A(A+B)B
4/10
ELE1300 – Automne 2006 - Examen intra
5/10
Question 5 – Détection / Correction d’erreurs (6 pts – 30 minutes)
Un système est basé sur la transmission de messages de 4 bits. Vous êtes chargé d’assurer
l’intégrité des messages. Vous devez être capable de corriger un changement de un bit.
Comparez l’utilisation de la parité orthogonale avec celle du code Hamming.
1) Illustrez ces deux techniques sur le message suivant : « 1011 » en utilisant une parité
paire de ‘1’ et regardez ce qu’il advient si un bit du message change de sorte qu’il est
reçu comme étant « 1001 » mais avec des bits de parités inchangés. Montrez comment
vous pouvez détecter/corriger l‘erreur pour chacune des techniques.
a) Parité orthogonale
b0 b1 p0
b2 b3 p1
p2 p3 p4
1
1
0
0
1
1
1
0
1
1
0
0
X
0
1 OK
1
0
X
1
1 OK
OK OK
Message envoyé : 101110011.
Message reçu : 101010011
Deux parités sont invalides. L’intersection de la ligne et de la colonne permet de
retrouver le bit qui a changé.
b) Code de Hamming
p1 p2 b0 p4 b1 b2 b3
0 1 1 0 0 1 1
p1 0
1
0
1
p2
1 1
1 1
p4
0 0 1 1
Message envoyé : 0110011.
p4 et p2 sont invalides donc le bit 6 est inversé
p1 p2 b0 p4 b1 b2 b3
0 1 1 0 0 0 1
0
1
0
1 OK
1 1
0 1 X
0 0 0 1 X
Message reçu : 0110001
2) Sachant que pour implémenter le calcul de parité de N bits, vous avez besoin de N-1
portes XOR, de combien de portes XOR allez-vous avoir besoin dans chacun des cas ?
a) Parité orthogonale
5 bits de parité de 2 entrées (codage) et 6 vérifications de parité de 3 entrées (décodage).
Cela donne: 5 portes pour le codage et 12 portes pour le décodage, soit 17 au total
b) Code de Hamming
3 bits de parité de 3 entrées (codage) et 3 vérifications de parité de 4 entrées (décodage).
Cela donne : 6 portes pour le codage et 9 portes pour le décodage, soit 15 au total
ELE1300 – Automne 2006 - Examen intra
6/10
Question 6 – Analyse et synthèse de circuits (7 pts – 40 minutes)
L’implémentation d’une fonction logique Z relativement complexe repose sur un XNOR
de deux autres fonctions X et Y comme indiqué sur le schéma suivant :
/A
/B
/C
/A
/D
B
/D
/B
/C
D
X
Z
Y
D
B
A
C
Chacune des deux fonctions a été réalisée par des techniciens différents. Le circuit a déjà
été vérifié et il fait son travail mais votre patron suspecte que l’implémentation n’est pas
optimale. Vous êtes chargé de vérifier si le coût du circuit est vraiment justifié et si
chaque technicien a bien fait son propre travail d’implémentation. Pour y parvenir, suivez
les étapes suivantes :
1) En considérant que les portes XOR et XNOR à N entrées ont un coût 2N, calculez le
coût des fonctions X,Y et Z (en global) telles qu’elles ont été implémentées par les
techniciens.
Coût de X = 4 + 3 + 3 + 4 + 5 = 19
Coût de Y = 4 + 4 + 3 + 3 = 14
Coût de Z = X + Y + 4 = 37
ELE1300 – Automne 2006 - Examen intra
7/10
2) Écrivez l’équation logique de X et simplifiez-la si nécessaire. Étudiez ensuite sa
meilleure implémentation sous les formes disjonctives et conjonctives au moyen des
tables de Karnaugh et proposez votre meilleure implémentation.
X = (un produit de somme optimisé) = (/A+/B+/C)(/A+/D)(B+/D)(/B+/C+D)
ab\cd
00
01
11
10
ab\cd
00
01
11
10
00
1
0
0
1
00
1
0
0
1
01
1
1
1
0
01
1
1
1
0
11
1
0
0
0
11
1
0
0
0
10
1
0
0
1
10
1
0
0
1
X=
(/C/D) + (/B/D) + (/ABD)
X=
(/A+/D) (B+/D) (/B+/C+D)
Dessinez ci-dessous votre meilleure implémentation de X:
/A
/D
B
/D
X
/B
/C
D
Il s’agit en fait du circuit proposé par le technicien dont on a enlevé la première porte car
elle était inutile. La forme disjonctive donne un coût équivalent.
Quel est son coût ?
3+3+4+4 = 14
ELE1300 – Automne 2006 - Examen intra
8/10
3) Écrivez l’équation logique de Y et simplifiez la si nécessaire. Étudiez ensuite sa
meilleure implémentation sous les formes disjonctives et conjonctives au moyen des
tables de Karnaugh et proposez votre meilleure implémentation.
Y= (une somme de produits optimisé)
Y=
=
=
=
(B XNOR D) + B(A XNOR C)
BD + /B/D + B(AC + /A/C)
BD + /B/D + ABC + /AB/C
ab\cd
00
01
11
10
ab\cd
00
01
11
10
00
1
0
0
1
00
1
0
0
1
01
1
1
1
0
01
1
1
1
0
11
0
1
1
1
11
0
1
1
1
10
1
0
0
1
10
1
0
0
1
BD + /B/D + ABC + /AB/C
Y=
(B+/D) (A+/B+/C+D) (/A+/B+C+D)
Dessinez ci-dessous votre meilleure implémentation de Y:
C’est l’implémentation proposée par le technicien. Son délai de propagation est toutefois
moins bon (3 portes). Si c’est le délai qui a de l’importance, il vaut mieux utiliser la
forme conjonctive qui a un cout de 3+5+5+4 = 17
Quel est son coût ?
4+4+3+3 = 14
ELE1300 – Automne 2006 - Examen intra
9/10
4) Finalement, proposez votre meilleure implémentation de la fonction Z, calculez-en le
coût et discutez de la façon dont il faudrait s’y prendre pour une prochaine conception
de circuits.
La fonction X XNOR Y vaut 1 si X et Y sont les mêmes et 0 s’ils sont différents. La table
de Karnaugh de X XNOR Y s’écrit donc facilement en comparant les deux tables :
Z=
ab\cd
00
01
11
10
ab\cd
00
01
11
10
00
1
1
1
1
00
1
1
1
1
01
1
1
1
1
01
1
1
1
1
11
0
0
0
0
11
0
0
0
0
10
1
1
1
1
10
1
1
1
1
/A + /B
Z=
/A+/B
Et cette fonction peut encore se simplifier en une simple porte NAND /(AB), dont le coût
est 3 !
Il paraît assez évident que, la prochaine fois, le responsable du projet calculera la fonction
globale et l’optimisera par la table de Karnaugh plutôt que de décomposer un problème
simple en deux problèmes plus complexes. Le technicien qui a implémenté la fonction X
n’était pas à la hauteur de sa tâche puisqu’il a ajouté une porte qui ne sert à rien. Le
technicien qui a implémenté la fonction Y semble particulièrement ingénieux et pourrait
bien se voir confier des projets plus complexes (et recevoir une augmentation), même si
son travail ne sera finalement pas utilisé.
ELE1300 – Automne 2006 - Examen intra
10/10
Question 7 Bonus
Cette question est tout à fait facultative. Toutefois, la réussir montrerait que vous
maitrisez la matière à un niveau supérieur à ce qui est normalement attendu de vous et
nous permettrait de vous pardonner une petite faute ou l’autre, le cas échéant, dans les
questions précédentes.
Une compagnie veut protéger son système informatique par un mot de passe. Elle a
quatre (4) administrateurs système à son service, Alain, Bruno, Claude et Damien. La
compagnie ne veut qu’aucun d’eux connaisse le mot de passe au complet. C’est pourquoi
elle révélera certaines lettres du mot de passe à certaines personnes de sorte que, pour que
le mot de passe soit connu au complet, il faut être dans une des trois situations suivantes :
a) Présence de Alain et Claude
b) Présence de Alain, Bruno et Damien
c) Présence de Bruno, Claude et Damien
Quelle doit être la longueur du mot de passe (N) la plus courte, et quelles lettres
doivent connaître chacun des quatre administrateurs pour que le mot de passe puisse être
entré au complet dans (et seulement dans) ces conditions ?
Pour vous aider, vous constaterez qu’il est assez direct d’exprimer la condition sous
sa forme disjonctive. Toutefois, l’exprimer sous sa forme conjonctive est plus utile pour
trouver la solution.
F = AC + ABD + BCD
F = (C+D)(A+C)(A+B)(B+C)(A+D)
ab\cd
00
01
11
10
00
0
0
0
0
01
0
0
1
0
11
0
1
1
1
10
0
0
1
1
Pour que chacune de ces 5 conditions soit remplie, il faudra 5 lettres : C et D connaitront
la 1ère, A et C connaitront la 2ème, A et B connaitront la 3ème, B et C connaitront la 4ème, A
et D connaitront la 5ème.
Il ne vous reste plus qu’à résoudre le Sudoku (niveau très difficile)
4
2
1
8
2
5
1
3
4
4
1
5
3
6
4
7
2
9
6
5
3
2
3
2
7
8
1
5
1
3
2

Documents pareils