8-to-1 Multiplexer
Eight-input multiplexer with 3-bit selection. Complex data routing for advanced digital systems.
Lo que aprenderás
- Address 8 data inputs using a 3-bit select code.
- Read the 8-to-1 MUX behavioural table — output follows the selected input.
- Build an 8-to-1 MUX as a tree of 2-to-1 MUXes.
- Use an 8-to-1 MUX as a 3-input LUT to realise any Boolean function of 3 variables.
- Identify where wide MUXes appear: register files, audio switches, BIST.
Cómo funciona
An 8-to-1 multiplexer routes one of eight data inputs (D0–D7) to a single output, based on a 3-bit select code (S2 S1 S0). Three select bits address 2³ = 8 inputs.
The select-to-data mapping is the binary value of S2S1S0: - 000 → D0, 001 → D1, 010 → D2, 011 → D3 - 100 → D4, 101 → D5, 110 → D6, 111 → D7
Boolean expression: Y is a sum of 8 minterms, each AND'ing one data input with the matching 3-bit select decode. SOP form: Y = ¬S2¬S1¬S0·D0 + ¬S2¬S1S0·D1 + ... + S2S1S0·D7.
An 8-to-1 MUX can be built as a tree of seven 2-to-1 MUXes (or two 4-to-1s feeding a 2-to-1 final stage). Either decomposition gives the same function.
The lookup-table view: the 8 data inputs hold the 8 output values of any 3-variable Boolean function; the 3 select bits are the function's input variables. This makes any 3-input combinational function expressible as an 8-to-1 MUX with appropriate hardcoded data inputs.
Tabla de verdad
Select code S2S1S0 chooses which of D0..D7 reaches Y. Showing each select case (data inputs all set to 1 to make selection visible).
| Entradas | Salida | |||
|---|---|---|---|---|
| S2 | S1 | S0 | Y (when D_select=1) | |
| 0 | 0 | 0 | 1 | Select 0 → Y = D0 |
| 0 | 0 | 1 | 1 | Select 1 → Y = D1 |
| 0 | 1 | 0 | 1 | Select 2 → Y = D2 |
| 0 | 1 | 1 | 1 | Select 3 → Y = D3 |
| 1 | 0 | 0 | 1 | Select 4 → Y = D4 |
| 1 | 0 | 1 | 1 | Select 5 → Y = D5 |
| 1 | 1 | 0 | 1 | Select 6 → Y = D6 |
| 1 | 1 | 1 | 1 | Select 7 → Y = D7 |
Expresión booleana
Where m_i is the i-th 3-variable minterm. Each term ANDs one D input with the unique select-code that addresses it.
Pruébalo paso a paso
Configura las entradas en la simulación de arriba, lee qué debería suceder y verifícalo.
- 1S2 = 0 S1 = 0 S0 = 0 D0 = 1Esperado:
Y = 1Lo que verás: Select 000 routes D0. The other Ds are ignored. - 2S2 = 0 S1 = 1 S0 = 1 D3 = 1Esperado:
Y = 1Lo que verás: Select 011 = 3 → routes D3. Watch the binary count of select correspond to data input index. - 3S2 = 1 S1 = 1 S0 = 1 D7 = 1Esperado:
Y = 1Lo que verás: Select 111 = 7 → routes D7. The MUX has covered all 8 data inputs across the 8 select codes. - 4S2 = 0 S1 = 0 S0 = 1 D1 = 0Esperado:
Y = 0Lo que verás: Select=001 routes D1=0. Output is the value of the addressed input — a high select doesn't itself drive Y high.
Componentes utilizados
Aplicaciones en el mundo real
Register file with 8 registers. Reading any of 8 registers uses an 8-to-1 MUX driven by a 3-bit register-address bus.
Audio source switching. A stereo amplifier switching between 8 input sources (CD, AUX1, AUX2, etc.) uses an 8-to-1 analog MUX with the source selector encoded as 3 bits.
Test multiplexer (BIST). Built-In Self-Test circuits use an 8-to-1 MUX to scan internal signals out for debug or test, with a 3-bit selector picking which signal to observe.
3-input Boolean function generator. Using an 8-to-1 MUX as a LUT lets you implement any 3-input function (256 possible) by hardcoding D0–D7.
Memory address decoders. Cycle through 8 memory pages or bank addresses with a 3-bit selector and an 8-to-1 MUX selecting which page's data is current.