References    123
3.39   Using primitive gates, write a Verilog model of a circuit that will produce two outputs, 
sand c, equal to the sum and carry produced by adding two binary input bits a and b (e.g., 
s = 1 and c = 0 if a = 0 and b = 1). ( Hint:  Begin by developing a truth table for s and c.)    
REFERENCES 
1.  
B hasker , J. 1997. A Verilog HDL Primer. Allentown, PA: Star Galaxy Press.  
2. 
C iletti , M. D. 1999. Modeling, Synthesis and Rapid Prototyping with the Verilog HDL. 
Upper Saddle River, NJ: Prentice Hall. 
3. 
H ill , F. J., and G. R. P eterson . 1981. Introduction to Switching Theory and Logical Design, 
3rd ed. New York: John Wiley. 
4.  
IEEE Standard Hardware Description Language Based on the Verilog Hardware Descrip-
tion Language (IEEE Std. 1364-1995). 1995. New York: The Institute of Electrical and 
Electronics Engineers. 
5.  
K arnaugh , M. A Map Method for Synthesis of Combinational Logic Circuits. Transactions 
of AIEE, Communication and Electronics. 72, part I (Nov. 1953): 593–99. 
6.  
K ohavi , Z. 1978. Switching and Automata Theory, 2nd ed. New York: McGraw-Hill. 
A
B
t, ns
t, ns
10
20
30
40
50
60
10
20
30
40
50
60
70
80
70
80
C
t, ns
10
20
30
40
50
60
70
80
D
t, ns
10
20
30
40
50
60
70
80
FIGURE P3.38 
Stimulus waveforms for Problem 3.38
 
3.37   A majority logic function is a Boolean function that is equal to 1 if the majority of the 
variables are equal to 1, equal to 0 otherwise. 
(a)   Write a truth table for a four-bit majority function.  
(b)   Write a Verilog user-defined primitive for a four-bit majority function.     
 
