From 866d3a19e0b8fdff6dd1c5dbc826e293d5880591 Mon Sep 17 00:00:00 2001 From: "flyingscorpio@pinebookpro" Date: Wed, 1 Sep 2021 13:58:05 +0200 Subject: [PATCH] First commit --- logique-programmable/20210901-1240.cours | 151 +++++++++++++++++++++++ 1 file changed, 151 insertions(+) create mode 100644 logique-programmable/20210901-1240.cours diff --git a/logique-programmable/20210901-1240.cours b/logique-programmable/20210901-1240.cours new file mode 100644 index 0000000..fba737f --- /dev/null +++ b/logique-programmable/20210901-1240.cours @@ -0,0 +1,151 @@ +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