Multiplexors are a simple combinational circuit whose function is to select one input line to pass to its only output, by selecting it using address/select lines, the number represented using the binary number system is the input that is being selected.
The input lines available often are a power of two (2, 4, 8, 16), and the number of select lines are the power to which 2 must be elevated to obtain the number of input lines (2^n = L, where n is the number of select lines and L is the number of input lines)
One way to look at the functioning of a multiplexer is that the select lines represent a row in the circuit's truth table, and the value connected to the corresponding input line is the output of that row, which will be passed to the final output of the multiplexer if that line is selected.
As you can see, this circuit can be used to implement an arbitrary truth table of n input variables (remember in the previous equation we used n to represent the number of select lines).
An advantage of this method over discrete gates in implementing a truth table is the fact that only one integrated circuit is used in practice, gates ussually needing more IC's because of lower integration (uses less gates per IC).
Boolean equations can also be implemented by first generating the truth table for it by evaluating the output variable for every possible input variable's value combination.
One disadvantage in using this method over discrete logic gates is the fact that since the multiplexer is not optimized for any particular configuration, so it tends to be slower in practice but such speed penalty affects only high speed and high gate count circuits.
Extending Quick Synthesis: ROM Logic Synthesis
The idea of using a somewhat generic circuit to implement any truth table without modifying the underlying circuit by using a multiplexor can be extended to the use of ROM modules in order to extend the number of input variables available (by having more address/select lines) and the number of outputs per combination (by having more output lines)
A ROM module is a type of memory circuit that is either built with its contents (Hardwired or Masked) or programmed (Programmable ROM). Each address selects a cell of memory (as opposed to a single line in the multiplexor) that contains the information to be passed to the output in groups of size that is a power of two (8 [2^3] and 16 [2^4] being the most common).
This allows us to implement simultaneous truth tables by programming each output line of each address as the output of one of those truth tables. It's basically like having many multiplexors connected to the same select lines, each implementing a different (or even the same) truth table.
Electronic circuit diagrams and tutorials for beginners and hobbyists.
You can find many more electronic circuits for beginners by clicking the link!
Welcome To Electronic Circuits For Beginners!
All circuits included here are recommended to be assembled in printed circuit boards. Printed circuit boards, or PCB's increase the circuit reliability and mechanical stability.
Circuits quick links:






Led chaser circuit


Simple power supply
Beginner Electronics mini course index

All circuits include parts list and complete Howitworks for beginners and hobbyists to easily understand.