Multiplexer and Hexadecimal Numerals

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

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:

\[\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.