Electrical – 4 to 1 multi-bit multiplexer implementation [Q]

inputlogisimmultiplexer

We are tasked with creating a 4 to 1 multiplexer with 4-bit inputs. I believe I fully understand how to create a 4 to 1 1-bit multiplexer, but I completely do not understand what the 'input' side and 'output' side of a multi-bit (4-bit in this case) 4 to 1 multiplexer would look like. This is my first ever introduction to circuits so I do not understand more advanced topics.

My updated attempts at what the MUX and DMX would look like are below:
MUX

DMX

Diagrams were made in Logisim.

Best Answer

One of the main properties that your circuit design must have is Modularity that is you build a single module and then combine this module with other modules to build a bigger module, this help making your design easier.

Now back to your problem; In the first picture you provided the implementation of a 4:1 multiplexer

enter image description here

which could be described by this black box

enter image description here

Now the behavioral description of this black box is

if(s0s1==00)
 output=d0
else if(s0s1==01)
 output=d1
else if(s0s1==10)
 output=d2
else if(s0s1==11)
 output=d3

Now in order to create the 4-bit version of this multiplexer which could be descried with this black box

enter image description here

The behavioral description of this black box is

if(s0s1==00)
 output[3..0]=d0[3..0]    //the 4-bit output is equal to the 4-bit input
else if(s0s1==01)
 output[3..0]=d1[3..0] 
else if(s0s1==10)
 output[3..0]=d2[3..0]
else if(s0s1==11)
 output[3..0]=d3[3..0]

This new circuit has 18 inputs [2 for selecting and 4-bit 4 inputs] and 4 outputs

The implementation of the new circuit would be

enter image description here

However in your design

enter image description here

  1. You are using an 8-input mux instead of the implemented 6-input mux ! this is not the same module you already implemented as a 4:1 mux !
  2. You are connecting the select bits of all the multiplexers to another decoder this will always make only one of the select bits 1 and the other select bits are 0 [since they are connected to a decoder] however this violates the behavioral description of our 4:1 mux

So in order to correct your design

  1. remove the decoder
  2. use the already implemented 4:1 mux with the correct number of inputs
  3. connect all the select lines s0 and s1 to the same select lines of your bigger multiplexer