ISSLg
- Cours d'électronique
Les portes logiques
Navigation> electronique/automatisme/logique/portes
Pour plus de détails, voir : Floyd - Systèmes numériques - 9ème édition
p112 : Ch3 - Portes logiques
Les portes logiques sont réalisées avec des transistors
faisant office de "contacts électroniques". Selon leurs montages
(série,
parallèle, successions d'étages), ils permettent de réaliser
différentes
fonctions logiques.
Le
OUI (buffer)
En
portes américaines :
entrée
sortie
Attention
: à ne pas confondre cette porte logique avec l'ampli-opérationnel ou
encore le comparateur qui eux ont deux entrées (+ & -).
En
portes européennes :
entrée
sortie
Avec
une table de vérité :
En
Français :
La sortie Q1 est active si l'entrée I1 est active.
(En binaire : La sortie est identique à l'entrée)
En
algèbre de Boole :
Q1 = I1
En
langage de programmation Pascal :
q1
:= i1;
Le
NON (inverseur / NOT)
En
portes américaines :
entrée
sortie
En
portes européennes :
entrée
sortie
Avec
une table de vérité :
En
Français :
La sortie Q1 est inactive si l'entrée I1 est active.
(En binaire : La sortie est l'inverse de l'entrée)
En
algèbre de Boole :
Q1
= I1
En
langage de programmation Pascal :
q1
:= not(i1);
Le
ET (AND)
En
portes américaines :
entrées
sortie
En
portes européennes :
entrées
sortie
Avec
une table de vérité :
I2 |
I1 |
|
Q1 |
0 |
0 |
|
0 |
0 |
1 |
|
0 |
1 |
0 |
|
0 |
1 |
1 |
|
1 |
En
Français :
La sortie Q1 est active si l'entrée I1 et l'entrée I2 sont
simultanément actives.
En
algèbre de Boole :
Q1 =
I1.I2
NB : attention à ne pas confondre l'opérateur booléen "." (ET) avec
l'opérateur arithmétique "." (multiplication) !
En
langage de programmation Pascal :
q1
:= i1 and i2;
Le OU
(OR)
En
portes américaines :
entrées
sortie
En
portes européennes :
entrées
sortie
Avec
une table de vérité :
I2 |
I1 |
|
Q1 |
0 |
0 |
|
0 |
0 |
1 |
|
1 |
1 |
0 |
|
1 |
1 |
1 |
|
1 |
En
Français :
La sortie Q1 est active si l'entrée I1 ou l'entrée
I2 sont
actives (l'une ou l'autre, ou encore les deux en même temps).
En
algèbre de Boole :
Q1 = I1
+ I2
NB : attention à ne pas confondre l'opérateur booléen "+" (OU) avec
l'opérateur arithmétique "+" (addition) ! Ici 1+1=1
En
langage de programmation Pascal :
q1
:= i1 or i2;
Le OU-exclusif
(ou XOR)
En
portes américaines :
entrées
sortie
En
portes européennes :
entrées
sortie
Avec
une table de vérité :
I2 |
I1 |
|
Q1 |
0 |
0 |
|
0 |
0 |
1 |
|
1 |
1 |
0 |
|
1 |
1 |
1 |
|
0 |
En
Français :
La sortie Q1 est active si l'entrée I1 et l'entrée
I2 sont
dans des états différents (l'une ou l'autre active, mais pas les deux
en même temps).
En
algèbre de Boole :
Q1 = I1
⊕ I2
En
langage de programmation Pascal :
q1
:= i1 xor i2;
Le
NON-ET (NAND)
En
portes américaines :
entrées
sortie
En
portes européennes :
entrées
sortie
Avec
une table de vérité :
I2 |
I1 |
|
Q1 |
0 |
0 |
|
1 |
0 |
1 |
|
1 |
1 |
0 |
|
1 |
1 |
1 |
|
0 |
En
Français :
La sortie Q1 est inactive si l'entrée I1 et l'entrée I2 sont
simultanément actives.
En
algèbre de Boole :
Q1 =
I1.I2
NB : attention à ne pas confondre l'opérateur booléen "." (ET) avec
l'opérateur arithmétique "." (multiplication) !
En
langage de programmation Pascal :
q1
:= not(i1 and i2);
Le
NON-OU
(NOR)
En
portes américaines :
entrées
sortie
En
portes européennes :
entrées
sortie
Avec
une table de vérité :
I2 |
I1 |
|
Q1 |
0 |
0 |
|
1 |
0 |
1 |
|
0 |
1 |
0 |
|
0 |
1 |
1 |
|
0 |
En
Français :
La sortie Q1 est active si l'entrée I1 ou l'entrée
I2 sont
toutes les deux inactives.
En
algèbre de Boole :
Q1 = I1
+ I2
NB : attention à ne pas confondre l'opérateur booléen "+" (OU) avec
l'opérateur arithmétique "+" (addition) ! Ici 1+1=1
En
langage de programmation Pascal :
q1
:= not(i1 or i2);
Le
NON-OU-exclusif
(ou XNOR)
En
portes américaines :
entrées
sortie
En
portes européennes :
entrées
sortie
Avec
une table de vérité :
I2 |
I1 |
|
Q1 |
0 |
0 |
|
1 |
0 |
1 |
|
0 |
1 |
0 |
|
0 |
1 |
1 |
|
1 |
En
Français :
La sortie Q1 est active si l'entrée I1 et l'entrée
I2 sont
dans des états identiques.
En
algèbre de Boole :
Q1 = I1
⊕ I2
En
langage de programmation Pascal :
q1
:= not(i1 xor i2);
Utilité des portes NAND et NOR : on peut recréer toutes les autres portes en les combinant !
Utilité des portes XNOR : comparateur binaire.
Les
représentations de combinaisons logiques
Comme
nous venons de le voir dans les combinaisons de base ci-dessus, la
représentation d'une combinaison de
signaux logiques peut se faire de plusieurs manières.
Avec
une table de vérité :
Un tableau décrit tous les états des sorties selon toutes les
combinaisons possibles des entrées.
Nombre de colonnes = nombre d'entrées + nombre de sorties.
Nombre de lignes = 2nombre d'entrées
Très complet, mais devient vite fastidieux s'il y a beaucoup d'entrées
!!!
1 entrée => 2 lignes dans le tableau
2 entrées => 4 lignes dans le tableau
3 entrées => 8 lignes dans le tableau
4 entrées => 16 lignes dans le tableau
5 entrées => 32 lignes dans le tableau
6 entrées => 64 lignes dans le tableau
7 entrées => 128 lignes dans le tableau
8 entrées => 256 lignes dans le tableau
...
Pour
être certain de bien couvrir toutes les combinaisons possibles des
entrées (et pour ne pas complexifier inutilement les choses lorsque
nous passerons au système de numération binaire), procédez comme suit :
- première ligne : toutes les entrées sont inactives (0)
- changer l'entrée dans la colonne la plus à droite à chaque
ligne (0 1 0 1 0 1 0 1 0 1...)
- changer l'entrée dans la colonne juste à
gauche de la précédente toutes les 2 lignes (0 0 1 1 0 0 1 1 0 0 1 1
...)
- changer l'entrée dans la colonne
juste à gauche de la précédente toutes les 4 lignes (0 0 0 0 1 1 1 1 0
0 0 0 ...)
- changer
l'entrée dans la colonne juste à gauche de la précédente
toutes
les 8 lignes (0 0 0 0 0 0 0 0 1 1 1 1 ...)
- changer l'entrée dans la colonne
juste à gauche de la précédente toutes les 16 lignes
- ... jusqu'à atteindre la première colonne.
- si vous avez bien procédé, toutes les
entrées sont actives (1) à la dernière ligne.
Exemple :
I3 |
I2 |
I1 |
|
Q2 |
Q1 |
0 |
0 |
0 |
|
0 |
0 |
0 |
0 |
1 |
|
0 |
1 |
0 |
1 |
0 |
|
1 |
0 |
0 |
1 |
1 |
|
1 |
0 |
1 |
0 |
0 |
|
0 |
0 |
1 |
0 |
1 |
|
0 |
0 |
1 |
1 |
0 |
|
0 |
0 |
1 |
1 |
1 |
|
0 |
0 |
En
Français :
C'est par exemple le cahier des charges d'un circuit à réaliser. Ou
encore la description du fonctionnement d'un système.
Pour notre exemple :
Q1
et Q2 sont inactives si I3 est active ; sinon Q2 est active si I2
est active et Q1 est active si I2 est inactive et que I1 est
actif.
En
algèbre de Boole :
Chaque sortie est représentée par une équation logique.
Pour notre
exemple :
Q1 = I3 . I2 . I1
Q2 = I3 . I2
En
langage de programmation Pascal :
Les entrées et les sorties sont représentées par des variables (type
boolean) afin de les nommer.
Chaque
sortie reçoit via le symbole d'affectation ":=" une combinaison logique
des variables d'entrées réalisée au moyen d'opérateurs binaires "not,
and, or, xor" avec possibilité de regroupements au moyen de "(
)".
Pour notre exemple :
q1
:= not(i3) and not(i2) and i1;
q2 := not(i3) and i2;
En
portes américaines ou européennes
:
Les entrées sont reliées aux sorties via l'interconnexion de portes
logiques.
Pour notre exemple en
portes américaines :
Pour notre exemple en
portes européennes :
Sources des symboles de cette page : http://electronicsclub.info/gates.htm
Auteur :
Philippot Marc - 02/10/2013