SlideShare a Scribd company logo
1 of 48
Charles Kime & Thomas Kaminski
© 2004 Pearson Education, Inc.
Terms of Use
(Hyperlinks are active in View Show mode)
Chapter 4 – Combinational
Functions and Circuits
Logic and Computer Design Fundamentals
Chapter 4 2
Overview
 Functions and functional blocks
 Rudimentary logic functions
 Decoding
 Encoding
 Selecting
 Implementing Combinational Functions Using:
• Decoders and OR gates
• Multiplexers (and inverter)
• ROMs
• PLAs
• PALs
• Lookup Tables
Chapter 4 3
Functions and Functional Blocks
 The functions considered are those found to be
very useful in design
 Corresponding to each of the functions is a
combinational circuit implementation called a
functional block.
 In the past, many functional blocks were
implemented as SSI, MSI, and LSI circuits.
 Today, they are often simply parts within a
VLSI circuits.
Chapter 4 4
Rudimentary Logic Functions
 Functions of a single variable X
 Can be used on the
inputs to functional
blocks to implement
other than the block’s
intended function
0
1
F 5 0
F 5 1
(a)
F 5 0
F 5 1
VCC or VDD
(b)
X F 5 X
(c)
X F 5 X
(d)
TABLE 4-1
Functions ofOne Variable
X F = 0 F = X F = F = 1
0
1
0
0
0
1
1
0
1
1
X
Chapter 4 5
Multiple-bit Rudimentary Functions
 Multi-bit Examples:
 A wide line is used to represent
a bus which is a vector signal
 In (b) of the example, F = (F3, F2, F1, F0) is a bus.
 The bus can be split into individual bits as shown in (b)
 Sets of bits can be split from the bus as shown in (c)
for bits 2 and 1 of F.
 The sets of bits need not be continuous as shown in (d) for bits 3, 1, and
0 of F.
F
(d)
0
F3
1 F2
F1
A F0
(a)
0
1
A
1
2
3
4
F
0
(b)
4 2:1 F(2:1)
2
F
(c)
4 3,1:0 F(3), F(1:0)
3
A A
Chapter 4 6
Enabling Function
 Enabling permits an input signal to pass
through to an output
 Disabling blocks an input signal from passing
through to an output, replacing it with a fixed
value
 The value on the output when it is disable can
be Hi-Z (as for three-state buffers and
transmission gates), 0 , or 1
 When disabled, 0 output
 When disabled, 1 output
 See Enabling App in text
X
F
EN
(a)
EN
X
F
(b)
Chapter 4 7
 Decoding - the conversion of an n-bit input
code to an m-bit output code with
n m  2n such that each valid code word
produces a unique output code
 Circuits that perform decoding are called
decoders
 Here, functional blocks for decoding are
• called n-to-m line decoders, where m  2n, and
• generate 2n (or fewer) minterms for the n input
variables
Decoding
Chapter 4 8
 1-to-2-Line Decoder
 2-to-4-Line Decoder
 Note that the 2-4-line
made up of 2 1-to-2-
line decoders and 4 AND gates.
Decoder Examples
A D0 D1
0 1 0
1 0 1
(a) (b)
D1 5 A
A
D0 5 A
A1
0
0
1
1
A0
0
1
0
1
D0
1
0
0
0
D1
0
1
0
0
D2
0
0
1
0
D3
0
0
0
1
(a)
D0 5 A1 A0
D1 5 A1 A0
D2 5 A1 A0
D3 5 A1 A0
(b)
A 1
A 0
Chapter 4 9
Decoder Expansion
 General procedure given in book for any decoder with n
inputs and 2n outputs.
 This procedure builds a decoder backward from the
outputs.
 The output AND gates are driven by two decoders with
their numbers of inputs either equal or differing by 1.
 These decoders are then designed using the same
procedure until 2-to-1-line decoders are reached.
 The procedure can be modified to apply to decoders
with the number of outputs ≠ 2n
Chapter 4 10
Decoder Expansion - Example 1
 3-to-8-line decoder
• Number of output ANDs = 8
• Number of inputs to decoders driving output ANDs = 3
• Closest possible split to equal
 2-to-4-line decoder
 1-to-2-line decoder
• 2-to-4-line decoder
 Number of output ANDs = 4
 Number of inputs to decoders driving output ANDs = 2
 Closest possible split to equal
• Two 1-to-2-line decoders
 See next slide for result
Chapter 4 11
Decoder Expansion - Example 1
 Result
Chapter 4 12
Decoder Expansion - Example 2
 7-to-128-line decoder
• Number of output ANDs = 128
• Number of inputs to decoders driving output ANDs
= 7
• Closest possible split to equal
 4-to-16-line decoder
 3-to-8-line decoder
• 4-to-16-line decoder
 Number of output ANDs = 16
 Number of inputs to decoders driving output ANDs = 2
 Closest possible split to equal
• 2 2-to-4-line decoders
• Complete using known 3-8 and 2-to-4 line decoders
Chapter 4 13
 In general, attach m-enabling circuits to the outputs
 See truth table below for function
• Note use of X’s to denote both 0 and 1
• Combination containing two X’s represent four binary combinations
 Alternatively, can be viewed as distributing value of signal
EN to 1 of 4 outputs
 In this case, called a
demultiplexer
EN
A 1
A 0
D0
D1
D2
D3
(b)
EN A1 A0 D0 D1 D2 D3
0
1
1
1
1
X
0
0
1
1
X
0
1
0
1
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
(a)
Decoder with Enable
Chapter 4 14
Encoding
 Encoding - the opposite of decoding - the conversion
of an m-bit input code to a n-bit output code with n 
m  2n such that each valid code word produces a
unique output code
 Circuits that perform encoding are called encoders
 An encoder has 2n (or fewer) input lines and n output
lines which generate the binary code corresponding
to the input values
 Typically, an encoder converts a code containing
exactly one bit that is 1 to a binary code corres-
ponding to the position in which the 1 appears.
Chapter 4 15
Encoder Example
 A decimal-to-BCD encoder
• Inputs: 10 bits corresponding to decimal
digits 0 through 9, (D0, …, D9)
• Outputs: 4 bits with BCD codes
• Function: If input bit Di is a 1, then the
output (A3, A2, A1, A0) is the BCD code for i,
 The truth table could be formed, but
alternatively, the equations for each of the
four outputs can be obtained directly.
Chapter 4 16
Encoder Example (continued)
 Input Di is a term in equation Aj if bit Aj is 1
