From 956f01e2f6b5f8f7b3071b821e20290234a76fb5 Mon Sep 17 00:00:00 2001 From: eggy Date: Thu, 2 Feb 2023 10:30:38 -0500 Subject: [PATCH] ece124: add multiplexers 2 --- docs/1b/ece124.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/docs/1b/ece124.md b/docs/1b/ece124.md index 8c98a42..6b1cc60 100644 --- a/docs/1b/ece124.md +++ b/docs/1b/ece124.md @@ -293,6 +293,21 @@ An $n$-input mux has $\lceil\log_2 n\rceil$ **select inputs** all in the same mu (Source: Wikimedia Commons) +**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. + +(Source: Wikimedia Commons) + +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.