3.38   Simulate the behavior of  Circuit_with_UDP_02467 , using the stimulus waveforms shown 
in  Fig.   P3.38   .           
How to convert pdf file to powerpoint presentation - 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
how to convert pdf to powerpoint slides; pdf to ppt
How to convert pdf file to powerpoint presentation - 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
convert pdf slides to powerpoint online; convert pdf to powerpoint online no email
124    Chapter 3  Gate-Level Minimization
7.  
M ano , M. M. and C. R. K ime . 2004. Logic and Computer Design Fundamentals, 3rd ed. 
Upper Saddle River, NJ: Prentice Hall. 
8.  
M c C luskey , E. J. 1986. Logic Design Principles. Englewood Cliffs, NJ: Prentice-Hall. 
9.  
P alnitkar , S. 1996. Verilog HDL: A Guide to Digital Design and Synthesis. Mountain View, 
CA: SunSoft Press (a Prentice Hall title).  
WEB SEARCH TOPICS 
Boolean minimization  
Karnaugh map  
Wired logic  
Emitter-coupled logic  
Open-collector logic  
Quine McCluskey method  
Expresso software  
Consensus theorem  
Don’t-care conditions        
VB.NET PowerPoint: Use PowerPoint SDK to Create, Load and Save PPT
NET method and sample code in this part will teach you how to create a fully customized blank PowerPoint file by using the smart PowerPoint presentation control
convert pdf to powerpoint; chart from pdf to powerpoint
C# PDF Text Extract Library: extract text content from PDF file in
But sometimes, we need to extract or fetch text content from source PDF document file for word processing, presentation and desktop publishing applications.
create powerpoint from pdf; convert pdf slides to powerpoint
125
Chapter 4 
Combinational Logic 
4.1    INTRODUCTION 
Logic circuits for digital systems may be combinational or sequential. A combinational 
circuit consists of logic gates whose outputs at any time are determined from only the 
present combination of inputs. A combinational circuit performs an operation that can 
be specified logically by a set of Boolean functions. In contrast, sequential circuits 
employ storage elements in addition to logic gates. Their outputs are a function of the 
inputs and the state of the storage elements. Because the state of the storage elements 
is a function of previous inputs, the outputs of a sequential circuit depend not only on 
present values of inputs, but also on past inputs, and the circuit behavior must be speci-
fied by a time sequence of inputs and internal states. Sequential circuits are the building 
blocks of digital systems and are discussed in  Chapters   5          and    8   .  
4.2    COMBINATIONAL CIRCUITS 
A combinational circuit consists of an interconnection of logic gates. Combinational 
logic gates react to the values of the signals at their inputs and produce the value of the 
output signal, transforming binary information from the given input data to a required 
output data. A block diagram of a combinational circuit is shown in  Fig.   4.1   . The  n  input 
binary variables come from an external source; the  m  output variables are produced by 
the internal combinational logic circuit and go to an external destination. Each input 
and output variable exists physically as an analog signal whose values are interpreted 
to be a binary signal that represents logic 1 and logic 0. ( Note : Logic simulators show 
only 0’s and 1’s, not the actual analog signals.) In many applications, the source and 
C# Create PDF from OpenOffice to convert odt, odp files to PDF in
Note: When you get the error "Could not load file or assembly 'RasterEdge.Imaging. Basic' or any How to Use C#.NET Demo Code to Convert ODT to PDF in C#.NET
how to add pdf to powerpoint slide; convert pdf to powerpoint using
VB.NET PowerPoint: Sort and Reorder PowerPoint Slides by Using VB.
you can choose to show your PPT presentation in inverted clip art or screenshot to PowerPoint document slide & profession imaging controls, PDF document, image
converter pdf to powerpoint; convert pdf to ppt
126    Chapter 4  Combinational Logic
destination are storage registers. If the registers are included with the combinational 
gates, then the total circuit must be considered to be a sequential circuit. 
For  n  input variables, there are    2
n
possible combinations of the binary inputs. For each 
possible input combination, there is one possible value for each output variable. Thus, a 
combinational circuit can be specified with a truth table that lists the output values for 
each combination of input variables. A combinational circuit also can be described by 
m  Boolean functions, one for each output variable. Each output function is expressed 
in terms of the  n  input variables. 
In  Chapter   1   , we learned about binary numbers and binary codes that represent discrete 
quantities of information. The binary variables are represented physically by electric volt-
ages or some other type of signal. The signals can be manipulated in digital logic gates to 
perform required functions. In  Chapter   2   , we introduced Boolean algebra as a way to 
express logic functions algebraically. In  Chapter   3   , we learned how to simplify Boolean 
functions to achieve economical (simpler) gate implementations. The purpose of the cur-
rent chapter is to use the knowledge acquired in previous chapters to formulate systematic 
analysis and design procedures for combinational circuits. The solution of some typical 
examples will provide a useful catalog of elementary functions that are important for the 
understanding of digital systems. We’ll address three tasks: (1) Analyze the behavior of a 
given logic circuit, (2) synthesize a circuit that will have a given behavior, and (3) write 
hardware description language (HDL) models for some common circuits. 
There are several combinational circuits that are employed extensively in the design 
of digital systems. These circuits are available in integrated circuits and are classified as 
standard components. They perform specific digital functions commonly needed in the 
design of digital systems. In this chapter, we introduce the most important standard 
combinational circuits, such as adders, subtractors, comparators, decoders, encoders, and 
multiplexers. These components are available in integrated circuits as medium-scale 
integration (MSI) circuits. They are also used as  standard cells  in complex very large-
scale integrated (VLSI) circuits such as application-specific integrated circuits (ASICs). 
The standard cell functions are interconnected within the VLSI circuit in the same way 
that they are used in multiple-IC MSI design.  
4.3    ANALYSIS PROCEDURE 
The analysis of a combinational circuit requires that we determine the function that the 
circuit implements. This task starts with a given logic diagram and culminates with a set 
of Boolean functions, a truth table, or, possibly, an explanation of the circuit operation. 
Combinational
circuit
̇
̇
̇
̇
̇
̇
n inputs
m outputs
FIGURE 4.1 
Block diagram of combinational circuit       
VB.NET PowerPoint: Merge and Split PowerPoint Document(s) with PPT
documents and save the created new file in the sample code in VB.NET to finish PowerPoint document splitting If you want to see more PDF processing functions
how to convert pdf to ppt for; convert pdf to editable powerpoint online
VB.NET Create PDF from OpenOffice to convert odt, odp files to PDF
1odt.pdf"). How to VB.NET: Convert ODP to PDF. This code sample is able to convert ODP file to PDF document. ' odp convert
conversion of pdf to ppt online; export pdf to powerpoint
Section 4.3  Analysis Procedure    127
If the logic diagram to be analyzed is accompanied by a function name or an explanation 
of what it is assumed to accomplish, then the analysis problem reduces to a verification 
of the stated function. The analysis can be performed manually by finding the Boolean 
functions or truth table or by using a computer simulation program. 
The first step in the analysis is to make sure that the given circuit is combinational 
and not sequential.  The diagram of a combinational circuit has logic gates with no 
feedback paths  or  memory elements . A feedback path is a connection from the output 
of one gate to the input of a second gate whose output forms part of the input to the 
first gate. Feedback paths in a digital circuit define a sequential circuit and must be 
analyzed by special methods and will not be considered here. 
Once the logic diagram is verified to be that of a combinational circuit, one can proceed 
to obtain the output Boolean functions or the truth table. If the function of the circuit is 
under investigation, then it is necessary to interpret the operation of the circuit from the 
derived Boolean functions or truth table. The success of such an investigation is enhanced 
if one has previous experience and familiarity with a wide variety of digital circuits. 
To obtain the output Boolean functions from a logic diagram, we proceed as follows: 
1.   Label all gate outputs that are a function of input variables with arbitrary symbols—
but with meaningful names. Determine the Boolean functions for each gate output.  
 
