Upload
rampravesh-kumar
View
218
Download
0
Embed Size (px)
Citation preview
8/11/2019 03-BooleanAlgebra (3)
1/47
Boolean Algebra and Logic Gates 1
Binary Logic and Gates
Binary variables take on one of two values. Logical operators operate on binary values andbinary variables.
Basic logical operators are the logic functionsAND, OR and NOT.Logic gates implement logic functions. Boolean Algebra: a useful mathematical systemfor specifying and transforming logic functions. We study Boolean algebra as a foundation fordesigning and analyzing digital systems!
8/11/2019 03-BooleanAlgebra (3)
2/47
Boolean Algebra and Logic Gates 2
Binary Variables
Recall that the two binary values havedifferent names: True/False On/Off Yes/No 1/0
We use 1 and 0 to denote the two values. Variable identifier examples: A, B, y, z, or X 1 for now RESET, START_IT, or ADD1 later
8/11/2019 03-BooleanAlgebra (3)
3/47
Boolean Algebra and Logic Gates 3
Logical Operations
The three basic logical operations are: AND OR
NOTAND is denoted by a dot ().OR is denoted by a plus (+).
NOT is denoted by an overbar ( ), asingle quote mark (') after, or (~) beforethe variable.
8/11/2019 03-BooleanAlgebra (3)
4/47
Boolean Algebra and Logic Gates 4
Examples: is read Y is equal to A AND B. is read z is equal to x OR y.
is read X is equal to NOT A.
Notation Examples
Note: The statement:1 + 1 = 2 (read one plus one equals two)
is not the same as1 + 1 = 1 (read 1 or 1 equals 1).
= B A Y y x z =
A X =
8/11/2019 03-BooleanAlgebra (3)
5/47
Boolean Algebra and Logic Gates 5
Operator Definitions
Operations are defined on the values"0" and "1" for each operator:
AND 0 0 = 0 0 1 = 0
1 0 = 0 1 1 = 1
OR
0 + 0 = 00 + 1 = 1
1 + 0 = 11 + 1 = 1
NOT
1 0 0 1
8/11/2019 03-BooleanAlgebra (3)
6/47
Boolean Algebra and Logic Gates 6
01
10X
NOTX Z
Truth Tables
Tabular listing of the values of a function for allpossible combinations of values on its argumentsExample: Truth tables for the basic logic operations:
111001010
000Z = XYYX
AND ORX Y Z = X+Y0 0 0
0 1 11 0 11 1 1
8/11/2019 03-BooleanAlgebra (3)
7/47 Boolean Algebra and Logic Gates 7
Truth Tables Cont d
Used to evaluate any logic functionConsider F ( X , Y , Z ) = X Y + Y Z
X Y Z X Y Y Y Z F = X Y + Y Z0 0 0 0 1 0 00 0 1 0 1 1 10 1 0 0 0 0 00 1 1 0 0 0 01 0 0 0 1 0 01 0 1 0 1 1 11 1 0 1 0 0 11 1 1 1 0 0 1
8/11/2019 03-BooleanAlgebra (3)
8/47
8/11/2019 03-BooleanAlgebra (3)
9/47 Boolean Algebra and Logic Gates 9
Example: Logic Using Switches
Light is on (L = 1) forL(A, B, C, D) =
and off (L = 0), otherwise.Useful model for relay and CMOS gate circuits,the foundation of current digital logic circuits
Logic Function Implementation cont d
B
A
D
C
A (B C + D) = A B C + A D
8/11/2019 03-BooleanAlgebra (3)
10/47 Boolean Algebra and Logic Gates 10
Logic Gates
In the earliest computers, switches were openedand closed by magnetic fields produced byenergizing coils in relays . The switches in turn
opened and closed the current paths.Later, vacuum tubes that open and closecurrent paths electronically replaced relays.
Today, transistors are used as electronicswitches that open and close current paths.
8/11/2019 03-BooleanAlgebra (3)
11/47 Boolean Algebra and Logic Gates 11
Logic Gate Symbols and Behavior
Logic gates have special symbols:
And waveform behavior in time as follows :X 0 0 1 1
Y 0 1 0 1
X Y (AND) 0 0 0 1
X + Y (OR) 0 1 1 1
(NOT) X 1 1 0 0
OR gate
X Y
Z = X + Y X Y
Z = X Y
AND gate
X Z = X
NOT gate or inverter
8/11/2019 03-BooleanAlgebra (3)
12/47 Boolean Algebra and Logic Gates 12
Logic Diagrams and Expressions
Boolean equations, truth tables and logic diagrams describethe same function!Truth tables are unique, but expressions and logic diagramsare not. This gives flexibility in implementing functions.
X
Y F
Z
Logic Diagram
Logic Equation
Z Y XF
Truth Table
11 1 1
11 1 011 0 111 0 000 1 1
00 1 010 0 100 0 0
X Y Z Z Y XF
8/11/2019 03-BooleanAlgebra (3)
13/47 Boolean Algebra and Logic Gates 13
Gate Delay
In actual physical gates, if an input changes thatcauses the output to change, the output changedoes not occur instantaneously. The delay between an input change and theoutput change is the gate delay denoted by t G:
tG tGInput
Output
Time (ns)
0
0
1
1
0 0.5 1 1.5
tG = 0.3 ns
8/11/2019 03-BooleanAlgebra (3)
14/47 Boolean Algebra and Logic Gates 14
1.
3.
5.
7.
9.
11.
13.
15.
17.
CommutativeAssociative
Distributive
DeMorgan s
2.
4.
6.
8.
X . 1 X =X . 0 0=X . X X =
0=X . X
Boolean Algebra
10.
12.
14.
16.
X + Y Y + X =(X + Y ) Z + X + (Y Z )+=X (Y + Z ) XY XZ +=X + Y X . Y=
XY YX =(XY ) Z X (Y Z )=X + YZ (X + Y ) (X + Z )=X . Y X + Y=
X + 0 X =
+X 1 1=X + X X =
1=X + X X = X
Invented by George Boole in 1854An algebraic structure defined by a set B = {0, 1}, together with twobinary operators (+ and ) and a unary operator ( )
Idempotence
Complement
Involution
Identity element
8/11/2019 03-BooleanAlgebra (3)
15/47 Boolean Algebra and Logic Gates 15
Some Properties of Boolean Algebra
Boolean Algebra is defined in general by a set B that canhave more than two valuesA two-valued Boolean algebra is also know as SwitchingAlgebra. The Boolean set B is restricted to 0 and 1.
Switching circuits can be represented by this algebra.The dual of an algebraic expression is obtained byinterchanging + and and interchanging 0 s and 1 s. The identities appear in dual pairs. When there is only
one identity on a line the identity is self-dual, i. e., thedual expression = the original expression.Sometimes, the dot symbol (AND operator) is notwritten when the meaning is clear
8/11/2019 03-BooleanAlgebra (3)
16/47 Boolean Algebra and Logic Gates 16
Example: F = (A + C) B + 0dual F = (A C + B) 1 = A C + B
Example: G = X Y + (W + Z)
dual G =Example: H = A B + A C + B Cdual H =
Unless it happens to be self-dual, the dual of anexpression does not equal the expression itselfAre any of these functions self-dual?(A+B)(A+C)(B+C)=(A+BC)(B+C)=AB+AC+BC
Dual of a Boolean Expression
(X+Y) (W Z) = (X+Y) (W+Z)
(A+B) (A+C) (B+C)
H is self-dual
8/11/2019 03-BooleanAlgebra (3)
17/47
Boolean Algebra and Logic Gates 17
Boolean Operator Precedence
The order of evaluation is: 1. Parentheses2. NOT3. AND4. OR
Consequence: Parentheses appeararound OR expressions Example: F = A(B + C)(C + D)
8/11/2019 03-BooleanAlgebra (3)
18/47
Boolean Algebra and Logic Gates 18
Boolean Algebraic Proof Example 1
A + A B = A (Absorption Theorem)Proof Steps JustificationA + A B
= A 1 + A B Identity element: A 1 = A
= A ( 1 + B) Distributive= A 1 1 + B = 1= A Identity element
Our primary reason for doing proofs is to learn: Careful and efficient use of the identities and theorems ofBoolean algebra, and
How to choose the appropriate identity or theorem to applyto make forward progress, irrespective of the application.
8/11/2019 03-BooleanAlgebra (3)
19/47
Boolean Algebra and Logic Gates 19
AB + AC + BC = AB + AC (Consensus Theorem)Proof Steps Justification= AB + AC + BC= AB + AC + 1 BC Identity element= AB + AC + (A + A) BC Complement= AB + AC + ABC + ABC Distributive= AB + ABC + AC + ACB Commutative
= AB 1 + ABC + AC 1 + ACB Identity element= AB (1+C) + AC (1 + B) Distributive= AB . 1 + AC . 1 1+X = 1= AB + AC Identity element
Boolean Algebraic Proof Example 2
8/11/2019 03-BooleanAlgebra (3)
20/47
8/11/2019 03-BooleanAlgebra (3)
21/47
Boolean Algebra and Logic Gates 21
Truth Table to Verify DeMorgan s
X Y XY X+Y X Y X+Y X Y XY X+Y
0 0 0 0 1 1 1 1 1 10 1 0 1 1 0 0 0 1 11 0 0 1 0 1 0 0 1 11 1 1 1 0 0 0 0 0 0
X + Y = X Y X Y = X + Y
Generalized DeMorgan s Theorem: X1 + X 2 + + X n = X 1 X 2 X n
X1 X 2 X n = X 1 + X 2 + + X n
8/11/2019 03-BooleanAlgebra (3)
22/47
Boolean Algebra and Logic Gates 22
Complementing Functions
Use DeMorgan's Theorem:1. Interchange AND and OR operators2. Complement each constant and literal
Example: Complement F =
F = (x + y + z)(x + y + z)Example: Complement G = (a + bc)d + e
G = (a (b + c) + d) e
x z y z y x
8/11/2019 03-BooleanAlgebra (3)
23/47
8/11/2019 03-BooleanAlgebra (3)
24/47
Next Canonical Forms
Minterms and MaxtermsSum-of-Minterm (SOM) Canonical Form
Product-of-Maxterm (POM) Canonical Form
Representation of Complements of Functions
Conversions between Representations
8/11/2019 03-BooleanAlgebra (3)
25/47
Boolean Algebra and Logic Gates 25
Minterms
Minterms are AND terms with every variablepresent in either true or complemented form.Given that each binary variable may appearnormal (e.g., x) or complemented (e.g., ), there
are 2n
minterms for n variables. Example: Two variables (X and Y) produce2 x 2 = 4 combinations:
(both normal)
(X normal, Y complemented) (X complemented, Y normal) (both complemented)
Thus there are four minterms of two variables.
Y X XY
Y X Y X
x
8/11/2019 03-BooleanAlgebra (3)
26/47
Maxterms
Max terms are OR terms with every variable intrue or complemented form.Given that each binary variable may appearnormal (e.g., x) or complemented (e.g., x), there
are 2 n max terms for n variables. Example: Two variables (X and Y) produce2 x 2 = 4 combinations:
(both normal) (x normal, y complemented) (x complemented, y normal) (both complemented)
Y X Y X Y X Y X
8/11/2019 03-BooleanAlgebra (3)
27/47
Two variable minterms and maxterms.
The minterm m i should evaluate to 1 for eachcombination of x and y.
The maxterm is the complement of the minterm
Minterms & Maxterms for 2 variables
x y Index Minterm Maxterm0 0 0 m0 = x y M0 = x + y
0 1 1 m1 = x y M1 = x + y 1 0 2 m2 = x y M2 = x + y 1 1 3 m3 = x y M3 = x + y
8/11/2019 03-BooleanAlgebra (3)
28/47
Minterms & Maxterms for 3 variables
M3 = x + y + zm3 = x y z3110M4 = x + y + zm4 = x y z4001M5 = x + y + zm5 = x y z5101
M6 = x + y + zm6 = x y z6011 1
100y
1
000x
1
010z
M7 = x + y + z m7 = x y z7
M2 = x + y + z m2 = x y z2M1 = x + y + z m1 = x y z1M0 = x + y + zm0 = x y z0
MaxtermMintermIndex
Maxterm M i is the complement of minterm mi
M i = mi and mi = M i
8/11/2019 03-BooleanAlgebra (3)
29/47
Boolean Algebra and Logic Gates 29
Purpose of the Index
Minterms and Maxterms are designated with an indexThe index number corresponds to a binary patternThe index for the minterm or maxterm, expressed as abinary number, is used to determine whether the variable
is shown in the true or complemented formFor Minterms: 1 means the variable is Not Complemented and
0 means the variable is Complemented.
For Maxterms: 0 means the variable is Not Complemented and
1 means the variable is Complemented.
8/11/2019 03-BooleanAlgebra (3)
30/47
Boolean Algebra and Logic Gates 30
Standard Order
All variables should be present in a minterm ormaxterm and should be listed in the same order(usually alphabetically)
Example: For variables a, b, c: Maxterms (a + b + c), (a + b + c) are in standard order
However, (b + a + c) is NOT in standard order
(a + c) does NOT contain all variables
Minterms (a b c) and (a b c) are in standard order
However, (b a c) is not in standard order
(a c) does not contain all variables
8/11/2019 03-BooleanAlgebra (3)
31/47
Sum-Of-Minterm (SOM)
Sum-Of-Minterm (SOM) canonical form:Sum of minterms of entries that evaluate to 1
x y z F Minterm0 0 0 0
0 0 1 1 m1 = x y z0 1 0 00 1 1 01 0 0 0
1 0 1 01 1 0 1 m6 = x y z1 1 1 1 m7 = x y z
F = m 1 + m 6 + m 7 = (1, 6, 7) = x y z + x y z + x y z
Focus on the1 entries
8/11/2019 03-BooleanAlgebra (3)
32/47
+ a b c d
Sum-Of-Minterm Examples
F (a , b , c , d ) = (2, 3, 6, 10, 11)
F (a , b , c , d ) = m2 + m3 + m6 + m10 + m11
G (a , b , c , d ) = (0, 1, 12, 15)
G (a , b , c , d ) = m0 + m1 + m12 + m15
+ a b c da b c d + a b c d+ a b c d + a b c d
+ a b c da b c d + a b c d
8/11/2019 03-BooleanAlgebra (3)
33/47
Product-Of-Maxterm (POM)Product-Of-Maxterm (POM) canonical form:Product of maxterms of entries that evaluate to 0
x y z F Maxterm0 0 0 1
0 0 1 10 1 0 0 M2 = ( x + y + z )0 1 1 11 0 0 0 M4 = ( x + y + z )
1 0 1 11 1 0 0 M6 = ( x + y + z )1 1 1 1
Focus on the0 entries
F = M 2M 4M 6 = (2, 4, 6) = ( x+y+z ) ( x+y+z ) ( x+y+z )
8/11/2019 03-BooleanAlgebra (3)
34/47
F (a , b , c , d ) = (1, 3, 6, 11)
F (a , b , c , d ) = M1 M 3 M 6 M 11
G (a , b , c , d ) = (0, 4, 12, 15)
G (a , b , c , d ) = M0 M 4 M 12 M 15
Product-Of-Maxterm Examples
(a+b+c+d ) (a+b+c+d ) (a+b+c+d ) (a+b+c+d )
(a+b+c+d ) (a+b+c+d ) (a+b+c+d ) (a+b+c+d )
8/11/2019 03-BooleanAlgebra (3)
35/47
8/11/2019 03-BooleanAlgebra (3)
36/47
Converting to Sum-of-Min terms Form
A function that is not in the Sum-of-Minterms formcan be converted to that form by means of a truth tableConsider F = y + x z
x y z F
Minterm0 0 0 1 m0 = x y z 0 0 1 1 m1 = x y z0 1 0 1 m2 = x y z0 1 1 01 0 0 1 m4 = x y z 1 0 1 1 m5 = x y z 1 1 0 01 1 1 0
F = (0, 1, 2, 4, 5) = m0 + m 1 + m 2 + m 4 + m 5 =
x y z + x y z + x y z +
x y z + x y z
8/11/2019 03-BooleanAlgebra (3)
37/47
Converting to Product-of-Maxterms Form
A function that is not in the Product-of-Minterms formcan be converted to that form by means of a truth tableConsider again: F = y + x z
x y z F
Minterm0 0 0 10 0 1 10 1 0 10 1 1 0 M3 = ( x+ y+ z )1 0 0 11 0 1 11 1 0 0 M6 = ( x+ y+ z )1 1 1 0 M7 = ( x+ y+ z )
F = (3, 6, 7) = M3 M 6 M 7 =
( x+y+z ) ( x+y+z ) ( x+y+z )
8/11/2019 03-BooleanAlgebra (3)
38/47
8/11/2019 03-BooleanAlgebra (3)
39/47
Boolean Algebra and Logic Gates 39
Algebraic Conversion to Sum-of-Minterms
Expand all terms first to explicitly list all mintermsAND any term missing a variable v with ( v + v)Example 1: f = x + x y (2 variables)
f = x ( y + y) + x y f = x y + x y + x yf = m 3 + m 2 + m 0 = (0, 2, 3) Example 2: g = a + b c (3 variables)
g = a (b + b)(c + c) + ( a + a) b c g = a b c + a b c + a b c + a b c + a b c + a b c g = a b c + a b c + a b c + a b c + a b c g = m 1 + m 4 + m 5 + m 6 + m 7 = (1, 4, 5, 6, 7)
8/11/2019 03-BooleanAlgebra (3)
40/47
Boolean Algebra and Logic Gates 40
Algebraic Conversion to Product-of-Maxterms
Expand all terms first to explicitly list all maxtermsOR any term missing a variable v with v v Example 1: f = x + x y (2 variables)Apply 2 nd distributive law:
f = ( x + x) ( x + y) = 1 ( x + y) = ( x + y) = M 1Example 2: g = a c + b c + a b (3 variables)
g = ( a c + b c + a) (a c + b c + b) (distributive) g = ( c + b c + a) (a c + c + b) ( x + x y = x + y) g = ( c + b + a) (a + c + b) ( x + x y = x + y) g = ( a + b + c) (a + b + c) = M 5 . M 2 = (2, 5)
8/11/2019 03-BooleanAlgebra (3)
41/47
Boolean Algebra and Logic Gates 41
Function Complements
The complement of a function expressed as asum of minterms is constructed by selecting theminterms missing in the sum-of-mintermscanonical form
Alternatively, the complement of a functionexpressed by a Sum of Minterms form is simplythe Product of Maxterms with the same indices
Example: Given F(x, y, z) = (1, 3, 5, 7) F(x, y, z) = (0, 2, 4, 6) F(x, y, z) = (1, 3, 5, 7)
8/11/2019 03-BooleanAlgebra (3)
42/47
8/11/2019 03-BooleanAlgebra (3)
43/47
Boolean Algebra and Logic Gates 43
Standard Sum-of-Products (SOP) form:equations are written as an OR of AND termsStandard Product-of-Sums (POS) form:equations are written as an AND of OR termsExamples: SOP: POS:
These mixed forms are neither SOP nor POS
Standard Forms
BCBACBAC)CB(AB)(A
C)(AC)B(AB)(ACACBA
f
8/11/2019 03-BooleanAlgebra (3)
44/47
Boolean Algebra and Logic Gates 44
Standard Sum-of-Products (SOP)
A sum of minterms form for n variables canbe written down directly from a truth table. Implementation of this form is a two-level
network of gates such that: The first level consists of n -input AND gates
The second level is a single OR gate
This form often can be simplified so that thecorresponding circuit is simpler.
8/11/2019 03-BooleanAlgebra (3)
45/47
Boolean Algebra and Logic Gates 45
A Simplification Example:
Writing the minterm expression:F = A B C + A B C + A B C + ABC + ABC
Simplifying:F = A B C + A (B C + B C + B C + B C)F = A B C + A (B (C + C) + B (C + C))
F = A B C + A (B + B)F = A B C + AF = B C + ASimplified F contains 3 literals compared to 15
Standard Sum-of-Products (SOP)
) 7 , 6 , 5 , 4 , 1 ( ) C , B , A ( F S
8/11/2019 03-BooleanAlgebra (3)
46/47
Boolean Algebra and Logic Gates 46
AND/OR Two-Level Implementation
The two implementations for F are shown below
F
ABC
A
BC
ABC
A
BC
BC
F
B
C
A
It is quite
apparent whichis simpler!
8/11/2019 03-BooleanAlgebra (3)
47/47
SOP and POS Observations
The previous examples show that: Canonical Forms (Sum-of-minterms, Product-of-Maxterms),
or other standard forms (SOP, POS) differ in complexity
Boolean algebra can be used to manipulate equations intosimpler forms
Simpler equations lead to simpler implementations
Questions:
How can we attain a simplest expression?
Is there only one minimum cost circuit?
The next part will deal with these issues