Add logique combinatoire

This commit is contained in:
flyingscorpio@arch-desktop 2021-09-10 20:37:41 +02:00
parent fbb9a09bb4
commit 834894a424
9 changed files with 136 additions and 1 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

View file

@ -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}