Vous êtes sur la page 1sur 102

OBJECTIFS

 Objectif général :
Comprendre les lois qui régissent les fonctions logiques
et le processus d’implantation des circuits logiques.

 Objectifs spécifiques :

L’étudiant doit être capable de :

- connaitre les systèmes numération courantes ;


- faire des conversions entre systèmes ;
- faire des opérations arithmétiques en binaire ;
OBJECTIFS

 Objectifs spécifiques (suite) :

L’étudiant doit être capable de :

- connaitre les lois fondamentales de l’algèbre de Boole ;


- connaitre les deux théorèmes de De Morgan et les
appliquer ;
- savoir les diverses représentations de fonction logique ;
- retrouver les deux formes normales d’une fonction logique ;
- représenter une fonction logique par son image décimale ;
OBJECTIFS

 Objectifs spécifiques (suite)


- savoir simplifier algébriquement et graphiquement une
fonction logique ;
- dresser une table de vérité et de Karnaugh d’une fonction
logique;
- connaitre les différents opérateurs logiques, leurs symboles
et tables de vérité ;
OBJECTIFS

Objectifs spécifiques (suite)

- implanter une fonction logique à l’aide des

opérateurs NON-ET et NON-OU ;

- connaitre les différents types de circuits logiques ;

- analyser le fonctionnement d’un circuit logique ;

- concevoir un circuit logique et l’implanter.


CONTENU DU COURS

 Numération et Codage

• Systèmes de numération courants ;

• Conversions entre systèmes ;

• Systèmes de codage ;

• Codes détecteurs et correcteurs d’erreurs ;

• Opérations arithmétiques en binaire.


CONTENU DU COURS

 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

- R. MERAT et collectif, (2001). Electronique numérique. Ed.

Nathan ;

- Roger L. TOKHEIM, (1987). Techniques numériques. Ed. Mc

Graw-Hill ;

- Jean LETOCHA, (1985). Introduction aux circuits logiques. Ed.

Chenelière/Mc Graw-Hill ;

- Yves MERGY, (2002). Pour s’initier à l’électronique logique et

numérique. Ed. Dunod


Systèmes de numération
 Définitions
Un système de numération est une représentation de
variables.

Ces variables codées, sont basées sur un ensemble de


symboles («chiffres», digits), et de règles de
composition représentant les opérations entre ces
variables.

Les opérations de base sont l’addition, la multiplication


et les autres opérations arithmétiques.
Systèmes de numération

 Base d’un système


La base d’un système numérique est le nombre
de chiffres de l’ensemble.

( N )b = [ (partie entière) , (fraction) ] b

b → base
N → nombre

Ex. : (124,59 )10


Systèmes de numération
 Représentation des nombres
 Notation juxtaposé
(N)b = (an-1 an-2 … a1 a0 , a-1 a-2 … a-m)b ; 0 ≤ ai ou a-f ≤ b -1
(741,10)8
n−1
 Notation polynomiale ( N) r = 
j= − m
a jr j

(N)r= an-1•rn-1+an-2•rn-2+…+ a0 •r0 + …+ a-m+1•r-m+1+a-m•r-m

[4021,2]5 = 4.53 + 0.52 + 2.51 + 1.50 + 2.5-1


Systèmes de numération
 Bases courantes
Type Base Chiffres Exemple

Décimal 10 0…9 121

Hexadécimal 16 0,…,9,A,B,C, 1A7,F2


D,E,F

Octal 8 0-7 121,6

Binaire 2 0-1 1011,1101


Systèmes de numération
 Système binaire (base 2)
Toute l’information en électronique digital est binaire.
Systèmes de numération
 Langage binaire

Mot binaire : unité de traitement de l’information (en


anglais Binary Word ou BIT : Binary digIT).
- Un ensemble de 4 bits (Ou Mot de 4 bits) = Quartet
- Un ensemble de 8 bits (Ou Mot de 8 bits) = Octet.
Un octet (en anglais Byte) est composé de 8 bits

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

 Système hexadécimal (base 16)


16 symboles utilisés :
* 10 chiffres : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
* 6 lettres Alphabétiques : A, B, C, D, E, F

Ex : 36AF816 ou 36AF8H
Systèmes de numération
 Système hexadécimal (base 16)

