Uploaded by jermart

Chapter 4

advertisement
Chapter 4
<latexit sha1_base64="G9+rEvjSfUsWSo6fmqkc1VFvCJ4=">AAAB+nicbVBNS8NAEN3Ur1q/oh69LBbBU0mkoHgq9OKxgrWFNpTNdtou3WzC7qRYQv+JFw8K4tVf4s1/47bNQVsfDDzem2FmXphIYdDzvp3CxubW9k5xt7S3f3B45B6fPJo41RyaPJaxbofMgBQKmihQQjvRwKJQQisc1+d+awLaiFg94DSBIGJDJQaCM7RSz3W7CE+Y1UcsQdC0Ouu5Za/iLUDXiZ+TMsnR6Llf3X7M0wgUcsmM6fhegkHGNAouYVbqpgYSxsdsCB1LFYvABNni8hm9sEqfDmJtSyFdqL8nMhYZM41C2xkxHJlVby7+53VSHNwEmVBJiqD4ctEglRRjOo+B9oUGjnJqCeNa2FspHzHNuE3BlGwI/urL66R1VfGrFd+/r5Zrt3keRXJGzskl8ck1qZE70iBNwsmEPJNX8uZkzovz7nwsWwtOPnNK/sD5/AEETJOw</latexit>
4.1 Introduction
• Logic circuits for digital systems may be combinational or sequential.
• A combinational circuit consists of logic gates whose outputs at any
time are determined from only the present combination of inputs.
• Sequential circuits employ storage elements in addition to logic gates.
Their outputs are a function of the inputs and the state of the storage
elements.
• The outputs of a sequential circuit depend not only on present values of
inputs, but also on past inputs.
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
2
4.2 Combinational Circuits
• A combinational circuit consists of input variables, logic gates, and
output variables.
• Each input and output variable exists physically as an analog signal
whose values are interpreted to be a binary signal that represents logic
1 and logic 0.
• In this chapter, we introduce standard combinational circuits, such as
adders, subtractors, comparators, decoders, encoders, and multiplexers.
Figure 4.1. Block diagram of combinational circuit.
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
3
4.3 Analysis Procedure
• The analysis of a combinational circuit requires that we determine the
function that the circuit implements.
• The first step in the analysis is to make sure that the given circuit is
combinational and not sequential.
• The diagram of a combinational circuit has logic gates with no
feedback paths or memory elements.
Figure 4.1. Block diagram of combinational circuit.
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
4
4.3 Analysis of Combinational Circuits
• To obtain the output Boolean functions from a logic diagram, proceed
as follows:
1. Label all gate outputs that are a function of input variables with arbitrary symbols.
Determine the Boolean functions for each gate output.
2. Label the gates that are a function of input variables and previously labeled gates
with other arbitrary symbols. Find the Boolean functions for these gates.
3. Repeat the process outlined in step 2 until the outputs of the circuit are obtained.
4. By repeated substitution of previously defined functions, obtain the output
Boolean functions in terms of input variables.
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
5
4.3 Example
• The Boolean function for the following circuit is as follows:
F2 =
T1 =
T2 =
T3 =
F1 =
Figure 4.2. Logic diagram for analysis example.
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
6
4.3 Example
• We can directly derive the truth table in Table 4-1 by using the circuit
Table 4.1
Truth Table for the Logic Diagram of Fig. 4.2.
Figure 4.2 Logic diagram for analysis example.
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
7
4.4 Design Procedure
• Design procedure involves the following steps:
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
8
4.4 Design Procedure – Example
• Code Conversion
• Input/Output ?
Table 4.2
Truth Table for Code Conversion Example
• Simplification ?
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
9
4.4 Design Procedure – Example
• Code Conversion
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
10
4.4 Design Procedure – Example
• Code Conversion
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
11
4.4 Design Procedure – Example
• Code Conversion - Logic Diagram
• Test
Figure 4.4 Logic diagram for BCD-to-excess-3 code converter.
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
12
4.5 Binary Adder/Subtractor − Half adder
• A combinational circuit that performs the addition of two bits is called
a half adder.
• Table 4.3 shows the truth table that contains all four possible
outcomes of the half adder
• S: Sum, and C: Carry
-C=xy
- S = x′ y + x y ′
A. Behfarnia
Table 4.3 Half Adder
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
13
4.5 Binary Adder/Subtractor − Half adder
• Logic Diagram of half adder
Figure 4.5 Implementation of half adder
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
14
4.5 Binary Adder/Subtractor − Full adder
• A full adder is a combinational circuit that forms the arithmetic sum of three bits. It
consists of three inputs and two outputs.
• Two of the input variables, denoted by x and y, represent the two significant bits to
be added. The third input, z, represents the carry from the previous lower
significant position.
• Two outputs are necessary because the arithmetic sum of three binary digits ranges
in value from 0 to 3.
• The two outputs are designated by the symbols S for sum and C for carry.
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
15
4.5 Binary Adder/Subtractor − Full adder
• The Truth Table of Full Adder is listed as follows:
Table 4.4 Full Adder
• Simplification: K-Map
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
16
4.5 Binary Adder/Subtractor − Full adder
• Implementation with AND / OR gates:
S = x′ y ′ z + x′ y z′ + x y′ z′ + x y z
C=xy+xz+yz
Figure 4.7 Implementation of full adder in sum-of-products form
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
17
4.5 Binary Adder/Subtractor − Full adder
• Full-adder can be also implemented with two half adders and one OR gate.
Figure 4.8 Implementation of full adder with two half adders and an OR gate
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
18
4.5 Binary Adder/Subtractor − Full adder
• Test
• Block Diagram
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
19
4.5 Binary Adder/Subtractor − Binary Adder
• A binary adder is a digital circuit that produces the arithmetic sum of two binary
numbers.
• An n-bit adder requires n full adders, with each output carry connected to the input
carry of the next higher order full adder.
Example: A + B = ?
A = (1011)2 , B = (0011)2
Figure 4.9 Four-bit adder
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
20
4.5 Binary Adder/Subtractor − Carry Propagation
• In combinational circuits, the signal must propagate through the gates before the
correct output sum is available in the output terminals.
• The signal from Ci to the output carry Ci+1, propagates through an AND and OR
gates, so, for an n-bit numbers, there are 2n gate levels for the carry to propagate
from input to output.
• Since each bit of the sum output depends on the value of the input carry, the value
of Si at any given stage in the adder will be in its steady-state final value only after
the input carry to that stage has been propagated.
Figure 4.10 Full adder with P and G shown
A. Behfarnia
Figure 4.9 Four-bit adder
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
21
4.5 Binary Adder/Subtractor − Carry Propagation
• In order to solve the problem, we can employ carry look-ahead technique which is one of the
most widely used techniques to improve the speed of the full adder.
- Pi = Ai ⊕ Bi
- Gi = Ai Bi
steady state value
steady state value
Output sum and carry
- Si = Pi ⊕ Ci
- Ci+1 = Gi + Pi Ci
Gi : carry generate
Pi : carry propagate
- C0 = input carry
- C1 = G0 + P0C0
- C2 = G1 + P1C1 = G1 + P1G0 + P1P0C0
- C3 = G2 + P2C2 = G2 + P2G1 + P2P1G0 + P2P1P0C0
• C3 does not have to wait for C2 and C1 to propagate
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
22
4.5 Binary Adder/Subtractor − Carry Propagation
• C3 is propagated at the same time as C2 and C1.
Figure 4.11 Logic diagram of carry lookahead generator
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
23
4.5 Binary Adder/Subtractor − Carry Propagation
• Implementation of Carry Lookahead generator
Figure 4.12 Four-bit adder with carry lookahead.
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
24
4.5 Binary Adder/Subtractor − Binary Subtractor
• The subtraction of unsigned binary numbers can be done most conveniently by means
of complements, as discussed in Section 1.5 (Slide 17-20 Chapter 1).
• Remember that the subtraction A - B can be done by taking the 2’s complement of B
and adding it to A.
• Reminder − Example: Given X = 1010100, and Y = 1000011
Q1) X – Y?
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
25
4.5 Binary Adder/Subtractor − Binary Subtractor
• The operation of the 1’s complement can be implemented by XOR. How?
i) x Å 1 = x′
ii) x Å 0 = x
• We know that
2’s complement = 1’s complement + 1;
In this regard, we assign 1 to C0.
M = 1 → Subtractor
M = 0 → Adder
Figure 4.13 Four-bit adder–subtractor (with overflow detection)
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
26
4.5 Binary Adder/Subtractor − Binary Subtractor
• Computers need only one common hardware circuit to handle both types of arithmetic,
i.e., addition/subtraction.
• When two unsigned numbers are added, an overflow is detected from the end carry
out of the MSB position.
• When two signed
added, the sign bit
part of the number
carry does not
overflow.
numbers are
is treated as
and the end
indicate an
• An overflow may occur if the two
numbers added are both positive
or both negative.
Figure 4.13 Four-bit adder–subtractor (with overflow detection)
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
27
4.6 Decimal Adder− BCD Adder
• Consider the arithmetic addition of two decimal digits in BCD, together with an
input carry from a previous stage.
• Since each input digit does not exceed 9, the output sum cannot be greater than 19
i.e., 9 + 9 + 1.
• The addition of binary 6 (0110) to the binary sum converts it to the correct BCD
representation and also produces an output carry as required.
• The problem is to find a rule by which the binary sum is converted to the correct
BCD digit representation of the number in the BCD sum.
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
28
4.6 Decimal Adder− BCD Adder
• Let’s obtain the rule through the following
Truth Table. In other words, How do I
know when to add 6 to the Binary sum?
Table 4.5 Derivation of BCD Adder
• C = Z8 Z2 + Z8 Z4 + K
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
29
4.6 Decimal Adder− BCD Adder
C = Z8Z2 + Z8Z4 + K
Figure 4.14 Block diagram of a BCD adder
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
30
4.7 Binary Multiplier
• Multiplication of binary numbers is performed in the same way as multiplication of
decimal numbers.
• Usually there are more bits in the
partial products and it is necessary
to use full adders to produce the
sum of the partial products.
Figure 4.15 Two-bit by two-bit binary multiplier
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
31
4.7 Binary Multiplier
• For J multiplier bits and K multiplicand bits we
need J × K AND gates and (J − 1) K-bit adders to
produce a product of J+K bits.
• K = 4 and J = 3, we need 12 AND gates and Two 4bit adders., that provides us with a product of 7 bits.
Figure 4.16 Four-bit by three-bit binary multiplier
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
32
4.8 Magnitude Comparator
• A magnitude comparator is a
combinational circuit that compares
two numbers A and B and determines
their relative magnitudes.
A = A3 A2 A1 A0
B = B3 B2 B1 B0
xi = Ai Bi + Ai′Bi′
i = 0, 1, 2, 3
(A = B) = x3x2x1x0
Figure 4.17 Four-bit magnitude comparator
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
33
4.8 Magnitude Comparator
• In order to find A > B Or B > A, we inspect
the relative magnitudes of pairs of MSB. If
equal, we compare the next lower significant
pair of digits until a pair of unequal digits is
reached.
• For example A = (1001)2, and B = (1010)2
(A > B) = A3B3′ + x3A2B2′ + x3x2A1B1′ + x3x2x1A0B0′
(A < B) = A3′B3 + x3A2′B2 + x3x2A1′B1 + x3x2x1A0′B0
Figure 4.17 Four-bit magnitude comparator
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
34
4.9 Decoders
• A decoder is a combinational circuit that
converts binary information from n input
lines to a maximum of 2n unique output
lines.
• For example in 3×8 decoder, for each
possible input combination, there are
seven outputs that are equal to 0 and only
one that is equal to 1.
Figure 4.18 Three-to-eight-line decoder
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
35
4.9 Decoders
Decoders using NAND Gates
• Some decoders are only constructed with NAND
gates, and it is more economical to generate the
decoder Minterms in their complemented form.
• As indicated by the truth table , only one output can
be equal to 0 at any given time, all other outputs are
equal to 1
• Enable can activate or deactivate the decoder.
Figure 4.19 Two-to-four-line decoder with
enable input.
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
36
4.9 Decoders
• Implementing 4-to-16 decoder using two 3-to-8 decoders.
Figure 4.20 4 x 16 decoder constructed with two 3 x 8 decoders
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
37
4.9 Decoders – Example
• Implementation of a Full Adder with a decoder
• From Table 4-4, we obtain the functions for the combinational circuit in sum of Minterms:
Table 4.4 Full Adder
Figure 4.21 Implementation of a full adder with a decoder
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
38
4.10 Encoders
• An encoder is a digital circuit that performs the inverse operation of a decoder.
• An encoder has 2n (or fewer) input lines and n output lines.
• We can derive the Boolean functions for the encoder by its Truth Table.
z = D1 + D3 + D5 + D7
y = D2 + D3 + D6 + D7
Table 4.7 Truth Table of an Octal-to-Binary Encoder
x = D4 + D5 + D6 + D7
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
39
4.10 Encoders – Ambiguities
There are two points regarding encoders:
1. If two inputs are active simultaneously, then the output produces an undefined
combination. We can establish an input priority to ensure that only one input is
encoded.
2. Another ambiguity in the octal-to-binary encoder is that an output with all 0’s is
generated when all the inputs are 0; the output is the same as when D0 is equal to 1.
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
40
4.10 Encoders – Priority Encoder
• We solve aforementioned ambiguities by designing Priority Encoder and adding one
more output.
• The operation of the priority encoder is such that if two or more inputs are equal to 1
at the same time, then the input having the highest priority will take precedence.
• The valid bit indicator is shown by V, and it will be set to 0 if all inputs are equal to
0. In other words:
Table 4.8 Truth Table of a Priority Encoder
V = 0 → No valid inputs
V = 1 → Valid inputs
• X’s
1. show don’t care condition
2. are useful for representing the truth table
in condensed form.
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
41
4.10 Encoders – Priority Encoder
• In order to obtain the circuit diagram for the priority encoder, we first need to have x,
y, and V.
• Let’s use K-Map to achieve x, and y.
Table 4.8 Truth Table of a Priority Encoder
Figure 4.22 Maps for a priority encoder
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
42
4.10 Encoders – Priority Encoder
• Implementation
x = D2 + D3
y = D3 + D1D2′
V = D0 + D1 + D2 + D3
Figure 4.23 Four-input priority encoder.
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
43
4.11 Multiplexers
• A multiplexer is a combinational circuit that selects binary information from one of
many input lines and directs it to a single output line. The selection of a particular
input line is controlled by a set of selection lines.
Figure 4.24 Two-to-one-line multiplexer
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
44
4.11 Multiplexers
• Implementing a 4-to-1multiplexer.
Figure 4.25 Four-to-one-line multiplexer.
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
45
4.11 Multiplexers
• Multiplexer circuits can be combined
with common selection inputs to provide
multiple-bit selection logic.
I0
I0
I1
Figure 4.26
Quadruple two-to-one-line multiplexer
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
46
4.11 Multiplexers – Boolean Function Implementation
• To implement a function with n variables, the first n - 1 variables of the function
are connected to the selection inputs of the multiplexer. The remaining single
variable of the function is used for the data inputs.
Example:
Implement F(x, y, z) = ∑ (1,2,6,7)
with Multiplexer.
Figure 4.27 Implementing a Boolean function with a multiplexer
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
47
4.11 Multiplexers – Boolean Function Implementation
• Example:
Implement F(A, B, C, D) = ∑ (1, 3, 4, 11, 12, 13, 14, 15) with Multiplexer.
Figure 4.28
Implementing a 4-input function with a MUX
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
48
4.11 Multiplexers – Three-State Gates
• A multiplexer can be constructed with three-state gates digital circuits that exhibit
three states. Two states are 0 and 1, and the other one is high impedance.
Figure 4.30 Multiplexers with three-state gates
A. Behfarnia
Based on Textbook: Digital Design, by Morris Mano. Publisher: Pearson Education
49
Thank you
50
Related documents
Download