2.   Label the gates that are a function of input variables and previously labeled gates 
with other arbitrary symbols. Find the Boolean functions for these gates.  
 
3.   Repeat the process outlined in step 2 until the outputs of the circuit are obtained.  
 
4.   By repeated substitution of previously defined functions, obtain the output 
Boolean  functions in terms of input variables.   
The analysis of the combinational circuit of  Fig.   4.2    illustrates the proposed proce-
dure. We note that the circuit has three binary inputs— A ,  B , and  C —and two binary 
outputs—   F
1
and    F
2
.    
The outputs of various gates are labeled with intermediate symbols. 
The outputs of gates that are a function only of input variables are    T
1
and    T
2
.    Output 
F
2
can easily be derived from the input variables. The Boolean functions for these three 
outputs are 
F
2
ABAC BC   
T
1
AC
T
2
ABC   
Next, we consider outputs of gates that are a function of already defined symbols: 
T
3
F
2
T
1
F
1
=T
3
T
2
To obtain    F
1
as a function of  A ,  B , and  C , we form a series of substitutions as follows: 
F
1
=T
3
T
2
F
2
T
1
ABC = 1AB AC +BC2′1AC2 + ABC
= 1A′ ′ +B′21A′ + C′21B′+ C′21AC2 + ABC
= 1A′ ′ +BC′21AB′+ AC′+ BC′+ BC2 + ABC
ABC′+ ABABC′+ ABC   
VB.NET PowerPoint: VB Codes to Create Linear and 2D Barcodes on
PowerPoint PDF 417 barcode library is a mature and Install and integrate our PowerPoint PLANET barcode creating to achieve PLANET barcode drawing on PPT file.
changing pdf to powerpoint file; export pdf into powerpoint
How to C#: Overview of Using XDoc.Windows Viewer
Generally speaking, you can use this .NET document imaging SDK to load, markup, convert, print, scan image and document. Support File Types. PDF.
convert pdf to powerpoint slide; adding pdf to powerpoint slide
128    Chapter 4  Combinational Logic
If we want to pursue the investigation and determine the information transformation 
task achieved by this circuit, we can draw the circuit from the derived Boolean expres-
sions and try to recognize a familiar operation. The Boolean functions for    F
1
and    F
2
implement a circuit discussed in Section 4.5. Merely finding a Boolean representation 
of a circuit doesn’t provide insight into its behavior, but in this example we will observe 
that the Boolean equations and truth table for    F
1
and    F
2
match those describing the 
functionality of what we call a full adder. 
The derivation of the truth table for a circuit is a straightforward process once the 
output Boolean functions are known. To obtain the truth table directly from the logic 
diagram without going through the derivations of the Boolean functions, we proceed as 
follows: 
 
1.   Determine the number of input variables in the circuit. For n inputs, form the    2
n
possible input combinations and list the binary numbers from 0 to    (2
n
- 1)    in a 
table.  
 
2.   Label the outputs of selected gates with arbitrary symbols.  
 
3.   Obtain the truth table for the outputs of those gates which are a function of the 
input variables only.  
 
