Professional Documents
Culture Documents
Combinational Logic Circuits
Combinational Logic Circuits
Combinational logic circuits are one type of logic circuits, in which, the sequence of input does
not affect the output. The output is the same for a given combination of inputs regardless of
the order of application.
e.g.: Design XOR and XNOR gates using basic gate types.
1. XOR gate
2. XNOR gate
1. Propagation Delay
Every gate is made up of electronic devices. These devices need some time to stabilize
its output to the corresponding input. This time duration (or) the delay for the
propagation of result through the gate is called propagation delay. If more gates are
implemented, the propagation delay will be increased as every gate poses delay on
the propagation of the signal.
2. Cost
Gates are associated with its manufacturing cost. Hence, more gates would create
more expense for the design of the circuit.
3. Size
The final device should be compact in size. Reduction of gates would eliminate
unnecessary space.
4. Power consumption
If the number of gates were reduced, the power consumed by redundant gates can be
eliminated.
Circuit Minimization Techniques Boolean axioms
The Boolean identities can be applied to the expressions for the simplification process. e.g.:
Three judges’ problem
A B X
0 0 0
0 1 1
1 0 1
1 1 0
X = AB̅ + A̅ B
3-Variable karnaugh map
Consider the three judges’ problem
X = AB + AC + BC
Rules for the karnaugh map
• NAND gate
• NOR gate
Circuit realization using only one type of gate can be greatly benefitted in circuit designing
procedure as only one type of gate is needed to be manufactured. This could reduce the cost
associated with the circuit designing.
NAND only implementation
Every gate will have a circuit representation with NAND gates only.
e.g.: Implement the logic circuit for three judges’ problem using NAND gates only.
X = AB + AC + BC
X = AB + AC + BC
X = AB. AC. BC
Implicants in K-map
Implicant is a product/minterm term in Sum of Products (SOP) or sum/maxterm term in
Product of Sums (POS) of a Boolean function.
E.g.: Consider a boolean function, F = AB + ABC + BC. Implicants are AB, ABC and BC.
Prime Implicants
A group of square or rectangle made up of bunch of adjacent minterms which is allowed by
definition of K-Map are called prime implicants (PI) i.e. all possible groups formed in K-Map.
Example:
Essential Prime Implicants
These are those subcubes (groups) which cover atleast one minterm that can’t be covered by
any other prime implicant. Essential prime implicants (EPI) are those prime implicants which
always appear in final solution.
Example:
Example-1: Given F = ∑ (1, 5, 6, 7, 11, 12, 13, 15), find number of implicant, PI, EPI, RPI and
SPI.
No. of Implicants = 8
No. of Prime Implicants(PI) = 5
No. of Essential Prime Implicants(EPI) = 4
No. of Redundant Prime Implicants(RPI) = 1
No. of Selective Prime Implicants(SPI) = 0
Example-2: Given F = ∑(0, 1, 5, 8, 12, 13), find number of implicant, PI, EPI, RPI and SPI.
No. of Implicants = 6
No. of Prime Implicants(PI) = 6
No. of Essential Prime Implicants(EPI) = 0
No. of Redundant Prime Implicants(RPI) = 0
No. of Selective Prime Implicants(SPI) = 6
Example-3: Given F = ∑(0, 1, 5, 7, 15, 14, 10), find number of implicant, PI, EPI, RPI and SPI.
No. of Implicants = 7
No. of Prime Implicants(PI) = 6
No. of Essential Prime Implicants(EPI) = 2
No. of Redundant Prime Implicants(RPI) = 0
No. of Selective Prime Implicants(SPI) = 4
Quine-McCluskey Minimization Method
The Quine–McCluskey algorithm (or the method of prime implicants) is a method used for
minimization of Boolean functions. It is functionally identical to Karnaugh mapping, but the
tabular form makes it more efficient for use in computer algorithms, and it also gives a
deterministic way to check that the minimal form of a Boolean function has been reached. It
is sometimes referred to as the tabulation method.
Solving for optimized expression using Q-M method
m4 0100
1
m8 1000
m9 1001
2 m10 1010
m12 1100
m11 1011
3
m14 1110
4 m15 1111
At this point, one can start combining minterms with other minterms. If two terms vary
by only a single digit changing, that digit can be replaced with a dash indicating that the
digit doesn't matter. Terms that can't be combined any more are marked with an asterisk
(*). When going from Size 2 to Size 4, treat '-' as a third bit value. For instance, -110 and
100 can be combined, as well as -110 and -11-, but -110 and 011- cannot. (Trick: Match
up the '-' first.)
Number
Minterm 0-Cube Size 2 Implicants Size 4 Implicants
of 1s
m4 0100 m(4,12) -100* m(8,9,10,11) 10--*
— — m(8,10) 10-0 —
— — m(8,12) 1-00 —
— — m(10,14) 1-10 —
4 m15 1111 — —
Note: In this example, none of the terms in the size 4 implicants table can be combined
any further. Be aware that this processing should be continued otherwise
(size 8 etc.).
Step 2: prime implicant chart
None of the terms can be combined any further than this, so at this point we construct an
essential prime implicant table. Along the side goes the prime implicants that have just been
generated, and along the top go the minterms specified earlier. The don't care terms are not
placed on top—they are omitted from this section because they are not necessary inputs.
4 8 10 11 12 15 ⇒ A B C D
m(4,12)* ⇒ — 1 0 0
m(8,9,10,11) ⇒ 1 0 — —
m(8,10,12,14) ⇒ 1 — — 0
m(10,11,14,15)* ⇒ 1 — 1 —
To find the essential prime implicants, we run along the top row. We have to look for
columns with only 1 "✓". If a column has only 1 "✓", this means that the minterm can
only be covered by 1 prime implicant. This prime implicant is essential.
For example, in the first column, with minterm 4, there is only 1 "✓". This means that
m(4,12) is essential. So we place a star next to it. Minterm 15 also has only 1 "✓", so
m(10,11,14,15) is also essential. Now all columns with 1 "✓" are covered.
The second prime implicant can be 'covered' by the third and fourth, and the third prime
implicant can be 'covered' by the second and first, and neither is thus essential. If a prime
implicant is essential then, as would be expected, it is necessary to include it in the
minimized boolean equation. In some cases, the essential prime implicants do not cover
all minterms. In the current example, the essential prime implicants do not handle all of
the minterms, so, in this case, one can combine the essential implicants with one of the
two non-essential ones to yield one equation:
𝑓(𝐴, 𝐵, 𝐶, 𝐷) = BC′D′ + AB′ + AC
or
𝑓(𝐴, 𝐵, 𝐶, 𝐷) = BC′D′ + AD′ + AC
variation of output of the specified circuit for the given input variation without any delay.
Example: Timing Diagram of OR gate with delay
Circuit Hazards
Logic hazards are manifestations of a problem in which changes in the input variables do not
change the output correctly due to some form of delay caused by logic elements (NOT, AND, OR
gates, etc.) This results in the logic not performing its function properly.
Example:
𝑌 = 𝐴𝐵 + 𝐵𝐶
Hazard Removal
To remove a 1 hazard, draw the K-map of the output concerned. Add another term which
overlaps the essential terms. To remove a 0 hazard, draw the K-map of the complement of
the output concerned. Add another term which overlaps the essential terms (representing
the complement).
Special combinational logic circuits
The techniques of combinational logic functions are widely applied in many branches of digital
circuits. There are some popular applications which can be seen in major digital systems such
as computers, calculators, etc.
Half – Adder
As the name suggests this circuit will do some addition process, but not a complete process.
It takes two bits and produce the sum and carry of both through the addition. The truth table
and the logic circuit for the Half Adder are shown in the Table and Figure respectively.
Full Adder
A Full adder consists of two half adders. The full adder is capable of doing complete addition
process of two bits, because, apart from the two input bits, it accepts the carry bit which is
brought from the addition of bits in the previous place value. Figure and Table depicts the
circuit diagram and the corresponding truth table for the full adder.
x y Cin S Cout
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
Comparator
Comparator is used to compare whether two binary strings are equal. An XNOR gate can be
used for this purpose. Comparators are widely used in memory address comparison in cache
memory.
e.g.: A 4-bit comparator
Encoder
An Encoder is a combinational circuit which accepts an input from one of its many input pins
and converts it to a coded output. A familiar example is a decimal-to-BCD encoder.
e.g.: Calculators, where each keypad stroke is converted into BCD form.
Computer key boards, where each key stroke is converted into ASCII code.
Decoder
A Decoder does the opposite operation of an encoder. It accepts a string of binary code and
produces a unique output corresponding to the code. An n bit decoder can decode 2 n outputs.
e.g.: BCD to 7-Seg. Display
Multiplexer
A multiplexer (or) data selector allows digital information from several sources to be sent
through a single line by selecting only one source at a time for the transmission of data. It
consists of several data input lines and data select lines and only one output line. The bit
pattern on data select line determines which input line to be connected to the output line.
Demultiplexer
A demultiplexer does the opposite operation of a multiplexer. It gets the data from the input
line and distributes it to several output lines, which are specified by the data distributor bits.