Exercices sur la synthèse et l'analyse de circuits logiques
 
Complément de cours
On peut représenter une fonction logique à N variables par une suite de valeurs comprises entre 0 et 2N−1. Pour cela, Les conjonctions que l'on peut former avec N variables logiques utilisent un codage par un nombre binaire à quatre chiffres et sa représentation décimale correspondante.

Par exemple, pour N=4 et quatre variables A, B, C et D : A.B.C.D→00002=0, A.B.C.D→00012=1, ... A.B.C.D→11112=15.
Une fonction logique peut alors être représentée par sont codage combinatoire.

Par exemple, F(A,B,C,D)=A.B.C.D+A.B.C.D a pour représentation Vrai4(11,12), et G(A,B,C,D)=A.B.C.D+A.B.C.D+A.B.C.D a pour représentation Vrai4(3,12,15).

Cette représentation donne en fait les cases de la table de Karnaugh qui sont à 1.

1. A l'aide d'un tableau de Karnaugh, simplifier les fonctions suivantes données sous forme disjonctive.
– F1 : A + A.B + A.C + B.C
– F2 : A.B+A.B
– F3 : A.B.C.D + A.B.C.D + A.B.C.D + A.B.C.D + A.B.C.D + A.B.C.D + A.B.C.D + A.B.C.D
– F4 : A.B.C + A.B.C. + A.B.C
– F5 : A.B.C + A.B.C + A.B.C
– F6 : A.B.C + A.B.C + A.B.C + A.B.C + A.B.C
– F7 : A.B.C + A.B.C + A.B.C + A.B.C
– F8 : A.B.C + A.B.C + A.B.C, avec A.B.C et A.B.C vides*.
* C'est-à-dire que la fonction n'est pas définie pour ces cas qui ne pourront se produire dans le circuit électronique. On peut donc indifféremment choisir la valeur 0 ou 1 pour A.B.C, ainsi que pour A.B.C, en fonction de la simplification du circuit que cela permet.

2. Synthétisez (avec les trois portes logiques ET, OU, NON) chacun des circuits logiques correspondant aux fonctions de l'exercice précédent.

3. Simplifier les fonctions logiques combinatoires de quatre variables A, B, C, D suivantes.
– K1 définie par Vrai4(5,7,13,15)
– K2 définie par Vrai4(0,4,8,12)
– K3 définie par Vrai4(0,2,8,10)
– K4 définie par Vrai4(1,3,5,8,9,13,14,15)
– K5 définie par Vrai4(0,1,2,4,5,8) avec (7,10) vides
– K6 définie par Vrai4(2,5,6,9,11,13,14) avec (7,8,10,15) vides.

4. Synthétiser un circuit logique pour chacun des problèmes suivants.
– La sortie est 1 si et seulement si un nombre pair d'entrées parmi A, B et c sont à 1.
– La voiture A peut-elle passer ? Elle passe uniquement quand le feu B est au vert et que, s'il y a un véhicule de police C ou de pompier D, aucun des deux n'a la sirène E allumée.
– L'ambulance A peut-elle passer ? Elle passe uniquement quand le feu B est au vert ou que sa sirène C est allumée, sauf si un véhicule de police D ou de pompier E arrive avec leurs sirènes F ou G allumée.
N.B. Une sirène ne peut pas être allumée si le véhicule correspondant n'est pas là...

5. Réaliser un circuit qui vérifie si deux entiers naturels codés sur 2 bits sont égaux.

6. On veut réaliser un circuit effectuant une addition sur deux bits. Définir deux fonctions booléennes F1 et F2 qui prennent en paramètres deux entiers naturels codés sur deux bits chacun, p=(p1,p2) et q=(q1,q2) et retournent chacune un des bits de l'addition sans retenue p+q. Ecrire une fonction booléenne R qui donne l'éventuelle retenue. Construire le circuit logique correspondant avec des portes ET, OU, NON. L'utilisation de portes XOR simplifierait-elle la synthèse du circuit logique ?

7. On veut réaliser l'allumage différencié de sept lumières dans un "dé électronique" en fonction d'une valeur en entrée comprise entre 1 et 6 et codée sur 3 bits x, y et z ; la valeur 0 représente le dé éteint et la valeur 7 n'est pas utilisée. Définir les sept fonctions logiques a(x,y,z), ... g(x,y,z) en fonction de la représentation du dé ci-dessous. Créer un circuit logique avec deux portes pour cet allumage.
De affichage d'un de electronique a b c d e f g

8. Réaliser les fonctions suivantes à l'aide d'un multiplexeur.
– F(A,B,C) définie par Vrai3(0,3,4,6). Vérifier ensuite la solution, qui est une méthode de référence.
– G(A,B,C,D) définie par Vrai4(0,1,2,4,5,8).

9. Réaliser la fonction F(,A,B,C,D) définie par Vrai4(0,4,5,6,9,11,14,15) avec un unique multiplexeur MUX-4. Même question avec un unique multiplexeur MUX-3et éventuelement une porte logique NON.

10. On veut réaliser un affichage à sept barres pour les chiffres codés sur 4 bits w, x, y et z. Définir les sept fonctions logiques a(w,x,y,z), ... g(w,x,y,z) permettant de gérer cette affichage. Créer le circuit logique correspondant.
Identification des barres d'affichage : 
Chiffreaffichage 7 traits a b c d e f g
Chiffres à l'affichage :
Zeroaffichage 7 traits   Un1   Deux2   Trois3   Quatre4   Cinq5   Six6   Sept7   Neuf8   Neuf9

11. On utilise le même affichage que dans l'exercice précédent. Mais on veut afficher le résultat de la comparaison entre deux nombres P et Q codés sur quatre bits w, x, y, et z. L'affichage sera un cinq si P>Q, un un si P<Q, et un E (symétrique du trois) si P=Q. Réaliser ce circuit.