diff --git a/logique-programmable/img/codeur.png b/logique-programmable/img/codeur.png new file mode 100644 index 0000000..d4d3b81 Binary files /dev/null and b/logique-programmable/img/codeur.png differ diff --git a/logique-programmable/img/decodeur-adresses.png b/logique-programmable/img/decodeur-adresses.png new file mode 100644 index 0000000..c405348 Binary files /dev/null and b/logique-programmable/img/decodeur-adresses.png differ diff --git a/logique-programmable/img/decodeur-sept-segments.png b/logique-programmable/img/decodeur-sept-segments.png new file mode 100644 index 0000000..e1c310c Binary files /dev/null and b/logique-programmable/img/decodeur-sept-segments.png differ diff --git a/logique-programmable/img/encodeur-de-priorite.png b/logique-programmable/img/encodeur-de-priorite.png new file mode 100644 index 0000000..e526771 Binary files /dev/null and b/logique-programmable/img/encodeur-de-priorite.png differ diff --git a/logique-programmable/img/multiplexeur-fonction-logique-bis.png b/logique-programmable/img/multiplexeur-fonction-logique-bis.png new file mode 100644 index 0000000..5219c93 Binary files /dev/null and b/logique-programmable/img/multiplexeur-fonction-logique-bis.png differ diff --git a/logique-programmable/img/multiplexeur-fonction-logique-ter.png b/logique-programmable/img/multiplexeur-fonction-logique-ter.png new file mode 100644 index 0000000..a2080f6 Binary files /dev/null and b/logique-programmable/img/multiplexeur-fonction-logique-ter.png differ diff --git a/logique-programmable/img/multiplexeur-fonction-logique.png b/logique-programmable/img/multiplexeur-fonction-logique.png new file mode 100644 index 0000000..e52cd9a Binary files /dev/null and b/logique-programmable/img/multiplexeur-fonction-logique.png differ diff --git a/logique-programmable/img/multiplexeur.png b/logique-programmable/img/multiplexeur.png new file mode 100644 index 0000000..bd4d5c3 Binary files /dev/null and b/logique-programmable/img/multiplexeur.png differ diff --git a/logique-programmable/main.tex b/logique-programmable/main.tex index 0ed97a3..290a582 100644 --- a/logique-programmable/main.tex +++ b/logique-programmable/main.tex @@ -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}