Section 4.9  Decoders    153
output can be equal to 0 at any given time; all other outputs are equal to 1. The output 
whose value is equal to 0 represents the minterm selected by inputs  A  and  B . The circuit 
is disabled when  E  is equal to 1, regardless of the values of the other two inputs. When 
the circuit is disabled, none of the outputs are equal to 0 and none of the minterms are 
selected. In general, a decoder may operate with complemented or uncomplemented 
outputs. The enable input may be activated with a 0 or with a 1 signal. Some decoders 
have two or more enable inputs that must satisfy a given logic condition in order to 
enable the circuit. 
A decoder with enable input can function as a  demultiplexer— a circuit that receives 
information from a single line and directs it to one of    2
n
possible output lines. The 
selection of a specific output is controlled by the bit combination of  n  selection lines. 
The decoder of  Fig.   4.19    can function as a one-to-four-line demultiplexer when  E  is 
taken as a data input line and  A  and  B  are taken as the selection inputs. The single 
input variable  E  has a path to all four outputs, but the input information is directed to 
only one of the output lines, as specified by the binary combination of the two selection 
lines  A  and  B . This feature can be verified from the truth table of the circuit. For 
example, if the selection lines    AB= 10,    output    D
2
will be the same as the input value 
E , while all other outputs are maintainedat1. Because decoder and demultiplexer 
operations are obtained from the same circuit, a decoder with an enable input is 
referred to as a  decoder –  demultiplexer . 
Decoders with enable inputs can be connected together to form a larger decoder 
circuit.  Figure   4.20    shows two 3-to-8-line decoders with enable inputs connected to form 
a 4-to-16-line decoder. When  w  = 0, the top decoder is enabled and the other is disabled. 
The bottom decoder outputs are all 0’s, and the top eight outputs generate minterms 
0000 to 0111. When  w  = 1, the enable conditions are reversed: The bottom decoder 
outputs generate minterms 1000 to 1111, while the outputs of the top decoder are all 
0’s. This example demonstrates the usefulness of enable inputs in decoders and other 
 FIGURE 4.20 
