SlideShare a Scribd company logo
Er. Nawaraj Bhandari
Digital Logic
Chapter 4: COMBINATIONAL LOGIC
INTRODUCATION
 combinational logic is a type of digital logic which is
implemented by Boolean circuits, where the output is a
pure function of the present input only.
 This is in contrast to sequential logic, in which the output
depends not only on the present input but also on the
history of the input.
 In other words, sequential logic has memory while
combinational logic does not.
 The outputs of Combinational Logic Circuits are only
determined by the logical function of their current input
state, logic “0” or logic “1”, at any given instant in time.
 The result is that combinational logic circuits have no
feedback, and any changes to the signals being applied
to their inputs will immediately have an effect at the
output
 Design procedure
 The design of combinational circuits starts from the verbal outline of the problem and ends in a logic
circuit diagram or a set of Boolean functions from which the logic diagram can be easily obtained. The
procedure involves the following steps:
 1. Specification
Write a specification for the circuit if one is not already available
 2. Formulation
 Derive a truth table or initial Boolean equations that define the required relationships between the inputs
and outputs, if not in the specification.
 Apply hierarchical design if appropriate
 3. Optimization
 Apply 2-level and multiple-level optimization
 Draw a logic diagram for the resulting circuit using ANDs, ORs, and inverters
 4. Technology Mapping
 Map the logic diagram to the implementation technology selected
Adder
 Digital computers perform a variety of information-processing
tasks. Among the basic functions encountered are the various
arithmetic operations.
 The most basic arithmetic operation, no doubt, is the addition
of two binary digits.
 Half-Adder
 A combinational circuit that performs the addition of two bits is
called a half-adder.
 Circuit needs two inputs and two outputs. The input variables
designate the augend (x) and addend (y) bits; the output
variables produce the sum (S) and carry (C).
 In half adder we do not add carry from previous one.
 It is the basic building block for addition of two single bit
numbers.
Chapter 4: Combinational Logic
 A full-adder is a combinational circuit that forms the
arithmetic sum of three input bits.
 It consists of three inputs and two outputs. Two of the
input variables, denoted by x and y, represent the two
significant bits to be added. The third input, z, represents
the carry from the previous lower significant position.
Full-Adder
1 1
1 1
K-MAP For
S=A’B’C+A’BC’+AB’C’+ABC
1
1 1 1
K-MAP For C0=AB+AC+BC
IMPLIMENTATION OF FULL ADDER
WITH TWO HALF ADDER
 We can achieve a full adder using two half adder.
 We have to take two half adder in one sequence and lets
assume S1,c1 is the sum and carry of first adder and
S2,c2 is the sum and carry of second adder.
 So for the second adder S1 is the input and and also Cin
is the work as input for second
Substractor
 The subtraction of two binary numbers may be
accomplished by taking the complement of the
subtrahend and adding it to the minuend.
 By this method, the subtraction operation becomes an
addition operation requiring full-adders for its machine
implementation.
 It is possible to implement subtraction with logic circuits
in a direct manner, as done with paper and pencil.
 By this method, each subtrahend bit of the number is
subtracted from its corresponding significant minuend bit
to form a difference bit.
 If the minuend bit is smaller than the subtrahend bit, a 1
is borrowed from the next significant position
Half-Subtractor
 A half-subtractor is a combinational circuit that subtracts two
bits and produces their difference bit.
 Denoting minuend bit by x and the subtrahend bit by y.
 To perform x - y, we have to check the relative magnitudes of x
and y:
 If x≥ y, we have three possibilities: 0 - 0 = 0, 1 - 0 = 1, and 1 -
1 = 0.
 If x < y, we have 0 - 1, and it is necessary to borrow a 1 from
the next higher stage.
 The half-subtractor needs two outputs, difference (D) and
borrow (B).
 D = A‘B + AB‘ B0= A‘B
Half sub
diff
‘D’
barrow‘B0’
D
B00
0
1
1
1
0
0
0
D
B0
FULL SUBTRACTOR
 Full-Subtractor
 A full-subtractor is a combinational circuit that performs a