4.   Proceed to obtain the truth table for the outputs of those gates which are a func-
tion of previously defined values until the columns for all outputs are determined.   
A
B
A
B
C
A
B
C
A
C
B
C
F
2
F
1
T
3
T
2
T
1
F
2
FIGURE 4.2 
Logic diagram for analysis example       
Section 4.4  Design Procedure    129
This process is illustrated with the circuit of  Fig.   4.2   . In  Table   4.1   , we form the 
eight possible combinations for the three input variables. The truth table for    F
2
is 
determined directly from the values of  A ,  B , and  C , with    F
2
equal to 1 for any com-
bination that has two or three inputs equal to 1. The truth table for    F
2
is the comple-
ment of    F
2
.    The truth tables for    T
1
and    T
2
are the OR and AND functions of the 
input variables, respectively. The values for    T
3
are derived from    T
1
and    F
2
:T
3
is equal 
to 1 when both    T
1
and    F
2
are equal to 1, and    T
3
is equal to 0 otherwise. Finally,    F
1
is 
equal to 1 for those combinations in which either    T
2
or    T
3
or both are equal to 1. 
Inspection of the truth table combinations for  A, B, C,     F
1
,    and    F
2
shows that it is 
identical to the truth table of the full adder given in Section 4.5 for  x, y, z, S , and  C , 
respectively. 
Another way of analyzing a combinational circuit is by means of logic simulation. 
This is not practical, however, because the number of input patterns that might be 
needed to generate meaningful outputs could be very large. But simulation has a very 
practical application in verifying that the functionality of a circuit actually matches its 
specification. In Section 4.12, we demonstrate the logic simulation and verification of 
the circuit of  Fig.   4.2   , using Verilog HDL.  
4.4    DESIGN PROCEDURE 
The design of combinational circuits starts from the specification of the design objective 
and culminates in a logic circuit diagram or a set of Boolean functions from which the 
logic diagram can be obtained. The procedure involves the following steps: 
 
1.   From the specifications of the circuit, determine the required number of inputs 
and outputs and assign a symbol to each.  
 
2.   Derive the truth table that defines the required relationship between inputs and 
outputs.  
Table 4.1 
Truth Table for the Logic Diagram of  Fig.   4.2    
A  
B  
C  
F  
2
F
2
T  
1
T  
2
T  
3
F  
1
130    Chapter 4  Combinational Logic
 
3.   Obtain the simplified Boolean functions for each output as a function of the input 
variables.  
 
