0% found this document useful (0 votes)
5 views37 pages

Lecture 2

Uploaded by

kpkf7vb79k
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
0% found this document useful (0 votes)
5 views37 pages

Lecture 2

Uploaded by

kpkf7vb79k
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 37

ELCT201: DIGITAL LOGIC DESIGN

Prof. Dr. Eng. Tallal El-Shabrawy,


tallal.el-shabrawy@guc.edu.eg

Dr. Eng. Wassim Alexan,


Lecture 2
wassim.joseph@guc.edu.eg

Following the slides of Dr. Ahmed H. Madian


COURSE OUTLINE
1. Introduction
2. Gate-Level Minimization
3. Combinational Logic
4. Synchronous Sequential Logic
5. Registers and Counters
6. Memories and Programmable Logic
BASIC LOGIC GATES
• We have defined three basic logic gates and operators

• We could build any digital circuit from those basic logic


gates

• In digital logic, we are not using normal mathematics,


we are using Boolean algebra

3
DERIVED GATES
NAND NOR XOR XNOR
AND-Invert OR-Invert Odd Even

X Y Z X Y Z X Y Z X Y Z
0 0 1 0 0 1 0 0 0 0 0 1
0 1 1 0 1 0 0 1 1 0 1 0
1 0 1 1 0 0 1 0 1 1 0 0
1 1 0 1 1 0 1 1 0 1 1 1

4
PRACTICAL EXAMPLES OF AND & OR GATES
A seat belt alarm system An intrusion detection system

Floyd 11th edition

5
PRACTICAL ICS FOR LOGIC GATES

74 Series Logic Gate Functions

6
PRACTICAL ICS FOR LOGIC GATES

74 Series Logic Gate Functions

7
MEASUREMENT DEVICES
How to practically monitor the output of a gate?

Oscilloscope

8
MEASUREMENT DEVICES

Logic State Analyzer


Probe
Floyd 11th edition

9
MEASUREMENT DEVICES

A hand-held Logic State


Analyzer

10
EXPRESSIONS AND LOGIC CIRCUITS

• Now that we are familiar with Boolean algebra and


logic gates, how would that help us build logic circuits?
• If you want to build a logic circuit, you must have a
Boolean expression to represent it with logic gates!

11
EXPRESSIONS AND LOGIC CIRCUITS
• Any Boolean expression can be converted into a circuit by combining
basic gates in a relatively straightforward way
• The diagram below shows the inputs and outputs of each gate
• The precedencies are explicit in a circuit. Clearly, we have to make
sure that the hardware does the operations in the right order!

12
SIMPLIFICATION OF THE LOGIC
FUNCTION
F(A,B)=A’B’ + A’B + AB’
= A’ * (B’ + B) + A * B’ (Distributivity)
= A’ * (B + B’) + A * B’ (Commutativity)
= A’ * 1 + A * B’ (x + x’ = 1)
= A’ + (A * B’) (x +x’y)=(x+x’)(x+y)(Distributivity)

= (A’ + B’) (De Morgan’s)

= (A B)’ 1 GATE (NAND) ONLY

By using simplification rules, we can optimize the design, so that it is


implemented with a single gate, instead of 7
13
ALGEBRAIC FORMS OF REPRESENTING
BOOLEAN FUNCTIONS
• Sum of Products (SOP)
• Product of Sums (POS)

14
SUM OF PRODUCTS (SOP)
Switching functions formed by:
SUMMING (ORing) PRODUCT (ANDed) terms.
Example:
sum terms

F  A , B , C , D   A BC  B D  AC D
literals
(product terms)
15
SUM OF PRODUCTS (SOP)

Product terms are known as minterms


F = 001 011 101 110 111
F = A'B'C + A'BC + AB'C + ABC' + ABC

A B C F
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1 The apostrophe ’ here means invert

16
SUM OF PRODUCTS (SOP)
Product term (or minterm)
 ANDed product – input combination for which output is true
 Each variable appears exactly once, in true or inverted form (but not both)

From the pervious example:


