Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 77

Basic Concepts for Digital Design

By

V. Sailaja
Data and Signal(1)

 Data - A representation of facts, concepts, or


instructions in a perticular manner suitable for
communication, interpretation
 It can be Numbers, characters, symbols, images
etc., which can be processed by a computer
 Signal- It is an electric or electromagnetic
encoding of data.
Data and Signal(2)

Data Signal

001011101
Analog and Digital Data


Data can be analog or digital.

Analog data are continuous and take
continuous values.

Digital data have discrete states and take
discrete values.
Analog and Digital Signals


Signals can be analog or digital.

Analog signals can have an infinite number of
values in a range.

Digital signals can have only a limited
number of values.
Digital and Analog signals

Digitization
Comparison of analog and digital signals
Number Systems
Common Number Systems

Used by Used in
humans? computers?
System Base Symbols

Decimal 10 0, 1, … 9 Yes No

Binary 2 0, 1 No Yes
Quantities/Counting (1 of 3)

Hexa-
decimal
Decimal Binary Octal

0 0 0 0

1 1 1 1

2 10 2 2
Quantities/Counting (2 of 3)

Hexa-
decimal
Decimal Binary Octal

8 1000 10 8

9 1001 11 9

10 1010 12 A
Quantities/Counting (3 of 3)

Hexa-
decimal
Decimal Binary Octal

16 10000 20 10

17 10001 21 11
Etc.

18 10010 22 12
Conversion Among Bases

• The possibilities:

Decimal Octal

Binary Hexadecimal
Quick Example

2510 = 110012 = 318 = 1916

Base
Decimal to Decimal

Decimal Octal

Binary Hexadecimal

Next slide…
Weight

12510 => 5 x 100 = 5


2 x 101 = 20
1 x 102 = 100
125

Base
Binary to Decimal

Decimal Octal

Binary Hexadecimal
Binary to Decimal

• Technique
– Multiply each bit by 2n, where n is the “weight” of
the bit
– The weight is the position of the bit, starting from
0 on the right
– Add the results
Example

Bit “0”

1010112 => 1 x 20 = 1
1 x 21 = 2
0 x 22 = 0
1 x 23 = 8
0 x 24 = 0
1 x 25 = 32
4310
Octal to Decimal

Decimal Octal

Binary Hexadecimal
Octal to Decimal

• Technique
– Multiply each bit by 8n, where n is the “weight” of
the bit
– The weight is the position of the bit, starting from
0 on the right
– Add the results
Example

7248 => 4 x 80 = 4
2 x 81 = 16
7 x 82 = 448
46810
Hexadecimal to Decimal

Decimal Octal

Binary Hexadecimal
Hexadecimal to Decimal

• Technique
– Multiply each bit by 16n, where n is the “weight”
of the bit
– The weight is the position of the bit, starting from
0 on the right
– Add the results
Example

ABC16 => C x 160 = 12 x 1 = 12


B x 161 = 11 x 16 = 176
A x 162 = 10 x 256 = 2560
274810
Decimal to Binary

Decimal Octal

Binary Hexadecimal
Decimal to Binary

• Technique
– Divide by two, keep track of the remainder
– First remainder is bit 0 (LSB, least-significant bit)
– Second remainder is bit 1
– Etc.
Example

12510 = ?2 2 125
2 62 1
2 31 0
2 15 1
2 7 1
2 3 1
2 1 1
0 1

12510 = 11111012
Octal to Binary

Decimal Octal

Binary Hexadecimal
Octal to Binary

• Technique
– Convert each octal digit to a 3-bit equivalent
binary representation
Example

7058 = ?2

7 0 5

111 000 101

7058 = 1110001012
Hexadecimal to Binary

Decimal Octal

Binary Hexadecimal
Hexadecimal to Binary

• Technique
– Convert each hexadecimal digit to a 4-bit
equivalent binary representation
Example

10AF16 = ?2

