TD 3 et 4 - Portes logiques et premiers circuits -. 1 Un peu de logique. Exercice
1.1. ... Est-ce le minimum de portes nécessaire pour réaliser cette fonction? 6.
DUT Informatique
Architecture des ordinateurs
Ann´ee 2012/2013
TD 3 et 4 - Portes logiques et premiers circuits -
1
Un peu de logique
Exercice 1.1. Remplir la table de v´erit´e : a
b
a+b
0 0 1 1
0 1 0 1
ab
a+b
ab
a⊕b
Exercice 1.2. R` egles de calcul 1. V´erifier les lois de distributivit´e et les loi de Morgan en donnant leurs tables de v´erit´e. 2. V´erifier les relations suivantes par calcul : a + ab = a ,
(a + b)(a + ¯b) = a ,
a+a ¯b = a + b ,
a + b · b + c = a + b + c.
3. Simplifier la formule suivante afin de l’´ecrire avec le minimum de OU et de ET : a ¯¯b¯ cd¯ + a ¯¯b¯ cd + a ¯¯bcd¯ + a¯b¯ cd¯ + a¯b¯ cd. 4. V´erifier que la porte NON-OU est compl`ete. 5. Simplifier l’expression suivante au maximum : ((x¯ y ⊕ xy)¯ z ) ⊕ (x(z t¯ ⊕ zt)).
2
Analyse de circuits logiques
Exercice 2.1. Un circuit simple 1. Quelle est l’expression bool´eenne de la sortie S pour le circuit suivant ?
a
b
c
S
´ 2. Ecrire la table de v´erit´e de ce circuit. En d´eduire une expression ´equivalente pour S. 3. Donner l’expression simplifi´ee et le circuit correspondant en n’utilisant que les op´erateurs NON, ET et OU (par calcul et par m´ethode de Karnaugh).
1. Donner l’expression bool´eenne de S en n’utilisant que les op´erateurs NON, ET et OU. 2. Calculer la table de v´erit´e de ce circuit. 3. Proposer une version simplifi´ee du circuit avec des portes NON, ET et OU. 4. On autorise maintenant les portes XOR, NON-ET et NON-OU. R´ealiser un circuit ´equivalent avec au maximum 6 portes. 5. Est-ce le minimum de portes n´ecessaire pour r´ealiser cette fonction ? 6. Que fait ce circuit ?
3
R´ ealisation de circuit
` partir des tables de v´ Exercice 3.1. A erit´ e a 0 0 0 0 1 1 1 1
b 0 0 1 1 0 0 1 1
c 0 1 0 1 0 1 0 1
S1 0 0 1 0 0 1 0 1
a 0 0 0 0 1 1 1 1
b 0 0 1 1 0 0 1 1
c 0 1 0 1 0 1 0 1
S2 1 1 0 1 1 0 1 0
1. R´ealiser les circuits correspondants aux fonctions S1 et S2 . 2. Utiliser la m´ethode de Karnaugh pour concevoir les circuits r´ealisant les fonctions S3 et S4 .
a 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
b 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
Page 2
c 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
d 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
S3 1 0 1 1 0 0 1 1 0 0 0 1 0 0 0 1
a 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
b 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
c 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
d 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
S4 1 0 1 1 1 1 0 1 1 0 1 1 1 1 0 1
Exercice 3.2. Analyseur de code On cherche ` a analyser des codes binaires sur 4 bits. Un code correct est un code qui contient au plus deux 1 cons´ecutifs. Le but de l’exercice est de concevoir un circuit qui d´etecte tous les codes corrects (ex : 0100). ´ 1. Ecrire la table de v´erit´e de cet analyseur. 2. En d´eduire le circuit correspondant. 3. Simplifier le circuit (par calcul et par m´ethode de Karnaugh) 4. On ajoute comme contrainte que le code ne doit pas contenir de 0 cons´ecutifs (ex : 1011). Reprendre les 3 questions pr´ec´edentes.
Exercice 3.3. R´ ealisation d’un afficheur On cherche ` a r´ealiser un circuit afficheur hexad´ecimal pour une calculette. L’entr´ee est un nombre n en binaire sur 4 bits : b0 , b1 , b2 , b3 . Les 7 sorties sont appel´ees a, b, c, d, e, f , g. Une sortie est ` a 1 si le segment correspondant est noir.
a f
b
e g c d ´ 1. Ecrire les tables de v´erit´e des 7 sorties. 2. En d´eduire le circuit correspondant.
F Exercice 3.4. Tables de Karnaugh partielles On veut maintenant r´ealiser un afficheur d´ecimal. Les sorties qui ne correspondent pas `a une entr´ee d´ecimale sont ind´efinies. On peut donc choisir ce qui nous arrange pour avoir le circuit le plus simple. ´ 1. Ecrire les tables de v´erit´e partielles des 7 sorties et les compl´eter pour avoir les formules les plus simples. 2. En d´eduire le circuit correspondant.
Rappel a+1=1
a·0=0
a·1=a
Constantes
a+0=a
Idempotence
a+a=a
a·a=a
Compl´ementation
a+a=1
a·a=0
Commutativit´e
a+b=b+a
a·b=b·a
Distributivit´e
a + (bc) = (a + b)(a + c)
a(b + c) = (ab) + (ac)
Associativit´e
a + (b + c) = (a + b) + c = a + b + c a(bc) = (ab)c = abc