in the binary value for i.
 Equations:
A3 = D8 + D9
A2 = D4 + D5 + D6 + D7
A1 = D2 + D3 + D6 + D7
A0 = D1 + D3 + D5 + D7 + D9
 F1 = D6 + D7 can be extracted from A2 and A1
Is there any cost saving?
Chapter 4 17
Priority Encoder
 If more than one input value is 1, then the
encoder just designed does not work.
 One encoder that can accept all possible
combinations of input values and produce
a meaningful result is a priority encoder.
 Among the 1s that appear, it selects the
most significant input position (or the
least significant input position) containing
a 1 and responds with the corresponding
binary code for that position.
Chapter 4 18
Priority Encoder Example
 Priority encoder with 5 inputs (D4, D3, D2, D1, D0) - highest priority to
most significant 1 present - Code outputs A2, A1, A0 and V where V
indicates at least one 1 present.
 Xs in input part of table represent 0 or 1; thus table entries correspond to
product terms instead of minterms. The column on the left shows that all
32 minterms are present in the product terms in the table
No. of Min-
terms/Row
Inputs Outputs
D4 D3 D2 D1 D0 A2 A1 A0 V
1 0 0 0 0 0 X X X 0
1 0 0 0 0 1 0 0 0 1
2 0 0 0 1 X 0 0 1 1
4 0 0 1 X X 0 1 0 1
8 0 1 X X X 0 1 1 1
16 1 X X X X 1 0 0 1
Chapter 4 19
Priority Encoder Example (continued)
 Could use a K-map to get equations, but
can be read directly from table and
manually optimized if careful:
A2 = D4
A1 = D3 + D2 = F1, F1 = (D3 + D2)
A0 = D3 + D1 = (D3 + D1)
V = D4 + F1 + D1 + D0
D4 D3
D4 D4
D4 D3
D4 D2 D4 D2
Chapter 4 20
 Selecting of data or information is a critical
function in digital systems and computers
 Circuits that perform selecting have:
• A set of information inputs from which the selection
is made
• A single output
• A set of control lines for making the selection
 Logic circuits that perform selecting are called
multiplexers
 Selecting can also be done by three-state logic
or transmission gates
Selecting
Chapter 4 21
Multiplexers
 A multiplexer selects information from an
input line and directs the information to
an output line
 A typical multiplexer has n control inputs
(Sn - 1, … S0) called selection inputs, 2n
information inputs (I2
n
- 1, … I0), and one
output Y
 A multiplexer can be designed to have m
information inputs with m <2n as well as
n selection inputs
Chapter 4 22
2-to-1-Line Multiplexer
 Since 2 = 21, n = 1
 The single selection variable S has two values:
• S = 0 selects input I0
• S = 1 selects input I1
 The equation:
Y = I0 + SI1
 The circuit:
S
S
I0
I1
Decoder
Enabling
Circuits
Y
Chapter 4 23
2-to-1-Line Multiplexer (continued)
 Note the regions of the multiplexer circuit shown:
• 1-to-2-line Decoder
• 2 Enabling circuits
• 2-input OR gate
 To obtain a basis for multiplexer expansion, we combine
the Enabling circuits and OR gate into a 2  2 AND-OR
circuit:
• 1-to-2-line decoder
• 2  2 AND-OR
 In general, for an 2n-to-1-line multiplexer:
• n-to-2n-line decoder
• 2n  2 AND-OR
Chapter 4 24
Example: 4-to-1-line Multiplexer
 2-to-22-line decoder
 22  2 AND-OR
S1
Decoder
S0
Y
S1
Decoder
S0
Y
S1
Decoder
4 3 2 AND-OR
S0
Y
I2
I3
I1
I0
Chapter 4 25
Multiplexer Width Expansion
 Select “vectors of bits” instead of “bits”
 Use multiple copies of 2n  2 AND-OR in
parallel
 Example:
4-to-1-line
quad multi-
plexer
Chapter 4 26
Other Selection Implementations
 Three-state logic in place of AND-OR
 Gate input cost = 14 compared to 22 (or
18) for gate implementation
I0
I1
I2
I3
S1
S0
(b)
Y
Chapter 4 27
Other Selection Implementations
 Transmission Gate Multiplexer
 Gate input
cost = 8
compared
to 14 for
3-state logic
and 18 or 22
for gate logic
S0
S1
I0
I1
I2
I3
Y
TG
(S0 5 0)
TG
(S1 5 0)
TG
(S1 5 1)
TG
(S0 5 1)
TG
(S0 5 0)
TG
(S0 5 1)
Chapter 4 28
Combinational Function Implementation
 Alternative implementation techniques:
• Decoders and OR gates
• Multiplexers (and inverter)
• ROMs
• PLAs
• PALs
• Lookup Tables
 Can be referred to as structured implementation
methods since a specific underlying structure is
assumed in each case
Chapter 4 29
Decoder and OR Gates
 Implement m functions of n variables with:
• Sum-of-minterms expressions
• One n-to-2n-line decoder
• m OR gates, one for each output
 Approach 1:
• Find the truth table for the functions
• Make a connection to the corresponding OR from
the corresponding decoder output wherever a 1
appears in the truth table
 Approach 2
• Find the minterms for each output function
• OR the minterms together
Chapter 4 30
Decoder and OR Gates Example
 Implement the following set of odd parity functions of
(A7, A6, A5, A3)
P1 = A7 A5 A3
P2 = A7 A6 A3
P4 = A7 A6 A5
 Finding sum of
minterms expressions
P1 = Sm(1,2,5,6,8,11,12,15)
P2 = Sm(1,3,4,6,8,10,13,15)
P4 = Sm(2,3,4,5,8,9,14,15)
 Find circuit
 Is this a good idea?
+
+
+
+
+
+
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
A7
A6
A5
A4
P1
P4
P2
Chapter 4 31
Multiplexer Approach 1
 Implement m functions of n variables with:
• Sum-of-minterms expressions
• An m-wide 2n-to-1-line multiplexer
 Design:
• Find the truth table for the functions.
• In the order they appear in the truth table:
 Apply the function input variables to the multiplexer
inputs Sn - 1, … , S0
 Label the outputs of the multiplexer with the output
variables
• Value-fix the information inputs to the multiplexer
using the values from the truth table (for don’t cares,
apply either 0 or 1)
Chapter 4 32
Example: Gray to Binary Code
 Design a circuit to
