The main contents of the chapter consist of the following: Design digital circuit from specification, digital inputs and outputs known, need to determine logic that can transform data, start in truth table form, create k-map for each output based on function of inputs, determine minimized sum-of-product representation, draw circuit diagram.
Trang 1Lecture 11
Combinational Design Procedure
Trang 2w
° Design digital circuit from specification
° Digital inputs and outputs known
• Need to determine logic that can transform data
° Start in truth table form
° Create K-map for each output based on function of
inputs
° Determine minimized sum-of-product representation
° Draw circuit diagram
Trang 3Design Procedure (Mano)
Design a circuit from a specification.
1 Determine number of required inputs and
outputs.
2 Derive truth table
3 Obtain simplified Boolean functions
4 Draw logic diagram and verify correctness
A 0 0 0 0 1 1 1
B 0 0 1 1 0 0 1
C 0 1 0 1 0 1 0
R 0 0 0 0 0 0 0
S 0 1 1 1 1 1 1
S = A + B + C
R = ABC
Trang 4Previously, we have learned…
° Boolean algebra can be used to simplify
expressions, but not obvious:
• how to proceed at each step, or
• if solution reached is minimal.
° Have seen five ways to represent a function:
Trang 5Combinational logic design
° Use multiple representations of logic functions
° Use graphical representation to assist in
simplification of function
° Use concept of “don’t care” conditions.
° Example - encoding BCD to seven segment display.
° Similar to approach used by designers in the field
Trang 6BCD to Seven Segment Display
° Used to display binary coded decimal (BCD)
numbers using seven illuminated segments.
° BCD uses 0’s and 1’s to represent decimal digits 0 -
9 Need four bits to represent required 10 digits.
° Binary coded decimal (BCD) represents each
decimal digit with four bits
a
bc
ge
f
0 0 0 1 8
1 1 1 0 7
0 1 0 0 2
1 0 0 0 1
0 0 0 0 0
Trang 7BCD to seven segment display
ge
df
° List the segments that should be illuminated for
each digit.
Trang 8BCD to seven segment display
.011111
00
19
.11111
00
01
8
.00111
111
0
7
.11011
01
00
2
.00110
100
0
1
.11111
00
00
0
.edc
ba
zyx
w
Dec
° Derive the truth table for the circuit.
° Each output column in one circuit.
Inputs Outputs
Trang 9BCD to seven segment display
1 0
10
1 1
1 1
11
yzwx
10110100
1011
0100
For segment “a” :
Note: Have only filled in ten
squares, corresponding to the ten numerical digits we wish to represent
° Find minimal sum-of-products representation for
each output
Trang 10Don’t care conditions (BCD display)
1 0
10
X X X X
1 1
11
yzwx
10110100
1011
0100
For segment “a” :
Put in “X” (don’t care), and interpret as either 1 or 0 as
desired …
° Fill in don’t cares for undefined outputs.
• Note that these combinations of inputs should never happen
° Leads to a reduced implementation
Trang 11Don’t care conditions (BCD display)
1 1 X X
X X X X
1 1
11
yzwx
10110100
1011
0100
° Circle biggest group of 1’s and Don’t Cares.
° Leads to a reduced implementation
Trang 12Don’t care conditions (BCD display)
1 1 X X
X X X X
1 1
11
yzwx
10110100
1011
0100
° Circle biggest group of 1’s and Don’t Cares.
° Leads to a reduced implementation
Trang 13Don’t care conditions (BCD display)
For segment “a” :
z x
Fa3
1 0
10
1 1 X X
X X X X
1 1
11
yzwx
0100
xz
Fa4
1 0
10
1 1 X X
X X X X
1 1
11
yzwx
10110100
1011
0100
° Circle biggest group of 1’s and Don’t Cares.
° All 1’s should be covered by at least one implicant
Trang 14Don’t care conditions (BCD display)
For segment “a” :
xz z
x w
y
F
1 0
10
1 1 X X
X X X X
1 1
11
yzwx
10110100
1011
0100
° Put all the terms together
° Generate the circuit
Trang 16BCD to seven segment display
.011111
00
19
.11111
00
01
8
.00111
111
0
7
.11011
01
00
2
.00110
100
0
1
.11111
00
00
0
.edc
ba
zyx
w
Dec
° Derive the truth table for the circuit.
° Each output column in one circuit.
Inputs Outputs
Trang 17BCD to seven segment display
1 1
01
1 1
1 0
11
yzwx
10110100
1011
0100
For segment “b” :
° Find minimal sum-of-products representation for
each output
Trang 181 1
01
1 1
1 0
11
yzwx
10110100
1011
0100
For segment “b” :
X X X X
X X
Fb1 = W
Trang 191 1
01
1 1
1 0
11
yzwx
10110100
1011
0100
For segment “b” :
X X X X
X X
Fb2 =Y Z
Trang 201 1
01
1 1
1 0
11
yzwx
10110100
1011
0100
For segment “b” :
X X X X
X X
Fb3 =W X
Trang 211 1
01
1 1
1 0
11
yzwx
10110100
1011
0100
For segment “b” :
X X X X
X X
Fb4 =YZ
Trang 221 1
01
1 1
1 0
11
yzwx
10110100
1011
0100
Trang 23BCD-to-Excess-3 Code converter
° BCD is a code for the decimal digits 0-9
° Excess-3 is also a code for the decimal digits
Trang 25Formulation of BCD-to-Excess-3
° Excess-3 code is easily formed by adding a binary
3 to the binary or BCD for the digit.
° There are 16 possible inputs for both BCD and
Excess-3.
° It can be assumed that only valid BCD inputs will
appear so the six combinations not used can be
treated as don’t cares.
Trang 26Optimization – BCD-to-Excess-3
° Lay out K-maps for each output, W X Y Z
° A step in the digital circuit design process.
Trang 27Placing 1 on K-maps
° Where are the minterms located on a K-Map?
Trang 29Minimize K-Maps
° W minimization
° Find W = A + BC + BD
Trang 30Minimize K-Maps
° X minimization
° Find X = BC’D’+B’C+B’D
Trang 31Minimize K-Maps
° Y minimization
° Find Y = CD + C’D’
Trang 32Minimize K-Maps
° Z minimization
° Find Z = D’
Trang 33Two level circuit implementation
Trang 34Create the digital circuit
° Implementing the
second set of
equations where
T=C+D results in a
lower gate count.
° This gate has a fanout
of 3
Trang 35° Need to formulate circuits from problem descriptions
1 Determine number of inputs and outputs
2 Determine truth table format
3 Determine K-map
4 Determine minimal SOP
o There may be multiple outputs per design
o Solve each output separately
o Current approach doesn’t have memory
o This will be covered next week