==================================== Multiplexer and Hexadecimal Numerals [TOC] ==================================== A __multiplexer__ is used to select from several inputs $a_0, \dots, a_m$ and pass it through to the output. Selection is handled though a control signal. If the control signal has $k$ bits you can select the output to be one of $m = 2^k$ inputs. So the number of inputs is always a power of two. Technically a multiplexer can be build from scratch using logic gates. But for convenience we will use the __builtin multiplexer that CircuitVerse provides__. Together with a demultiplexer we will use this device for building an integrated adder/subtractor. In this section the multiplexer is motivated by building our own hex-diaplay from a seven-segment display. Just using the opportunity we also introduce hexadecimal numerals for representing bit pattern in a more compact and convenient form. Assignment ========== No explicit assignment for using CircuitVerse here. But of course you should use the opportunity to make yourself familiar with the covered content. However, there is __Assignment 2.2__ which is about binary and hexadecimal numerals and representation of unsigned numbers. This assignment can be done with pencil and paper without computer aid. But of course, it makes sense to use the circuit here (at least to check your results). Video tutorial ============== ---- VIDEO ------------------------------ https://www.youtube.com/embed/3C5zUrSMPuA ----------------------------------------- Some notes ========== Representing bit pattern with hexadecimal numerals -------------------------------------------------- Bit pattern consisting of a multiple of four bits can be represented in compact form with hexadecimal digits. Write down the bit pattern in groups of $4$ and apply the following replacement: ---- LATEX --------------------------------------------------------------------- \begin{array}{lcllcllcllcl} 0000 & \leadsto & 0 , & \quad 0001 & \leadsto & 1 , & \quad 0010 & \leadsto & 2 , & \quad 0011 & \leadsto & 3 , \\ 0100 & \leadsto & 4 , & \quad 0101 & \leadsto & 5 , & \quad 0110 & \leadsto & 6 , & \quad 0111 & \leadsto & 7 , \\ 1000 & \leadsto & 8 , & \quad 1001 & \leadsto & 9 , & \quad 1010 & \leadsto & \text{A} , & \quad 1011 & \leadsto & \text{B} , \\ 1100 & \leadsto & \text{C} , & \quad 1101 & \leadsto & \text{D} , & \quad 1110 & \leadsto & \text{E} , & \quad 1111 & \leadsto & \text{F}. \\ \end{array} -------------------------------------------------------------------------------- If it is necessary to point out that digits are hexadecimal we use the prefix $0x$. For example, $\text{0xF8CA}$ is the bit pattern $\text{1111}$ $\text{1000}$ $\text{1100}$ $\text{1010}$. Whether uppercase or lowercase letter are used for hexadecimal digits does not reason. For obvious reason the Hex-Displays (like in CircuitVerse) are mixing upper and lower case usage. :links: multiplexer -> https://en.wikipedia.org/wiki/Multiplexer builtin multiplexer that CircuitVerse provides -> https://docs.circuitverse.org/#/decodersandplexers?id=multiplexer Assignment 2.2 -> https://moodle.uni-ulm.de/mod/quiz/view.php?id=201436 :navigate: up -> doc:index next -> doc:session02/page03 back -> doc:session02/page01