403 lines
12 KiB
TeX
403 lines
12 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.
|
|
|
|
En notation booléenne~:
|
|
|
|
\begin{itemize}
|
|
|
|
\item H (high) = 1 = vrai
|
|
|
|
\item L (low) = 0 = faux
|
|
|
|
\end{itemize}
|
|
|
|
\subsubsection{Suiveur}
|
|
|
|
La sortie est égale à l'entrée ($S = E$).
|
|
|
|
\begin{center}
|
|
|
|
Table de vérité~:
|
|
|
|
\begin{tabular}{c|c}
|
|
E & S \\
|
|
\midrule
|
|
L & L \\
|
|
H & H \\
|
|
\end{tabular}
|
|
|
|
\end{center}
|
|
|
|
\subsubsection{Inverseur}
|
|
|
|
La sortie est l'inverse de l'entrée ($S = \bar{E}$).
|
|
|
|
\begin{center}
|
|
|
|
Table de vérité~:
|
|
|
|
\begin{tabular}{c|c}
|
|
E & S \\
|
|
\midrule
|
|
L & H \\
|
|
H & L \\
|
|
\end{tabular}
|
|
|
|
\end{center}
|
|
|
|
\subsubsection{OU logique --- \texttt{OR} ($+$)}
|
|
|
|
Pour que $S$ soit vrai il suffit qu'\emph{une seule} entrée soit vraie.
|
|
|
|
Pour que $S$ soit faux il faut que \emph{toutes} les entrées soient fausses.
|
|
|
|
\begin{center}
|
|
|
|
Tables de vérité~:
|
|
|
|
\begin{multicols}{2}
|
|
|
|
\begin{tabular}{c|c|c}
|
|
$E_1$ & $E_2$ & $E_1 + E_2$ \\
|
|
\midrule
|
|
0 & 0 & 0 \\
|
|
0 & 1 & 1 \\
|
|
1 & 0 & 1 \\
|
|
\end{tabular}
|
|
|
|
\begin{tabular}{c|c|c}
|
|
X & Y & S \\
|
|
\midrule
|
|
L & L & L \\
|
|
L & H & H \\
|
|
H & L & H \\
|
|
H & H & H \\
|
|
\end{tabular}
|
|
|
|
\end{multicols}
|
|
|
|
\end{center}
|
|
|
|
\begin{align*}
|
|
a + 0 &= a \\
|
|
a + 1 &= 1 \\
|
|
a + a &= a \\
|
|
a + \bar{a} &= 1 \\
|
|
\end{align*}
|
|
|
|
\subsubsection{ET logique --- \texttt{AND} ($\cdot$)}
|
|
|
|
C'est l'inverse du OU\@.
|
|
Pour que $S$ soit vrai il faut que toutes les entrées soient vraies.
|
|
|
|
\begin{center}
|
|
|
|
Tables de vérité~:
|
|
|
|
\begin{multicols}{2}
|
|
|
|
\begin{tabular}{c|c|c}
|
|
$E_1$ & $E_2$ & $E_1 \cdot E_2$ \\
|
|
0 & 0 & 0 \\
|
|
0 & 1 & 0 \\
|
|
1 & 0 & 0 \\
|
|
1 & 1 & 1 \\
|
|
\end{tabular}
|
|
|
|
\begin{tabular}{c|c|c}
|
|
X & Y & S \\
|
|
\midrule
|
|
L & L & L \\
|
|
L & H & L \\
|
|
H & L & L \\
|
|
H & H & H \\
|
|
\end{tabular}
|
|
|
|
\end{multicols}
|
|
|
|
\end{center}
|
|
|
|
\subsubsection{OU exclusif --- \texttt{XOR} ($\oplus$)}
|
|
|
|
Pour que $S$ soit vrai il faut \emph{soit} que $E_1$ soit vrai \emph{soit} que $E_2$ soit vrai.
|
|
|
|
\begin{center}
|
|
|
|
Tables de vérité~:
|
|
|
|
\begin{multicols}{2}
|
|
|
|
\begin{tabular}{c|c|c}
|
|
$E_1$ & $E_2$ & $E_1 \oplus E_2$ \\
|
|
\midrule
|
|
0 & 0 & 0 \\
|
|
0 & 1 & 1 \\
|
|
1 & 0 & 1 \\
|
|
1 & 1 & 0 \\
|
|
\end{tabular}
|
|
|
|
\begin{tabular}{c|c|c}
|
|
X & Y & S \\
|
|
\midrule
|
|
L & L & L \\
|
|
L & H & H \\
|
|
H & L & H \\
|
|
H & H & L \\
|
|
\end{tabular}
|
|
|
|
\end{multicols}
|
|
|
|
\end{center}
|
|
|
|
\begin{align*}
|
|
a \oplus 0 &= a \\
|
|
a \oplus 1 &= \bar{a} \\
|
|
a \oplus a &= 0 \\
|
|
a \oplus \bar{a} &= 1 \\
|
|
\end{align*}
|
|
|
|
\subsubsection{Non OU --- \texttt{NOR} ($\overline{+}$)}
|
|
|
|
Pour que $S$ soit vrai, il faut que $E_1$ et $E_2$ soient faux.
|
|
|
|
Théorême de Morgan~: $\overline{a + b} = \bar{a} \cdot \bar{b}$
|
|
|
|
\begin{center}
|
|
|
|
Tables de vérité~:
|
|
|
|
\begin{multicols}{2}
|
|
|
|
\begin{tabular}{c|c|c}
|
|
$E_1$ & $E_2$ & $\overline{E_1 + E_2}$ \\
|
|
\midrule
|
|
0 & 0 & 1 \\
|
|
0 & 1 & 0 \\
|
|
1 & 0 & 0 \\
|
|
1 & 1 & 0 \\
|
|
\end{tabular}
|
|
|
|
\begin{tabular}{c|c|c}
|
|
X & Y & S \\
|
|
\midrule
|
|
L & L & H \\
|
|
L & H & L \\
|
|
H & L & L \\
|
|
H & H & L \\
|
|
\end{tabular}
|
|
|
|
\end{multicols}
|
|
|
|
\end{center}
|
|
|
|
\subsubsection{Non ET --- \texttt{NAND} ($\overline{\cdot}$)}
|
|
|
|
Pour que $S$ soit vrai il suffit qu'entrée soit fausse.
|
|
|
|
Théorême de Morgan~: $\overline{a \cdot b} = \bar{a} + \bar{b}$
|
|
|
|
\begin{center}
|
|
|
|
Tables de vérité~:
|
|
|
|
\begin{multicols}{2}
|
|
|
|
\begin{tabular}{c|c|c}
|
|
$E_1$ & $E_2$ & $\overline{E_1 \cdot E_2}$ \\
|
|
\midrule
|
|
0 & 0 & 1 \\
|
|
0 & 1 & 1 \\
|
|
1 & 0 & 1 \\
|
|
1 & 1 & 0 \\
|
|
\end{tabular}
|
|
|
|
\begin{tabular}{c|c|c}
|
|
X & Y & S \\
|
|
\midrule
|
|
L & L & H \\
|
|
L & H & H \\
|
|
H & L & H \\
|
|
H & H & L \\
|
|
\end{tabular}
|
|
|
|
\end{multicols}
|
|
|
|
\end{center}
|
|
|
|
\subsubsection{Non OU exclusif --- \texttt{NO XOR} ($\overline{\oplus}$)}
|
|
|
|
Pour que $S$ soit vrai il faut que les entrées soient identiques.
|
|
|
|
\begin{center}
|
|
|
|
Tables de vérité~:
|
|
|
|
\begin{multicols}{2}
|
|
|
|
\begin{tabular}{c|c|c}
|
|
$E_1$ & $E_2$ & $\overline{E_1 \oplus E_2}$ \\
|
|
\midrule
|
|
0 & 0 & 1 \\
|
|
0 & 1 & 0 \\
|
|
1 & 0 & 0 \\
|
|
1 & 1 & 1 \\
|
|
\end{tabular}
|
|
|
|
\begin{tabular}{c|c|c}
|
|
X & Y & S \\
|
|
\midrule
|
|
L & L & H \\
|
|
L & H & L \\
|
|
H & L & L \\
|
|
H & H & H \\
|
|
\end{tabular}
|
|
|
|
\end{multicols}
|
|
|
|
\end{center}
|
|
|
|
\subsection{Algèbre booléenne}
|
|
|
|
Le ET est prioritaire sur le OU\@.
|
|
|
|
\begin{tabularx}{\linewidth}{XX}
|
|
\toprule
|
|
\multirow{2}{*}{élément neutre} & $a \cdot 1 = a$ \\
|
|
& $a + 0 = a$ \\
|
|
\midrule
|
|
\multirow{2}{*}{élément absorbant} & $a \cdot 0 = 0$ \\
|
|
& $a + 1 = 1$ \\
|
|
\midrule
|
|
\multirow{2}{*}{idempotence} & $a \cdot a = a$ \\
|
|
& $a + a = a$ \\
|
|
\midrule
|
|
\multirow{2}{*}{complément} & $a \cdot \bar{a} = 0$ \\
|
|
& $a + \bar{a} = 1$ \\
|
|
\midrule
|
|
\multirow{2}{*}{commutativité} & $a \cdot b = b \cdot a$ \\
|
|
& $a + b = b + a$ \\
|
|
\midrule
|
|
\multirow{2}{*}{associativité} & $a \cdot (b \cdot c) = (a \cdot b) \cdot c = a \cdot b \cdot c$ \\
|
|
& $a + (b + c) = (a + b) + c = a + b + c$ \\
|
|
\midrule
|
|
\multirow{2}{*}{distributivité} & $a \cdot (b + c) = (a \cdot b) + (a \cdot c) = a \cdot b + a \cdot c$ \\
|
|
& $a + (b \cdot c) = (a + b) \cdot (a + c)$ \\
|
|
\midrule
|
|
\multirow{2}{*}{théorême de Morgan} & $\overline{a \cdot b} = \bar{a} + \bar{b}$ \\
|
|
& $\overline{a + b} = \bar{a} \cdot \bar{b}$ \\
|
|
\midrule
|
|
consensus & $a \cdot b + \bar{a} \cdot c + b \cdot c = a \cdot b + \bar{a} \cdot c$ \\
|
|
\bottomrule
|
|
\end{tabularx}
|
|
|
|
\subsection{Fonctions booléennes}
|
|
|
|
On cherche à simplifier les fonctions 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~:
|
|
|
|
\begin{center}
|
|
|
|
\begin{multicols}{2}
|
|
|
|
\begin{tabular}{cccc}
|
|
$x_2$ & $x_1$ & $x_0$ & $y$ \\
|
|
\midrule
|
|
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 \\
|
|
\end{tabular}
|
|
|
|
ou par une expression~:
|
|
|
|
$y = f(x_2,x_1,x_0) = x_2 \cdot x_1 + \overline{x_2} \cdot x_0$.
|
|
|
|
\end{multicols}
|
|
|
|
\end{center}
|
|
|
|
\subsubsection{Minterme, maxterme}
|
|
|
|
Soit $f(x,y,z)$.
|
|
|
|
$\bar{x} \cdot y$ est un minterme.
|
|
|
|
$x \cdot y \cdot \bar{z}$ est un minterme complet.
|
|
|
|
$\bar{x} + y$ est un maxterme.
|
|
|
|
$x + y + \bar{z}$ est un maxterme complet.
|
|
|
|
\begin{tabular}{ccc|cc}
|
|
\toprule
|
|
x & y & z & minterme associé & maxterme associé \\
|
|
\midrule
|
|
0 & 0 & 0 & $\bar{x} \cdot \bar{y} \cdot \bar{z}$ &\\
|
|
0 & 1 & 1 & $\bar{x} \cdot y \cdot z$ &\\
|
|
1 & 0 & 1 & $x \cdot \bar{y} \cdot z$ &\\
|
|
1 & 1 & 1 & $x \cdot y \cdot z$ &\\
|
|
\bottomrule
|
|
\end{tabular}
|
|
|
|
\end{document}
|