(a) Briefly, define and differentiate the following terms: decoder, demultiplexer, and multiplexer. Mention the number of inputs, outputs, enable, and select bits, if any.

Multiplexers are selectors, where n selection bits index 2^n inputs and select one input to be connected to the output. Multiplexers can realize a n-input Boolean/logic function, by having the n selection bits act as the function’s n input variables. It is also possible to realize the n-input logic function with n-1 selection bits and 2^(n-1) inputs with a clever trick: Say the functions final input variable is S_0; Then use S_0, S_0’, 1, 0 as an input to the multiplexer instead. There are no enable bits for a multiplexer.

A demultiplexer is where the n select bits select which output, out of the 2^n outputs, will be connected to the input. There isn’t a concept of enable bit here.

A decoder is a demultiplexer, but with a concept that the input is an enable bit. This could be used, for example, to select one of an array of similar components, as in a ROM.

(b) Using AND and OR gates, design a circuit to gate a single data input to one of four output lines, determined by the binary-encoded index on the two control lines. Which of the above parts did you design?

That is a demultiplexerYou only need AND gates for a DEMUX, plus some inverters.

IMG_0188.jpeg