Académique Documents
Professionnel Documents
Culture Documents
Objectif général :
Comprendre les lois qui régissent les fonctions logiques
et le processus d’implantation des circuits logiques.
Objectifs spécifiques :
Numération et Codage
• Systèmes de codage ;
Logique combinatoire ;
• Algèbre de Boole ;
• Représentation de fonctions logiques ;
• Formes normales de fonctions logiques ;
• Portes logiques ;
• Simplification de fonctions logiques ;
Circuits arithmétiques ;
Circuits combinatoires.
Bibliographie
Nathan ;
Graw-Hill ;
Chenelière/Mc Graw-Hill ;
b → base
N → nombre
On distingue :
- Le bits de poids fort bn (MSB : Most Significant Bit ou
BLPS : Bit Le Plus Significatif).
- Le bits de poids faible b0 (LSB : Least Significant Bit
ou BLMS : Bit Le Moins Significatif).
Systèmes de numération
Langage binaire
• Octet
• Kilooctet (Ko) = 210 octets = 1024 octets
• Mégaoctet (Mo) = 220 octets =1024 Ko = 1 048 576 octets
• Gigaoctet (Go) = 230 = 1024 Mo = 1 073 741 824 octets
• Téraoctet (To) = 240 = 1024 Go = 1 099 511 627 776 octets
NB: - « Byte" est plus fréquemment utilisée par la communauté
informatique (norme IEC), que "octet".
Ce qui donne les notations suivantes pour les unités :
kilobyte (KB), mégabyte (MB), Gigabyte (GB) et Térabyte
(TB).
- ne pas confondre dans les notations : b et B. b représente un
bit et B représente un Byte.
Systèmes de numération
Langage binaire Décimal Binaire
Convention de l’IEC depuis 0 0000
1998 : 1 0001
2 0010
Kilobyte : KB = 1000 B
3 0011
Megabyte : MB = 1000 KB
4 0100
Gigabyte : GB = 1000 MB 5 0101
Térabyte : TB = 1000 GB 6 0110
Ex. : 7 0111
1011,11012= 1x8 + 0x4 +1x2 +
8 1000
1x1 + 1x0.5 + 1x0.25 + 0x0.125
+1x0.0625 = 11,8125 9 1001
Systèmes de numération
Système octal (base 8)
8 symboles (chiffres) utilisés : 0, 1, 2, 3, 4, 5, 6, 7
(745)8 = 7. 82 + 4. 81 + 5. 80 = 7 × 64 + 4 × 8 + 5 × 1 = (485)10
Ex : 36AF816 ou 36AF8H
Systèmes de numération
Système hexadécimal (base 16)
• Méthodes de la multiplication
• Méthode de substitution
(19,75)10 = (1 0 0 1 1 , 1 1 0)2
Systèmes de numération
Conversion Base n vers base m
Nouveaux codes :
- ISO/IEC 10646 : codage sur 32 bits ; - UNICODE (UNIversal CODE) :
codage sur 16 bits, utilisable dans tout système d’exploitation et
langage de programmation, disponible dans plusieurs langues (latin,
hébreu, grec, tamoul, cyrillique, japonais, chinois…) et compatible
avec ASCII ;
- EBCDIC (Extended Binary-Coded Decimal Interchange Code),
développé par IBM, permet de coder sur 8 bits.
Systèmes de codage
Code ASCII
Code détecteur d’erreurs
Schéma fonctionnel de la détection des erreurs par le bit
de parité P créé par un générateur de parité à partir des
données injectées.
Code détecteur d’erreurs
La détection de l’erreur de transmission des
données dans les systèmes numériques
s’effectue à l’aide d’un bit de parité qui est
transmis avec le mot numérique
N° DCBA P N° DCBA P
TV
0 0000 0 8 1000 1
générateur
de bit de 1 0001 1 9 1001 0
parité → 2 0010 1 10 1010 0
3 0011 0 11 1011 1
4 0100 1 12 1100 0
5 0101 0 13 1101 1
6 0110 0 14 1110 1
7 0111 1 15 1111 0
Code détecteur d’erreurs
Recherche des sorties P du générateur de bits de
parité correspondant à la situation suivante.
1 0 1 0
7 6 5 4 3 2 1
P2 vaut 0 pour rendre pair 1+0+1 (bits positions 7, 6, 5)
P1 vaut 1 pour rendre pair 1+0+0 (bits 7, 6, 3)
P0 vaut 0 pour rendre pair 1+1+0 (bits 7, 5, 3)
1 0 1 0 0 1 0
7 6 5 4 3 2 1
Code détecteur d’erreurs
Code Hamming
Schéma fonctionnel du code 7- 4
Code détecteur d’erreurs
Code Hamming
Etude de la transmission du mot 1010 (D7D6D5D3).
La sortie P4 du générateur de parité est 0 car les entrées sont 101;
la sortie P2 est 1 car les entrées sont 100 ; enfin la sortie P1 est 0
car les entrées sont 110, donc l’information binaire émise sur la
ligne de transmission sera (D7D6D5P4D3P2P1) → 1010010 .
D7 D6 D5 P4 D3 P2 P1
1 0 1 0 0 1 0
Erreur 1 → 0
D7 D6 D5 P4 D3 P2 P1 Indicateur d’erreur affiche le
1 0 0 0 0 1 0 binaire 101 → 5, ce qui
signifie que le bit 5 est
D7 D6 D5 P4 D3 P2 P1 E4 incorrect. Ainsi le circuit
1 0 0 0 x x x 1 correcteur d’erreur modifie
D7 D6 D5 P4 D3 P2 P1 E2 le bit 5 de 0 à 1 et le mot
1 0 x x 0 1 x 0 corrigé est transmis au
récepteur
D7 D6 D5 P4 D3 P2 P1 E1
1 x 0 x 0 x 0 1
Opérations Arithmétiques
Addition
0+0=0
1+0=0+1=1
1 + 1 = 0 avec retenue (ou report) de 1
1+1+1 = 1 avec retenue de 1
Multiplication
0*0=0
1*0=0*1=0
1*1=1
Soustraction
1–0=1
1–1=0
0 – 1 = 1 avec emprunt de 1 au voisin de gauche
Opérations en binaire
Addition
Rappel Règles :
0+0=0;1+0=0+1=1
1 + 1 = 0 avec retenue (report) de 1
1+1+1 = 1 avec retenue de 1
Opérations en binaire
Multiplication
Rappel Règles :
0*0=0;1*0=0*1=0;1*1=1
Opérations en binaire
Soustraction
• Soustraction directe
C2(N) = 10111011 + 1 = 1 0 1 1 1 1 0 0
M + C2(N) = 01010100
+ 10111100
--------------
1 00010000
M – N = M + C2(N) = 10000
Opérations en binaire
Complément à 2
Algèbre de Boole
• 1854 : algèbre de Boole élaborée par Georges Boole ;
• 1938 : son utilisation dans le décryptage des circuits
électroniques.
Algèbre de Boole
Principe : une proposition est vraie ou fausse, mais ne
peut être les deux à la fois.
Une lampe est allumée ou éteinte ; un interrupteur est
fermé ou ouvert,…Ces états sont représentés par des bits (0
ou 1) suivant deux logiques :
• logique positive qui fait correspondre à une affirmation
le symbole "1" et à une infirmation "0"
• logique négative qui attribuera "0" à l’affirmation et "1"
à l’infirmation.
Algèbre de Boole
Illustration :
• Electronique (logique TTL) : logique posiTve (5V→
1 ; <5V→ 0) ; logique négaTve (5V→ 0 ; <5V→ 1)
• Pneumatique : présence de pression → 1 et
l’absence de pression → 0.
Propriétés
Comme en algèbre classique, l’algèbre de Boole
possède des propriétés de :
* symétrie : A=B B=A
* réflexivité : A=A
* transitivité : A=B et B=C A=C
Propriétés
Propriétés
Axiomes Somme de produits (∑∏) Produit des sommes (∏∑)
Associativité (A+B)+C = A + (B+C) = (A.B).C = A.(B.C) =A.B.C = ABC
A+B+C
Commutativité A + B =B + A A.B = B.A
Distributivité A.(B+C) = AB + AC A + (BC) = (A+B).(A+C)
Elément neutre A+0=A A.1 =A
Complément A+A =1 A⋅A = 0
Théorèmes
Idempotence A+A=A A.A = A
Absorption A + (A.B) = A A. (A + B) = A
A+1=1 A.0 = 0
Involution A=A A=A
Loi de De Morgan A+ B = A⋅ B A⋅B = A + B
Consensus de 1ère A + AB = A + B ( + )=
espèce
Consensus de 2ème + + = + ( + )( + )( + ) = ( + )( + )
espèce
Propriétés
• Dualité
Deux expressions se correspondent par
dualité si l'on obtient l'une en changeant
dans l'autre, les "ET" par des "OU", les "OU"
par des "ET", les "1" par des "0" et les "0"
par des "1"
Si Alors
Propriétés
Loi de De Morgan généralisée :
AB + BC + AC = ( AB + AC) + BC
= ( AB + AC) + ( A + A ) ⋅ BC = AB + AC + ABC + ABC
= AB(1 + C) + AC(B + 1) = AB + AC
A B A+B
0 0 0
0 1 1
1 0 1
1 1 1
Représentation des fonctions logiques
• Logigramme
• Formes normales
o La forme normale disjonctive ou forme
canonique disjonctive ou forme minterme d’une
fonction est sa décomposition en des OU de
plusieurs ET logiques.
Représentation des fonctions logiques
F = AB C + AB C + ABC + ABC
F = R (0,1,4,6) = A ⋅ B ⋅ C + AB ⋅ C + A ⋅ BC + ABC
Loi de De Morgan → F = ( A + B + C) ⋅ ( A + B + C) ⋅ ( A + B + C ) ⋅ ( A + B + C )
Représentation des fonctions logiques
• Mise en équation de fonctions exemple
Portes logiques
• Porte ET (AND)
• Porte OU (OR)
Portes logiques
• Porte NON (NOT) • Porte NON-ET (NAND)
Expression:
A ⊕ B = AB + AB
Portes logiques
• Opérateur NON-OU Exclusif (XNOR)
XNOR = fonction « parité ou coïncidence ou équivalence »
Expression :
= AB + A ⋅ B
Portes logiques
Circuits intégrés de type TTL
Simplification de fonctions logiques
• Méthode algébrique
Basée sur l’utilisation des propriétés de l’algèbre de Boole pour
transformer l’expression d’une fonction en une autre équivalente
mais réduite.
F1 réalisé avec 2 inverseurs, 2 ET à 3 entrées, 1 ET à
F1 = ABC + ABC + ABCD quatre entrées et 1 OU à trois entrées.
H = A ⋅ B ⋅ C ⋅ D + AB ⋅ C ⋅ D + A ⋅ B ⋅ CD + AB ⋅ CD
Simplification de fonctions logiques
• Combinaisons impossibles
Des combinaisons particulières des valeurs des variables
peuvent ne pas se faire, pour des raisons physiques ou
technologiques. Le TK de telle fonction comporte
quelques cases marquées "x", signifiant que la valeur n’a
aucune influence sur le fonctionnement du système. x
peut alors prendre la valeur 0 ou 1. Dans le
regroupement des "1" adjacents, on peut tenir compte
de ces cases "x« en cas de besoin.
Simplification de fonctions logiques
• Combinaisons impossibles
Simplification de fonctions logiques
• Combinaisons impossibles
Afficheur 7 segments
Simplification de fonctions logiques
• Impliquant redondant ou aléa
Un impliquant est dit redondant si toutes les fenêtres qu'il couvre
dans une table de Karnaugh sont déjà couvert par un autre
impliquant. Ce terme peut être enlevé de l'équation sans changer
la table de vérité. Sous certaines conditions, ce terme peut
stabiliser le circuit en enlevant des erreurs momentanées (glitchs)
de fonctionnement.
Simplification de fonctions logiques
• Utilisation des symétries du tableau de Karnaugh
Simplification de fonctions logiques
• Utilisation des symétries du tableau de Karnaugh
Simplification de fonctions logiques
• Utilisation des symétries du tableau de Karnaugh
Simplification de fonctions logiques
A partir de 5 variables, le problème se complique un peu. En effet,
il n'est pas possible d'obtenir sur une surface plane un tableau
dans lequel une case soit adjacente à 5 autres cases. Il est
toutefois possible d'utiliser la méthode de Karnaugh en faisant
deux tableaux.
Simplification de fonctions logiques
Remarque 1 :
lorsque le problème à résoudre comporte plus de 6
variables d’entrées, la méthode graphique ne peut être
appliquée (5 variables → 25 = 32 cases à remplir, 6
variables → 64 cases, …., 10 → 1024 cases !). Alors on fait
recours à la méthode de Mac Cluskey ou aux méthodes
algorithmiques. Il existe néanmoins de fonctions standards
combinatoires intégrées dans des circuits TTL ou CMOS
pour l’étude de fonctions complexes.
Simplification de fonctions logiques
Remarque 2 :
il peut arriver qu’interviennent des problèmes d’aléas
(états indésirables des sorties lors du changement de
certaines variables d’entrées dus à l’influence de champs
électromagnétiques parasites qui perturbent les temps de
propagation des portes), mais ceci se produisant pendant
des durées très courtes, il n’est pas toujours indispensable
de s’en préoccuper lorsqu’une brève variation d’une sortie
ne produit pas un dysfonctionnement notable du système.
Circuits Logiques
Circuits arithmétiques
Half Adder = Demi additionneur
= + = ⊕
=
Circuits Logiques
Circuits arithmétiques
A B R S C
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
S = A ⋅ B R + A B R + A B ⋅ R + ABR 1 1 1 1 1
C = A BR + A B R + AB R + ABR
Circuits Logiques
Circuits arithmétiques
A C = AB ⋅ R
B C = AB R ( A + B + R ) C = A B ⋅ R + AB R + A ⋅ B R S = ( A + B + R )C + ABR
R C = A ⋅ BR
Circuits Logiques
Circuits arithmétiques
Addition en parallèle
Addition séquentielle
Circuits Logiques
Circuits arithmétiques
Demi soustracteur Soustracteur
D = AB + AB = A ⊕ B
C = A B
Additionneur soustracteur
A − B = A + B + 1 − 2n = A + B + 1 → (nbits )
Circuits Logiques
Circuits combinatoires
Circuits logiques combinatoires = circuits constitués des portes
logiques fonctionnant simultanément et réalisant une ou plusieurs
fonctions logiques.
K = k 0 a ⋅ b + k 1 a b + k 2a b + k 3ab
Circuits Logiques
Circuits combinatoires
Multiplexeur comme générateur de fonction
A B R S
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1
Circuits Logiques
Circuits combinatoires
Démultiplexeur
Circuit qui aiguille une entrée vers une sortie dont on donne
l’adresse sous forme d’un nombre codé en binaire (ab)2=n.
Kj (n) = K, si j = n et Kj (n) = 0 si j ≠n
Circuits Logiques
• Circuits de codage
Transmission d’information : simple, rapide, sécurisé, selon le besoin
Codeur ou encodeur
- Un codeur fait correspondre à l’activation d’une entrée
particulière une combinaison de bits en sortie ;
- Un codeur à n sorties aura au maximum 2 entrées
e0 e1 e2 s0 s1
0 0 0 x x
0 0 1 0 0
0 1 0 0 1
0 1 1 x x
1 0 0 1 0
1 0 1 x x
1 1 0 x x
1 1 1 x x
Circuits Logiques
• Circuits de codage
Encodeur de priorité
L'encodeur est un système combinatoire ayant pour fonction de
retrouver l'index d'activation d'une parmi 2n entrées. L'index
d'activation est donné sur n lignes d'adresse. Lorsque plusieurs
entrée sont activées, l'encodeur accorde la priorité à l'entrée dont
l'index est supérieur.
Circuits Logiques
• Circuits de codage
Codeur binaire pur
Circuits Logiques
• Circuits de codage
Codeur binaire pur
Circuits Logiques
• Circuits de codage
TV Décodeur 2 vers 3
Décodeur
e1 e0 s0 s1 s2
0 0 1 0 0
0 1 0 1 0
1 0 0 0 1 TV FA
1 1 0 0 0 A B R S
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1
Circuits Logiques
• Circuits de codage
Décodeur 3 vers 8
permet la mise à 1 d'une seule
des huit sorties, déterminée
par le nombre exprimé en
binaire (ABC)2 fourni à l'entrée.
Circuits Logiques
• Circuits de codage
Décodeur
L 5 = ABCD
Circuits Logiques
• Circuits de codage
Transcodeur BR/BN
g3 g2 g1 g0 n3 n2 n1 n0
0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 1
0 0 1 0 0 0 1 1
0 0 1 1 0 0 1 0
0 1 0 0 0 1 1 1
0 1 0 1 0 1 1 0
0 1 1 0 0 1 0 0
0 1 1 1 0 1 0 1
1 0 0 0 1 1 1 1
1 0 0 1 1 1 1 0
1 0 1 0 1 1 0 0
1 0 1 1 1 1 0 1
1 1 0 0 1 0 0 0
1 1 0 1 1 0 0 1
1 1 1 0 1 0 1 1
1 1 1 1 1 0 1 0
Circuits Logiques
• Circuits de codage
Transcodeur Gray/Binaire
Circuits Logiques
• Circuits de codage
Transcodeur Binaire/Gray
Circuits Logiques
• Circuits de codage
Sélecteurs Comparateurs
C0 C1 S
0 0 X
0 1 E1
1 0 E0
1 1 X
C = AB
Contrôleur de parité D = AB
E = A ⊕ B = AB + AB = C + D