F(A, B, C) = m(1,3,5,6,7)
A B C F minterms = m1 + m3 + m5 + m6 + m7
0 0 0 0 A'B'C‘ m0 = A'B'C + A'BC + AB'C + ABC' + ABC
0 0 1 1 A'B'C m1 This form is called the canonical form
0 1 0 0 A'BC' m2
0 1 1 1 A'BC m3 F(A, B, C) = A'B'C + A'BC + AB'C + ABC + ABC'
1 0 0 0 AB'C' m4 = (A'B' + A'B + AB' + AB)C + ABC'
1 0 1 1 AB'C m5 = ((A' + A)(B' + B))C + ABC'
1 1 0 1 ABC' m6 = C + ABC'
1 1 1 1 ABC m7 = ABC' + C
= AB + C
Short-hand notation for This form is called the minimal form
minterms of 3 variables 17
HOW TO BUILD A CIRCUIT FROM THE SOP FUNCTION?
F = A'B'C + A'BC + AB'C + ABC' + ABC

Answer:

SOP  AND/OR
Two-level Implementation

18
PRODUCT OF SUMS (POS)
Switching functions formed by taking the:
PRODUCT (ANDing) of SUM (ORed) terms.
Example: Literals
(Sum terms)


F  A , B , C , D   A  B C  B  D  A  C  D 
Products
19
PRODUCT OF SUMS (POS)
Sum terms are known as Maxterms
F= 000 010 100
F = (A + B + C) (A + B' + C) (A' + B + C)

A B C F
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1

20
PRODUCT-OF-SUMS (CONT’D)
Sum term (or maxterm)
 ORed sum of literals – input combination for which output is false
 Each variable appears exactly once in a sum term, in true or inverted form (but
not both)

F(A, B, C) = M(0,2,4)
A B C F Maxterms = M0 • M2 • M4
0 0 0 0 A+B+C M0 = (A + B + C) (A + B' + C) (A' + B + C)
0 0 1 1 A+B+C’ M1
0 1 0 0 A+B’+C M2 This form is called the canonical form
0 1 1 1 A+B'+C’ M3
1 0 0 0 A'+B+C M4
1 0 1 1 A'+B+C’ M5 F(A, B, C) = (A + B + C) (A + B' + C) (A' + B + C)
1 1 0 1 A'+B’+C M6 = (A + C) (B + C)
1 1 1 1 A'+B'+C’ M7 This form is called the minimal form

short-hand notation for


Maxterms of 3 variables
21
HOW TO BUILD A CIRCUIT FROM THE POS FUNCTION?
F(A, B, C) = (A + B + C) (A + B' + C) (A' + B + C)

Answer:

POS OR/AND
Two-level Implementation

22
SOP AND POS REPRESENT THE SAME FUNCTION
A B C F
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1

F=m(1,3,5,6,7) F=M(0,2,4)

23
POS VERSUS SOP

• Any expression can be written either way!


• We can convert from one form to the other using theorems

• Sometimes, SOP looks simpler


AB + CD = ( A + C )( B + C )( A + D )( B + D )
• Other times, POS looks simpler
(A + B)(C + D) = BD + AD + BC + AC
• However, SOP is most commonly used

24
MINIMIZATION OF LOGIC FUNCTIONS
We have chips with millions of gates
 Why care about minimizing a function?
 What do a few gates matter?
Basic logic functions are replicated thousands of times
 Saving one gate for a memory cell pays off
What is the criterion for minimization?
 Should we minimize the…
 Number of product terms?
 Number of logic operations?
 Number of variables (literals)?
 Number/length of wires?
 …?
For implementation: minimize the number of gates!
25
HOW TO MINIMIZE THE GATE COUNT?
Example: F=A’BC’+AB’C’+AB’C+ABC’= Σm(2,4,5,6)
How many gates do we need for implementation?
 If AND gates have 3 inputs and OR gates have 4 inputs?
 If all gates are binary (2 inputs)?

Are there any tricks we can use?


 Combine minterms:
 A’BC’+ABC’=BC’
 AB’C’+AB’C=AB’
F = BC’+AB’

 How many gates does F need now?


This mainly depends on your experience but we need a systematic
approach to minimize Boolean expressions

Answer: Karnaugh maps (K-maps) 26


KARNAUGH MAPS
• Karnaugh maps (K-maps) are graphical representations of Boolean
functions
• One map cell corresponds to a row in the truth table
• Also, one map cell corresponds to a minterm or a maxterm in the
Boolean expression
• Multiple-cell areas of the map correspond to standard terms

x y minterm
0 0 m0
0 1 m1
1 0 m2
1 1 m3

27
2-VARIABLE K-MAP
y x
x 0 1 y 0 1
0 1 0 2
0 m0 m1 OR 0 m0 m2
2 3 1 3
1 m2 m3 1 m1 m3

• The ordering of variables is important for 𝑓(𝑥, 𝑦), 𝑥 is the


row, 𝑦 is the column
• For the K map on the left, cell 0 represents 𝑥 ′ 𝑦′; cell 1
represents 𝑥 ′ 𝑦, etc…
• If a minterm is present in the function, then a 1 is placed
in the corresponding cell
28
BOOLEAN FUNCTIONS IN A K-MAP
The1s and 0s represent a function in a K-map
 A 1 represents the On-set (F=1), while a 0 represents the Off-set (F=0)
 Similar to the truth table
 0s are typically not shown

x y f x y f
0 0 0 0 0 0
0 1 0 0 1 1
1 0 0 1 0 1
1 1 1 1 1 1

29
2-VARIABLE K-MAP
Any two adjacent cells in the map differ by ONLY one variable,
which appears complemented in one cell and uncomplemented in
the other
Example

𝑚0 (= 𝑥 ′ 𝑦 ′ ) is adjacent to 𝑚1 (= 𝑥 ′ 𝑦),
this means that
𝑥 ′ 𝑦 ′ + 𝑥 ′ 𝑦 = 𝑥 ′ 𝑦 ′ + 𝑦 = 𝑥′
Also 𝑚0 (= 𝑥 ′ 𝑦 ′ ) is adjacent to 𝑚2 (= 𝑥𝑦 ′ )
𝑥 ′ 𝑦 ′ + 𝑥𝑦′ = 𝑦 ′ 𝑥 ′ + 𝑥 = 𝑦′
but 𝑚0 (= 𝑥 ′ 𝑦 ′ ) is NOT adjacent 𝑚3 (= 𝑥𝑦)! 30
2-VARIABLE K-MAP: AN EXAMPLE
𝐹 𝑥1 , 𝑥2 = 𝑥1 ′𝑥2 ′+ 𝑥1 ′ 𝑥2 + 𝑥1 𝑥2′
= 𝑚0 + 𝑚1 + 𝑚2
= 𝑥1′ + 𝑥2 ′
The 1s are placed in the K-map for specified
minterms: 𝑚0 , 𝑚1 and 𝑚2
Grouping (ORing) of 1s allows for
simplification
What (simpler) function is represented by
each dashed rectangle?
𝑥1′ = 𝑚0 + 𝑚1
𝑥2′ = 𝑚0 + 𝑚2

Note that m0 is covered twice!


31
3-VARIABLE MAP
• Note the order of the
minterms

• Gray code is used, so that


the difference between any
adjacent cells is still ONLY
one literal

32
3-VARIABLE MAP: EXAMPLE I
Simplify the Boolean expression: F 𝑥, 𝑦, 𝑧 = Σ(2,3,4,5)

F 𝑥, 𝑦, 𝑧 = 𝑥𝑦 ′ + 𝑥 ′ 𝑦

33
3-VARIABLE MAP: EXAMPLE II
Simplify the Boolean expression: F 𝑥, 𝑦, 𝑧 = Σ(3,4,6,7)

F 𝑥, 𝑦, 𝑧 = 𝑦𝑧 + 𝑥𝑧′

34
3-VARIABLE MAP: EXAMPLE III
Simplify the Boolean expression: F 𝑥, 𝑦, 𝑧 = Σ(0,2,4,5,6)

F 𝑥, 𝑦, 𝑧 = 𝑧 ′ + 𝑥𝑦′

35
3-VARIABLE MAP: EXAMPLE IV
Let the Boolean function 𝐹(𝐴, 𝐵, 𝐶) = 𝐴′ 𝐶 + 𝐴′ 𝐵 + 𝐴𝐵′ 𝐶 + 𝐵𝐶
(a) Express this function as a sum of minterms
(b) Find the minimal SOP expression

𝐹 𝐴, 𝐵, 𝐶 = 𝛴(1,2,3,5,7) 𝐹 𝐴, 𝐵, 𝐶 = 𝐶 + 𝐴′ 𝐵
36
NOTES ON A 3-VARIABLE MAP
• The number of adjacent cells that may be combined must always
represent a number that is a power of two, such as 1, 2, 4 and 8
• As more adjacent cells are combined, we obtain a product term
with fewer literals
• One cell represents one minterm, giving a term with 3 literals
• Two adjacent cells represent a term with 2 literals
• Four adjacent cells represent a term with 1 literal
• Eight adjacent cells encompass the entire map and produce a
function that is always equal to logic 1

37

You might also like