1 0 A F

0001 0000 1010 1111

10AF16 = 00010000101011112
Decimal to Octal

Decimal Octal

Binary Hexadecimal
Decimal to Octal

• Technique
– Divide by 8
– Keep track of the remainder
Example

123410 = ?8

8 1234
8 154 2
8 19 2
8 2 3
0 2

123410 = 23228
Decimal to Hexadecimal

Decimal Octal

Binary Hexadecimal
Decimal to Hexadecimal

• Technique
– Divide by 16
– Keep track of the remainder
Example

123410 = ?16

16 1234
16 77 2
16 4 13 = D
0 4

123410 = 4D216
Binary to Octal

Decimal Octal

Binary Hexadecimal
Binary to Octal

• Technique
– Group bits in threes, starting on right
– Convert to octal digits
Example

10110101112 = ?8

1 011 010 111

1 3 2 7

10110101112 = 13278
Binary to Hexadecimal

Decimal Octal

Binary Hexadecimal
Binary to Hexadecimal

• Technique
– Group bits in fours, starting on right
– Convert to hexadecimal digits
Example

10101110112 = ?16

10 1011 1011

1 B B

10101110112 = 2BB16
Octal to Hexadecimal

Decimal Octal

Binary Hexadecimal
Octal to Hexadecimal

• Technique
– Use binary as an intermediary
Example

10768 = ?16

1 0 7 6

001 000 111 110

2 3 E

10768 = 23E16
Hexadecimal to Octal

Decimal Octal

Binary Hexadecimal
Hexadecimal to Octal

• Technique
– Use binary as an intermediary
Example

1F0C16 = ?8

1 F 0 C

0001 1111 0000 1100

1 7 4 1 4

1F0C16 = 174148
Review – multiplying powers

• For common bases, add powers

ab  ac = ab+c

26  210 = 216 = 65,536

or…
26  210 = 64  210 = 64k
Binary Addition (1 of 2)

• Two 1-bit values

A B A+B

0 0 0

0 1 1
Binary Addition (2 of 2)

• Two n-bit values


– Add individual bits
– Propagate carries
– E.g.,

1 1
10101 21
+ 11001 + 25
101110 46
Multiplication

• Decimal

35
x 105
175
000
35
3675

pp. 39
Multiplication

• Binary, two n-bit values


– As with decimal values
– E.g.,
1110
x 1011
1110
1110
0000
1110
10011010
Fractions

• Decimal to decimal

3.14 => 4 x 10-2 = 0.04


1 x 10-1 = 0.1
3 x 100 = 3
3.14

pp. 46-50
Fractions

• Binary to decimal

10.1011 => 1 x 2-4 = 0.0625


1 x 2-3 = 0.125
0 x 2-2 = 0.0
1 x 2-1 = 0.5
0 x 20 = 0.0
1 x 21 = 2.0
2.6875

pp. 46-50
Fractions

• Decimal to binary
.14579
x 2
3.14579 0.29158
x 2
0.58316
x 2
1.16632
x 2
0.33264
x 2
0.66528
x 2
1.33056
11.001001... etc.

p. 50
Binary Codes
Outline

 Binary Codes
 Decimal Codes
 Gray Codes
 Error-detection Codes
 Alphanumeric Codes

62
Number of Bits Required

 Given M elements to be represented by a


binary code, the minimum number of bits, n,
needed, satisfies the following
n n−1
relationships:
2 ≥ M> 2 ,where
n= ( log 2 M ) =ceiling ( log 2 M )

 Example: How many bits are required to


represent decimal digits with a binary code?
• M = 10, hence n = ceiling (log 2 10) = ceiling (4) =
4
4 3
• 2 = 16 ≥ 10 >
Checking: 2 =8
63
Binary Codes for Decimal Digits

Decimal 8,4,2,1 Excess3 8,4,-2,-1 Gray


