In this tutorial, you will learn about the combinational logic circuits. You will also learn broadly about the various kinds of combinational circuits available in digital electronics.

**Contents:**

- Defining Combinational Circuits
- Types of Combinational Circuits
- Arithmetic Adders
- Arithmetic Subtractors
- Data Decoders
- Data Encoders
- Multiplexers as Switches
- Demultiplexers as Switches

## Defining Combinational Circuits

Combinational circuits are those whose output does not depend upon any previous values of outputs or inputs. Its outputs are just dependent on the present inputs given to the system. Combinational circuits are said to be memoryless as they have no memory unit.

Here are some differences between combinational and sequential circuits listed below.

Parameters | Combinational Circuits | Sequential Circuits |
---|---|---|

Output Dependency | The present output depends only on the present input. | The present output depends on past inputs and outputs. |

Memory Element | They are known as memoryless. | They are said to have a memory element. |

Feedback Loops | There are no feedback loops present in the circuit. | There are feedback loops present in the circuit. |

Examples | Adders, decoders | Flip-flops, latches, counters |

## Types of Combinational Circuits

Combinational circuits can be broadly studied under the following groups: –

**Arithmetic Logic group**: – Circuits under this group perform arithmetic operations. For example, adders, subtractors, multipliers, etc**Data transfer group**: – Circuits under this group transfer data from one end to another via a logical circuit. For example, multiplexers and demultiplexers.**Code interpretation group**: – Circuits under this group are used to characterize code, generate them as well as interpret them. For example- decoders and encoders.

All combinational circuits take input in the form of 0s and 1s and produce digital outputs only. All input numbers are considered binary.

## Arithmetic Adders

Adders are combinational logic circuits that are used to add two n-bit binary numbers together. They are used by the ALU to perform addition inside the CPU. We have many varieties of adder circuits present such as: –

**Half Adder:**– A half adder is used to add any 2 single bits together and produce a sum and a carry output.**Full Adder:**– A full adder takes three inputs, two input bits and a carry-in bit from the previous addition. It produces a sum and a carry-out bit. Full adders are made up of half adders.**Parallel Ripple Carry Adder:**– A ripple carry adder is made up of many full adders where each adder’s carry out is the carry-in for the next adder. Thus, it is named as ripple carry adder. It can be used to add an n-bit number.**Carry Look Ahead Adder:**– In the carry look ahead adder, we obtain the carry for each bit directly from our inputs and we do not wait for the carry bit to appear as in the case of ripple carry adder. It is also used to add two n-bit numbers.

## Arithmetic Subtractors

Subtractors are combinational logic circuits that are used to subtract two n-bit binary numbers. Like adders, they are also present in the ALU. There are two major subtractors: –

**Half Subtractor:**– The circuits are designed to subtract two single bits and produce a difference output and a borrow output which is 1 in case we subtract a greater digit from a smaller one else 0 for all other values.**Full Subtractor:**– The full subtractor circuit takes three inputs, two single bits and a borrow-in bit, it produces a difference bit and a borrow-out bit. Full subtractors are connected in a cascaded manner to form an n-bit subtractor circuit.

## Data Decoders

Decoders are combinational circuits that are extensively used to convert one coded form to another. It has m-inputs and n-outputs where m < n. As the input varies numerically, the output varies according to it.

- The input combinations represent numerical numbers which may be BCD, Binary coded hexadecimal, etc. and according to the numerical value, the respective outputs are high. Thus, it helps in decoding its input number into data.
- Examples of decoders are BCD to decimal decoder, gray code to BCD decoder, etc.

Here is a figure of a decoder block.

As shown in the figure,

- The inputs to the decoder can be any binary coded number, and corresponding to that coded number, the specific output will be high. For example, in the input, if we have 0101 from top to bottom, it will represent the fifth output line as high.

## Data Encoders

Encoders work just opposite to that of decoders. They are combinational circuit blocks with n-inputs and m-outputs too, but here n > m. The output represents binary numbers, here the data gets encoded as binary numbers sequentially which are just opposite to a decoder operation.

Here is a figure of an encoder block.

As shown in the figure,

- The inputs to the encoder can be high, one at a time, and corresponding to that input the output shows a binary number. For example, the third input line is high, so the output will be 0011 representing 3
^{rd}input line high.

## Multiplexers as Switches

Multiplexers are combinational circuits that work as switches. It takes n number of inputs and with the help of select lines, only allows a single input to occur as the output. By controlling the select lines, we can select the input which should occur in the output.

The select lines are binary numbers, and each number represents an input line from top to bottom. Here is a figure of a multiplexer block.

As shown in the figure, there is just one output and many inputs. Out of the inputs, the mux will select any of them and pass them on to the output using the selection lines.

## Demultiplexers as Switches

Demultiplexers works just opposite to that of multiplexers. They are combinational circuits designed in such a way that it distributes one input into multiple outputs. This implies that with the help of select lines, we can choose the output line where the input should go to.

Thus, in decoders, we have one input and multiple outputs. The select lines here will represent the output. Here is a figure of a demultiplexer block.

As shown in the figure, there is one input and multiple outputs in the demux, using the select lines choice is made as to which output line, the input will go to.

## Key Points to Remember

Here are the key points to remember in “Combinational Circuits”.

- Combinational circuits are those which do not rely on previous outputs or inputs.
- There are three major groups in combinational circuits namely, arithmetic logic group, data transfer group, and code interpreter group.
- Circuits like adders, subtractors, encoders, decoders, multiplexers, and demultiplexers are all examples of combinational circuits.
- Various adders like half adders, full adders, ripple carry adders, and carry look ahead adders are used to do n-bit binary additions.
- Multiplexers are combinational circuits that work like switches to select a particular input line.
- Demultiplexers are combinational circuits that work like switches to select a particular output line.
- Encoders and decoders are used to convert one form of code to another.

**If you find any mistake above, kindly email to [email protected]**