convert a 3-bit Gray
code to a binary code
 The formulation gives
the truth table on the
right
 It is obvious from this
table that X = C and the
Y and Z are more complex
Gray
A B C
Binary
x y z
0 0 0 0 0 0
1 0 0 0 0 1
1 1 0 0 1 0
0 1 0 0 1 1
0 1 1 1 0 0
1 1 1 1 0 1
1 0 1 1 1 0
0 0 1 1 1 1
Chapter 4 33
Gray to Binary (continued)
 Rearrange the table so
that the input combinations
are in counting order
 Functions y and z can
be implemented using
a dual 8-to-1-line
multiplexer by:
• connecting A, B, and C to the multiplexer select inputs
• placing y and z on the two multiplexer outputs
• connecting their respective truth table values to the inputs
Gray
A B C
Binary
x y z
0 0 0 0 0 0
0 0 1 1 1 1
0 1 0 0 1 1
0 1 1 1 0 0
1 0 0 0 0 1
1 0 1 1 1 0
1 1 0 0 1 0
1 1 1 1 0 1
Chapter 4 34
 Note that the multiplexer with fixed inputs is identical to a
ROM with 3-bit addresses and 2-bit data!
Gray to Binary (continued)
D04
D05
D06
D07
S1
S0
A
B
S2
D03
D02
D01
D00
Out
C
D14
D15
D16
D17
S1
S0
A
B
S2
D13
D12
D11
D10
Out
C
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
Y Z
8-to-1
MUX
8-to-1
MUX
Chapter 4 35
Multiplexer Approach 2
 Implement any m functions of n + 1 variables by using:
• An m-wide 2n-to-1-line multiplexer
• A single inverter
 Design:
• Find the truth table for the functions.
• Based on the values of the first n variables, separate the truth
table rows into pairs
• For each pair and output, define a rudimentary function of the
final variable (0, 1, X, )
• Using the first n variables as the index, value-fix the
information inputs to the multiplexer with the corresponding
rudimentary functions
• Use the inverter to generate the rudimentary function
X
X
Chapter 4 36
Example: Gray to Binary Code
 Design a circuit to
convert a 3-bit Gray
code to a binary code
 The formulation gives
the truth table on the
right
 It is obvious from this
table that X = C and the
Y and Z are more complex
Gray
A B C
Binary
x y z
0 0 0 0 0 0
1 0 0 0 0 1
1 1 0 0 1 0
0 1 0 0 1 1
0 1 1 1 0 0
1 1 1 1 0 1
1 0 1 1 1 0
0 0 1 1 1 1
Chapter 4 37
Gray to Binary (continued)
 Rearrange the table so that the input combinations are in
counting order, pair rows, and find rudimentary functions
Gray
A B C
Binary
x y z
Rudimentary
Functions of
C for y
Rudimentary
Functions of
C for z
0 0 0 0 0 0
0 0 1 1 1 1
0 1 0 0 1 1
0 1 1 1 0 0
1 0 0 0 0 1
1 0 1 1 1 0
1 1 0 0 1 0
1 1 1 1 0 1
F = C
F = C
F = C
F = C
F = C
F = C
F = C
F = C
Chapter 4 38
 Assign the variables and functions to the multiplexer inputs:
 Note that this approach (Approach 2) reduces the cost by
almost half compared to Approach 1.
 This result is no longer ROM-like
 Extending, a function of more than n variables is decomposed
into several sub-functions defined on a subset of the variables.
The multiplexer then selects among these sub-functions.
Gray to Binary (continued)
S1
S0
A
B
D03
D02
D01
D00
Out Y
8-to-1
MUX
C
C
C
C D13
D12
D11
D10
Out Z
8-to-1
MUX
S1
S0
A
B
C
C
C
C
C C
Chapter 4 39
Read Only Memory
 Functions are implemented by storing the truth
table
 Other representations such as equations more
convenient
 Generation of programming information from
equations usually done by software
 Text Example 4-10 Issue
• Two outputs are generated outside of the ROM
• In the implementation of the system, these two
functions are “hardwired” and even if the ROM is
reprogrammable or removable, cannot be corrected
or updated
Chapter 4 40
Programmable Array Logic
 There is no sharing of AND gates as in the
ROM and PLA
 Design requires fitting functions within
the limited number of ANDs per OR gate
 Single function optimization is the first
step to fitting
 Otherwise, if the number of terms in a
function is greater than the number of
ANDs per OR gate, then factoring is
necessary
Chapter 4 41
Product
term
AND Inputs
Outputs
A B C D W
1
2
3
W = C
4
5
6
F1 = X = A
+ B + W
7
8
9
10
11
12
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
AB
C
+ ABC
F2 = Y
= AB + BC +AC
BC
A
1
0
—
0
1
—
0
0
—
—
—
—
—
—
1
— —
0
1
0
1
1
1
—
—
—
—
—
—
—
1
—
1
1
1
—
—
1
1
—
—
—
—
—
—
 Equations: F1 = A + B + C + ABC
F2 = AB + BC + AC
 F1 must be
factored
since four
terms
 Factor out
last two
terms as W
A B
B C C A
Programmable Array Logic Example
Chapter 4 42
Programmable Array Logic Example
X
X
X
X
X
X
X
X X
X
X X X
X
X X
X X X
AND gates inputs
A C W
Product
term
1
2
3
4
5
6
7
8
9
10
11
12
A
B
C
D
W
F1
F2
All fuses intact
(always 5 0)
X Fuse intact
X
A B B C D D W
A C W
A B B C D D W
1 Fuse blown
Chapter 4 43
Programmable Logic Array
 The set of functions to be implemented must fit the
available number of product terms
 The number of literals per term is less important in
fitting
 The best approach to fitting is multiple-output, two-
level optimization (which has not been discussed)
 Since output inversion is available, terms can
implement either a function or its complement
 For small circuits, K-maps can be used to visualize
product term sharing and use of complements
 For larger circuits, software is used to do the
optimization including use of complemented functions
Chapter 4 44
Programmable Logic Array Example
 K-map
specification
 How can this
be implemented
with four terms?
 Complete the
