Title: Digital System Design Boolean Algebra and Logic Gate
1Digital System DesignBoolean Algebra and Logic
Gate
- Assoc. Prof. Pradondet Nilagupta
- pom_at_ku.ac.th
2Acknowledgement
- This lecture note is modified from Engin112
Digital Design by Prof. Maciej Ciesielski, Prof.
Tilman Wolf, University of Massachusetts Amherst
and original slide from publisher -
3Algebras
- What is an algebra?
- Mathematical system consisting of
- Set of elements
- Set of operators
- Axioms or postulates
- Why is it important?
- Defines rules of calculations
- Example arithmetic on natural numbers
- Set of elements N 1,2,3,4,
- Operator , ,
- Axioms associativity, distributivity, closure,
identity elements, etc. - Note operators with two inputs are called binary
- Does not mean they are restricted to binary
numbers! - Operator(s) with one input are called unary
4George Boole
- Father of Boolean algebra
- He came up with a type of linguistic algebra, the
three most basic operations of which were (and
still are) AND, OR and NOT. It was these three
functions that formed the basis of his premise,
and were the only operations necessary to perform
comparisons or basic mathematical functions. - Booles system (detailed in his 'An Investigation
of the Laws of Thought, on Which Are Founded the
Mathematical Theories of Logic and
Probabilities', 1854) was based on a binary
approach, processing only two objects - the
yes-no, true-false, on-off, zero-one approach. - Surprisingly, given his standing in the academic
community, Boole's idea was either criticized or
completely ignored by the majority of his peers. - Eventually, one bright student, Claude Shannon
(1916-2001), picked up the idea and ran with it
George Boole (1815 - 1864)
5Axioms of Algebraic Structures
- A set of elements B and two binary operators
and ? - Closure w.r.t. the operator (?)
- x, y ?B ? xy ?B
- Associative w.r.t. (?)
- (xy)z x (yz)
- (x?y) ?z x? (y?z)
- Commutative w.r.t. (?)
- xy yx
- x?y y?x
6Axioms of Algebraic Structures
- An identity element w.r.t. (?)
- 0x x0 x
- 1?x x?1 x
- ? x ? B, ? x' ? B (complement of x)
- ? xx'1 and x?x'0
- ? is distributive over x?(yz)(x?y)(x?z)
- is distributive over? x(y?z)(xy)?(xz)
- Note
- the associative law can be derived
- no additive and multiplicative inverses
- complement
7Boolean Algebra
- We need to define algebra for binary values
- Developed by George Boole in 1854
- Huntington postulates for Boolean algebra (1904)
- Closure with respect to operator and operator
- Identity element 0 for operator and 1 for
operator - Commutativity with respect to and
- xy yx, xy yx
- Distributivity of over , and over
- x(yz) (xy)(xz) and x(yz)
(xy)(xz) - Complement for every element x is x with xx1,
xx0 - There are at least two elements x,y?B such that
x?y
8Boolean Algebra
- VERY nice machinery used to manipulate (simplify)
Boolean functions - George Boole (1815-1864) An investigation of
the laws of thought - Terminology
- Literal A variable or its complement
- Product term literals connected by
- Sum term literals connected by
9Two-valued Boolean Algebra
- Two-valued Boolean is defined as
- A set of elements B 0,1
- operator operator
- inverse
- Observation?
- is OR, is AND, is NOT
10Boolean Algebra Properties
- Let X boolean variable, 0,1 constants
- X 0 X -- Zero Axiom
- X 1 X -- Unit Axiom
- X 1 1 -- Unit Property
- X 0 0 -- Zero Property
- X X X -- Idepotence
- X X X -- Idepotence
- X X 1 -- Complement
- X X 0 -- Complement
- (X) X -- Involution
11Duality
- The principle of duality is an important concept.
This says that if an expression is valid in
Boolean algebra, the dual of that expression is
also valid. - To form the dual of an expression, replace all
operators with . operators, all . operators with
operators, all ones with zeros, and all zeros
with ones. - Form the dual of the expression
- a (bc) (a b)(a c)
- Following the replacement rules
- a(b c) ab ac
- Take care not to alter the location of the
parentheses if they are present.
12Basic Theorems and Properties of Boolean Algebra
- Duality
- the binary operators are interchanged AND lt-gt
OR - the identity elements are interchanged 1 lt-gt 0
13Boolean Theorems
- Huntingtons postulates define some rules
- Need more rules to modify
- algebraic expressions
- Theorems that are derived from postulates
- What is a theorem?
- A formula or statement that is derived from
postulates (or other proven theorems) - Basic theorems of Boolean algebra
- Theorem 1 (a) x x x (b) x x x
- Looks straightforward, but needs to be proven !
Post. 1 closure Post. 2 (a) x0x, (b)
x1x Post. 3 (a) xyyx, (b) xyyx Post. 4
(a) x(yz) xyxz, (b) xyz
(xy)(xz) Post. 5 (a) xx1, (b) xx0
14Proof of xxx
- We can only useHuntington postulates
- Show that xxx.
- xx (xx)1 by 2(b)
- (xx)(xx) by 5(a)
- xxx by 4(b)
- x0 by 5(b)
- x by 2(a)
- Q.E.D.
- We can now use Theorem 1(a) in future proofs
Huntington postulates Post. 2 (a) x0x, (b)
x1x Post. 3 (a) xyyx, (b) xyyx Post. 4
(a) x(yz) xyxz, (b) xyz
(xy)(xz) Post. 5 (a) xx1, (b) xx0
15Proof of xxx
- Similar to previous proof
- Show that xx x.
- xx xx0 by 2(a)
- xxxx by 5(b)
- x(xx) by 4(a)
- x1 by 5(a)
- x by 2(b)
- Q.E.D.
Huntington postulates Post. 2 (a) x0x, (b)
x1x Post. 3 (a) xyyx, (b) xyyx Post. 4
(a) x(yz) xyxz, (b) xyz
(xy)(xz) Post. 5 (a) xx1, (b) xx0 Th.
1 (a) xxx
16 Absorption Property (Covering)
- x xy x
- x(xy) x (dual)
- Proofx xy x1 xy x(1y)
x1 xQED (2 true by duality)
17 Consensus Theorem
- xy xz yz xy xz
- (xy)(xz)(yz) (xy)(xz) -- (dual)
- Proofxy xz yz xy xz (xx)yz
xy xz xyz xyz (xy xyz) (xz
xzy) xy xzQED (2 true by duality).
18Theorems to Apply to Exclusive-OR
19Boolean Functions
- Elements and operators can express a function
- Value of function determined by value of
variables - Complete function is evaluated for all possible
values - Function can be represented by truth table
- E.g., F x yz
- Evaluate in steps
- E.g., y and yz
20Logic Circuit Diagram of Function
- Logic function can be expressed as circuit
diagram - Direct translation from algebraic expression
- Example F x yz
- Problem possibly multiple equivalent algebraic
expressions - Difficult to compare Boolean functions
21Design Problem
- Design the control logic for a fan in a
greenhouse. - The logic must sense three environmental
conditions - It is raining outside (variable x)
- It is humid inside (variable y)
- It is hot inside (variable z)
- The fan should turn on when
- It is humid AND it is not raining AND it is hot
- yxz
- OR
- It is not humid AND ((its not raining AND it is
hot) OR it is raining) - y (xzx)
- Create a Boolean function that controls the fan.
- F1 yxz y(xzx)
- F2 xyzxyzxy F3 xzxy
- Question How to evaluate these solutions
(equivalent functions)?
22Boolean Function Representations
- Greenhouse example function can be expressed as
- Analytically, as sum of minterms
- yxz y(xzx) yxzyxzyx
- xyzxyzxy(zz)
- xyzxyzxyzxyz
- How to derive different solutions ?
- How to evaluate these solutions ?
23Comparison of Boolean Functions
- How to compare expressions?
- From the Greenhouse Example
- Is yxz y(xzx) xzxy ? (are these
functions equivalent?) - yxz y(xzx) yxzyxzyx
- (yy)xzyx
- xzxy
- Yes, both expressions describe the same function
(equivalent) - Problem hard to compare algebraic expressions
- Easier with gate level comparison?
24Comparison of Boolean functions
- Comparison by algebraic expression
- Good can handle many variables
- Bad not clear how to get from one expression to
another - Comparison on gate level
- Bad same as algebraic expression
- Bad hard to modify for comparison
- Comparison by truth table
- Good Only one representation in truth table
- Bad cumbersome for 4 or more variables
- Bad hard to derive gate level implementation
- Comparison with canonical form
- Good standardized form for algebraic expression
- Bad not necessarily solution with least number
of gates
25Canonical Form
- A form is canonical if representation of a
function in this form is unique - Truth table is canonical representation
- Uses minterms as basic component
- A minterm is a product (ANDing) of all variables
- Each variable of function appears in minterm
- Variable is in normal form (x) or in
complemented form (x) - Example minterms for 3-variable function
- All algebraic expressions
- can be converted into canonical form
26Canonical Form
- Function is expressed as sum of minterms
- Greenhouse example yxz y(xzx)
yxzyxzyx - xyzxyzxy(zz)
- xyzxyzxyzxyz
- m3 m1 m5 m4
- Function sum of all minterms where truth
table is 1
27Canonical Form
- Canonical form Sum of minterms
- Example FABC
- Expansion of mintermsA ABCABCABCABCBC
ABCABC - F ABCABCABC
- ABCABC
- Alternate forms
- Fm1m4m5m6m7
- F?(1,4,5,6,7)
- Is this the only canonical form?
- No, other forms exist (dual form, etc.)
28DeMorgans Theorem
- A key theorem in simplifying Boolean expressions
- DeMorgans theorem expresses duality
- For two variables
- (x y) x ? y
- (x ? y) x y
- Can be generalized to arbitrary number of
variables - (abc z) a b c z , or (? xi)
? xi - (a b c ? ? ? z) abcz , or (?
xi) ? xi - where ? OR, ? AND
- Proof for DeMorgans theorem by truth tables
- See Mano p. 59
29Dual Canonical Form
- Sum of minterms can be converted to product of
maxterms - Maxterms contain every variable in the function
- Each maxterm is an OR of variables in different
polarities - Function is a product (ANDing) of maxterms where
truth table is 0 - Due to duality
- mj Mj
- Example
- F M0M2M3
- (ABC)(ABC)(ABC)
- From DeMorgan
- F ABCABCABC
- m0m2m3
- Complement on both sides
- F m1m4m5m6m7
- Both canonical forms expresssame function
30Dual Canonical Form
- Sum of minterms can be converted to product of
maxterms - Recall
- A minterm is a product (AND) of all variables in
respective polarities (positive or complemented) - e.g., a b c is a minterm for a 3-variable
function - Note a b is not a minterm in a 3-variable
function - (it is a product term)
- Function is OR of minterms where F 1
- A maxterm is a sum (OR) of all variables in
respective polarities - Maxterm contains every variable in the function
- All the variables are OR-ed together in a maxterm
- Function is product (AND) of maxterms where F 0
31Dual Canonical Form
- Function is product (AND) of maxterms where F 0
- Duality (DeMorgan)
- (? xi) ? xi
- mj Mj
- Example F (m1,m4,m5,m6,m7)
- Examine the complement of F
- F m0m2m3
- ABC ABC ABC
- Take a complement (DeMorgan)
- (F) (ABC)(ABC)(ABC)
- M0M2M3
- Since (F) F
- F M0M2M3
- m1m4m5m6m7
- Both canonical forms express same function
- F ? mi ? Mi
32Example
- Truth table for f1(a,b,c) at right
- The canonical sum-of-products form for f1
isf1(a,b,c) m1 m2 m4 m6
abc abc abc abc - The canonical product-of-sums form for f1
isf1(a,b,c) M0 M3 M5 M7
(abc)(abc)
(abc)(abc). - Observe that mj Mj
33Shorthand ? and ?
- f1(a,b,c) ? m(1,2,4,6), where ? indicates that
this is a sum-of-products form, and m(1,2,4,6)
indicates that the minterms to be included are
m1, m2, m4, and m6. - f1(a,b,c) ? M(0,3,5,7), where ? indicates that
this is a product-of-sums form, and M(0,3,5,7)
indicates that the maxterms to be included are
M0, M3, M5, and M7. - Since mj Mj for any j, ? m(1,2,4,6) ?
M(0,3,5,7) f1(a,b,c)
34Conversion Between Canonical Forms
- Replace ? with ? (or vice versa) and replace
those js that appeared in the original form with
those that do not. - Examplef1(a,b,c) abc abc abc abc
m1 m2 m4 m6 ?(1,2,4,6)
?(0,3,5,7) (abc)(abc)(abc
)(abc)
35Standard Forms (NOT Unique)
- Standard forms are like canonical forms, except
that not all variables need appear in the
individual product (SOP) or sum (POS) terms. - Examplef1(a,b,c) abc bc acis a
standard sum-of-products form - f1(a,b,c) (abc)(bc)(ac)is a standard
product-of-sums form.
36Conversion of SOP from standard to canonical form
- Expand non-canonical terms by inserting
equivalent of 1 in each missing variable x (x
x) 1 - Remove duplicate minterms
- f1(a,b,c) abc bc ac abc
(aa)bc a(bb)c abc abc abc
abc abc abc abc abc abc
37Conversion of POS from standard to canonical form
- Expand noncanonical terms by adding 0 in terms of
missing variables (e.g., xx 0) and using the
distributive law - Remove duplicate maxterms
- f1(a,b,c) (abc)(bc)(ac)
(abc)(aabc)(abbc)
(abc)(abc)(abc)
(abc)(abc) (abc)(abc)(ab
c)(abc)
38Sum of Product (SOP) Form
- Any function can be expressed as Sum of Products
(SOP) - A product term is a product (AND) of the
variables in respective polarities - Minterm is a special case of product term (has
all variables) - SOP is not canonical, many SOP forms exist for
same function - Greenhouse example yxz y(xzx) xyz
xyz x y - xz yz
SOP has natural representation in practice, as
two-level logic network
- SOP table
- (list only for F1)
39Counting Boolean Functions
- Now we can express algebraic functions uniquely
- Unique sum of minterms or product of maxterms
representations - How many binary Boolean functions exist?
- How many different combinations of minterms can
one pick? - There are 4 minterms in a binary function
- Each minterm can be present in the sum or not
- Two choices for each minterm
- Total 2416 combination
- How many Boolean functions exist with n
variables? - 2n minterms
- Total 22n combinations
40Truth Table of Two Binary Variables
41Possible combinations Binary Boolean Functions
42Digital Logic Gates
Name Graphics Algebraic
Truth Symbols Function
Table
43Digital Logic Gates
Name Graphics Algebraic
Truth Symbols Function
Table
44Multiple-input Gates
- NOR does not extend easily
- Associativity does not hold
- Multiple-input gate
45Multiple Input NAND and NOR
- Multiple NOR a complement of OR gate
- Multiple NAND a complement of AND gate
- The cascaded NAND operations sum of products
- The cascaded NOR operations product of sums
46Multiple-input XOR
- Extension of exclusive-OR not straightforward
- What is the definition for 3 variables?
- Turns into odd function
- Function is 1 when there is an odd number of 1s
- Uncommon in hardware implementations
47Positive and Negative Logic
- Signal levels are represented as H (high) and L
(low) - e.g., H is 5V and L is 0V
- Positive logic
- H corresponds to logic 1
- L corresponds to logic 0
- Negative logic
- H corresponds to logic 0
- L corresponds to logic 1
- User has choice of logic used
48Positive and Negative Logic
- Truth table with H and L
- In positive logic AND
- In negative logic OR
Arrows indicate negative logic
49Integrated Circuits
- Small-scale integration (SSI)
- 10s of logic gates
- Early 60s for Apollo and Minuteman missiles
- Medium-scale integration (MSI)
- 100s 1,000s of logic gates
- Late 60s
- Large-scale integration (LSI)
- 1,000s 10,000s of logic gates
- Mid 70s
- Very large-scale integration (VLSI)
- 100,000s of logic gates
- 80s
- Ultra large-scale integration (ULSI)
- Millions of logic gates
- 90s and 00s
50The characteristics of digital logic families
- Fan-out the number of standard loads that the
ouput of a typical gate can drive - Power dissipation
- Propagation delay the average transition delay
time for the signal to propagate from input to
output - Noise margin the minimum of external noise
- voltage that caused an undesirable change in the
circuit output
51Chip Design
- Why is it better to have more gates on a single
chip? - Easier to build systems
- Lower power consumption
- Higher clock frequencies
- What are the drawbacks of large circuits?
- Complex to design
- Chips have design constraints
- Hard to test
- Need tools to help develop integrated circuits
- Computer Aided Design (CAD) tools
- Automate tedious steps of design process
- Hardware description language (HDL) describe
circuits - VHDL (see the lab) is one such system