1. - كلية التربية المختلطة
Download
Report
Transcript 1. - كلية التربية المختلطة
وزارة التعليم العالي والبحث العلمي
كلية التربية – قسم علوم الحاسوب- جامعة الكوفة
Digital Logic Design I
Chapter 1
Digital Systems and Numbers System
Dr. Wissam Hasan Mahdi Alagele
e-mail:[email protected]
http://edu-clg.kufauniv.com/staff/Mr.Wesam
1
Outline of Chapter 1
1.1 Digital Systems
1.2 Number System
1.2.1 Decimal Numbers
1.2.2 Binary Numbers
1.2.3 Octal Numbers
1.2.4 Hexadecimal Numbers
1.3 Number-base Conversions
2
Analog and Digital Signal
Analog system
◦ The physical quantities or signals may vary continuously over a specified
range.
Digital system
◦ The physical quantities or signals can assume only discrete values.
◦ Greater accuracy
X(t)
X(t)
t
Analog signal
t
Digital signal
3
Binary Digital Signal
An information variable represented by physical quantity.
For digital systems, the variable takes on discrete values.
◦ Two level, or binary values are the most prevalent values.
Binary values are represented abstractly by:
◦ Digits 0 and 1
◦ Words (symbols) False (F) and True (T)
◦ Words (symbols) Low (L) and High (H) V(t)
◦ And words On and Off
Binary values are represented by values
or ranges of values of physical quantities.
Logic 1
undefine
Logic 0
t
Binary digital signal
4
Number System
Integers are normally written using positional number system, in which
each digit represents the coefficient in a power series
𝑁 = 𝑎𝑛−1 𝑟 𝑛−1 + 𝑎𝑛−2 𝑟 𝑛−2 + ⋯ + 𝑎2 𝑟 2 + 𝑎1 𝑟1 + 𝑎0
Where 𝑛 is the number of digit, 𝑟 is the radix or base and 𝑎𝑖 is the coefficient
0 ≤ 𝑎𝑖 < 𝑟
Ex.
4
3
2
1
0
97142= 9*10 +7 *10 +1 *10 +4*10 +2 *10
There are four systems of arithmetic which are often used in digital
circuits. These systems are:
decimal: it has a base (𝑟=10) and coefficients (𝑎) are in the range 0 to 9
binary: it has a base (𝑟=2) and coefficients (𝑎) are all either 0 or 1
octal : it has a base (𝑟=8) and coefficients (𝑎) are in the range 0 to 7
Hexadecimal: it has a base (𝑟=16) and coefficients (𝑎) are in the range
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F }
5
Decimal Number System
Base (also called radix) = 10
◦ 10 digits { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }
Digit Position
2
1
◦ Integer & fraction
5 1
Digit Weight
◦ Weight = (Base) Position
100 10
Magnitude
◦ Sum of “Digit x Weight”
500 10
Formal Notation
0
-1
-2
2
7 4
1
0.1 0.01
2
0.7 0.04
d2*B2+d1*B1+d0*B0+d-1*B-1+d-2*B-2
5 *102+1 *101+2 *100+7 *10-1+4 *10-2
(512.74)10
6
Binary Number System
Base = 2
◦ 2 digits { 0, 1 }, called binary digits or “bits”
Weights
4
2
1
1/2 1/4
Position
◦ Weight = (Base)
1 0 1
0 1
Magnitude
2
1
0
-1 -2
◦ Sum of “Bit x Weight”
2
1
0
-1
-2
1
*2
+0
*2
+1
*2
+0
*2
+1
*2
Formal Notation
=(5.25)10
Groups of bits
4 bits = Nibble
8 bits = Byte
(101.01)2
1011
11000101
7
Octal Number System
Base = 8
◦ 8 digits { 0, 1, 2, 3, 4, 5, 6, 7 }
64
8
1
1/8 1/64
Weights
5 1 2
7 4
◦ Weight = (Base) Position
Magnitude
2
1
0
-1 -2
2
1
0
-1
◦ Sum of “Digit x Weight”
5
*8
+1
*8
+2
*8
+7
*8
+4
*8
2
Formal Notation
=(330.9375)10
(512.74)8
8
Hexadecimal Number System
Base = 16
◦ 16 digits { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F }
Weights
1/16 1/256
256 16
1
◦ Weight = (Base) Position
1 E 5
7 A
Magnitude
2
1
0
-1 -2
◦ Sum of “Digit x Weight”
1 *162+14 *161+5 *160+7 *16-1+10 *16-2
Formal Notation
=(485.4765625)10
(1E5.7A)16
9
Number Base Conversions
Evaluate
Magnitude
Octal
(Base 8)
Evaluate
Magnitude
Decimal
(Base 10)
Binary
(Base 2)
Evaluate
Magnitude
Hexadecimal
(Base 16)
10
Decimal (Integer) to Binary Conversion
Divide the number by the ‘Base’ (=2)
Take the remainder (either 0 or 1) as a coefficient
Take the quotient and repeat the division
Example: (13)10
Quotient
13/ 2 =
6/2=
3/2=
1/2=
Answer:
6
3
1
0
Remainder
1
0
1
1
Coefficient
a0 = 1
a1 = 0
a2 = 1
a3 = 1
(13)10 = (a3 a2 a1 a0)2 = (1101)2
MSB
LSB
11
Decimal (Integer) to Binary Conversion
12
Decimal (Fraction) to Binary Conversion
Multiply the number by the ‘Base’ (=2)
Take the integer (either 0 or 1) as a coefficient
Take the resultant fraction and repeat the division
Example: (0.625)10
Integer
0.625 * 2 =
0.25 * 2 =
0.5
*2=
Answer:
1
0
1
Fraction
.
.
.
25
5
0
Coefficient
a-1 = 1
a-2 = 0
a-3 = 1
(0.625)10 = (0.a-1 a-2 a-3)2 = (0.101)2
MSB
LSB
13
Decimal to Binary Conversion
14
Table of binary equivalent decimal numbers
Decimal
Binary
Decimal
Binary
Decimal Binary
1
1
11
1011
21
10101
2
10
12
1100
22
10110
3
11
13
1101
23
10111
4
100
14
1110
24
11000
5
101
15
1111
25
11001
6
110
16
10000
26
11010
7
111
17
10001
27
11011
8
1000
18
10010
28
11100
9
1001
19
10011
29
11101
10
1010
20
10100
30
11110
15
Decimal to Octal Conversion
Example: (175)10
Quotient
175 / 8 =
21 / 8 =
2 /8=
Remainder
21
2
0
Answer:
Coefficient
a0 = 7
a1 = 5
a2 = 2
7
5
2
(175)10 = (a2 a1 a0)8 = (257)8
Example: (0.3125)10
Integer
0.3125 * 8 =
0.5
*8=
Answer:
2
4
Fraction
.
.
5
0
Coefficient
a-1 = 2
a-2 = 4
(0.3125)10 = (0.a-1 a-2 a-3)8 = (0.24)8
16
Decimal to Hexadecimal Conversion
Example: (1983)10
Quotient
Remainder
1983 / 16 = 123
123 / 16 =
7
7 / 16 =
0
Answer:
15
11
7
Coefficient
a0 = F
a1 = B
a2 = 7
(1983)10 = (a2 a1 a0)16 = (7BF)16
Example: (0.5625)10
Integer
0.5625 *16 =
Answer:
Fraction
9 . 0
Coefficient
a-1 = 9
(0.5625)10 = (0.a-1 a-2 a-3)16 = (0.9)16
17
Binary − Octal Conversion
8=
Each group of 3 bits
represents an octal digit
23
Example:
Assume Zeros
( 1 0 1 1 0 . 0 1 )2
( 2
6
. 2 )8
Octal
Binary
0
000
1
001
2
010
3
011
4
100
5
101
6
110
7
111
Works both ways (Binary to Octal & Octal to
Binary)
18
Binary − Hexadecimal Conversion
16 = 24
Each group of 4 bits represents a
hexadecimal digit
Example:
Assume Zeros
( 1 0 1 1 0 . 0 1 )2
(1
6
. 4 )16
Hex
Binary
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Works both ways (Binary to Hex & Hex to
Binary)
19
Octal − Hexadecimal Conversion
Convert to Binary as an intermediate step
Example:
( 2
6
.
2 )8
Assume Zeros
Assume Zeros
( 0 1 0 1 1 0 . 0 1 0 )2
(1
6
.
4 )16
Works both ways (Octal to Hex & Hex to Octal)
20
Decimal, Binary, Octal and Hexadecimal
Decimal
Binary
Octal
Hex
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
00
01
02
03
04
05
06
07
10
11
12
13
14
15
16
17
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
21
Tutorial Problems
Find the decimal equivalents of the following binary numbers:
(a) (101)2
(b) (1001)2
(c) (10.011)2
[(a) (5)10 (b) (9)10 (c) (3.0375)10]
What are the decimal equivalents of the following binary numbers ?
(a) (1111)2
(b) (10100)2
(c) (11011001)2
(d) (10011001)2
[(a) (15)10 (b) (20)10 (c) (109)10 (d) (153)10]
Express the following binary numbers into their equivalent decimal numbers :
(a) (11.01)2
(b) (101.11)2
(c) (110.01)2
[(a) (3.25)10 (b) (5.75)10 (c) (6.25)10]
Convert the following decimal numbers into their binary equivalents:
(a) (25)10
(b) (125)10
(c) (0.85)10
[ (a) (11001)2 (b) (1111101)2 (c) (0.110110)2]
What are the binary equivalents of the following decimal numbers ?
(a) (27)10
(b) (92)10
(c) (64)10
[(a) (11011)2 (b) (1011100)2 (c) (1000000)2]
Convert the following real numbers to the binary numbers:
(i) (12.0)10
(ii) (25.0)10
(iii) (0.125)10
[(i) (1100)2 (ii) (11001)2 (iii) (0.001)2]
22
Tutorial Problems
Convert the following numbers :
(a) (35)8 to decimal
(b) (6421)8 to decimal
(c) (1359)10 to octal
(d) (7777)10 to octal
[(a) (239)10 (b) (3345)10 (c) (2517)8 (d) (17141)8]
23
Addition
Decimal Addition
1
+
1
1
Carry
5
5
5
5
1
0
= Ten ≥ Base
Subtract a
Base
24
Binary Addition
Column Addition
1 1 1 1 1 1
Carry
1 1 1 1 0 1
= 61
1 0 1 1 1
= 23
1 0 1 0 1 0 0
= 84
+
Decimal
Binary
1
1
2
10
0 + 0=0
0 + 1=1
3
11
1 + 0=1
1 + 1=0 with a carry of 1 or =10
≥ (2)10
25
Binary Subtraction
Borrow a “Base” when needed
1
2
0 2 2 0 0 2
−
= (10)2
1 0 0 1 1 0 1
= 77
1 0 1 1 1
= 23
0 1 1 0 1 1 0
= 54
26
Binary Multiplication
Bit by bit
1 0 1 1 1
x
1 0 1 0
0 0 0 0 0
1 0 1 1 1
0 0 0 0 0
1 0 1 1 1
1 1 1 0 0 1 1 0
27
1.5 Complements
There are two types of complements for each base-r system: the radix complement and diminished
radix complement.
Diminished Radix Complement - (r-1)’s Complement
◦ Given a number N in base r having n digits, the (r–1)’s
complement of N is defined as:
(rn –1) – N
Example for 6-digit decimal numbers:
◦ 9’s complement is (rn – 1)–N
= (106–1)–N = 999999–N
◦ 9’s complement of 546700 is 999999–546700 = 453299
Example for 7-digit binary numbers:
◦ 1’s complement is (rn – 1)
– N = (27–1)–N = 1111111–N
◦ 1’s complement of 1011000 is 1111111–1011000 = 0100111
Observation:
◦ Subtraction from (rn – 1) will never require a borrow
◦ Diminished radix complement can be computed digit-by-digit
◦ For binary: 1 – 0 = 1 and 1 – 1 = 0
28
Complements
1’s Complement (Diminished Radix
Complement)
◦ All ‘0’s become ‘1’s
◦ All ‘1’s become ‘0’s
Example (10110000)2
(01001111)2
If you add a number and its 1’s complement …
10110000
+ 01001111
11111111
29
Complements
Radix Complement
The r's complement of an n-digit number N in base r is defined as
rn – N for N ≠ 0 and as 0 for N = 0. Comparing with the (r 1) 's
complement, we note that the r's complement is obtained by adding 1
to the (r 1) 's complement, since rn – N = [(rn 1) – N] + 1.
Example: Base-10
The 10's complement of 012398 is 987602
The 10's complement of 246700 is 753300
Example: Base-2
The 2's complement of 1101100 is 0010100
The 2's complement of 0110111 is 1001001
30
Complements
OR
2’s Complement (Radix Complement)
◦ Take 1’s complement then add 1
◦ Toggle all bits to the left of the first ‘1’ from the
right
Example:
Number:
1 0 1 1 0 0 0 0 OR 1 0 1 1 0 0 0 0
1’s Comp.:
01001111
+
1
01010000
0 1 01 0 0 0 0
31
Complements
In digital work, both types of complements of a binary number are used for
complemental subtraction :
as follows:
• 1’s Complemental Subtraction
1. compute the 1’s complement of the subtrahend by changing all its 1s to 0s and all its 0s to 1s.
2. add this complement to the minuend
3. perform the end-around carry of the last 1 or 0
Suppose we want to subtract (101)2 from (111)2 .
111
010
1001
+
1
010
← 1’s complement of subtrahend (101)2
← end-around carry
As seen, we have removed from the addition sum the 1 carry in the last
position and added it onto the remainder. It is called end-around carry.
32
Complements
4. if there is no end-around carry (i.e. 0 carry), then the answer must be re-complemented and a negative
sign attached to it.
Example. Subtract (1101)2 from (1010)2 .
1
1010
+ 0010
1100
- 0011
← 1’s complement of subtrahend (1101)2
← no end-around carry
re-complementing with negative sign
33
Complements
• 2’s Complemental Subtraction
In this case, the procedure is as under :
1.find the 2’s complement of the subtrahend,
2.add this complement to the minuend,
3.drop the final carry,
4.if the carry is 1, the answer is positive and needs no re-complementing,
5.if there is no carry, re-complement the answer and attach minus sign.
Example. Using 2’s complement, subtract: (A) (1010)2 from (1101)2 , (B) (1101)2 from (1010)2.
Solution. The 1’s complement of 1010 is 0101.The 2’s complement is 0101 + 1 = 0110. We will add it to
1101.
1101
+ 0110
← 2’s complement of (1010)2
10011
DROP
0011
← The final answer is (0011)2 .
34
Complements
Example
Given the two binary numbers X = 1010100 and Y = 1000011, perform the subtraction (a) X – Y ; and (b) Y X,
by using 2's complement.
D
Drop final cary
There is no end carry.
Therefore, the answer is
Y – X = (2's complement
of 1101111) = 0010001.
35
Complements
Example
◦ Repeat Example, but this time using 1's complement.
There is no end carry,
Therefore, the answer is Y –
X = (1's complement of
1101110) = 0010001.
36
Digital Coding
In digital logic circuits, each number or piece of information is defined by
an equivalent combination of binary digits. A complete group of these
combinations which represents numbers, letters or symbols is called a
digital code
Codes have been used for security reasons so that others may not be able
to read the message even if it is intercepted.
The choice of a code depends on the function or purpose it has to serve.
There are many types of coding
Binary codes
BCD code
Gray code
ASCII code
Binary Codes
• BCD Code
It is a binary code in which each decimal digit is represented by a
group of four bits. it is also called an 8421 code. The 8 4 2 1 indicates the
binary weights of the four bits (2 3 , 2 2 , 2 1 , 2 0 ).
◦ A number with N decimal digits will
require 4N bits in BCD.
◦ Decimal 396 is represented in BCD
with 12bits as 0011 1001 0110, with
each group of 4 bits representing one
decimal digit.
◦ A decimal number in BCD is the same
as its equivalent binary number only
when the number is between 0 and 9.
Binary Code
Example:
◦ Consider decimal 185 and its corresponding value in BCD and
binary:
Other Decimal Codes
Binary Codes)
Gray Code
◦ The advantage is that only bit in the
code group changes in going from
one number to the next.
Error detection.
Representation of analog data.
Low power design.
000
010
001
011
101
100
110
111
ASCII Character Codes
A popular code used to represent information sent as characterbased data.
The ASCII code is a seven-bit code, and so it has 27 (=128) possible
code groups. This is more than enough to represent all of the
standard keyboard characters.