programming table
Outputs
1
2
3
4
F2
1
1
–
1
AB
AC
BC
Inputs
–
1
1
C
1
1
–
A
1
–
1
B
PLA programming table
(T)
F1
( )
Product
term
F1 5 A BC + A B C + A B C
F1 5 AB + AC + BC + A B C
0
C
0
1
0 1
0 0
00 01 11 10
BC
A
0
B
1
1
A
0
C
0
1 0
1 1
00 01 11 10
BC
A
1
B
0
1
A
F2 5 AB + AC + BC
F2 5 AC + AB + BC
0
Chapter 4 45
Programmable Logic Array Example
X Fuse intact
1 Fuse blown
0
1
F1
F2
A
B
C
C B A
C B A
1
2
4
3
X X
X X
X X
X X
X
X
X
X X
X
X
X
X
X
Chapter 4 46
Lookup Tables
 Lookup tables are used for implementing logic
in Field-Programmable Gate Arrays (FPGAs)
and Complex Logic Devices (CPLDs)
 Lookup tables are typically small, often with
four inputs, one output, and 16 entries
 Since lookup tables store truth tables, it is
possible to implement any 4-input function
 Thus, the design problem is how to optimally
decompose a set of given functions into a set of
4-input two- level functions.
 We will illustrate this by a manual attempt
Chapter 4 47
Lookup Table Example
 Equations to be implemented:
F1(A,B,C,D,E) = A D E + B D E + C D E
F2(A,B,D,E,F) = A E D + B D E + F D E
 Extract 4-input function:
F3(A,B,D,E) = A D E + B D E
F1(C,D,E,F3) = F3 + C D E
F2(D,E,F,F3) = F3 + F D E
 The cost of the solution is 3 lookup tables
Chapter 4 48
Terms of Use
 © 2004 by Pearson Education,Inc. All rights reserved.
 The following terms of use apply in addition to the standard Pearson
Education Legal Notice.
 Permission is given to incorporate these materials into classroom
presentations and handouts only to instructors adopting Logic and
Computer Design Fundamentals as the course text.
 Permission is granted to the instructors adopting the book to post these
materials on a protected website or protected ftp site in original or
modified form. All other website or ftp postings, including those
offering the materials for a fee, are prohibited.
 You may not remove or in any way alter this Terms of Use notice or
any trademark, copyright, or other proprietary notice, including the
copyright watermark on each slide.
 Return to Title Page

More Related Content

Similar to Chapter 4 combinational circuit

DLD Lecture No 22 Decoder Circuit and Types of Decoder.pptx
DLD Lecture No 22 Decoder Circuit and Types of Decoder.pptxDLD Lecture No 22 Decoder Circuit and Types of Decoder.pptx
DLD Lecture No 22 Decoder Circuit and Types of Decoder.pptxSaveraAyub2
 
Logic Design - Chapter 5: Part1 Combinattional Logic
Logic Design - Chapter 5: Part1 Combinattional LogicLogic Design - Chapter 5: Part1 Combinattional Logic
Logic Design - Chapter 5: Part1 Combinattional LogicGouda Mando
 
Encoder-and-decoder.pptx
Encoder-and-decoder.pptxEncoder-and-decoder.pptx
Encoder-and-decoder.pptxKamranAli649587
 
Digital electronices encode decode
Digital electronices encode decodeDigital electronices encode decode
Digital electronices encode decodeSabbir Ahmed Zoy
 
Combinational circuit
Combinational circuitCombinational circuit
Combinational circuitsabina deshar
 
SESSION 2.ppt
SESSION 2.pptSESSION 2.ppt
SESSION 2.pptSaranya S
 
Types of encoders and decoders with truth tables
Types of encoders and decoders with truth tablesTypes of encoders and decoders with truth tables
Types of encoders and decoders with truth tablesAbdullah khawar
 
Encoder and decoder
Encoder and decoderEncoder and decoder
Encoder and decoderAbid Ali
 
digital electronics..
digital electronics..digital electronics..
digital electronics..Saurav Roy
 
Convolution codes - Coding/Decoding Tree codes and Trellis codes for multiple...
Convolution codes - Coding/Decoding Tree codes and Trellis codes for multiple...Convolution codes - Coding/Decoding Tree codes and Trellis codes for multiple...
Convolution codes - Coding/Decoding Tree codes and Trellis codes for multiple...Madhumita Tamhane
 
Digital VLSI - Unit 2.pptx
Digital VLSI - Unit 2.pptxDigital VLSI - Unit 2.pptx
Digital VLSI - Unit 2.pptxSanjaiPrasad
 
FYBSC IT Digital Electronics Unit IV Chapter I Multiplexer, Demultiplexer, AL...
FYBSC IT Digital Electronics Unit IV Chapter I Multiplexer, Demultiplexer, AL...FYBSC IT Digital Electronics Unit IV Chapter I Multiplexer, Demultiplexer, AL...
FYBSC IT Digital Electronics Unit IV Chapter I Multiplexer, Demultiplexer, AL...Arti Parab Academics
 

Similar to Chapter 4 combinational circuit (20)

DLD Lecture No 22 Decoder Circuit and Types of Decoder.pptx
DLD Lecture No 22 Decoder Circuit and Types of Decoder.pptxDLD Lecture No 22 Decoder Circuit and Types of Decoder.pptx
DLD Lecture No 22 Decoder Circuit and Types of Decoder.pptx
 
Logic Design - Chapter 5: Part1 Combinattional Logic
Logic Design - Chapter 5: Part1 Combinattional LogicLogic Design - Chapter 5: Part1 Combinattional Logic
Logic Design - Chapter 5: Part1 Combinattional Logic
 
STLD-Combinational logic design
STLD-Combinational  logic design STLD-Combinational  logic design
STLD-Combinational logic design
 
Combinational circuit
Combinational circuitCombinational circuit
Combinational circuit
 
B sc3 unit 4 combi..lckt
B sc3 unit 4 combi..lcktB sc3 unit 4 combi..lckt
B sc3 unit 4 combi..lckt
 
Encoder-and-decoder.pptx
Encoder-and-decoder.pptxEncoder-and-decoder.pptx
Encoder-and-decoder.pptx
 
Digital electronices encode decode
Digital electronices encode decodeDigital electronices encode decode
Digital electronices encode decode
 
multiplexer and d-multiplexer
multiplexer and d-multiplexermultiplexer and d-multiplexer
multiplexer and d-multiplexer
 
Combinational circuit
Combinational circuitCombinational circuit
Combinational circuit
 
Chapter-04.pdf
Chapter-04.pdfChapter-04.pdf
Chapter-04.pdf
 
SESSION 2.ppt
SESSION 2.pptSESSION 2.ppt
SESSION 2.ppt
 