subtraction between two bits, taking into account that a 1
may have been borrowed by a lower significant stage.
 This circuit has three inputs and two outputs. The three
inputs, x, y, and z, denote the minuend, subtrahend, and
previous borrow, respectively.
 The two outputs, D and B, represent the difference and
output-borrow, respectively.
D = x'y'z + x'yz' + xy'z' + xyz B = x'y + x'z + yz
Code Conversion
 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, code converter has
input lines supplying the bit combination of elements as specified by
code A and the output lines of the converter generating the
corresponding bit combination of code B.
 A Code converter (combinational circuit) performs this
transformation by means of logic gates.
 The design procedure of code converters will be illustrated by
means of a specific example of conversion from the BCD to the
excess-3 code.
BCD to Excess-3 code converter
 Transforms BCD code for the decimal digits to Excess-3 code
for the decimal digits
 BCD code words for digits 0 through 9: 4-bit patterns 0000 to
1001, respectively.
 Excess-3 code words for digits 0 through 9: 4-bit patterns
consisting of 3 (binary 0011) added to each BCD code word
 Implementation: multiple-level circuit
 Conversion of 4-bit codes can be most easily formulated by a
truth table
 Variables- BCD: A, B, C, D
 Variables- Excess-3: W, X, Y, Z
 Don’t Cares: BCD 1010 to 1111
Chapter 4: Combinational Logic
 Analysis Procedure
 The design of a combinational circuit starts from the verbal specifications of a required
function and ends with a set of output Boolean functions or a logic diagram. The analysis of
a combinational circuit is somewhat the reverse process. It starts with a given logic diagram
and culminates with a set of Boolean functions, a truth table, or a verbal explanation of the
circuit operation.
 Steps in analysis:
 1. The first step in the analysis is to make sure that the given circuit is combinational and
not sequential.
 2. Assign symbols to all gate outputs that are a function of the input variables. Obtain the
Boolean functions for each gate.
 3. Label with other arbitrary symbols those gates that are a function of input variables
and/or previously labeled gates. Find the Boolean functions for these gates.
 4. Repeat step 3 until the outputs of the circuit are obtained.
 5. By repeated substitution of previously defined functions, obtain the output Boolean
functions in terms of input variables only.
F2 = AB + AC + BC
T1=A+B+C
T2 = ABC
Next we consider outputs of gates that are a function of already defined
symbols:
T3 = F2’T1
F1 = T3 + T2
Analysis of the combinational circuit below illustrates the proposed
procedure:
To obtain F1 as a function of A, B, and C, forms a series of substitutions
as follows:
If you want to determine the information-transformation task
achieved by this circuit, you can derive the truth table directly
from the Boolean functions and try to recognize a familiar
operation. For this example, we note that the circuit is a full-
adder, with F, being the sum output and F, the carry output. A,
B, and C are the three inputs added arithmetically.
Concept of multi-level NAND and NOR
circuits
 To implement a Boolean function with NAND gates we need to obtain
the simplified Boolean function in terms of Boolean operators and
then convert the function to NAND logic.
 The conversion of an algebraic expression from AND, OR, and
complement to NAND can be done by simple circuit-manipulation
techniques that change AND-OR diagrams to NAND diagrams.
 To obtain a multilevel NAND diagram from a Boolean expression,
proceed as follows:
 1. From the given Boolean expression, draw the logic diagram with
AND, OR, and inverter gates. Assume that both the normal and
complement inputs are available.
 2. Convert all AND gates to NAND gates with AND-invert graphic
