Logique Combinatoire
Introduction famille de circuits logiques pour lesquels la sortie dépend uniquement des états des entrées par opposition à la logique séquentielle où le temps va intervenir) aspect logique et fonctionnel uniquement pas d'aspect matériel
Plan du cours les circuits arithmétiques addition soustraction comparaison contrôle de parité encodeurs/décodeurs multiplexeur/démultiplexeurs
Addition demi-additionneur addition de 2 bits en base 2 0 + 0 = 00 0 + 1 = 01 1 + 0 = 01 1 + 1 = 10 il faut éventuellement tenir compte de la retenue (carry) addition d'un nombre codé sur 4 bits : deux bits pour coder le résultat de l'addition a3 a2 a1 a0 nombre A + b3 b2 b1 b0 nombre B s3 s2 s1 s0 résultat S r3 r2 r1 r0 retenue C
Addition circuit demi-additionneur (half-adder) A B C S 1 A B HA C S 1 HA C S S= A B+A B C=A.B A B S C S=A⊕B C=A⋅B
Addition additionneur 3 entrées : les 2 bits des nombres à ajouter A et B la retenue de l'étage précédent R 2 sorties : le résultat de l'addition S la retenue C FA A B R S C
Addition table de vérité A B R S C 1 1 S= A B R+ A B R +A B R +ABR C= A BR+A B R+AB R +ABR
Addition tableau de Karnaugh pour simplifier C AB R 00 01 11 10 1 1 C=AB+AR+BR ensuite,poursimplifierS: C = A B + A R + B R A C =A B R B C = A B R R C = A B R S= A B R+ A B R +A B R +ABR = A+B+R C +ABR
Addition exemple d'implémentation d'un additionneur 1 bit S= A+B+R C +ABR C=AB+AR+BR
Addition addition en parallèle l'addition de nombres comportant plusieurs bits peut se faire en série (bit après bit) ou en parallèle (tous les bits simultanément)
Addition implémentation possible d'un additionneur parallèle (Philips 74F283)
Soustraction demi-soustracteur table de vérité S=A−B C:retenue A B C S 1 S=A. B + A .B=A⊕B A B S C C= A .B
Soustraction additionneur-soustracteur un nombre codé sur n bits peut prendre toutes les valeurs comprises entre 0 et 2n le complémentaire d'un mot de n bits est obtenu en prenant le complément de chacun des n bits 2n ≡ 0 (pour une variable codée sur n bits) (pour des variables codées sur n bits) A+ A = 2 n −1 −A= A +1− 2 n −A= A +1 A−B=A+ B +1+ 2 n =A+ B +1
Soustraction un seul dispositif pour l'addition et la soustraction : code opération O : 0 : addition 1 : soustraction
Comparaison A=B, A>B, A<B table de vérité on en déduit A B C=(A>B) D=(A<B) E=(A=B) 1 C=A. B D= A .B E= A. B + A .B = C+D = A⊕B =A⊕ B = A ⊕B
Contrôle de parité la parité d'un mot binaire est définie comme la parité de la somme des n bits qui le composent le OU EXCLUSIF donne la parité d'un sous-ensemble de 2 bits A B parité 1
Contrôle de parité principe du contrôle de parité : partant d'un mot de n bits le mot de n+1 bits formé en adjoignant au mot de n bits son bit de parité est toujours de parité nulle si P' est maintenue à 0, P donne la parité du mot de 4 bits
Contrôle de parité utilisation du contrôle de parité pour valider la transmission de données P2 doit être nul pour valider la transmission
Décodage l'opération de décodage permet d'identifier un objet parmi N à partir d'un code l'identifiant de façon unique exemple : N=2n instructions numérotées de 0 à N-1 il faut n bits pour représenter le numéro de chaque instruction un décodeur va prendre en entrée les n bits permettant d'identifier une instruction et en sortie va activer (mettre à un niveau 1) la ligne correspondant à l'instruction
Décodage exemple : 8 instructions codées sur 3 bits 1 2 3 4 5 6 7 L0 1 2 3 4 5 6 7
Décodage exemple : 8 instructions codées sur 3 bits 1 1 2 3 4 5 6 7
Décodage exemple : 8 instructions codées sur 3 bits 1 1 2 3 4 1 5 6 7
Décodage exemple : 8 instructions codées sur 3 bits 1 2 1 3 1 4 5 6 7
Décodage exemple : 8 instructions codées sur 3 bits 1 1 2 3 1 4 5 6 1 1 1 2 3 1 4 5 6 1 7
Décodage exemple : 8 instructions codées sur 3 bits utilisé dans les unités de contrôle des CPU 1 1 2 3 1 4 1 5 6 7 1
Décodage table de vérité E A2 A1 A0 L0 L1 L2 L3 L4 L5 L6 L7 Produit 1 1 A 2 A 1 A 0 E A 2 A 1 A 0 E A 2 A 1 A 0 E A 2 A 1 A 0 E A 2 A 1 A 0 E A 2 A 1 A 0 E A 2 A 1 A 0 E A 2 A 1 A 0 E
Décodage Représentation BCD la représentation Binary Coded Decimal (décimale codée binaire) remplace chacun des chiffres décimaux par 4 chiffres binaires Cette représentation conserve la structure décimale (unités, dizaines, centaines, etc...) chaque chiffre est codé sur 4 bits selon la table suivante le chiffre 294 sera codé : 0010 1001 0100 décimal BCD 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001
Décodage implémentation correspondante E A2 A1 A0 L0 L1 L2 L7
Multiplexage pour transmettre sur une seule ligne des informations en provenance de plusieurs sources possibles à destination de plusieurs cibles analogie mécanique
Démultiplexeur Démultiplexeur circuit avec une entrée et N sorties, mettant en relation l'entrée avec une seule des sorties sélection de la sortie à l'aide de lignes d'adressage très proche d'un décodeur exemple 1 ligne d'entrée portant les données D 4 lignes de sortie Y0, Y1, Y2, Y3 2 lignes d'adressage A et B validation de l'adressage par un strobe E (Enable) à 0
Démultiplexeur table de correspondance E A1 A0 Y0 Y1 Y2 Y3 Produit D 1 D 1 A B E D A B E D A B E D AB E D
Démultiplexeur implémentation correspondante il se fabrique des démultiplexeurs avec 2, 4 ou 16 lignes de sortie D Y0 E Y1 Y2 Y3 A0 A1
Multiplexeur multiplexeur réalise l'opération inverse : sélectionne une entrée parmi N et transmet l'information à une sortie unique exemple : 4 entrées (2 lignes d'adressage et 1 strobe) X0 X1 X2 X3 E A1 A0 Y E A1 A0 Y X0 1 X1 X2 X3 Y= A 1 A 0 E X 0 + A 1 A 0 E X 1 + A 1 A 0 E X 2 + A 1 A 0 E X 3
Multiplexeur mise en cascade de plusieurs multiplexeurs A3 A4 A0 A1 A2
Multiplexeur Réalisation d'une fonction logique exemple d'une fonction F de 4 variables définie par sa table de vérité : x y z t F Multiplexeur 1 X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
Multiplexeur Réalisation d'une fonction logique exemple d'une fonction F de 4 variables définie par sa table de vérité : x y z t F Multiplexeur 1 X0 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 F X0 X15 1 x y z t X1
Encodage opération inverse du décodage N = 2n lignes en entrée n lignes en sortie lorsque une des lignes est activée en entrée, l'encodeur fournit en sortie un mot de n bits correspondant au codage de l'information identifiée par la ligne d'entrée exemple d'une conversion décimal-BCD 10 entrées (de 0 à 9) 4 sorties (codes BCD) W0 W1 Y0 W2 W3 Y1 W4 W5 Y2 W6 W7 Y3 W8 W9
Encodage table de vérité expressions logiques Y0 = W1 + W3 + W5 + W7 + W9 Y1 = W2 + W3 + W6 + W7 Y2 = W4 + W5 + W6 + W7 Y3 = W8 + W9 W0 W1 W2 W3 W4 W5 W6 W7 W8 W9 Y3 Y2 Y1 Y0 1
à suivre... Logique séquentielle