4.   Draw the logic diagram and verify the correctness of the design (manually or by 
simulation).   
A truth table for a combinational circuit consists of input columns and output 
columns. The input columns are obtained from the    2
n
binary numbers for the  n  input 
variables. The binary values for the outputs are determined from the stated specifica-
tions. The output functions specified in the truth table give the exact definition of the 
combinational circuit. It is important that the verbal specifications be interpreted 
correctly in the truth table, as they are often incomplete, and any wrong interpretation 
may result in an incorrect truth table. 
The output binary functions listed in the truth table are simplified by any available 
method, such as algebraic manipulation, the map method, or a computer-based sim-
plification program. Frequently, there is a variety of simplified expressions from 
which to choose. In a particular application, certain criteria will serve as a guide in 
the process of choosing an implementation. A practical design must consider such 
constraints as the number of gates, number of inputs to a gate, propagation time of 
the signal through the gates, number of interconnections, limitations of the driving 
capability of each gate (i.e., the number of gates to which the output of the circuit 
may be connected), and various other criteria that must be taken into consideration 
when designing integrated circuits. Since the importance of each constraint is dictated 
by the particular application, it is difficult to make a general statement about what 
constitutes an acceptable implementation. In most cases, the simplification begins by 
satisfying an elementary objective, such as producing the simplified Boolean func-
tions in a standard form. Then the simplification proceeds with further steps to meet 
other performance criteria. 
Code Conversion Example 
The availability of a large variety of codes for the same discrete elements of information 
results in the use of different codes by different digital systems. It is sometimes necessary 
to use the output of one system as the input to another. A conversion circuit must be 
inserted between the two systems if each uses different codes for the same information. 
Thus, a code converter is a circuit that makes the two systems compatible even though 
each uses a different binary code. 
To convert from binary code A to binary code B, the input lines must supply the 
bit combination of elements as specified by code A and the output lines must gener-
ate the corresponding bit combination of code B. A combinational circuit performs 
this transformation by means of logic gates. The design procedure will be illustrated 
by an example that converts binary coded decimal (BCD) to the excess-3 code for the 
decimal digits. 
The bit combinations assigned to the BCD and excess-3 codes are listed in Table 1.5 
(Section 1.7). Since each code uses four bits to represent a decimal digit, there must 
Section 4.4  Design Procedure    131
be four input variables and four output variables. We designate the four input binary 
variables by the symbols  A, B, C,  and  D,  and the four output variables by  w, x, y , and 
z . The truth table relating the input and output variables is shown in  Table   4.2   . The bit 
combinations for the inputs and their corresponding outputs are obtained directly 
from Section 1.7. Note that four binary variables may have 16 bit combinations, but 
only 10 are listed in the truth table. The six bit combinations not listed for the input 
variables are don’t-care combinations. These values have no meaning in BCD and we 
assume that they will never occur in actual operation of the circuit. Therefore, we are 
at liberty to assign to the output variables either a 1 or a 0, whichever gives a simpler 
circuit. 
The maps in  Fig.   4.3    are plotted to obtain simplified Boolean functions for the 
outputs. Each one of the four maps represents one of the four outputs of the circuit 
as a function of the four input variables. The 1’s marked inside the squares are 
obtained from the minterms that make the output equal to 1. The 1’s are obtained 
from the truth table by going over the output columns one at a time. For example, 
the column under output  z  has five 1’s; therefore, the map for  z  has five 1’s, each 
being in a square corresponding to the minterm that makes  z  equal to 1. The six 
don’t-care minterms 10 through 15 are marked with an  X . One possible way to sim-
plify the functions into sum-of-products form is listed under the map of each variable. 
(See  Chapter   3   .) 
A two-level logic diagram for each output may be obtained directly from the Boolean 
expressions derived from the maps. There are various other possibilities for a logic diagram 
that implements this circuit. The expressions obtained in  Fig.  4.3    may be manipulated 
algebraically for the purpose of using common gates for two or more outputs. This manip-
ulation, shown next, illustrates the flexibility obtained with multiple-output systems when 
Table 4.2 
Truth Table for Code Conversion Example 
Input BCD 
Output Excess-3 Code 
132    Chapter 4  Combinational Logic
implemented with three or more levels of gates: 
D
CD CD′= CD + 1CD2′
BCBBCD′= B′1CD2 +BCD
B′1+D2 + B1D2′
ABCBD AB1D2   
The logic diagram that implements these expressions is shown in  Fig.   4.4   . Note that the OR 
gate whose output is    +D    has been used to implement partially each of three outputs. 
Not counting input inverters, the implementation in sum-of-products form requires 
seven AND gates and three OR gates. The implementation of  Fig.   4.4    requires four AND 
gates, four OR gates, and one inverter. If only the normal inputs are available, the first 
1
00
01
11
10
00
01
11
10
AB
CD
1
1
1
X
X
X
X
X
1
X
D
m
0
m
1
m
3
m
2
m
4
m
5
m
7
m
6
m
12
m
13
m
15
m
14
m
8
m
9
m
11
m
10
C
B
A
00
01
11
10
00
01
11
10
AB
CD
1
X
X
X
X
X
1
C
m
0
m
1
m
3
m
2
m
4
m
5
m
7
m
6
m
12
m
13
m
15
m
14
m
8
m
9
m
11
m
10
1
1
1
X
D
B
A
00
01
11
10
00
01
11
10
AB
CD
1
1
1
1
X
X
X
X
X
1
1
X
m
0
m
1
m
3
m
2
m
4
m
5
m
7
m
6
m
12
m
13
m
15
m
14
m
8
m
9
m
11
m
10
C
B
A
D
m
0
m
1
m
3
m
2
m
4
m
5
m
7
m
6
m
12
m
13
m
15
m
14
m
8
m
9
m
11
m
10
00
01
11
10
00
01
11
10
B
AB
CD
A
1
1
1
1
X
X
X
X
X
1
X
D
C
z=D
y=CD+CD
x=BC+BD+BCD
w=A+BC+BD
FIGURE 4.3 
Maps for BCD-to-excess-3 code converter       
Documents you may be interested
Documents you may be interested