symbols.
 Example: F = A + (B' + C) (D' + BE ')
 Multi-level NOR circuits
 The NOR function is the dual of the NAND function.
 For this reason, all procedures and rules for NOR logic form a dual of the
corresponding procedures and rules developed for NAND logic.
 Similar to NAND, NOR has also two graphic symbols: OR-invert and invert-AND
symbol.
 The procedure for implementing a Boolean function with NOR gates is similar to
the procedure outlined in the previous section for NAND gates:
 1. Draw the AND-OR logic diagram from the given algebraic expression. Assume
that both the normal and complement inputs are available.
 2. Convert all OR gates to NOR gates with OR-invert graphic symbols.
 3. Convert all AND gates to NOR gates with invert-AND graphic symbols.
 4. Any small circle that is not compensated by another small circle along the
same line needs an inverter or the complementation of the input variable.
Example: F = (AB + E) (C + D)

More Related Content

PPTX
Unit 3 combinational circuits
PPT
Digital Logic Design
PDF
1d-HALF ADDER & FULL ADDER-PPT.pdf
PPT
Combinational circuits
PPTX
Adder & subtractor (Half adder, Full adder, Half subtractor, Full subtractor)
PPT
decoder and encoder
PPT
adder and subtractor
PPTX
Combinational circuit
Unit 3 combinational circuits
Digital Logic Design
1d-HALF ADDER & FULL ADDER-PPT.pdf
Combinational circuits
Adder & subtractor (Half adder, Full adder, Half subtractor, Full subtractor)
decoder and encoder
adder and subtractor
Combinational circuit

What's hot (20)

PDF
Sequential circuits in Digital Electronics
PPTX
Counters
PPTX
sequential circuits
PPTX
Latches and flip flop
PPTX
latches
PDF
Encoder & Decoder
PPTX
Chapter 1 Introduction to Digital Logic
PPT
carry look ahead adder
PPTX
Sequential circuits
PPTX
Flip flops, counters &amp; registers
PPTX
Sequential Logic Circuits
PPTX
SHIFT REGISTERS
PPT
Karnaugh map
PPTX
Combinational circuits
PPTX
Combinational Circuits & Sequential Circuits
PPT
multiplexers and demultiplexers
PPTX
Latches and flip flops
PPTX
Finite state machines
PDF
Sequential circuits in digital logic design
PPT
Digital logic gates and Boolean algebra
Sequential circuits in Digital Electronics
Counters
sequential circuits
Latches and flip flop
latches
Encoder & Decoder
Chapter 1 Introduction to Digital Logic
carry look ahead adder
Sequential circuits
Flip flops, counters &amp; registers
Sequential Logic Circuits
SHIFT REGISTERS
Karnaugh map
Combinational circuits
Combinational Circuits & Sequential Circuits
multiplexers and demultiplexers
Latches and flip flops
Finite state machines
Sequential circuits in digital logic design
Digital logic gates and Boolean algebra
Ad

Similar to Chapter 4: Combinational Logic (20)

PPT
combinational-circuit (1).ppt
PPT
Unit 4 dica
PPTX
combinational-circuit.pptx it tis creative study of digital electronics for ...
PPT
digital electr Chapter-4-Combinational ckt.ppt
PDF
Chapter-04.pdf
PPT
combinational-circuit (1).ppt
PPT
Logic System Design KTU Chapter-4.ppt
PPTX
Digital electronics-COMBINATIONAL CIRCUIT DESIGN
PDF
DIGITAL PRINCIPLES AND SYSTEM DESIGN LAB MANUAL
PPT
combinational-circuit presenmtation .ppt
PPT
combinational-circuit.ppt
PPT
combinational circuits dispositivos .ppt
PPT
Binary parallel adder, decimal adder
PPTX
Lesson Week 1-2.pptx
PPTX
combinational-circuit (1).pptx for all the digital electronics data
PDF
FYBSC IT Digital Electronics Unit III Chapter II Arithmetic Circuits
PPTX
Lecture-5a - Half and Full Adxcccder.pptx
PPTX
DIGITAL ELECTRONICS :UNIT-II-COMBINATIONAL CIRCUIT DESIGN
PPTX
Essentials of Combinational Circuits. PPTX
PPTX
DLD Lecture No 18 Analysis and Design of Combinational Circuit.pptx
combinational-circuit (1).ppt
Unit 4 dica
combinational-circuit.pptx it tis creative study of digital electronics for ...
digital electr Chapter-4-Combinational ckt.ppt
Chapter-04.pdf
combinational-circuit (1).ppt
Logic System Design KTU Chapter-4.ppt
Digital electronics-COMBINATIONAL CIRCUIT DESIGN
DIGITAL PRINCIPLES AND SYSTEM DESIGN LAB MANUAL
combinational-circuit presenmtation .ppt
combinational-circuit.ppt
combinational circuits dispositivos .ppt
Binary parallel adder, decimal adder
Lesson Week 1-2.pptx
combinational-circuit (1).pptx for all the digital electronics data
FYBSC IT Digital Electronics Unit III Chapter II Arithmetic Circuits
Lecture-5a - Half and Full Adxcccder.pptx
DIGITAL ELECTRONICS :UNIT-II-COMBINATIONAL CIRCUIT DESIGN
Essentials of Combinational Circuits. PPTX
DLD Lecture No 18 Analysis and Design of Combinational Circuit.pptx
Ad

More from Er. Nawaraj Bhandari (20)

PPTX
Data mining approaches and methods
PPTX
Research trends in data warehousing and data mining
PPTX
Mining Association Rules in Large Database
PPTX
Introduction to data mining and data warehousing
PPTX
Data warehouse testing
PPTX
Data warehouse physical design
PPTX
Data warehouse logical design
PPTX
Classification and prediction in data mining
PPTX
Chapter 3: Simplification of Boolean Function
PPTX
Chapter 6: Sequential Logic
PPTX
Chapter 5: Cominational Logic with MSI and LSI
PPTX
Chapter 2: Boolean Algebra and Logic Gates
PPTX
Chapter 1: Binary System
PPTX
Introduction to Electronic Commerce
PPT
Evaluating software development
PPT
Using macros in microsoft excel part 2
PPT
Using macros in microsoft excel part 1
PPTX
Using macros in microsoft access
PPTX
Testing software development
PPTX
Application software and business processes
Data mining approaches and methods
Research trends in data warehousing and data mining
Mining Association Rules in Large Database
Introduction to data mining and data warehousing
Data warehouse testing
Data warehouse physical design
Data warehouse logical design
Classification and prediction in data mining
Chapter 3: Simplification of Boolean Function
Chapter 6: Sequential Logic
Chapter 5: Cominational Logic with MSI and LSI
Chapter 2: Boolean Algebra and Logic Gates
Chapter 1: Binary System
Introduction to Electronic Commerce
Evaluating software development
Using macros in microsoft excel part 2
Using macros in microsoft excel part 1
Using macros in microsoft access
Testing software development
Application software and business processes

Recently uploaded (20)

PPTX
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
PDF
Structs to JSON How Go Powers REST APIs.pdf
DOCX
573137875-Attendance-Management-System-original
PPTX
web development for engineering and engineering
PPTX
Lesson 3_Tessellation.pptx finite Mathematics
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PDF
Model Code of Practice - Construction Work - 21102022 .pdf
PDF
Digital Logic Computer Design lecture notes
PPTX
Strings in CPP - Strings in C++ are sequences of characters used to store and...
PPTX
Construction Project Organization Group 2.pptx
PPTX
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
PPTX
Internet of Things (IOT) - A guide to understanding
PPTX
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
PPTX
UNIT-1 - COAL BASED THERMAL POWER PLANTS
PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
CYBER-CRIMES AND SECURITY A guide to understanding
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
Structs to JSON How Go Powers REST APIs.pdf
573137875-Attendance-Management-System-original
web development for engineering and engineering
Lesson 3_Tessellation.pptx finite Mathematics
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
Model Code of Practice - Construction Work - 21102022 .pdf
Digital Logic Computer Design lecture notes
Strings in CPP - Strings in C++ are sequences of characters used to store and...
Construction Project Organization Group 2.pptx
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
Internet of Things (IOT) - A guide to understanding
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
UNIT-1 - COAL BASED THERMAL POWER PLANTS
Embodied AI: Ushering in the Next Era of Intelligent Systems
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx

Chapter 4: Combinational Logic

  • 1. Er. Nawaraj Bhandari Digital Logic Chapter 4: COMBINATIONAL LOGIC
  • 2. INTRODUCATION  combinational logic is a type of digital logic which is implemented by Boolean circuits, where the output is a pure function of the present input only.  This is in contrast to sequential logic, in which the output depends not only on the present input but also on the history of the input.  In other words, sequential logic has memory while combinational logic does not.  The outputs of Combinational Logic Circuits are only determined by the logical function of their current input state, logic “0” or logic “1”, at any given instant in time.  The result is that combinational logic circuits have no feedback, and any changes to the signals being applied to their inputs will immediately have an effect at the output
  • 3.  Design procedure  The design of combinational circuits starts from the verbal outline of the problem and ends in a logic circuit diagram or a set of Boolean functions from which the logic diagram can be easily obtained. The procedure involves the following steps:  1. Specification Write a specification for the circuit if one is not already available  2. Formulation  Derive a truth table or initial Boolean equations that define the required relationships between the inputs and outputs, if not in the specification.  Apply hierarchical design if appropriate  3. Optimization  Apply 2-level and multiple-level optimization  Draw a logic diagram for the resulting circuit using ANDs, ORs, and inverters  4. Technology Mapping  Map the logic diagram to the implementation technology selected
  • 4. Adder  Digital computers perform a variety of information-processing tasks. Among the basic functions encountered are the various arithmetic operations.  The most basic arithmetic operation, no doubt, is the addition of two binary digits.  Half-Adder  A combinational circuit that performs the addition of two bits is called a half-adder.  Circuit needs two inputs and two outputs. The input variables designate the augend (x) and addend (y) bits; the output variables produce the sum (S) and carry (C).  In half adder we do not add carry from previous one.  It is the basic building block for addition of two single bit numbers.
  • 6.  A full-adder is a combinational circuit that forms the arithmetic sum of three input bits.  It consists of three inputs and two outputs. Two of the input variables, denoted by x and y, represent the two significant bits to be added. The third input, z, represents the carry from the previous lower significant position. Full-Adder
  • 7. 1 1 1 1 K-MAP For S=A’B’C+A’BC’+AB’C’+ABC 1 1 1 1 K-MAP For C0=AB+AC+BC
  • 8. IMPLIMENTATION OF FULL ADDER WITH TWO HALF ADDER  We can achieve a full adder using two half adder.  We have to take two half adder in one sequence and lets assume S1,c1 is the sum and carry of first adder and S2,c2 is the sum and carry of second adder.  So for the second adder S1 is the input and and also Cin is the work as input for second
  • 9. Substractor  The subtraction of two binary numbers may be accomplished by taking the complement of the subtrahend and adding it to the minuend.  By this method, the subtraction operation becomes an addition operation requiring full-adders for its machine implementation.  It is possible to implement subtraction with logic circuits in a direct manner, as done with paper and pencil.  By this method, each subtrahend bit of the number is subtracted from its corresponding significant minuend bit to form a difference bit.  If the minuend bit is smaller than the subtrahend bit, a 1 is borrowed from the next significant position
  • 10. Half-Subtractor  A half-subtractor is a combinational circuit that subtracts two bits and produces their difference bit.  Denoting minuend bit by x and the subtrahend bit by y.  To perform x - y, we have to check the relative magnitudes of x and y:  If x≥ y, we have three possibilities: 0 - 0 = 0, 1 - 0 = 1, and 1 - 1 = 0.  If x < y, we have 0 - 1, and it is necessary to borrow a 1 from the next higher stage.  The half-subtractor needs two outputs, difference (D) and borrow (B).
  • 11.  D = A‘B + AB‘ B0= A‘B Half sub diff ‘D’ barrow‘B0’ D B00 0 1 1 1 0 0 0 D B0
  • 12. FULL SUBTRACTOR  Full-Subtractor  A full-subtractor is a combinational circuit that performs a subtraction between two bits, taking into account that a 1 may have been borrowed by a lower significant stage.  This circuit has three inputs and two outputs. The three inputs, x, y, and z, denote the minuend, subtrahend, and previous borrow, respectively.  The two outputs, D and B, represent the difference and output-borrow, respectively. D = x'y'z + x'yz' + xy'z' + xyz B = x'y + x'z + yz
  • 13. Code Conversion  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, code converter has input lines supplying the bit combination of elements as specified by code A and the output lines of the converter generating the corresponding bit combination of code B.  A Code converter (combinational circuit) performs this transformation by means of logic gates.  The design procedure of code converters will be illustrated by means of a specific example of conversion from the BCD to the excess-3 code.
  • 14. BCD to Excess-3 code converter  Transforms BCD code for the decimal digits to Excess-3 code for the decimal digits  BCD code words for digits 0 through 9: 4-bit patterns 0000 to 1001, respectively.  Excess-3 code words for digits 0 through 9: 4-bit patterns consisting of 3 (binary 0011) added to each BCD code word  Implementation: multiple-level circuit  Conversion of 4-bit codes can be most easily formulated by a truth table  Variables- BCD: A, B, C, D  Variables- Excess-3: W, X, Y, Z  Don’t Cares: BCD 1010 to 1111
  • 16.  Analysis Procedure  The design of a combinational circuit starts from the verbal specifications of a required function and ends with a set of output Boolean functions or a logic diagram. The analysis of a combinational circuit is somewhat the reverse process. It starts with a given logic diagram and culminates with a set of Boolean functions, a truth table, or a verbal explanation of the circuit operation.  Steps in analysis:  1. The first step in the analysis is to make sure that the given circuit is combinational and not sequential.  2. Assign symbols to all gate outputs that are a function of the input variables. Obtain the Boolean functions for each gate.  3. Label with other arbitrary symbols those gates that are a function of input variables and/or previously labeled gates. Find the Boolean functions for these gates.  4. Repeat step 3 until the outputs of the circuit are obtained.  5. By repeated substitution of previously defined functions, obtain the output Boolean functions in terms of input variables only.
  • 17. F2 = AB + AC + BC T1=A+B+C T2 = ABC Next we consider outputs of gates that are a function of already defined symbols: T3 = F2’T1 F1 = T3 + T2 Analysis of the combinational circuit below illustrates the proposed procedure:
  • 18. To obtain F1 as a function of A, B, and C, forms a series of substitutions as follows: If you want to determine the information-transformation task achieved by this circuit, you can derive the truth table directly from the Boolean functions and try to recognize a familiar operation. For this example, we note that the circuit is a full- adder, with F, being the sum output and F, the carry output. A, B, and C are the three inputs added arithmetically.
  • 19. Concept of multi-level NAND and NOR circuits  To implement a Boolean function with NAND gates we need to obtain the simplified Boolean function in terms of Boolean operators and then convert the function to NAND logic.  The conversion of an algebraic expression from AND, OR, and complement to NAND can be done by simple circuit-manipulation techniques that change AND-OR diagrams to NAND diagrams.  To obtain a multilevel NAND diagram from a Boolean expression, proceed as follows:  1. From the given Boolean expression, draw the logic diagram with AND, OR, and inverter gates. Assume that both the normal and complement inputs are available.  2. Convert all AND gates to NAND gates with AND-invert graphic symbols.
  • 20.  Example: F = A + (B' + C) (D' + BE ')
  • 21.  Multi-level NOR circuits  The NOR function is the dual of the NAND function.  For this reason, all procedures and rules for NOR logic form a dual of the corresponding procedures and rules developed for NAND logic.  Similar to NAND, NOR has also two graphic symbols: OR-invert and invert-AND symbol.  The procedure for implementing a Boolean function with NOR gates is similar to the procedure outlined in the previous section for NAND gates:  1. Draw the AND-OR logic diagram from the given algebraic expression. Assume that both the normal and complement inputs are available.  2. Convert all OR gates to NOR gates with OR-invert graphic symbols.  3. Convert all AND gates to NOR gates with invert-AND graphic symbols.  4. Any small circle that is not compensated by another small circle along the same line needs an inverter or the complementation of the input variable. Example: F = (AB + E) (C + D)