151 lines
5.7 KiB
Text
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
|