computer systems 1 fundamentals of computing simplifying boolean expressions
Post on 18-Jan-2016
237 Views
Preview:
TRANSCRIPT
Computer Systems 1Fundamentals of Computing
Simplifying Boolean Expressions
Computer Systems 1 (2004-2005)
CS1 - Week 20
Useful logic circuits Simplifying Boolean Expressions Expression laws Karnaugh maps Using simplified expressions to create circuits
Computer Systems 1 (2004-2005)
Useful Logic Circuit Half adder circuit
Used for simple binary addition Two input values
X Y
Two outputs Sum (z) Carry (c)
X Y S C0 0 0 00 1 1 01 0 1 01 1 0 1
Computer Systems 1 (2004-2005)
Simplifying Boolean Expressions
George Boole “Boolean Algebra”
Boolean expressions can be derived to explain logic circuits Aided by truth tables
Complex expressions (and thus circuits) can often be simplified By using more complex gates
NAND, NOR, XOR, etc. Expressions can also be reduced using Boolean algebraic
laws Attempt to simplify expressions There are loads! We’ll look at the most useful
Computer Systems 1 (2004-2005)
Logic Rules Commutative laws:
X+Y = Y+X X•Y = Y•X
Associative laws: X+(Y+Z) = (X+Y)+Z X •(Y•Z) = (X•Y)•Z
Distributive laws: X•(Y+Z) = X•Y + X•Z X+Y•Z = (X+Y)•(X+Z)
De Morgans laws: (X+Y) = X •Y (X•Y) = X+Y
Computer Systems 1 (2004-2005)
Logic Rules Laws of absorption:
X+X•Y = X X•(X+Y) = X
Laws of tautology: X+X = X X•X = X
Law of complementation: X = X
Other identities: X+X = 1 X•X = 0 X+1 = 1 X•1 = X X+0 = X X•0 = 0
Computer Systems 1 (2004-2005)
Logic Rules Example simplification using rules:
A.B.C + A.B.C = A.B.(C + C) (Distributive laws)
= A.B.1 (useful identities)
= A.B (useful identities)
Computer Systems 1 (2004-2005)
Karnaugh Maps
Invented by Maurice Karnaugh Logic expressions quickly become complex to
read and understand Simplification is not easy
We have to remember all of the laws we can apply to an expression
Karnaugh maps provide easy mechanism to simplify expressions Uses a graphical method Does NOT cover all laws
Karnaugh map is derived from a truth table and / or expression
Computer Systems 1 (2004-2005)
Karnaugh Maps
Simple example... One square in the table for each row in the
truth table Uses a co-ordinate system E.g.- Expression X•Y + X•Y + X•Y
Truth Table-> Map->X Y OUT0 0 00 1 11 0 11 1 1
Y~ YX~ 0 1X 1 1
Computer Systems 1 (2004-2005)
Karnaugh Maps
Once map is drawn we try to simplify the expression Find all adjacent pairs of 1’s (horizontally and vertically) Draw loops round each pair Try to include every 1 on the map in a loop
A 1 can belong to more than one loop Use as few loops as possible Loops must group 1’s to the power
of 2 2, 4, 8, etc.
Y~ YX~ 0 1X 1 1
Computer Systems 1 (2004-2005)
Karnaugh Maps Continuing simplification...
Take each loop in turn as an individual expression Red loop
Spans X and X but only Y Therefore we can set it as simply Y
X•Y+X•Y = (X+X)•Y (Distributive Law) = Y (useful identities laws)
Green loop Spans Y and Y but only X Therefore we can set it simply as X X•Y+X•Y = X•(Y+Y) (Distributive Law) =X (useful identities laws)
Finally we OR our loop expressions together = X+Y (X OR Y)
Y~ YX~ 0 1X 1 1
Computer Systems 1 (2004-2005)
Karnaugh Maps
Three variable example… Map variables can be drawn in one of two
ways
ORY Y Y~ Y~
X~X
Z Z~ Z~ Z
Y~•Z~ Y~•Z Y•Z Y•Z~X~X
Computer Systems 1 (2004-2005)
Karnaugh Maps Three variable example...
X•Y•Z + X•Y•Z + X•Y•Z Green Loop
X and Z are constant Y changes = X.Z
Red Loop X and Y and constant Z changes = X.Y
Expression = X.Y + X.Z = X.(Y+Z)
Y~•Z~ Y~•Z Y•Z Y•Z~X~ 0 0 0 0X 0 1 1 1
Computer Systems 1 (2004-2005)
Karnaugh Maps Three variable example…(alt. method)
X•Y•Z + X•Y•Z + X•Y•Z Green loop
X and Y are constant Z changes = X.Y
Red Loop X and Z are constant Y changes = X.Z
Expression = X.Y + X.Z = X.(Y+Z)
Y Y Y~ Y~X~ 0 0 0 0X 1 1 0 1
Z Z~ Z~ Z
Computer Systems 1 (2004-2005)
Karnaugh Maps Three variable example with grouping
Clusters of 1’s can be grouped Groups of four 1’s
E.g.- X.Y.Z+X.Y.Z+X.Y.Z+X.Y.Z Z remains constant X changes Y changes Expression
= Z
Y~•Z~ Y~•Z Y•Z Y•Z~X~ 0 1 1 0X 0 1 1 0
Y Y Y~ Y~X~ 1 0 0 1X 1 0 0 1
Z Z~ Z~ Z
Computer Systems 1 (2004-2005)
Karnaugh Maps Four variable example
Essentially same principals as before Sixteen ‘boxes’ on grid Looking for groupings of 2, 4, and 8 Look for values that remain constant
E.g.- X, Y, and Z change W is constant = W
Y~•Z~ Y~•Z Y•Z Y•Z~W~•X~ 0 0 0 0
W~•X 0 0 0 0W•X 1 1 1 1
W•X~ 1 1 1 1
Computer Systems 1 (2004-2005)
Practice Exercise
1. Write down a Boolean expression for this circuit (3 marks)
2. Using the circuit diagram and your expression from (1) draw a truthtable for the logic circuit (4 marks)
3. Using the truth table from (2) draw a Karnaugh map for this system (4 marks)
4. Use the Karnaugh map from (3) to derive a simpler expression for this system (2 marks)
5. Draw this simplified circuit, using the expression in (4) (2 marks)
TOTAL=15 marks
Computer Systems 1 (2004-2005)
Practice Exercise - Answers
1.
2.A B C A (inv) B (inv) A(inv)∙B B(inv) + C (A(inv)∙B) ∙ (B(inv) + C) (all inv)
0 0 0 1 1 0 1 10 0 1 1 1 0 1 10 1 0 1 0 1 0 10 1 1 1 0 1 1 01 0 0 0 1 0 1 11 0 1 0 1 0 1 11 1 0 0 0 0 0 11 1 1 0 0 0 1 1
Computer Systems 1 (2004-2005)
Practice Exercise - Answers
3.
Computer Systems 1 (2004-2005)
Practice Exercise - Answers
4. 5. A
B
C
Computer Systems 1 (2004-2005)
Week 18- that was easy!
Useful logic circuits Simplifying Boolean Expressions
Reducing complexity Expression laws Karnaugh maps
Two variable Three variable Four variable
Using simplified expressions to create circuits
top related