214 lines
6.6 KiB
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}
|