L’hexadécimal est utilisé dans les calculateurs


numériques car la représentation d’un nombre décimal
est plus claire (compacte) que sa représentation
binaire.

Ex. : (3561)16 = (0011 0101 0110 0001)2


Systèmes de numération
 Base 10 en base b : Codage

• Méthodes des Divisions successives

Diviser la partie entière du nombre décimal à convertir


par la base b et conserver le reste de la division. Le
quotient obtenu est divisé par b et conserver le reste. Il
faut répéter l’opération sur chaque quotient obtenu. Les
restes successifs sont écrits, en commençant par le
dernier, de la gauche vers la droite pour former
l’expression de (N) dans le système de base b.
Systèmes de numération
 Base 10 en base b (suite)

• Méthodes de la multiplication

Multiplier la partie fractionnaire du nombre décimal à


convertir par la base b et conserver la partie entière de la
multiplication. Il faut répéter l’opération sur chaque
fraction obtenue. Les entiers successifs sont écrits dans
l’ordre, de la droite vers la gauche pour former la partie
fractionnaire de (N) dans le système de base b.
Systèmes de numération
 Base b en base 10 : Décodage

• Méthode de substitution

* Décomposer le nombre dans sa base (forme polynomiale).

* Remplacer éventuellement les symboles dans leur équivalent décimal.

* Effectuer l'opération pour avoir un résultat en base 10.

Ex. : (101,11)2 → ( ?)10

1.22 + 0.21 + 1.20 + 1.2-1 + 1.2-2 = 4 + 0 + 1 + ½ + ¼ = 5.75


Systèmes de numération
 Exemple conversion Base 10 en base 2

Ex. : (19,75)10 = ( ?)2


Partie entière Partie fractionnaire
19 ÷ 2 = 9 + 1 0,75 X 2 = 1,50
9÷2=4+1 0,50 X 2 = 1,00
4÷2=2+0 0,00 X 2 = 0,00
2÷2=1+0 0,75 = (0, 1 1 0)2
1÷2=0+1
19 = (1 0 0 1 1)2

(19,75)10 = (1 0 0 1 1 , 1 1 0)2
Systèmes de numération
 Conversion Base n vers base m

Si m = nr : on regroupe le nombre n en r bits qu’on


convertit en base 10. Inversement, on convertit chaque
coefficient du nombre m en binaire sur r bits.

Si m ≠ nr : il faut passer de la base n vers base 10, puis de


la base 10 vers la base M.
Systèmes de numération
 Codages décimal / binaire / octal / hexadécimal
Systèmes de codage
 Code de Gray ou binaire réfléchi
