0% found this document useful (0 votes)
6 views

Lecture 2

Uploaded by

kpkf7vb79k
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views

Lecture 2

Uploaded by

kpkf7vb79k
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 37

ELCT201: DIGITAL LOGIC DESIGN

Prof. Dr. Eng. Tallal El-Shabrawy,


[email protected]

Dr. Eng. Wassim Alexan,


Lecture 2
[email protected]

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