DCF-Combinational circuit
DCF-Combinational circuitDCF-Combinational circuit
DCF-Combinational circuit
 
Types of encoders and decoders with truth tables
Types of encoders and decoders with truth tablesTypes of encoders and decoders with truth tables
Types of encoders and decoders with truth tables
 
Encoder and decoder
Encoder and decoderEncoder and decoder
Encoder and decoder
 
digital electronics..
digital electronics..digital electronics..
digital electronics..
 
Convolution codes - Coding/Decoding Tree codes and Trellis codes for multiple...
Convolution codes - Coding/Decoding Tree codes and Trellis codes for multiple...Convolution codes - Coding/Decoding Tree codes and Trellis codes for multiple...
Convolution codes - Coding/Decoding Tree codes and Trellis codes for multiple...
 
UNIT3.3.pdf
UNIT3.3.pdfUNIT3.3.pdf
UNIT3.3.pdf
 
Combinational Circuits PPT.pdf
Combinational Circuits PPT.pdfCombinational Circuits PPT.pdf
Combinational Circuits PPT.pdf
 
Digital VLSI - Unit 2.pptx
Digital VLSI - Unit 2.pptxDigital VLSI - Unit 2.pptx
Digital VLSI - Unit 2.pptx
 
FYBSC IT Digital Electronics Unit IV Chapter I Multiplexer, Demultiplexer, AL...
FYBSC IT Digital Electronics Unit IV Chapter I Multiplexer, Demultiplexer, AL...FYBSC IT Digital Electronics Unit IV Chapter I Multiplexer, Demultiplexer, AL...
FYBSC IT Digital Electronics Unit IV Chapter I Multiplexer, Demultiplexer, AL...
 

More from GulAhmad16

ch....ppt.pptcnvcxzzvvvbnjgggddblovbncds
ch....ppt.pptcnvcxzzvvvbnjgggddblovbncdsch....ppt.pptcnvcxzzvvvbnjgggddblovbncds
ch....ppt.pptcnvcxzzvvvbnjgggddblovbncdsGulAhmad16
 
Ch1_pptnngnggnmgfhhghjfbjithjggbddhktd.ppt
Ch1_pptnngnggnmgfhhghjfbjithjggbddhktd.pptCh1_pptnngnggnmgfhhghjfbjithjggbddhktd.ppt
Ch1_pptnngnggnmgfhhghjfbjithjggbddhktd.pptGulAhmad16
 
English collect-.pptx
English collect-.pptxEnglish collect-.pptx
English collect-.pptxGulAhmad16
 
Vitamin B12.pptx
Vitamin B12.pptxVitamin B12.pptx
Vitamin B12.pptxGulAhmad16
 
Life of girl-.pptx
Life of girl-.pptxLife of girl-.pptx
Life of girl-.pptxGulAhmad16
 
Semiconductor.pptx
Semiconductor.pptxSemiconductor.pptx
Semiconductor.pptxGulAhmad16
 
گلوبل منجمنټ
گلوبل منجمنټ گلوبل منجمنټ
گلوبل منجمنټ GulAhmad16
 
Electrical System Design transformer 4.pptx
Electrical System Design transformer 4.pptxElectrical System Design transformer 4.pptx
Electrical System Design transformer 4.pptxGulAhmad16
 

More from GulAhmad16 (14)

ch....ppt.pptcnvcxzzvvvbnjgggddblovbncds
ch....ppt.pptcnvcxzzvvvbnjgggddblovbncdsch....ppt.pptcnvcxzzvvvbnjgggddblovbncds
ch....ppt.pptcnvcxzzvvvbnjgggddblovbncds
 
Ch1_pptnngnggnmgfhhghjfbjithjggbddhktd.ppt
Ch1_pptnngnggnmgfhhghjfbjithjggbddhktd.pptCh1_pptnngnggnmgfhhghjfbjithjggbddhktd.ppt
Ch1_pptnngnggnmgfhhghjfbjithjggbddhktd.ppt
 
English collect-.pptx
English collect-.pptxEnglish collect-.pptx
English collect-.pptx
 
Vitamin B12.pptx
Vitamin B12.pptxVitamin B12.pptx
Vitamin B12.pptx
 
Life of girl-.pptx
Life of girl-.pptxLife of girl-.pptx
Life of girl-.pptx
 
COVALENT.pptx
COVALENT.pptxCOVALENT.pptx
COVALENT.pptx
 
Semi.pptx
Semi.pptxSemi.pptx
Semi.pptx
 
Semiconductor.pptx
Semiconductor.pptxSemiconductor.pptx
Semiconductor.pptx
 
Ver2.ppt
Ver2.pptVer2.ppt
Ver2.ppt
 
11.ppt
11.ppt11.ppt
11.ppt
 
گلوبل منجمنټ
گلوبل منجمنټ گلوبل منجمنټ
گلوبل منجمنټ
 
chap02.ppt
chap02.pptchap02.ppt
chap02.ppt
 
Electrical System Design transformer 4.pptx
Electrical System Design transformer 4.pptxElectrical System Design transformer 4.pptx
Electrical System Design transformer 4.pptx
 
chap01.ppt
chap01.pptchap01.ppt
chap01.ppt
 

Recently uploaded

VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and usesDevarapalliHaritha
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxDeepakSakkari2
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝soniya singh
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.eptoze12
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLDeelipZope
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 

Recently uploaded (20)

VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and uses
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptx
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCL
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 

