ECE 274 - Digital Logic
Lecture 3
Digital Design
Design Example: Seat Belt Indicator
Lecture 3
Combination Logic Boolean Algebra Truth Tables Venn Diagrams Multiple Output Circuits
Seat Belt Warning Light Circuit
Functional Requirements:
Illuminate Drivers Seat Belt Warning light whenever the drivers seat belt is not fastened and the key is in the ignition
Inputs:? Outputs:? Equation:?
Digital Design
Design Example: Seat Belt Indicator: Completed Circuit
Digital Design
Design Example: Seat Belt Indicator: Timing Diagram
Inputs
1 0 1 s 0
Outputs w1
0
time
Digital Design
Design Example: Seat Belt Indicator
Digital Design
Combinational Logic Design: Seatbelt Warning Circuit with Person Sensor
Seat Belt Warning Light with Person Sensor
Functional Requirements:
Illuminate Drivers Seat Belt Warning light whenever the drivers seat belt is not fastened, the key is in the ignition, and person is detected in the seat
Inputs:? Outputs:? Equation:?
Digital Design
Combinational Logic Design: Boolean Algebra
Digital Design
Combinational Logic Design: Boolean Algebra
Terminology:
Variable: represents a quantity (0 or 1); typically inputs Literal: appearance of a variable (repetition included) Product Term: product of literals: abc, abc Sum-of-Products (SOP): ORing of product terms; abc + abc
Note: (a + b)c is not in SOP form
7 8
Digital Design
A few Boolean Properties
Commutative Distributive Associative Identity
a+b=b+a a*b=b*a a * (b + c) = a * b + a * c a + (b * c) = (a + b) * (a + c) (a + b) + c = a + (b + c) (a * b) * c = a * (b * c) 0+a=a+0=a 1*a=a*1=a a + a = 1 a * a = 0
Digital Design
A few Boolean Properties
Does abc + abc = ab?
abc + abc = ab(c+c) ab(c+c) = ab(1) ab(1) = ab
(tricky one)
(distributive property) (complement property) (identity property)
Is x + xz equivalent to x + z?
x+xz = (x+x) * (x+z) (x+x)*(x+z) = (1)*(x+z) 1*(x+z) = x+z
Complement
(second distributive property) (complement property) (identity property)
10
Digital Design
A few Boolean Properties
Digital Design
A few Boolean Properties
DeMorgans Law
(a + b) = a * b (a * b) = a + b
Null Elements
a+1=1 a*0=0 a+a=a a*a=a
Idempotent Involution
(a) = a
the complement of a sum equals the product of the complements. the complement of a product equals the sum of the complements
Can xx + xy(x+y) ever evaluate to 1?
Proof of DeMorgans Law
11 12
Digital Design
Combinational Logic Design: Basic Logic Gates
Digital Design
More Gates x+ y !(x + y)
Everyday Boolean Logic:
Ill(i) NOT go to lunch if Mary(m) goes OR John(j) goes, AND Sally(s) does not go. NOT(Ill(i) go to lunch if Mary(m) goes OR John(j) goes, AND Sally(s) does not go.)
x y
NAND !(xy) F x 0 0 1 1 x x y 0
13
NOR x y x 0 0 1 1 y 0 1 0 1 1
!(x+y)
F
XOR
XNOR
Which answer correctly represents the statement above: A) j = !(i + m)(!s) B) i = (m*j) + s C) i = (m + j) * (!s)
y 0 1 0 1 1
F 1 1 1 0 y F
F 1 0 0 0
x 0 0 1 1
y 0 1 0 1
F 0 1 1 0
x y 0 0 0 1 1 0 1 1
F 1 0 0 1
x y x
F y 0
14
Digital Design
NAND and NOR Gates
x1 x2 NAND gates xn x1 x2 x1 + x2 NOR gates xn x1 + x2 + + xn x1 x2 xn
x1 x2
Digital Design
DeMorgans theorem in terms of logic gates.
x1 x2 x1 x2
x1 x2
x1 x2
(a)
x1 x2 = x1 + x2
x1 x2
x1 x2
x1 x2
x1 x2
(b)
x1 + x2 = x1 x2
15
16
Digital Design
Combinational Logic Design: Automatic Door Opener
Digital Design
Combinational Logic Design: Automatic Door Opener
Circuit Description:
Functional Description: Design an automatic sliding door. Open the door if the door is set to be manually held open, OR if the door is not set to be manually open, and a person is detected. However, in either case, we only open the door if the door is not set to stay closed. Inputs: p: person in front of door, when p=1 h: held open manually, when h=1 c: force door to stay closed, when c=1 Outputs: f: open door when f=1
f = hc + hpc
f = hc + hpc
17 18
Digital Design
Automatic Door Opener: Simplification using Boolean Algebra
Digital Design
Combinational Logic Design: Simplified door opener circuit
f = hc + hpc
f = ch + chp (by the commutative property) f = c(h + hp) (by the first distributive property) f = c((h + h) * (h + p)) (by the 2nd distributive property)
f = c (h + (h * p)) ((h + h) * (h+p))
f = c(h+p)
f = c((1)*(h + p)) (by the complement property) f = c(h + p) (by the identity property)
f = c(h+p)
19 20
Digital Design
Combinational Logic Design: Representations of Boolean Functions
Digital Design
Representations of Boolean Functions: Truth Tables
Gene Pair M blue blue brown brown D blue brown blue brown
Outcome C blue brown brown brown
Seven representations of the very same function F(a,b): (a) Two English descriptions, (b) two equations, (c) two circuits, (d) a truth table.
21 22
Digital Design
Representations of Boolean Functions: Truth Tables
Digital Design
Representations of Boolean Functions: Truth Tables 4-input 3-input 2-input
a b c d
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
F
5+-input
Left Side: All possible combinations for input values
Right Side: Values for outputs
(a)
a 0 0 1 1
b 0 1 0 1
a 0 0 0 (b) 0 1 1 1 1
b 0 0 1 1 0 0 1 1
c 0 1 0 1 0 1 0 1
(c)
Truth table structures for: (a) a two-input function F(a,b), (b) a three-input function F(a,b,c), and (c) a four-input function F(a,b,c,d). Defining a specific function would involve filling in the rightmost column with a 0 or a 1 for each row.
23 24
Digital Design
Representations of Boolean Functions: Truth Tables
Digital Design
Combinational Logic Design
Left Side: All possible combinations for input values
Advantages: Only one truth table Intuitive to read Disadvantages: Size explosion
Right Side: Values for outputs
Possible conversions from one Boolean function representation to another.
25
26
Digital Design
Combinational Logic Design: Venn Diagrams
Digital Design
Combinational Logic Design: Venn Diagrams
(a) Constant 1
(b) Constant 0
(e) x y
(f) x + y
x x x x x x y z (c) Variable x (d) x (g) x y (h)
x y+z
27
28
Digital Design
Combinational Logic Design: Verification of the Distributive Property
Digital Design
Combinational Logic Design: Multiple Output Circuits
Distributive
a * (b + c) = a * b + a * c
Differences from above:
Multiple columns on the left hand side of table Can reuse common gate groupings for common portions of the functions
x z
x z
Examples
x ( y + z)
y+z
x z
x z
z xz
xy
x y+ xz 29 30
Digital Design
Combinational Logic Design: Multiple Output Circuits
Digital Design
Combinational Logic Design: Multiple Output Circuits
a f b g e c d abcdefg = 1111110 0110000 1101101
Seven-segment display with connections of inputs to segments (left), sample numbers 0, 1 and 2 (center), and a pair of discrete seven segment displays (right). 4-bit binary number to seven-segment display truth table.
31
32
Digital Design
Combinational Logic Design: Boolean Algebra: Canonical Forms
Digital Design
Combinational Logic Design: Boolean Algebra: Canonical Forms
Sum-of-Minterms
Equation in sum-of-product form where every product term is a
Sum-of-Minterms
Equation in sum-of-product form where every product term is a
minterm Minterm: product term whose literals include every variable of
the function exactly once, in either true or complemented form
minterm Minterm: product term whose literals include every variable of
the function exactly once, in either true or complemented form
Example Is the equation F(a,b,c) = abc + abc + ab + c in sum-of-minterms form?
F(a,b,c) = abc + abc + ab + c
Not in Sum-of-Minterms form Two minterms: abc, abc ab, c are minterms
F(a,b,c) = abc +abc + abc + abc + abc
33 34
Digital Design
Combinational Logic Design: Boolean Algebra: Minterms and Maxterms
Digital Design
Combinational Logic Design: Boolean Algebra: Canonical Forms
Products-of-Maxterms
Equation in product-of-sums form where every sum term is a
maxterm maxterm: sum term whose literals include every variable of the
function exactly once, in either true or complemented form
Example
J(a,b,c) = (a + b + c)(a + b +c)
35
36
Digital Design
Humor
37