efrei/logique-programmable/main.tex

214 lines
6.6 KiB
TeX

\documentclass[a4paper,french,12pt]{article}
\title{Logique Programmable}
\author{Catherine MARECHAL --- \href{mailto:catherine.marechal@efrei.fr}{\nolinkurl{catherine.marechal@efrei.fr}}}
\date{Dernière compilation~: \today{} à \currenttime}
\usepackage{../cours}
\begin{document}
\maketitle
\tableofcontents
\section{Prérequis}
\subsection{Logique booléenne}
Un composant discret n'a pas plus de 4 portes en alimentation continue.
7400 (gamme commerciale) ou 5400 (gamme militaire)
2 entrées et 1 sortie (3 broches) * 4 portes = 12 broches
Plusieurs technologies sont possibles~:
\begin{itemize}
\item chimique
\item hydrraulique
\item pneumatique
\item mécanique
\item électromécanique
\item éctrique
\item électronique (ce qui nous intéresse)
\end{itemize}
On détermine un état bas et un état haut~:
\begin{itemize}
\item état bas < tension VIL (input low)
\item état haut > tension VIH (input high)
\end{itemize}
Quand on passe de l'un à l'autre, c'est pour une très courte période.
Pour les fonctions de base, voir \url{http://www.futurlec.com/IC74LS00Series.shtml}
Avec \texttt{AND} et \texttt{OR} on peut fabriquer toutes les briques possibles.
\subsubsection{Suiveur}
sortie = entrée ($S = E$)
Table de vérité~:
\begin{tabular}{c|c}
E & S \\
\midrule
L & L \\
H & H \\
\end{tabular}
\subsubsection{Inverseur}
La sortie est l'inverse de l'entrée ($S = \overline{E}$).
Table de vérité~:
\begin{tabular}{c|c}
E & S \\
\midrule
L & H \\
H & L \\
\end{tabular}
\subsubsection{OU logique (\texttt{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
\end{document}