Chapter 4 combinational circuit

  • 1. Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Chapter 4 – Combinational Functions and Circuits Logic and Computer Design Fundamentals
  • 2. Chapter 4 2 Overview  Functions and functional blocks  Rudimentary logic functions  Decoding  Encoding  Selecting  Implementing Combinational Functions Using: • Decoders and OR gates • Multiplexers (and inverter) • ROMs • PLAs • PALs • Lookup Tables
  • 3. Chapter 4 3 Functions and Functional Blocks  The functions considered are those found to be very useful in design  Corresponding to each of the functions is a combinational circuit implementation called a functional block.  In the past, many functional blocks were implemented as SSI, MSI, and LSI circuits.  Today, they are often simply parts within a VLSI circuits.
  • 4. Chapter 4 4 Rudimentary Logic Functions  Functions of a single variable X  Can be used on the inputs to functional blocks to implement other than the block’s intended function 0 1 F 5 0 F 5 1 (a) F 5 0 F 5 1 VCC or VDD (b) X F 5 X (c) X F 5 X (d) TABLE 4-1 Functions ofOne Variable X F = 0 F = X F = F = 1 0 1 0 0 0 1 1 0 1 1 X
  • 5. Chapter 4 5 Multiple-bit Rudimentary Functions  Multi-bit Examples:  A wide line is used to represent a bus which is a vector signal  In (b) of the example, F = (F3, F2, F1, F0) is a bus.  The bus can be split into individual bits as shown in (b)  Sets of bits can be split from the bus as shown in (c) for bits 2 and 1 of F.  The sets of bits need not be continuous as shown in (d) for bits 3, 1, and 0 of F. F (d) 0 F3 1 F2 F1 A F0 (a) 0 1 A 1 2 3 4 F 0 (b) 4 2:1 F(2:1) 2 F (c) 4 3,1:0 F(3), F(1:0) 3 A A
  • 6. Chapter 4 6 Enabling Function  Enabling permits an input signal to pass through to an output  Disabling blocks an input signal from passing through to an output, replacing it with a fixed value  The value on the output when it is disable can be Hi-Z (as for three-state buffers and transmission gates), 0 , or 1  When disabled, 0 output  When disabled, 1 output  See Enabling App in text X F EN (a) EN X F (b)
  • 7. Chapter 4 7  Decoding - the conversion of an n-bit input code to an m-bit output code with n m  2n such that each valid code word produces a unique output code  Circuits that perform decoding are called decoders  Here, functional blocks for decoding are • called n-to-m line decoders, where m  2n, and • generate 2n (or fewer) minterms for the n input variables Decoding
  • 8. Chapter 4 8  1-to-2-Line Decoder  2-to-4-Line Decoder  Note that the 2-4-line made up of 2 1-to-2- line decoders and 4 AND gates. Decoder Examples A D0 D1 0 1 0 1 0 1 (a) (b) D1 5 A A D0 5 A A1 0 0 1 1 A0 0 1 0 1 D0 1 0 0 0 D1 0 1 0 0 D2 0 0 1 0 D3 0 0 0 1 (a) D0 5 A1 A0 D1 5 A1 A0 D2 5 A1 A0 D3 5 A1 A0 (b) A 1 A 0
  • 9. Chapter 4 9 Decoder Expansion  General procedure given in book for any decoder with n inputs and 2n outputs.  This procedure builds a decoder backward from the outputs.  The output AND gates are driven by two decoders with their numbers of inputs either equal or differing by 1.  These decoders are then designed using the same procedure until 2-to-1-line decoders are reached.  The procedure can be modified to apply to decoders with the number of outputs ≠ 2n
  • 10. Chapter 4 10 Decoder Expansion - Example 1  3-to-8-line decoder • Number of output ANDs = 8 • Number of inputs to decoders driving output ANDs = 3 • Closest possible split to equal  2-to-4-line decoder  1-to-2-line decoder • 2-to-4-line decoder  Number of output ANDs = 4  Number of inputs to decoders driving output ANDs = 2  Closest possible split to equal • Two 1-to-2-line decoders  See next slide for result
  • 11. Chapter 4 11 Decoder Expansion - Example 1  Result
  • 12. Chapter 4 12 Decoder Expansion - Example 2  7-to-128-line decoder • Number of output ANDs = 128 • Number of inputs to decoders driving output ANDs = 7 • Closest possible split to equal  4-to-16-line decoder  3-to-8-line decoder • 4-to-16-line decoder  Number of output ANDs = 16  Number of inputs to decoders driving output ANDs = 2  Closest possible split to equal • 2 2-to-4-line decoders • Complete using known 3-8 and 2-to-4 line decoders
  • 13. Chapter 4 13  In general, attach m-enabling circuits to the outputs  See truth table below for function • Note use of X’s to denote both 0 and 1 • Combination containing two X’s represent four binary combinations  Alternatively, can be viewed as distributing value of signal EN to 1 of 4 outputs  In this case, called a demultiplexer EN A 1 A 0 D0 D1 D2 D3 (b) EN A1 A0 D0 D1 D2 D3 0 1 1 1 1 X 0 0 1 1 X 0 1 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 (a) Decoder with Enable
  • 14. Chapter 4 14 Encoding  Encoding - the opposite of decoding - the conversion of an m-bit input code to a n-bit output code with n  m  2n such that each valid code word produces a unique output code  Circuits that perform encoding are called encoders  An encoder has 2n (or fewer) input lines and n output lines which generate the binary code corresponding to the input values  Typically, an encoder converts a code containing exactly one bit that is 1 to a binary code corres- ponding to the position in which the 1 appears.
  • 15. Chapter 4 15 Encoder Example  A decimal-to-BCD encoder • Inputs: 10 bits corresponding to decimal digits 0 through 9, (D0, …, D9) • Outputs: 4 bits with BCD codes • Function: If input bit Di is a 1, then the output (A3, A2, A1, A0) is the BCD code for i,  The truth table could be formed, but alternatively, the equations for each of the four outputs can be obtained directly.
  • 16. Chapter 4 16 Encoder Example (continued)  Input Di is a term in equation Aj if bit Aj is 1 in the binary value for i.  Equations: A3 = D8 + D9 A2 = D4 + D5 + D6 + D7 A1 = D2 + D3 + D6 + D7 A0 = D1 + D3 + D5 + D7 + D9  F1 = D6 + D7 can be extracted from A2 and A1 Is there any cost saving?
  • 17. Chapter 4 17 Priority Encoder  If more than one input value is 1, then the encoder just designed does not work.  One encoder that can accept all possible combinations of input values and produce a meaningful result is a priority encoder.  Among the 1s that appear, it selects the most significant input position (or the least significant input position) containing a 1 and responds with the corresponding binary code for that position.
  • 18. Chapter 4 18 Priority Encoder Example  Priority encoder with 5 inputs (D4, D3, D2, D1, D0) - highest priority to most significant 1 present - Code outputs A2, A1, A0 and V where V indicates at least one 1 present.  Xs in input part of table represent 0 or 1; thus table entries correspond to product terms instead of minterms. The column on the left shows that all 32 minterms are present in the product terms in the table No. of Min- terms/Row Inputs Outputs D4 D3 D2 D1 D0 A2 A1 A0 V 1 0 0 0 0 0 X X X 0 1 0 0 0 0 1 0 0 0 1 2 0 0 0 1 X 0 0 1 1 4 0 0 1 X X 0 1 0 1 8 0 1 X X X 0 1 1 1 16 1 X X X X 1 0 0 1
  • 19. Chapter 4 19 Priority Encoder Example (continued)  Could use a K-map to get equations, but can be read directly from table and manually optimized if careful: A2 = D4 A1 = D3 + D2 = F1, F1 = (D3 + D2) A0 = D3 + D1 = (D3 + D1) V = D4 + F1 + D1 + D0 D4 D3 D4 D4 D4 D3 D4 D2 D4 D2
  • 20. Chapter 4 20  Selecting of data or information is a critical function in digital systems and computers  Circuits that perform selecting have: • A set of information inputs from which the selection is made • A single output • A set of control lines for making the selection  Logic circuits that perform selecting are called multiplexers  Selecting can also be done by three-state logic or transmission gates Selecting
  • 21. Chapter 4 21 Multiplexers  A multiplexer selects information from an input line and directs the information to an output line  A typical multiplexer has n control inputs (Sn - 1, … S0) called selection inputs, 2n information inputs (I2 n - 1, … I0), and one output Y  A multiplexer can be designed to have m information inputs with m <2n as well as n selection inputs
  • 22. Chapter 4 22 2-to-1-Line Multiplexer  Since 2 = 21, n = 1  The single selection variable S has two values: • S = 0 selects input I0 • S = 1 selects input I1  The equation: Y = I0 + SI1  The circuit: S S I0 I1 Decoder Enabling Circuits Y
  • 23. Chapter 4 23 2-to-1-Line Multiplexer (continued)  Note the regions of the multiplexer circuit shown: • 1-to-2-line Decoder • 2 Enabling circuits • 2-input OR gate  To obtain a basis for multiplexer expansion, we combine the Enabling circuits and OR gate into a 2  2 AND-OR circuit: • 1-to-2-line decoder • 2  2 AND-OR  In general, for an 2n-to-1-line multiplexer: • n-to-2n-line decoder • 2n  2 AND-OR
  • 24. Chapter 4 24 Example: 4-to-1-line Multiplexer  2-to-22-line decoder  22  2 AND-OR S1 Decoder S0 Y S1 Decoder S0 Y S1 Decoder 4 3 2 AND-OR S0 Y I2 I3 I1 I0
  • 25. Chapter 4 25 Multiplexer Width Expansion  Select “vectors of bits” instead of “bits”  Use multiple copies of 2n  2 AND-OR in parallel  Example: 4-to-1-line quad multi- plexer
  • 26. Chapter 4 26 Other Selection Implementations  Three-state logic in place of AND-OR  Gate input cost = 14 compared to 22 (or 18) for gate implementation I0 I1 I2 I3 S1 S0 (b) Y
  • 27. Chapter 4 27 Other Selection Implementations  Transmission Gate Multiplexer  Gate input cost = 8 compared to 14 for 3-state logic and 18 or 22 for gate logic S0 S1 I0 I1 I2 I3 Y TG (S0 5 0) TG (S1 5 0) TG (S1 5 1) TG (S0 5 1) TG (S0 5 0) TG (S0 5 1)
  • 28. Chapter 4 28 Combinational Function Implementation  Alternative implementation techniques: • Decoders and OR gates • Multiplexers (and inverter) • ROMs • PLAs • PALs • Lookup Tables  Can be referred to as structured implementation methods since a specific underlying structure is assumed in each case
  • 29. Chapter 4 29 Decoder and OR Gates  Implement m functions of n variables with: • Sum-of-minterms expressions • One n-to-2n-line decoder • m OR gates, one for each output  Approach 1: • Find the truth table for the functions • Make a connection to the corresponding OR from the corresponding decoder output wherever a 1 appears in the truth table  Approach 2 • Find the minterms for each output function • OR the minterms together
  • 30. Chapter 4 30 Decoder and OR Gates Example  Implement the following set of odd parity functions of (A7, A6, A5, A3) P1 = A7 A5 A3 P2 = A7 A6 A3 P4 = A7 A6 A5  Finding sum of minterms expressions P1 = Sm(1,2,5,6,8,11,12,15) P2 = Sm(1,3,4,6,8,10,13,15) P4 = Sm(2,3,4,5,8,9,14,15)  Find circuit  Is this a good idea? + + + + + + 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 A7 A6 A5 A4 P1 P4 P2
  • 31. Chapter 4 31 Multiplexer Approach 1  Implement m functions of n variables with: • Sum-of-minterms expressions • An m-wide 2n-to-1-line multiplexer  Design: • Find the truth table for the functions. • In the order they appear in the truth table:  Apply the function input variables to the multiplexer inputs Sn - 1, … , S0  Label the outputs of the multiplexer with the output variables • Value-fix the information inputs to the multiplexer using the values from the truth table (for don’t cares, apply either 0 or 1)
  • 32. Chapter 4 32 Example: Gray to Binary Code  Design a circuit to convert a 3-bit Gray code to a binary code  The formulation gives the truth table on the right  It is obvious from this table that X = C and the Y and Z are more complex Gray A B C Binary x y z 0 0 0 0 0 0 1 0 0 0 0 1 1 1 0 0 1 0 0 1 0 0 1 1 0 1 1 1 0 0 1 1 1 1 0 1 1 0 1 1 1 0 0 0 1 1 1 1
  • 33. Chapter 4 33 Gray to Binary (continued)  Rearrange the table so that the input combinations are in counting order  Functions y and z can be implemented using a dual 8-to-1-line multiplexer by: • connecting A, B, and C to the multiplexer select inputs • placing y and z on the two multiplexer outputs • connecting their respective truth table values to the inputs Gray A B C Binary x y z 0 0 0 0 0 0 0 0 1 1 1 1 0 1 0 0 1 1 0 1 1 1 0 0 1 0 0 0 0 1 1 0 1 1 1 0 1 1 0 0 1 0 1 1 1 1 0 1
  • 34. Chapter 4 34  Note that the multiplexer with fixed inputs is identical to a ROM with 3-bit addresses and 2-bit data! Gray to Binary (continued) D04 D05 D06 D07 S1 S0 A B S2 D03 D02 D01 D00 Out C D14 D15 D16 D17 S1 S0 A B S2 D13 D12 D11 D10 Out C 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 Y Z 8-to-1 MUX 8-to-1 MUX
  • 35. Chapter 4 35 Multiplexer Approach 2  Implement any m functions of n + 1 variables by using: • An m-wide 2n-to-1-line multiplexer • A single inverter  Design: • Find the truth table for the functions. • Based on the values of the first n variables, separate the truth table rows into pairs • For each pair and output, define a rudimentary function of the final variable (0, 1, X, ) • Using the first n variables as the index, value-fix the information inputs to the multiplexer with the corresponding rudimentary functions • Use the inverter to generate the rudimentary function X X
  • 36. Chapter 4 36 Example: Gray to Binary Code  Design a circuit to convert a 3-bit Gray code to a binary code  The formulation gives the truth table on the right  It is obvious from this table that X = C and the Y and Z are more complex Gray A B C Binary x y z 0 0 0 0 0 0 1 0 0 0 0 1 1 1 0 0 1 0 0 1 0 0 1 1 0 1 1 1 0 0 1 1 1 1 0 1 1 0 1 1 1 0 0 0 1 1 1 1
  • 37. Chapter 4 37 Gray to Binary (continued)  Rearrange the table so that the input combinations are in counting order, pair rows, and find rudimentary functions Gray A B C Binary x y z Rudimentary Functions of C for y Rudimentary Functions of C for z 0 0 0 0 0 0 0 0 1 1 1 1 0 1 0 0 1 1 0 1 1 1 0 0 1 0 0 0 0 1 1 0 1 1 1 0 1 1 0 0 1 0 1 1 1 1 0 1 F = C F = C F = C F = C F = C F = C F = C F = C
  • 38. Chapter 4 38  Assign the variables and functions to the multiplexer inputs:  Note that this approach (Approach 2) reduces the cost by almost half compared to Approach 1.  This result is no longer ROM-like  Extending, a function of more than n variables is decomposed into several sub-functions defined on a subset of the variables. The multiplexer then selects among these sub-functions. Gray to Binary (continued) S1 S0 A B D03 D02 D01 D00 Out Y 8-to-1 MUX C C C C D13 D12 D11 D10 Out Z 8-to-1 MUX S1 S0 A B C C C C C C
  • 39. Chapter 4 39 Read Only Memory  Functions are implemented by storing the truth table  Other representations such as equations more convenient  Generation of programming information from equations usually done by software  Text Example 4-10 Issue • Two outputs are generated outside of the ROM • In the implementation of the system, these two functions are “hardwired” and even if the ROM is reprogrammable or removable, cannot be corrected or updated
  • 40. Chapter 4 40 Programmable Array Logic  There is no sharing of AND gates as in the ROM and PLA  Design requires fitting functions within the limited number of ANDs per OR gate  Single function optimization is the first step to fitting  Otherwise, if the number of terms in a function is greater than the number of ANDs per OR gate, then factoring is necessary
  • 41. Chapter 4 41 Product term AND Inputs Outputs A B C D W 1 2 3 W = C 4 5 6 F1 = X = A + B + W 7 8 9 10 11 12 — — — — — — — — — — — — — — — AB C + ABC F2 = Y = AB + BC +AC BC A 1 0 — 0 1 — 0 0 — — — — — — 1 — — 0 1 0 1 1 1 — — — — — — — 1 — 1 1 1 — — 1 1 — — — — — —  Equations: F1 = A + B + C + ABC F2 = AB + BC + AC  F1 must be factored since four terms  Factor out last two terms as W A B B C C A Programmable Array Logic Example
  • 42. Chapter 4 42 Programmable Array Logic Example X X X X X X X X X X X X X X X X X X X AND gates inputs A C W Product term 1 2 3 4 5 6 7 8 9 10 11 12 A B C D W F1 F2 All fuses intact (always 5 0) X Fuse intact X A B B C D D W A C W A B B C D D W 1 Fuse blown
  • 43. Chapter 4 43 Programmable Logic Array  The set of functions to be implemented must fit the available number of product terms  The number of literals per term is less important in fitting  The best approach to fitting is multiple-output, two- level optimization (which has not been discussed)  Since output inversion is available, terms can implement either a function or its complement  For small circuits, K-maps can be used to visualize product term sharing and use of complements  For larger circuits, software is used to do the optimization including use of complemented functions
  • 44. Chapter 4 44 Programmable Logic Array Example  K-map specification  How can this be implemented with four terms?  Complete the programming table Outputs 1 2 3 4 F2 1 1 – 1 AB AC BC Inputs – 1 1 C 1 1 – A 1 – 1 B PLA programming table (T) F1 ( ) Product term F1 5 A BC + A B C + A B C F1 5 AB + AC + BC + A B C 0 C 0 1 0 1 0 0 00 01 11 10 BC A 0 B 1 1 A 0 C 0 1 0 1 1 00 01 11 10 BC A 1 B 0 1 A F2 5 AB + AC + BC F2 5 AC + AB + BC 0
  • 45. Chapter 4 45 Programmable Logic Array Example X Fuse intact 1 Fuse blown 0 1 F1 F2 A B C C B A C B A 1 2 4 3 X X X X X X X X X X X X X X X X X X
  • 46. Chapter 4 46 Lookup Tables  Lookup tables are used for implementing logic in Field-Programmable Gate Arrays (FPGAs) and Complex Logic Devices (CPLDs)  Lookup tables are typically small, often with four inputs, one output, and 16 entries  Since lookup tables store truth tables, it is possible to implement any 4-input function  Thus, the design problem is how to optimally decompose a set of given functions into a set of 4-input two- level functions.  We will illustrate this by a manual attempt
  • 47. Chapter 4 47 Lookup Table Example  Equations to be implemented: F1(A,B,C,D,E) = A D E + B D E + C D E F2(A,B,D,E,F) = A E D + B D E + F D E  Extract 4-input function: F3(A,B,D,E) = A D E + B D E F1(C,D,E,F3) = F3 + C D E F2(D,E,F,F3) = F3 + F D E  The cost of the solution is 3 lookup tables
  • 48. Chapter 4 48 Terms of Use  © 2004 by Pearson Education,Inc. All rights reserved.  The following terms of use apply in addition to the standard Pearson Education Legal Notice.  Permission is given to incorporate these materials into classroom presentations and handouts only to instructors adopting Logic and Computer Design Fundamentals as the course text.  Permission is granted to the instructors adopting the book to post these materials on a protected website or protected ftp site in original or modified form. All other website or ftp postings, including those offering the materials for a fee, are prohibited.  You may not remove or in any way alter this Terms of Use notice or any trademark, copyright, or other proprietary notice, including the copyright watermark on each slide.  Return to Title Page