efrei/logique-programmable/20210901-1240.cours

151 lines
5.7 KiB
Text

logique programmable: composant intégré
avant: composants intégrés
1. prérequis
1.1 logique booléenne
composant discret = pas > 4 portes en alimentation continue 7400 (gamme commerciale) ou 5400 (gamme militaire); 2 entrées 1 sortie (3 broches) * 4 portes = 12 broches
plusieurs technos possibles: chimique hydrraulique pneumatique mécanique électroméca éctrique électronique (ce qui nous intéresse)
on détermine un état bas et un état haut
< tension VIL (input low) = état bas
> tension VIH (input high) = état haut
quand on passe de l'un à l'autre c'est pour une très courte période
fonctions de base http://www.futurlec.com/IC74LS00Series.shtml
avec AND et OR on peut fabriquer toutes les briques possibles
suiveur: sortie = entrée (S = E)
table de vérité: E | S
L | L
H | H
inverseur: E vrai -> S faux sortie = inverse de l'entrée (on met une barre sur le E)
E faux -> S vrai
table de vérité: E | S
L | H
H | L
OU logique (OR): pour que S soit vrai il suffit qu'une seule entrée soit vraie
pour que S soit faux il faut que toutes les entrées soient fausses
en notation booléenne, on associe le 0 à faux:
+ veut dire OU
E1 = 0, E2 = 0 -> E1 + E2 = 0
E1 = 0, E2 = 1 -> E1 + E2 = 1
E1 = 1, E2 = 0 -> E1 + E2 = 1
a + 0 = a
a + 1 = 1
a + a = a
a + a barre = 1
table de vérité: X Y | S
L L | L
L H | H
H L | H
H H | H
H (high) = 1 = vrai
L (low) = 0 = faux
ET logique (AND): inverse du OU: pour que S soit vrai il faut que toutes les entrées soient vraies
en notation booléenne, le AND se note par un point médian
E1 = 0, E2 = 0 -> E1 + E2 = 0
E1 = 0, E2 = 1 -> E1 + E2 = 0
E1 = 1, E2 = 0 -> E1 + E2 = 0
E1 = 1, E2 = 1 -> E1 + E2 = 1
table de vérité: X Y | S
L L | L
L H | L
H L | L
H H | H
XOR (OU exclusif): pour que S soit vrai il faut SOIT que E1 soit vrai SOIT que E2 soit vrai
en notation booléenne, le XOR se note par un + dans un cercle
E1 = 0, E2 = 0 -> E1 + E2 = 0
E1 = 0, E2 = 1 -> E1 + E2 = 1
E1 = 1, E2 = 0 -> E1 + E2 = 1
E1 = 1, E2 = 1 -> E1 + E2 = 0
table de vérité: X Y | S
L L | L
L H | H
H L | H
H H | L
a XOR 0 = a
a XOR 1 = a barre
a XOR a = 0
a XOR a barre = 1
NOR (non OU): on rajoute une barre sur le OU des entrées: pour que S soit vrai, il faut que E1 et E2 soient faux
théorême de Morgan: (a+b)barre = a barre . b barre
E1 = 0, E2 = 0 -> E1 + E2 = 1
E1 = 0, E2 = 1 -> E1 + E2 = 0
E1 = 1, E2 = 0 -> E1 + E2 = 0
E1 = 1, E2 = 1 -> E1 + E2 = 0
table de vérité: X Y | S
L L | H
L H | L
H L | L
H H | L
NAND (non ET): pour que S soit vrai il suffit qu'entrée soit fausse
théorême de Morgan: (a.b)barre = a barre + b barre
E1 = 0, E2 = 0 -> E1 + E2 = 1
E1 = 0, E2 = 1 -> E1 + E2 = 1
E1 = 1, E2 = 0 -> E1 + E2 = 1
E1 = 1, E2 = 1 -> E1 + E2 = 0
table de vérité: X Y | S
L L | H
L H | H
H L | H
H H | L
NO XOR (non OU exclusif): pour que S soit vrai il faut que les entrées soient identiques
E1 = 0, E2 = 0 -> E1 + E2 = 1
E1 = 0, E2 = 1 -> E1 + E2 = 0
E1 = 1, E2 = 0 -> E1 + E2 = 0
E1 = 1, E2 = 1 -> E1 + E2 = 1
table de vérité: X Y | S
L L | H
L H | L
H L | L
H H | H
Il y a des temps de propagation. Ils peuvent être négligeables ou pas.
Ces temps de propagation vont limiter la fréquence d'utilisation.
le ET est prioritaire sur le OU
élément neutre a.1 = a
a+0 = a
élément absorbant a.0 = 0
a+1 = 1
idempotence a.a = a
a+a = a
complément a.a barre = 0
a+a barre = 1
commutativité a.b = b.a
a+b = b+a
associativité a.(b.c) = (a.b).c = a.b.c
a+(b+c) = (a+b)+c = a+b+c
distributivité a.(b+c) = (a.b)+(a.c) = a.b + a.c
a+(b.c) = (a+b).(a+c)
théorême de Morgan (a.b) barre = a barre + b barre
(a+b) barre = a barre . b barre
consensus a.b+a barre . c + b.c = a.b + a barre . c
5. fonctions booléennes: on cherche à simplifier pour limiter le nombre de portes logiques utilisées
Une fonction booléenne est une application de {0,1}n dans {0,1}.
Elle peut être écrite par une table ou par un expression.
x2 x1 x0 y
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 1
par une expression: y = f(x2,x1,x0) = x2 . x1 + x2 barre . x0
soit f(x,y,z)
x barre . y est un minterme
x . y . z barre est un minterme complet
x barre + y est un maxterme
x + y + z barre est un maxterme complet
x y z minterme associé maxterme associé
0 0 0 x barre . y barre . z barre
= 1
0 1 1 x barre . y . z
= 0
1 0 1 x . y barre . z
= 0
1 1 1 x . y . z