Add logique combinatoire
BIN
logique-programmable/img/codeur.png
Normal file
After Width: | Height: | Size: 7.3 KiB |
BIN
logique-programmable/img/decodeur-adresses.png
Normal file
After Width: | Height: | Size: 3.2 KiB |
BIN
logique-programmable/img/decodeur-sept-segments.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
logique-programmable/img/encodeur-de-priorite.png
Normal file
After Width: | Height: | Size: 3 KiB |
BIN
logique-programmable/img/multiplexeur-fonction-logique-bis.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
logique-programmable/img/multiplexeur-fonction-logique-ter.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
logique-programmable/img/multiplexeur-fonction-logique.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
logique-programmable/img/multiplexeur.png
Normal file
After Width: | Height: | Size: 6.6 KiB |
|
@ -12,7 +12,7 @@
|
|||
\tableofcontents
|
||||
|
||||
\clearpage
|
||||
\section{Prérequis}
|
||||
\section{Algèbre de Boole}
|
||||
|
||||
\subsection{Logique booléenne}
|
||||
|
||||
|
@ -597,4 +597,139 @@
|
|||
|
||||
On peut ainsi regrouper 2, 4 voire 8 cases (= 1, 2 ou 3 mintermes).
|
||||
|
||||
\clearpage
|
||||
\section{Logique combinatoire}
|
||||
|
||||
\subsection{Les codeurs}
|
||||
|
||||
Un codeur possède $2^n$ entrées pour $n$ sorties.
|
||||
Donc 8 entrées pour 3 sorties, 4 entrées pour 2 sorties, etc.
|
||||
|
||||
Une seule entrée ne peut être active (mise à 1) à la fois.
|
||||
Le codeur code en binaire le numéro décimal de l'entrée active.
|
||||
|
||||
Par exemple, pour un codeur en 8$\times$3, si l'entrée n°$6_{10}$ est activée à 1, la sortie vaudra $110_2$.
|
||||
|
||||
\begin{center}
|
||||
\includegraphics[width=0.3\textwidth]{./img/codeur.png}
|
||||
\end{center}
|
||||
|
||||
\subsection{Encodeur de priorité}
|
||||
|
||||
Même principe que le pour le codeur, mais plusieurs entrées peuvent être actives en même temps.
|
||||
Dans ce cas, on décide d'un ordre de priorité, et l'encodeur s'arrête de lire les entrées quand il rencontre l'entrée active la plus prioritaire.
|
||||
|
||||
Par exemple, avec $I_3, I_2, I_1, I_0$ en entrée et par ordre de priorité et $S_1, S_0$ en sortie~:
|
||||
|
||||
\begin{multicols}{2}
|
||||
|
||||
\includegraphics[width=0.2\textwidth]{./img/encodeur-de-priorite.png}
|
||||
|
||||
\begin{tabular}{cccc|cc|c}
|
||||
\toprule
|
||||
\multicolumn{4}{c|}{Entrées} & \multicolumn{3}{c}{Sortie} \\
|
||||
$I_3$ & $I_2$ & $I_1$ & $I_0$ & $S_1$ & $S_0$ & $V$ \\
|
||||
\midrule
|
||||
H & $\times$ & $\times$ & $\times$ & H & H & H \\
|
||||
L & H & $\times$ & $\times$ & H & L & H \\
|
||||
L & L & H & $\times$ & L & H & H \\
|
||||
L & L & L & H & L & L & H \\
|
||||
L & L & L & L & $\times$ & $\times$ & L \\
|
||||
\bottomrule
|
||||
\end{tabular}
|
||||
|
||||
\end{multicols}
|
||||
|
||||
$\times$~: peu importe la valeur.
|
||||
|
||||
La colomne $V$ (validation) indique au système l'interruption à traiter.
|
||||
Elle est active quand une entrée à été lue.
|
||||
|
||||
\subsection{Décodeurs d'adresses}
|
||||
|
||||
Il se comporte à l'inverse du codeur.
|
||||
Il lit l'entrée en binaire, puis active la sortie correspondant à la valeur décimale correspondante~:
|
||||
|
||||
\begin{multicols}{2}
|
||||
|
||||
\includegraphics[width=0.2\textwidth]{./img/decodeur-adresses.png}
|
||||
|
||||
\begin{tabular}{cc|cccc}
|
||||
\toprule
|
||||
$A_1$ & $A_0$ & $Y_0$ & $Y_1$ & $Y_2$ & $Y_3$ \\
|
||||
\midrule
|
||||
L & L & H & L & L & L \\
|
||||
L & H & L & H & L & L \\
|
||||
H & L & L & L & H & L \\
|
||||
H & H & L & L & L & H \\
|
||||
\bottomrule
|
||||
\end{tabular}
|
||||
|
||||
\end{multicols}
|
||||
|
||||
\subsection{Décodeur 7 segments}
|
||||
|
||||
Il est utilisé pour les horloges numériques.
|
||||
|
||||
\begin{center}
|
||||
\includegraphics[width=0.3\textwidth]{./img/decodeur-sept-segments.png}
|
||||
\end{center}
|
||||
|
||||
Il suffit de programmer quelles DELs en sortie vont s'allumer par rapport aux entrées binaires.
|
||||
|
||||
\subsection{Multiplexeurs}
|
||||
|
||||
Aux entrées s'ajoutent des signaux de sélection, qui indiquent quelle donnée sera transmise en sortie.
|
||||
|
||||
\begin{multicols}{2}
|
||||
|
||||
\includegraphics[width=0.2\textwidth]{./img/multiplexeur.png}
|
||||
|
||||
\begin{tabular}{c|cc|c}
|
||||
\toprule
|
||||
& $S_1$ & $S_0$ & Y \\
|
||||
\midrule
|
||||
0 & L & L & $D_0$ \\
|
||||
1 & L & H & $D_1$ \\
|
||||
2 & H & L & $D_2$ \\
|
||||
3 & H & H & $D_3$ \\
|
||||
\bottomrule
|
||||
\end{tabular}
|
||||
|
||||
\end{multicols}
|
||||
|
||||
\subsubsection{Multiplexeur générateur de fonction logique}
|
||||
|
||||
Un multiplexeur peut être représenté par une fonction logique~:
|
||||
|
||||
$F(x_3, x_2, x_1, x_0) = \sum{(0, 1, 2, 4, 5, 8, 10)}$
|
||||
|
||||
\begin{multicols}{2}
|
||||
|
||||
avec 4 entrées de sélection~:
|
||||
|
||||
\includegraphics[width=0.3\textwidth]{./img/multiplexeur-fonction-logique.png}
|
||||
|
||||
\end{multicols}
|
||||
|
||||
\begin{multicols}{2}
|
||||
|
||||
avec 3 entrées de sélection~:
|
||||
|
||||
\includegraphics[width=0.4\textwidth]{./img/multiplexeur-fonction-logique-bis.png}
|
||||
|
||||
\end{multicols}
|
||||
|
||||
\begin{multicols}{2}
|
||||
|
||||
avec 2 entrées de sélection~:
|
||||
|
||||
\includegraphics[width=0.4\textwidth]{./img/multiplexeur-fonction-logique-ter.png}
|
||||
|
||||
\end{multicols}
|
||||
|
||||
\subsection{Démultiplexeurs}
|
||||
|
||||
Même chose dans l'autre sens~: une entrée (et des entrées de sélection) et plusieurs sorties, correspondant aux représentations décimales des entrées de sélection pour choisir sur quel canal envoyer l'entrée.
|
||||
|
||||
\end{document}
|
||||
|
|