0 0000 0011 0000 0000
1 0001 0100 0111 0100
2 0010 0101 0110 0101
3 0011 0110 0101 0111
4 0100 0111 0100 0110
5 0101 1000 1011 0010
6 0110 1001 1010 0011
7 0111 1010 1001 0001
8 1000 1011 1000 1001
9 1001 1100 1111 1000

64
Binary Coded Decimal (BCD)

 The BCD code is the 8,4,2,1 code.


 This code is the simplest binary code for
decimal digits and uses the same powers
of 2 as a binary number, but only encodes
the first ten values from 0 to 9.
 Example: 1001 (9) = 1000 (8) + 0001 (1)
 How many “invalid” code words are there?
• Answer: 6
 What are the “invalid” code words?
• Answer: 1010, 1011, 1100, 1101, 1110, 1111
65
Excess 3 Code and 8, 4, –2, –1 Code

Decimal Excess 3 8, 4, –2, –1

0 0011 0000

1 0100 0111

2 0101 0110

3 0110 0101
66
Gray Code

Decimal 8,4,2,1 Gray


0 0000 0000
1 0001 0100
2 0010 0101
3 0011 0111
4 0100 0110
5 0101 0010
6 0110 0011
7 0111 0001
8 1000 1001
9 1001 1000

 What special property does the Gray code


have in relation to adjacent decimal digits?
• Only one bit position changes with each increment 67
Binary to Gray Code

 Take MSB as it is in Binary code.


 Add the adjacent bits and the result will be the
Gray code.
1 + 0 + 0 + 1 + 1 -Binary

1 1 0 1 0 - Gray
Msb

68
Gray to Binary conversion

 Take MSB as it is in the Gray code.


 Add the bits across bits and the result will be
the Binary code.

1 0 0 1 1 - Gray
+
+ + + +

1 1 1 0 0 - Binary
Msb
69
Exercise

Binary Gray
10001101
11011000
10011101
11111001

70
Warning: Conversion or Coding?

 Do NOT mix up conversion of a decimal


number to a binary number with coding a
decimal number with a BINARY CODE. 
 1310 = 11012 (This is
conversion) 
 13  0001|0011 (This is
coding)

71
Error-Detection Codes

 Redundancy (e.g. extra information), in the


form of extra bits, can be incorporated into
binary code words to detect and correct
errors.
 A simple form of redundancy is parity, an
extra bit appended onto the code word to
make the number of 1’s odd or even. Parity
can detect all single-bit errors and some
multiple-bit errors.
 A code word has even parity if the number of
1’s in the code word is even.
 A code word has odd parity if the number of
1’s in the code word is odd.
72
4-Bit Parity Code Example

Even Parity Odd Parity


Message - Parity Message - Parity
000 - 0 000 - 1
001 - 1 001 - 0
010 - 1 010 - 0
011 - 0 011 - 1
100 - 1 100 - 0
101 - 0 101 - 1
110 - 0 110 - 1
111 - 1 111 - 0
 The codeword "1111" has even parity and the
codeword "1110" has odd parity. Both can
be used to represent 3-bit data.
73
ASCII Character Codes
 American Standard Code for Information
Interchange
 This code is a popular code used to represent
information sent as character-based data. It
uses 7-bits to represent:
• 94 Graphic printing characters.
• 34 Non-printing characters
 Some non-printing characters are used for text
format (e.g. BS = Backspace, CR = carriage
return)
 Other non-printing characters are used for
record marking and flow control (e.g. STX and
ETX start and end text areas).
74
ASCII Properties
ASCII has some interesting properties:
 Digits 0 to 9 span Hexadecimal values 3016 to 3916 .
 Upper case A-Z span 4116 to 5A16 .
 Lower case a -z span 6116 to 7A16 .

75
UNICODE

 UNICODE extends ASCII to 65,536


universal characters codes
• For encoding characters in world languages
• Available in many modern applications
• 2 byte (16-bit) code words

76
Thank you

You might also like