Système de codage qui, contrairement au code binaire pur est
arrangé de manière à ne faire changer d’état qu’une variable (bit) à
la fois d’une ligne à l’autre ou d’une colonne à l`autre. Ce code est
très utile pour les codeurs absolus afin d'éviter les erreurs. C’est un
code cyclique.
Principe : Recherche du nombre de combinaisons
Sur 1 bit (21 =2) : 0 1 ; Sur 2 bits (22 =4) : 00 01 11 10 ; Sur 3 bits
(23 =8) : 000 001 011 010 110 111 101 100 ; Sur 4 bits (24 =16) : on
précède ces 8 cas d'un 0, les 8 suivants étant les mêmes, dans l'ordre
inverse, précédés d'un 1.
Systèmes de codage
 Conversion binaire naturel vers gray
• Addition du binaire à lui même • Règle pratique

 Conversion gray vers binaire naturel


Systèmes de codage
 Code BCD
BCD = Binary Coded Decimal (français « Décimal Codé en
Binaire »). La représentation d'un nombre décimal en BCD est
très simple. Il suffit de transformer chaque chiffre en binaire
naturel sur 4 bits, sans faire de calcul.
Exemple : Transformation du nombre N = (1024)10 en BCD

(1024) 10 = (0001000000100100)BCD = (1000000100100)BCD


Systèmes de codage
 Code ASCII
L'ordinateur conserve les données sous forme numérique. Chaque
caractère possède donc son équivalent en code numérique : c'est le
code ASCII (American Standard Code for Information Interchange. Le
code ASCII de base représentait les caractères sur 7 bits (c'est-à-dire
128 caractères possibles, de 0 à 127).
* Codage alphanumérique des chiffres, des lettres, des signes de
ponctuations et des caractères spéciaux (26 lettres minuscules, 26
lettres majuscules, 7 signes, 20 à 40 caractères spéciaux comme +, /,
s, =, %, &, $...).
* Code le plus répandu.
Systèmes de codage
 Code ASCII

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.

a : P=0 ; b : P=0 ; c : P=1 ; d : P=0 ; e : P=1 ; f : P=0 ;


g : P=0 ; h : P=1 ; i : P=1 ; j : P=0 ; k : P=0 ; l : P=0
 Code détecteur d’erreurs
Code Hamming
Le code Hamming permet, à la fois, de détecter une erreur
et sa position, donc possibilité de faire la correction. C’est
un code auto-correcteur
Structure d’un code Hamming
• m bits du message à transmettre et n bits de contrôle de parité.
• Longueur totale : x = 2n −1
• Longueur du message : m = (2n −1)−n
On parle de code x − y où x = n + m et y = m.

Exemple de codes Hamming :


Un mot de code 7−4 a un coefficient d’efficacité de 4/7 = 57 %,
Un mot de code 15−11 a un coefficient d’efficacité de 11/15 = 73 %,
Un mot de code 31−26 a un coefficient d’efficacité de 26/31 = 83 %,
 Code détecteur d’erreurs
Code Hamming
Les bits de contrôle de parité Pi (ou Ci) sont en position 2i
pour i=0,1, 2,...Les bits du message Dj occupe le reste des
positions.
D3 D2 D1 P2 D0 P1 P0
7 6 5 4 3 2 1
Recherche de l’erreur dans un mot de Hamming
Si les bits de contrôle de réception P0’, P1’ et P2’ valent 0, il n’y a
pas d’erreurs sinon la valeur des bits de contrôle indique la
position de l’erreur entre 1 et 7.
Si P0’ vaut 1, les valeurs possibles de (P2’P1’P0’) sont 001, 011,
101, 111, c’est-à-dire 1, 3, 5, 7.
Si P1’ vaut 1, les valeurs possibles de (P2’P1’P0’) sont 010, 011,
110,111, c’est-à-dire 2, 3, 6, 7.
Si P2’ vaut 1, les valeurs possibles de (P2’P1’P0’) sont 100, 101,
110, 111, c’est-à-dire 4, 5, 6, 7.
 Code détecteur d’erreurs
Code Hamming
Calcul d’un code de parité paire
• P0 est calculé par rapport aux bits positions 7, 5, 3 et sa valeur position 1.
• P1 est calculé par rapport aux bits positions 7, 6, 3 et sa valeur position 2.
• P2 est calculé par rapport aux bits positions 7, 6, 5 et sa valeur position 4.

Exemple compléter le mot hamming suivant

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 .

1) Transmission du mot 1010 sans erreur


La sortie de la ligne sera 1010010. Les détecteurs d’erreurs auront
tous leurs sorties à 0, donc les trois indicateurs afficheront 000 →
transmission correcte → circuit de correction d’erreurs laisse passer
les données D7, D6, D5, D3 soit 1010 au récepteur.
 Code détecteur d’erreurs
Code Hamming
2) Transmission du mot 1010 avec erreur
Supposons qu’il y ait une erreur de transmission du mot 1010 sur le bit 5 (D5)

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

La soustraction se fait de la même manière que


l’addition, sauf que lorsque l'on soustrait 1 à 0, on
soustrait une retenue 1 (emprunt) pour le bit de poids
plus élevé. En binaire ce 1 ajoute 2 à la quantité dont on
soustrait.
 Opérations en binaire
 Division
Même méthode qu’une division de deux nombres
décimaux ; mais plus simple encore, car le quotient ne
prend que deux valeurs 1 et 0 : 1 si le dividende est
supérieur au diviseur et 0 sinon.
 Opérations en binaire
 Nombres signés

Les dispositifs numériques traitant également les


nombres négatifs, ce qui impose de prendre en compte
deux symboles supplémentaires : + et -. Ces dispositifs
n’acceptant que des 0 et des 1, il faut ajouter un autre bit
pour symboliser le signe. Un 0 placé en position du MSB
caractérise un nombre positif ; et un 1fait référence à un
nombre négatif. Ce bit est appelé bit de signe et le
nombre ainsi formé est dit signé.
 Opérations en binaire
 Notation exacte
+ (47) 10 = % 0 101111 ou (0 101111)2
- (47)10 = % 1 101111 ou (1 101111)2

 Complément à 1 en binaire (C1)


Règle : Changer les 0 en 1
N = 101100 ; M = 1 101111 ; C1 (N) = 010011 : C1 (M) = 1 010000

 Complément à 2 en binaire (C2)


Règle : C2 = C1 + 1 Astuce : pour obtenir le C2 il faut
repérer le premier 1 à partir de la
N = 01 0 1 1 0 0 ; C2 (N) = ?
droite et complémenter tous les bits à
1010011 sa gauche.
+ 1
C2(N) = 1 0 1 0 1 0 0
 Opérations en binaire
 Complément à 2

Exemple 1 : M = 01010100 ; N = 01000100


Calculer M – N = ?
On a : M > N

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

Exemple 2 : M = 01000100 ; N = 01010100


Calculer M – N = ?
On a : N > M
C2(N) = 10101011 + 1 = 1 0 1 0 1 1 0 0
M + C2(N) = 01000100
+ 10101100
--------------
1110000
Le résultat est négatif , on cherche son complément à 2.
C2 (1110000) = 0001111 + 1 = 0010000
Enfin : M – N = 1 10000 → (- 16)
 Opérations en binaire
 Soustraction à l’aide de l’addition

Une soustraction peut se ramener à une addition en utilisant la


méthode du C2. On prend le C1 du nombre à soustraire, auquel on
ajoute 1. Le résultat obtenu est ajouté au binaire de celui dont on
soustrait. Un report à l’addition du dernier bit est toujours rejeté.
 Opérations en binaire
NB : - l’addition est l’opération la plus importante
dans les systèmes numériques ; les opérations de
soustraction, multiplication et division effectuées
par les ordinateurs ne sont que des variantes de
l’addition.
Pour la division :
- si les nombres sont négatifs, on prend leurs
compléments à 2 avant de faire la division, le
quotient est en notation exacte ;
- si l’un des nombres est négatif, on prend son
complément à 2 avant la division, le résultat est le
complément à 2 du quotient cherché.
Logique combinatoire
Les systèmes logiques fonctionnent utilisent le binaire : "0" ou
"1". Ces valeurs "0" et "1" correspondent à des plages définies
à l’avance. La logique combinatoire concerne les systèmes dont
les sorties (réponses) sont exclusivement définies à partir de
combinaisons des variables d’entrées.

 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 :

F( x, y , z ,...,+ ,•) = F( x, y , z ,...,•,+ )

Démonstration à l’aide d’une TV du consensus de 1ère espèce :

Consensus de 1ère espèce


. . ΣΠ ΠΣ
a b a.b a + a.b a+b a+b a.( a+b) a.b
0 0 0 0 0 1 0 0
0 1 1 1 1 1 0 0
1 0 0 1 1 0 0 0
1 1 0 1 1 1 1 1
 Propriétés
Démonstration algébrique du consensus de 2ème espèce :

AB + BC + AC = ( AB + AC) + BC
= ( AB + AC) + ( A + A ) ⋅ BC = AB + AC + ABC + ABC
= AB(1 + C) + AC(B + 1) = AB + AC

Représentation des fonctions logiques


• Table de vérité • Tableau de Karnaugh

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

 forme normale disjonctive


Théorème N°1 de Shannon : Toute fonction peut se
décomposer en un OU de deux ET logiques
F( A, B, C,...) = A ⋅ F(1, B, C,...) + A ⋅ F(0, B, C,...)

Exemple : Soit F(A,B,C), sa forme normale disjonctive est :

F(A, B, C) = AB.C ⋅ F(1,1,1) + ABC ⋅ F(0,1,1) + ABC ⋅ F(1,0,1) + A ⋅ BC ⋅ F(0,0,1) +


ABC ⋅ F(1,1,0) + AB ⋅ C ⋅ F(1,0,0) + ABC ⋅ F(0,1,0) + A ⋅ B ⋅ C ⋅ F(0,0,0)
Représentation des fonctions logiques
o La forme normale conjonctive ou forme canonique
conjonctive ou forme maxterme d’une fonction est sa
décomposition en des ET de plusieurs OU logiques. C’est
la duale de la forme normale disjonctive.
Théorème N°2 de Shannon : toute fonction peut se
décomposer en un ET de deux OU logiques :
F( A, B, C,...) = ( A + F(0, B, C,...)) ⋅ ( A + F (1, B, C,...))

Exemple : soit H(A,B,C) ; sa forme canonique conjonctive est :


( )( )( )
F(A, B, C) = ((A+B+C) +F(0,0,0)) ⋅ (A+B+C) +F(0,0,1) ⋅ (A+B+C) +F(0,1,0) ⋅ (A+B+C) +F(0,1,1) ⋅
((A+B+C)+F(1,0,0))⋅((A+B+C)+F(1,0,1))⋅((A+B+C)+F(1,1,0))⋅((A+B+C)+F(1,1,1))
Représentation des fonctions logiques
• Mise en équation de fonctions
Forme disjonctive : développement suivant les ‘1’

F = AB C + AB C + ABC + ABC

Si on affecte à C, B et A les poids respectifs 4, 2 et 1,


F peut s'écrire :
F = R (2,3,5,7)

Forme conjonctive : développement suivant les ‘0’

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)

Synthèse du NON avec NAND

Synthèse du AND avec NAND

Synthèse du OR avec NAND


Portes logiques
• Porte NON-OU (NOR)

Synthèse du NOT avec NOR

Synthèse du AND avec NOR Synthèse du OR avec NOR


Portes logiques
• Portes NAND et NOR
NAND et NOR sont des opérateurs universels qui
permettent de synthétiser les opérateurs de base AND, OR,
NOT.

• Opérateur OU-Exclusif (XOR)


XOR = « fonction dilemme », utilisé pour comme détecteur d’imparité

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.

F1 = AB(C + C) + ABCD = AB + ABCD = A(B + BCD) = A(B + CD) = AB + ACD

Après simplification, F1 réalisable avec 1 ET à 2 entrées, 1 ET à 3 entrées et 1


OU à 2 entrées.

NB : la simplification algébrique nécessite une bonne


maîtrise des propriétés de l’algèbre de Boole et l’utilisation
d’astuces mathématiques.
 Simplification de fonctions logiques
• Méthode graphique
Utilisation de TK basé sur l’adjacence de 2n cases sous la forme :
AB + AB = A(B + B ) = A

ABC + ABC + ABC + AB C = AB(C + C) + AB (C + C ) = A


 Simplification de fonctions logiques
• Méthode graphique
Exemples de fonctions de 3, 4 et 5 variables
F = ABC + ABC + AB C + A B C

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

Sans tenir compte des x : U = AD E + ACD ⋅ E + AB C ⋅ E + ABC DE

Tenant compte des x : U = AB + A ⋅ B ⋅ E + AD ⋅ E


 Simplification de fonctions logiques
• Exemple de combinaisons impossibles ou facultatives

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

 Full Adder= Additionneur complet

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

 Full Adder= Additionneur complet


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
1 1 1 1 1

 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.

A une combinaison d’entrées (l’entrée) ne correspond qu’une seule


combinaison de sorties (la sortie). La « sortie » apparaît après
application de « l’entrée » avec un certain retard qui est le temps de
propagation dans la logique interne.
Circuits Logiques
 Circuits combinatoires

Rôle des circuits combinatoires :


 Traduire des bits en chiffres représentant un nombre (ou des
lettres ou un code particulier) ;
 Effectuer des opérations arithmétiques sur des nombres ;
 Convertir des données parallèle-série.;
 Sélectionner des données ;
 Générer des fonctions logiques ;
 Comparer des nombres ;
 Contrôler la parité.
Circuits Logiques
 Circuits combinatoires
 Multiplexeur
Sélecteur de données ou aiguillage convergent. Il peut transformer
une information apparaissant sous forme de i bits en parallèle en une
information se présentant sous forme de i bits en série. L’entrée,
sélectionnée par son adresse (ab)2=n, est reliée à la sortie.

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

Exemple : réalisation de l’addition à l’aide d’un Multiplexeur

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

Si P' est imposée à 0, la


sortie P représente la parité
du mot composé par les bits
A, B, C et D.

Vous aimerez peut-être aussi