4 * 16    decoder constructed with two    3 * 8    decoders       
x
y
z
w
D
0
to D
7
D
8
to D
15
3× 8
decoder
E
3× 8
decoder
E
Change pdf to ppt - C# Create PDF from PowerPoint Library to convert pptx, ppt to PDF in C#.net, ASP.NET MVC, WinForms, WPF
Online C# Tutorial for Creating PDF from Microsoft PowerPoint Presentation
convert pdf file to powerpoint; pdf to powerpoint slide
Change pdf to ppt - VB.NET Create PDF from PowerPoint Library to convert pptx, ppt to PDF in vb.net, ASP.NET MVC, WinForms, WPF
VB.NET Tutorial for Export PDF file from Microsoft Office PowerPoint
drag and drop pdf into powerpoint; how to convert pdf into powerpoint on
154    Chapter 4  Combinational Logic
combinational logic components. In general, enable inputs are a convenient feature for 
interconnecting two or more standard components for the purpose of combining them 
into a similar function with more inputs and outputs.  
Combinational Logic Implementation 
A decoder provides the    2
n
minterms of  n  input variables. Each asserted output of the 
decoder is associated with a unique pattern of input bits. Since any Boolean function 
can be expressed in sum-of-minterms form, a decoder that generates the minterms of 
the function, together with an external OR gate that forms their logical sum, provides 
a hardware implementation of the function. In this way, any combinational circuit with 
n  inputs and  m  outputs can be implemented with an  n -to-2 
n 
-line decoder and  m  OR 
gates. 
The procedure for implementing a combinational circuit by means of a decoder and 
OR gates requires that the Boolean function for the circuit be expressed as a sum of 
minterms. A decoder is then chosen that generates all the minterms of the input vari-
ables. The inputs to each OR gate are selected from the decoder outputs according to 
the list of minterms of each function. This procedure will be illustrated by an example 
that implements a full-adder circuit. 
From the truth table of the full adder (see  Table   4.4   ), we obtain the functions for the 
combinational circuit in sum-of-minterms form: 
S(xy, z) = ∑(1, 2, 4, 7)
C(xyz) = ∑(3, 5, 6, 7)   
Since there are three inputs and a total of eight minterms, we need a three-to-eight-line 
decoder. The implementation is shown in  Fig.   4.21   . The decoder generates the eight 
minterms for  x ,  y , and  z . The OR gate for output  S  forms the logical sum of minterms 1, 
2, 4, and 7. The OR gate for output  C  forms the logical sum of minterms 3, 5, 6, and 7. 
S
C
x
y
z
0
1
2
22
2
1
2
0
3
4
5
6
7
3× 8
decoder
FIGURE 4.21 
Implementation of a full adder with a decoder       
Online Convert PowerPoint to PDF file. Best free online export
Creating a PDF from PPTX/PPT has never been so easy! Web Security. Your PDF and PPTX/PPT files will be deleted from our servers an hour after the conversion.
change pdf to ppt; convert pdf file to powerpoint presentation
How to C#: Convert PDF, Excel, PPT to Word
Convert Jpeg to PDF; Merge PDF Files; Split PDF Document; Remove Password from PDF; Change PDF Permission Settings. How to C#: Convert PDF, Excel, PPT to Word.
pdf to powerpoint converter; conversion of pdf into ppt
Section 4.10  Encoders    155
A function with a long list of minterms requires an OR gate with a large number of 
inputs. A function having a list of  k  minterms can be expressed in its complemented form 
F′    with    2
n
k    minterms. If the number of minterms in the function is greater than    2
n
>2,    
then    F′    can be expressed with fewer minterms. In such a case, it is advantageous to use 
a NOR gate to sum the minterms of    F′.    The output of the NOR gate complements this 
sum and generates the normal output  F . If NAND gates are used for the decoder, as in 
Fig.   4.19   , then the external gates must be NAND gates instead of OR gates. This is 
because a two-level NAND gate circuit implements a sum-of-minterms function and is 
equivalent to a two-level AND–OR circuit.   
4.10    ENCODERS 
An encoder is a digital circuit that performs the inverse operation of a decoder. An 
encoder has    2
n
(or fewer) input lines and  n  output lines. The output lines, as an aggregate, 
generate the binary code corresponding to the input value. An example of an encoder 
is the octal-to-binary encoder whose truth table is given in  Table   4.7   . It has eight inputs 
(one for each of the octal digits) and three outputs that generate the corresponding 
binary number. It is assumed that only one input has a value of 1 at any given time. 
The encoder can be implemented with OR gates whose inputs are determined 
directly from the truth table. Output  z  is equal to 1 when the input octal digit is 1, 3, 5, 
or 7. Output  y  is 1 for octal digits 2, 3, 6, or 7, and output  x  is 1 for digits 4, 5, 6, or 7. These 
conditions can be expressed by the following Boolean output functions: 
=D
1
D
3
D
5
D
7
D
2
D
3
D
6
+D
7
D
4
D
5
D
6
+D
7
The encoder can be implemented with three OR gates. 
Table 4.7 
Truth Table of an Octal-to-Binary Encoder 
Inputs 
Outputs 
 
0
 
1
 
2
 
3
 
4
 
5
 
6
 
7
 
 
 
