Lecture 6

advertisement
CENG 241
Digital Design 1
Lecture 6
Amirali Baniasadi
[email protected]
Decimal adder
 When dealing with decimal numbers BCD code is used.
 A decimal adders requires at least 9 inputs and 5 outputs.
 BCD adder: each input does not exceed 9, the output can not exceed 19
 How are decimal numbers presented in BCD?
 Decimal
 9
 19

Binary
1001
10011
BCD
1001
(0001)(1001)
1
9
2
Decimal Adder
 Decimal numbers should be represented in binary code number.
 Example: BCD adder
 Suppose we apply two BCD numbers to a binary adder then:
 The result will be in binary and ranges from 0 through 19.
 Binary sum: K(carry) Z8 Z4 Z2 Z1
 BCD sum : C(carry) S8 S4 S2 S1




For numbers equal or less than 1001 binary and BCD are identical.
For numbers more than 1001, we should add 6(0110) to binary to get BCD.
example: 10011(binary) = 11001(BCD) =19
ADD 6 to correct.
3
BCD adder
Numbers that need correction (add 6) are:
01010 (10)
01011 (11)
01100 (12)
01101 (13)
01110 (14)
01111 (15)
10000 (16)
10001 (17)
10010 (18)
10011 (19)
Decides to add 6?
Adds 6
4
BCD adder
Numbers that need correction (add 6) are:
K Z8 Z4 Z2 Z1
0 1 0 1 0 (10)
0 1 0 1 1 (11)
0 1 1 0 0 (12)
0 1 1 0 1 (13)
0 1 1 1 0 (14)
0 1 1 1 1 (15)
1 0 0 0 0 (16)
1 0 0 0 1 (17)
1 0 0 1 0 (18)
1 0 0 1 1 (19)
C = K + Z8Z4 +Z8Z2
5
Magnitude Comparators
 Compares two numbers, determines their relative magnitude.
 We look at a 4-bit magnitude comparator;
 A=A3A2A1A0, B=B3B2B1B0
 Two numbers are equal if all bits are equal.
 A=B if A3=B3 AND A2=B2 AND A1=B1 AND A0=B0
 Xi= AiBi + Ai’Bi’ ; Ai=Bi
Xi=1 (remember exclusive NOR?)
6
Magnitude Comparators
 How do we know if A>B?




1.Compare bits starting from the most significant pair of digits
2.If the two are equal, compare the next lower significant bits
3.Continue until a pair of unequal digits are reached
4.Once the unequal digits are reached, A>B if Ai=1 and Bi=0, A<B if Ai=0
and Bi = 1
 A>B = A3B3’+X3A2B2’+X3X2A1B1’+X3X2X1A0B0’
 A<B = A3’B3+X3A2’B2+X3X2A1’B1+X3X2X1A0’B0
 Xi=1 if Ai=Bi
7
Magnitude Comparators
A3=B3 ?
X3A2’B2
8
Decoders
 A decoder converts binary information from n input lines to a maximum of
2n output lines
 Also known as n-to-m line decoders where m< 2n
 Example 3-to-8 decoders.
9
Decoders: Truth Table









X
0
0
0
0
1
1
1
1
Y
0
0
1
1
0
0
1
1
Z
0
1
0
1
0
1
0
1
D0
1
0
0
0
0
0
0
0
D1
0
1
0
0
0
0
0
0
D2
0
0
1
0
0
0
0
0
D3
0
0
0
1
0
0
0
0
D4
0
0
0
0
1
0
0
0
D5
0
0
0
0
0
1
0
0
D6
0
0
0
0
0
0
1
0
D7
0
0
0
0
0
0
0
1
10
Decoders: AND implementation
11
2-to-4 Decoder: NAND implementation
Decoder is enabled when E=0
12
How to build bigger decoders?
We can combine two 3-to-8 decoders to build a 4-to-16 decoder.
Generates from
0000 to 0111
Generates from
1000 to 1111
13
Combinational Logic implementation
 A decoder provides the 2n minterms of n input variables.
 Any function is can be expressed in sum of minterms.
 Use a decoder to make the minterms and an external OR gate to make the
sum.
 Example: consider a full adder.
 S(x,y,z) = Σ(1,2,4,7)
 C(x,y,z) = Σ (3,5,6,7)
14
Combinational Logic implementation
15
Encoders
 Encoders perform the inverse operation of a decoder:
 Encoders have 2n input lines and n output line.
 Output lines generate the binary code corresponding to the input value.
16
Encoders: Truth Table
Outputs










X
0
0
0
0
1
1
1
1
Y
0
0
1
1
0
0
1
1
Z
0
1
0
1
0
1
0
1
 z=D1+D3+D5+D7
Inputs
D0
1
0
0
0
0
0
0
0
D1
0
1
0
0
0
0
0
0
D2
0
0
1
0
0
0
0
0
D3
0
0
0
1
0
0
0
0
y=D2+D3+D6+D7
D4
0
0
0
0
1
0
0
0
D5
0
0
0
0
0
1
0
0
D6
0
0
0
0
0
0
1
0
D7
0
0
0
0
0
0
0
1
x=D4+D5+D6+D7
17
Priority Encoders





Encoder limitations:
If two inputs are active, the output is undefined.
Solution: we need to take into account priority.
What if all inputs are 0?
Solution: we need a valid bit







Input
D0 D1 D2
0
0
0
1
0
0
X
1
0
X
X
1
X
X
X
D3
0
0
0
0
1
x
X
0
0
1
1
Output
y
X
0
1
0
1
v
0
1
1
1
1
18
Priority Encoders: Map
19
Priority Encoders: Circuit
20
Multiplexers
 Multiplexer: selects one binary input from many selections
 example: 2-to-1 MUX
21
4-to-1 MUX
Directs 1 of the 4 inputs to the output
22
Multi-bit selection logic
 Multiplexers can be combined with common selection inputs to support
multi-bit selection logic
23
Implementing Boolean functions w/ MUX
 General rules for implementing any Boolean function with n variables:





Use a multiplexer with n-1 selection inputs and 2 n-1 data inputs
List the truth tabel
Apply the first n-1 variables to the selection inputs of multiplexer
For each combination evaluate the output as a function of the last variable.
The function can be 0, 1 the variable or the complement of the variable.
24
Implementing Boolean functions w/ MUX
25
Implementing Boolean functions w/ MUX
26
Summary
 Reading up to page 154
27
Download
Related flashcards

Functions and mappings

24 cards

Types of functions

21 cards

Mathematical analysis

32 cards

Functional analysis

24 cards

Complex analysis

23 cards

Create Flashcards