ece124: add multiplexers 2

This commit is contained in:
eggy 2023-02-02 10:30:38 -05:00
parent 26c7bc427a
commit 956f01e2f6

View File

@ -293,6 +293,21 @@ An $n$-input mux has $\lceil\log_2 n\rceil$ **select inputs** all in the same mu
<img src="https://upload.wikimedia.org/wikipedia/commons/7/75/Multiplexer_4-to-1.svg" width=300>(Source: Wikimedia Commons)</img>
**Shannon's expansion theorem** states that any function can be turned into a function that purely uses multiplexers:
$$
\begin{align*}
f(w_1,\dots, w_n) &=w_1f_{w_1} + w_1'f_{w_1'} \\
&= w_1f(1, \dots, w_n) = w_1'f(0, \dots, w_n)
\end{align*}
$$
A **demultiplexer** has one input, $n$ select inputs, and up to $2^n$ outputs that carry the input signal depending on the select input.
<img src="https://upload.wikimedia.org/wikipedia/commons/4/48/Demultiplexer.png" width=400>(Source: Wikimedia Commons)</img>
A **binary encoder** takes $2^n$ inputs and $n$ outputs, with the binary representation of the $n$ outputs indicating the inputs enabled by binary index.
## VHDL
VHDL is a hardware schematic language.