C# PDF Convert: How to Convert MS PPT to Adobe PDF Document
PDF; Merge PDF Files; Split PDF Document; Remove Password from PDF; Change PDF Permission Settings. C# PDF Convert: How to Convert MS PPT to Adobe PDF Document.
how to convert pdf slides to powerpoint presentation; convert pdf to powerpoint online
How to C#: Convert Word, Excel and PPT to PDF
Convert Jpeg to PDF; Merge PDF Files; Split PDF Document; Remove Password from PDF; Change PDF Permission Settings. How to C#: Convert Word, Excel and PPT to PDF
convert pdf to powerpoint slides; pdf to ppt converter online for large
156    Chapter 4  Combinational Logic
The encoder defined in  Table   4.7    has the limitation that only one input can be active 
at any given time. If two inputs are active simultaneously, the output produces an unde-
fined combination. For example, if    D
3
and    D
6
are 1 simultaneously, the output of the 
encoder will be 111 because all three outputs are equal to 1. The output 111 does not 
represent either binary 3 or binary 6. To resolve this ambiguity, encoder circuits must 
establish an input priority to ensure that only one input is encoded. If we establish a 
higher priority for inputs with higher subscript numbers, and if both    D
3
and    D
6
are 1 at 
the same time, the output will be 110 because    D
6
has higher priority than    D
3
.    
Another ambiguity in the octal-to-binary encoder is that an output with all 0’s is 
generated when all the inputs are 0; but this output is the same as when    D
0
is equal to1. 
The discrepancy can be resolved by providing one more output to indicate whether at 
least one input is equal to 1. 
Priority Encoder 
A priority encoder is an encoder circuit that includes the priority function. The operation 
of the priority encoder is such that if two or more inputs are equal to 1 at the same time, 
the input having the highest priority will take precedence. The truth table of a four-input 
priority encoder is given in  Table   4.8   . In addition to the two outputs  x  and  y , the circuit 
has a third output designated by  V ; this is a  valid  bit indicator that is set to 1 when one or 
more inputs are equal to 1. If all inputs are 0, there is no valid input and  V  is equal to 0. 
The other two outputs are not inspected when  V  equals 0 and are specified as don’t-care 
conditions. Note that whereas  X ’s in output columns represent don’t-care conditions, the 
X ’s in the input columns are useful for representing a truth table in condensed form. 
Instead of listing all 16 minterms of four variables, the truth table uses an  X  to represent 
either 1 or 0. For example,  X 100 represents the two minterms 0100 and 1100. 
According to  Table   4.8   , the higher the subscript number, the higher the priority of 
the input. Input    D
3
has the highest priority, so, regardless of the values of the other 
inputs, when this input is 1, the output for  xy  is 11 (binary 3).    D
2
has the next priority 
level. The output is 10 if    D
2
= 1,    provided that    D
3
= 0,    regardless of the values of the 
other two lower priority inputs. The output for    D
1
is generated only if higher priority 
inputs are 0, and so on down the priority levels. 
Table 4.8 
Truth Table of a Priority Encoder 
Inputs 
Outputs 
D  
0
D  
1
D  
2
D  
3
x  
y  
V  
VB.NET PowerPoint: Process & Manipulate PPT (.pptx) Slide(s)
If you want to change the order of current processing control add-on can do PPT creating, loading powerful & profession imaging controls, PDF document, image to
how to change pdf file to powerpoint; pdf conversion to powerpoint
C# TIFF: Learn to Convert MS Word, Excel, and PPT to TIFF Image
C# TIFF - Conversion from Word, Excel, PPT to TIFF. Learn How to Change MS Word, Excel, and PowerPoint to TIFF Image File in C#. Overview
convert pdf pages into powerpoint slides; convert pdf into ppt
Section 4.10  Encoders    157
The maps for simplifying outputs  x  and  y  are shown in  Fig.   4.22   . The minterms for the 
two functions are derived from Table 4.8. Although the table has only five rows, when 
each X in a row is replaced first by 0 and then by 1, we obtain all 16 possible input com-
binations. For example, the fourth row in the table, with inputs XX10, represents the four 
minterms 0010, 0110, 1010, and 1110. The simplified Boolean expressions for the priority 
encoder are obtained from the maps. The condition for output  V  is an OR function of 
all the input variables. The priority encoder is implemented in  Fig.   4.23    according to the 
following Boolean functions: 
xD
2
D
3
yD
3
D
1  
D
2
D
0
D
1
D
2
D
3
X
00
01
11
10
00
01
11
10
D
0
D
1
D
2
D
3
1
1
1
1
1
1
1
X
1
1
1
1
D
0
D
1
D
3
D
2
m
0
m
1
m
3
m
2
m
4
m
5
m
7
m
6
m
14
m
15
m
10
m
13
m
12
m
9
m
11
m
8
X
00
01
11
10
00
01
11
10
D
0
D
1
D
2
D
3
1
1
1
1
1
1
1
1
D
0
D
1
D
3
D
2
m
0
m
1
m
3
m
2
m
4
m
5
m
7
m
6
m
14
m
15
m
10
m
13
m
12
m
9
m
11
m
8
1
1
x=D
2
+D
3
y=D
3
+D
1
D
2
FIGURE 4.22 
Maps for a priority encoder       
D
3
D
2
D
1
D
0
y
x
V
FIGURE 4.23 
Four-input priority encoder       
VB.NET PowerPoint: Convert & Render PPT into PDF Document
VB.NET PowerPoint - Render PPT to PDF in VB.NET. What VB.NET demo code can I use for fast PPT (.pptx) to PDF conversion in .NET class application?
convert pdf pages to powerpoint slides; picture from pdf to powerpoint
VB.NET PowerPoint: Read & Scan Barcode Image from PPT Slide
VB.NET PPT PDF-417 barcode scanning SDK to detect PDF-417 barcode image from PowerPoint slide. VB.NET APIs to detect and decode
how to convert pdf to powerpoint slides; how to change pdf to ppt on
158    Chapter 4  Combinational Logic
4.11    MULTIPLEXERS 
A multiplexer is a combinational circuit that selects binary information from one of 
many input lines and directs it to a single output line. The selection of a particular input 
line is controlled by a set of selection lines. Normally, there are    2
n
input lines and  n  selec-
tion lines whose bit combinations determine which input is selected. 
A two-to-one-line multiplexer connects one of two 1-bit sources to a common desti-
nation, as shown in  Fig.   4.24   . The circuit has two data input lines, one output line, and 
one selection line  S . When    S= 0,    the upper AND gate is enabled and    I
0
has a path to 
the output. When    S= 1,    the lower AND gate is enabled and    I
1
has a path to the output. 
The multiplexer acts like an electronic switch that selects one of two sources. The block 
diagram of a multiplexer is sometimes depicted by a wedge-shaped symbol, as shown in 
Fig.   4.24(b)   . It suggests visually how a selected one of multiple data sources is directed 
into a single destination. The multiplexer is often labeled “MUX” in block diagrams. 
A four-to-one-line multiplexer is shown in  Fig.   4.25   . Each of the four inputs,    I
0
through    I
3
,    is applied to one input of an AND gate. Selection lines    S
1
and    S
0
are decoded 
to select a particular AND gate. The outputs of the AND gates are applied to a single 
OR gate that provides the one-line output. The function table lists the input that is 
passed to the output for each combination of the binary selection values. To demonstrate 
the operation of the circuit, consider the case when    S
1
S
0
= 10.    The AND gate associated 
with input    I
2
has two of its inputs equal to 1 and the third input connected to    I
2
.    The 
other three AND gates have at least one input equal to 0, which makes their outputs 
equal to 0. The output of the OR gate is now equal to the value of    I
2
,    providing a path 
from the selected input to the output. A multiplexer is also called a  data selector , since 
it selects one of many inputs and steers the binary information to the output line. 
The AND gates and inverters in the multiplexer resemble a decoder circuit, and indeed, 
they decode the selection input lines. In general, a 2 
n 
-to-1-line multiplexer is constructed 
from an  n -to-2 
n 
decoder by adding    2
n
input lines to it, one to each AND gate. The outputs 
of the AND gates are applied to a single OR gate. The size of a multiplexer is specified by 
Y
I
0
I
1
S
(a) Logic diagram
(b) Block diagram
I
0
S
Y
I
1
MUX
0
1
FIGURE 4.24 
Two-to-one-line multiplexer       
Section 4.11  Multiplexers    159
the number    2
n
of its data input lines and the single output line. The  n  selection lines are 
implied from the    2
n
data lines. As in decoders, multiplexers may have an enable input to 
control the operation of the unit. When the enable input is in the inactive state, the outputs 
are disabled, and when it is in the active state, the circuit functions as a normal multiplexer. 
Multiplexer circuits can be combined with common selection inputs to provide 
multiple-bit selection logic. As an illustration, a quadruple 2-to-1-line multiplexer is shown 
in  Fig.   4.26   . The circuit has four multiplexers, each capable of selecting one of two input 
lines. Output    Y
0
can be selected to come from either input    A
0
or input    B
0
.    Similarly, 
output    Y
1
may have the value of    A
1
or    B
1
,    and so on. Input selection line  S  selects one of 
the lines in each of the four multiplexers. The enable input  E  must be active (i.e., asserted) 
for normal operation. Although the circuit contains four 2-to-1-line multiplexers, we are 
more likely to view it as a circuit that selects one of two 4-bit sets of data lines. As shown 
in the function table, the unit is enabled when    =0.    Then, if    S= 0,    the four  A  inputs 
have a path to the four outputs. If, by contrast,    S= 1,    the four  B  inputs are applied to the 
outputs. The outputs have all 0’s when    = 1,    regardless of the value of  S . 
Boolean Function Implementation 
In Section 4.9, it was shown that a decoder can be used to implement Boolean functions 
by employing external OR gates. An examination of the logic diagram of a multiplexer 
reveals that it is essentially a decoder that includes the OR gate within the unit. The 
(a) Logic diagram
(b) Function table
Y
I
0
I
1
I
2
I
3
S
1
S
0
Y
S
1
S
0
0
1
0
1
0
1
1
0
I
0
I
1
I
2
I
3
FIGURE 4.25 
Four-to-one-line multiplexer       
160    Chapter 4  Combinational Logic
minterms of a function are generated in a multiplexer by the circuit associated with the 
selection inputs. The individual minterms can be selected by the data inputs, thereby 
providing a method of implementing a Boolean function of  n  variables with a multi-
plexer that has  n  selection inputs and    2
n
data inputs, one for each minterm. 
We will now show a more efficient method for implementing a Boolean function of 
n  variables with a multiplexer that has    n- 1    selection inputs. The first    n- 1    variables 
of the function are connected to the selection inputs of the multiplexer. The remaining 
single variable of the function is used for the data inputs. If the single variable is denoted 
A
0
Y
0
Y
1
Y
2
Y
3
A
1
A
2
A
3
B
0
B
1
B
2
B
3
S
E
(select)
(enable)
Function table
E
S
OutputY
1
0
0
0
1
all 0’s
selectA
selectB
X
FIGURE 4.26 
Quadruple two-to-one-line multiplexer       
Section 4.11  Multiplexers    161
by  z , each data input of the multiplexer will be  z ,    z′,    1, or 0. To demonstrate this proce-
dure, consider the Boolean function 
F (xy, z) = = ∑(1, 2, 6, 7)   
This function of three variables can be implemented with a four-to-one-line multiplexer 
as shown in  Fig.   4.27   . The two variables  x  and  y  are applied to the selection lines in that 
order;  x  is connected to the    S
1
input and  y  to the    S
0
input. The values for the data input 
lines are determined from the truth table of the function. When    xy= 00,    output  F  is 
equal to  z  because    =0    when    = 0    and    = 1    when    =1.    This requires that variable 
z  be applied to data input 0. The operation of the multiplexer is such that when    xy= 00,    
data input 0 has a path to the output, and that makes  F  equal to  z . In a similar fashion, 
we can determine the required input to data lines 1, 2, and 3 from the value of  F  when 
xy =01,    10, and 11, respectively. This particular example shows all four possibilities that 
can be obtained for the data inputs. 
The general procedure for implementing any Boolean function of  n  variables with a 
multiplexer with    - 1    selection inputs and    2
n-1
data inputs follows from the previous 
example. To begin with, Boolean function is listed in a truth table. Then first    n- 1    vari-
ables in the table are applied to the selection inputs of the multiplexer. For each com-
bination of the selection variables, we evaluate the output as a function of the last 
variable. This function can be 0, 1, the variable, or the complement of the variable. These 
values are then applied to the data inputs in the proper order. 
As a second example, consider the implementation of the Boolean function 
F (ABC, D) = ∑(1, 3, 4, 11, 12, 13, 14, 15)   
This function is implemented with a multiplexer with three selection inputs as shown in 
Fig.   4.28   . Note that the first variable  A  must be connected to selection input    S
2
so that 
A ,  B,  and  C  correspond to selection inputs    S
2
S
1
,    and    S
0
,    respectively. The values for the 
S
0
S
1
0
1
2
3
y
x
z
0
1
z
F
(b) Multiplexer implementation
(a) Truth table
4× 1 MUX
x
y
z F
F=z
0
0
0
0
0
1
0
1
F=z
0
0
1
1
0
1
1
0
F= 0
1
1
0
0
0
1
0
0
F= 1
1
1
1
1
0
1
1
1
FIGURE 4.27 
Implementing a Boolean function with a multiplexer       
162    Chapter 4  Combinational Logic
data inputs are determined from the truth table listed in the figure. The corresponding 
data line number is determined from the binary combination of  ABC . For example, the 
table shows that when    ABC = 101, =D,    so the input variable  D  is applied to data 
input 5. The binary constants 0 and 1 correspond to two fixed signal values. When inte-
grated circuits are used, logic 0 corresponds to signal ground and logic 1 is equivalent to 
the power signal, depending on the technology (e.g., 3 V). 
Three-State Gates 
A multiplexer can be constructed with three-state gates—digital circuits that exhibit 
three states. Two of the states are signals equivalent to logic 1 and logic 0 as in a conven-
tional gate. The third state is a  high-impedance  state in which (1) the logic behaves like 
an open circuit, which means that the output appears to be disconnected, (2) the circuit 
has no logic significance, and (3) the circuit connected to the output of the three-state 
gate is not affected by the inputs to the gate. Three-state gates may perform any con-
ventional logic, such as AND or NAND. However, the one most commonly used is the 
buffer gate. 
The graphic symbol for a three-state buffer gate is shown in  Fig.   4.29   . It is distinguished 
from a normal buffer by an input control line entering the bottom of the symbol. The 
buffer has a normal input, an output, and a control input that determines the state of the 
output. When the control input is equal to 1, the output is enabled and the gate behaves 
like a conventional buffer, with the output equal to the normal input. When the control 
S
0
S
1
S
2
0
1
2
3
4
5
6
7
8× 1 MUX
F
C
B
A
D
0
1
A
B
C
D F
F=D
F=D
F=D
F= 0
F= 0
F=D
F= 1
F= 1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
0
0
0
0
0
1
1
1
1
1
FIGURE 4.28 
Implementing a four-input function with a multiplexer       
Documents you may be interested
Documents you may be interested