dcd lecture 01
TRANSCRIPT

8/8/2019 DCD Lecture 01
1/50
Digital Circuit Design
Digital Systems andBinary Numbers
LanDa Van (), Ph. D.Department of Computer Science
National Chiao Tung UniversityTaiwan, R.O.C.
Fall, 2010
http://www.cs.nctu.edu.tw/~ldvan/

8/8/2019 DCD Lecture 01
2/50
Lecture 1
Digital Circuit Design
LanDa Van DCD012
Digital Systems
Binary Numbers
NumberBase Conversion
Octal and Hexadecimal Number
Signed Binary Numbers
Binary Codes
Binary Storage and Registers
Binary Logic
Outline

8/8/2019 DCD Lecture 01
3/50
Lecture 1
Digital Circuit Design
LanDa Van DCD013
Digital age and information age
Digital computers
general purposes
many scientific, industrial and commercial applications
Digital systems
telephone switching exchanges digital camera
electronic calculators, PDA's
digital TV
Discrete informationprocessing systems
manipulate discrete elements of information
Digital System
Di i l Ci i D i

8/8/2019 DCD Lecture 01
4/50
Lecture 1
Digital Circuit Design
LanDa Van DCD014
A Digital Computer Example
Synchronous or
Asynchronous?
Inputs: Keyboard,
mouse, modem,
microphone
Outputs: CRT,
LCD, modem,
speakers
Memory
Control
unit
Datapath
Input/Output
CPU
Di it l Ci it D i

8/8/2019 DCD Lecture 01
5/50
Lecture 1
Digital Circuit Design
LanDa Van DCD015
Signal
An information variable represented by physical quantityFor digital systems, the variable takes on digital 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)
words On and Off.
Binary values are represented by values or ranges of
values of physical quantities
Digital Circuit Design

8/8/2019 DCD Lecture 01
6/50
Lecture 1
Digital Circuit Design
LanDa Van DCD016
Signal
Analog signal
t>y: y=f(t), y:C, n:C
Discretetime signal
n>y: y=f(nT), y:C, n:Z
Digital signal
n>y: y=D{f(nT)}, y:Z,n:Z
)3(
)1(
)2(
)1(
2)1110(
2)1000(
2)1011( 2)1000(
t n n
y y y
Analog Signal DiscreteTime Signal Digital Signal
Digital Circuit Design

8/8/2019 DCD Lecture 01
7/50
Lecture 1
Digital Circuit Design
LanDa Van DCD017
Binary Numbers
Decimal number
5 4 3 2 1 0 1 2 3
5 4 3 2 1 0 1 2 310 10 10 10 10 10 10 10 10a a a a a a a a a
a5a4a3a2a1a0.a1a2a3
Decimal point
3 2 1 07,329 7 10 3 10 2 10 9 10
Example:
ja
Base or radix
Power
General form of baser system
1 2 1 1 21 2 1 0 1 2
n n m
n n ma r a r a r a r a a r a r a r
Coefficient: aj = 0 to r 1
Digital Circuit Design

8/8/2019 DCD Lecture 01
8/50
Lecture 1
Digital Circuit Design
LanDa Van DCD018
Example: Base2 number
Binary Numbers
2 10
4 3 2 1 0 1 2(11010.11) (26.75)
1 2 1 2 0 2 1 2 0 2 1 2 1 2
Example: Base5 number
5
3 2 1 0 110
(4021.2)
4 5 0 5 2 5 1 5 2 5 (511.5)
Example: Base8 number
Example: Base16 number
3 2 1 0
16 10(B65F) 11 16 6 16 5 16 15 16 (46,687)
4
101012
8
)5.87(84878281
)4.127(
Digital Circuit Design

8/8/2019 DCD Lecture 01
9/50
Lecture 1
Digital Circuit Design
LanDa Van DCD019
Binary Numbers
Example: Base2 number
2 10(110101) 32 16 4 1 (53)
Special Powers of 2
210 (1024) is Kilo, denoted "K"
220 (1,048,576) is Mega, denoted "M"
230 (1,073, 741,824) is Giga, denoted "G"
Digital Circuit Design

8/8/2019 DCD Lecture 01
10/50
Lecture 1
g g
LanDa Van DCD0110
Arithmetic operations with numbers in base rfollow the same rules as decimalnumbers.
Binary Numbers
Digital Circuit Design

8/8/2019 DCD Lecture 01
11/50
Lecture 1
g g
LanDa Van DCD0111
Binary Arithmetic
Addition
Augend: 101101
Addend: +100111
Sum: 1010100
Subtraction
Minuend: 101101
Subtrahend: 100111
Difference: 000110
Multiplicand 1011
Multiplier 101Partial Products 1011
0000 1011  
Product 110111
Multiplication
Digital Circuit Design

8/8/2019 DCD Lecture 01
12/50
Lecture 1
LanDa Van DCD0112
Octal and Hexadecimal Numbers
Numbers with different bases: Table 1.2.
Digital Circuit Design

8/8/2019 DCD Lecture 01
13/50
Lecture 1
LanDa Van DCD0113
Example1.1
Convert decimal 41 to binary. The process is continued until the integer quotientbecomes 0.
NumberBase Conversions
10/2
5/2
2/2
1/2
5
2
1
0
Digital Circuit Design

8/8/2019 DCD Lecture 01
14/50
Lecture 1
LanDa Van DCD0114
The arithmetic process can be manipulated more conveniently as follows:
NumberBase Conversions
Answer=(101001)2
Digital Circuit Design

8/8/2019 DCD Lecture 01
15/50
Lecture 1
LanDa Van DCD0115
Example 1.2
Convert decimal 153 to octal. The required base ris 8.
NumberBase Conversions
Digital Circuit Design

8/8/2019 DCD Lecture 01
16/50
Lecture 1
LanDa Van DCD0116
Example1.3
To convert a decimal fraction to a number expressed in base r, a similarprocedure is used. However, multiplication is by rinstead of 2, and thecoefficients found from the integers may range in value from 0 to r 1instead of 0 and 1.
Convert (0.6875)10
to binary.
The process is continued until the fraction becomes 0 or until the number of digits hassufficient accuracy.
NumberBase Conversions
Digital Circuit Design

8/8/2019 DCD Lecture 01
17/50
Lecture 1
LanDa Van DCD0117
Example1.4
Convert (0.513)10 to octal.
From Examples 1.1 and 1.3: (41.6875)10 = (101001.1011)2
From Examples 1.2 and 1.4: (153.513)10 = (231.406517)8
NumberBase Conversions
Digital Circuit Design

8/8/2019 DCD Lecture 01
18/50
Lecture 1
LanDa Van DCD0118
Conversion from binary to octal can be done by positioning the binary number intogroups of three digits each, starting from the binary point and proceeding to the left
and to the right.
Conversion from binary to hexadecimal is similar, except that the binary number isdivided into groups of four digits:
(10 110 001 101 011 111 100 000 110) 2 = (26153.7406)8
2 6 1 5 3 7 4 0 6
Conversion from octal or hexadecimal to binary is done by reversing the precedingprocedure.
NumberBase Conversions
Digital Circuit Design

8/8/2019 DCD Lecture 01
19/50
Lecture 1
LanDa Van DCD0119
There are two types of complements for each basersystem: the radix complement anddiminished radix complement.
the r's complement and the second as the (r 1)'s complement.
Diminished Radix Complement
Example:
For binary numbers, r= 2 and r 1 = 1, so the 1's complement of Nis (2n 1) N.
Example:
Complements
Digital Circuit Design

8/8/2019 DCD Lecture 01
20/50
Lecture 1
LanDa Van DCD0120
Radix ComplementThe r's complement of an ndigit number Nin base r is defined as rn Nfor N 0and as 0 for N= 0. Comparing with the (r 1) 's complement, we note that the r'scomplement is obtained by adding 1 to the (r 1) 's complement, since rn N= [(rn1) N] + 1.
Example: Base10
The 10's complement of 012398 is 987602The 10's complement of 246700 is 753300
Example: Base2
The 2's complement of 1101100 is 0010100The 2's complement of 0110111 is 1001001
Complements
Digital Circuit Design

8/8/2019 DCD Lecture 01
21/50
Lecture 1
LanDa Van DCD0121
Subtraction with ComplementsThe subtraction of two ndigit unsigned numbers M Nin base rcan be done as follows:
Complements
an
Digital Circuit Design

8/8/2019 DCD Lecture 01
22/50
Lecture 1
LanDa Van DCD0122
Example 1.5
Using 10's complement, subtract 72532 3250.
Example 1.6
Using 10's complement, subtract 3250 72532
There is no end carry.
Therefore, the answer is (10's complement of 30718) = 69282.
Complements
Digital Circuit Design

8/8/2019 DCD Lecture 01
23/50
Lecture 1
LanDa Van DCD0123
Example 1.7
Given the two binary numbers X= 1010100 and Y= 1000011, perform the subtraction (a)X Y and (b) Y Xby using 2's complement.
There is no end carry.Therefore, the answer is
Y X= (2's complementof 1101111) = 0010001.
Complements
Digital Circuit Design

8/8/2019 DCD Lecture 01
24/50
Lecture 1
LanDa Van DCD0124
Complements
Subtraction of unsigned numbers can also be done by means of the (r 1)'scomplement. Remember that the (r 1) 's complement is one less than the r's
complement.Example 1.8
Repeat Example 1.7, but this time using 1's complement.
There is no end carry,Therefore, the answer isY X= (1's complementof 1101110) = 0010001.
Digital Circuit Design
Si d Bi N b

8/8/2019 DCD Lecture 01
25/50
Lecture 1
LanDa Van DCD0125
Signed Binary Numbers
To represent negative integers, we need a notation for negative values. It is customary to represent the sign with a bit placed in the leftmost position of the
number. The convention is to make the sign bit 0 for positive and 1 for negative.
Example:
Digital Circuit Design
Si d Bi N b

8/8/2019 DCD Lecture 01
26/50
Lecture 1
LanDa Van DCD0126
Signed Binary Numbers
Table 3 lists all possible fourbit signed binary numbers in the three representations.
Digital Circuit Design
Si d Bi N b

8/8/2019 DCD Lecture 01
27/50
Lecture 1
LanDa Van DCD0127
Signed Binary Numbers
Arithmetic Addition
The addition of two signed binary numbers with negative numbers represented insigned2'scomplement form is obtained from the addition of the two numbers,including their sign bits.
A carry out of the signbit position is discarded.
Example:
The addition of two numbers in the signedmagnitude system follows the rules of
ordinary arithmetic. If the signs are the same, we add the two magnitudes andgive the sum the common sign. If the signs are different, we subtract the smallermagnitude from the larger and give the difference the sign if the larger magnitude.
Digital Circuit Design
Signed Binary Numbers

8/8/2019 DCD Lecture 01
28/50
Lecture 1
LanDa Van DCD0128
Signed Binary Numbers
Arithmetic Subtraction In 2scomplement form:
1. Take the 2s complement of the subtrahend (including the sign bit) and add it to
the minuend (including sign bit).
2. A carry out of signbit position is discarded.
( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
A B A B
A B A B
Example:
( 6) ( 13) (11111010 11110011)
(11111010 + 00001101)
00000111 (+ 7)
Digital Circuit Design
BCD Code

8/8/2019 DCD Lecture 01
29/50
Lecture 1
LanDa Van DCD0129
BCD Code
BCD Code A number with kdecimal digits willrequire 4kbits in BCD. Decimal 396is 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. A BCD number
greater than 10 looks different from
its equivalent binary number, even
though both contain 1's and 0's.
Moreover, the binary combinations1010 through 1111 are not used and
have no meaning in BCD.
Digital Circuit Design
BCD Code

8/8/2019 DCD Lecture 01
30/50
Lecture 1
LanDa Van DCD0130
BCD Code
Example:
Consider decimal 185 and its corresponding value in BCD and binary:
BCD Addition
Digital Circuit Design
BCD Code

8/8/2019 DCD Lecture 01
31/50
Lecture 1
LanDa Van DCD0131
BCD Code
Example:
Consider the addition of 184 + 576 = 760 in BCD:
Decimal Arithmetic
1
Digital Circuit Design
Other Decimal Codes

8/8/2019 DCD Lecture 01
32/50
Lecture 1
LanDa Van DCD0132
Other Decimal Codes
Other Decimal Codes
Digital Circuit Design
Gray Code

8/8/2019 DCD Lecture 01
33/50
Lecture 1
LanDa Van DCD0133
Gray Code
Gray Code
Digital Circuit Design
Gray Code

8/8/2019 DCD Lecture 01
34/50
Lecture 1
LanDa Van DCD0134
Does this special Gray code property have
any value?An Example: Optical Shaft Encoder
B 0
111
110
000
001
010
011100
101
B 1
B 2
(a) Binary Code for Positions 0 through 7
G 0G 1
G 2
111
101
100 000
001
011
010110
(b) Gray Code for Positions 0 through 7
Gray Code
Digital Circuit Design
ASCII Character Code

8/8/2019 DCD Lecture 01
35/50
Lecture 1
LanDa Van DCD0135
ASCII Character Code
ASCII Character Code
Digital Circuit Design
ASCII Character Code

8/8/2019 DCD Lecture 01
36/50
Lecture 1
LanDa Van DCD0136
ASCII Character Code
ASCII Character Code
Digital Circuit Design
ASCII Character Code

8/8/2019 DCD Lecture 01
37/50
Lecture 1
LanDa Van DCD0137
ASCII Character Code
American Standard Code for Information Interchange (Refer
to Table 1.7)A popular code used to represent information sent ascharacterbased data.
It uses 7bits to represent:
94 Graphic printing characters. 34 Nonprinting characters
Some nonprinting characters are used for text format (e.g.BS = Backspace, CR = carriage return)
Other nonprinting characters are used for record markingand flow control (e.g. STX and ETX start and end text areas).
Digital Circuit Design
ASCII Character Code

8/8/2019 DCD Lecture 01
38/50
Lecture 1
LanDa Van DCD0138
ASCII Character Code
ASCII has some interesting properties:
Digits 0 to 9 span Hexadecimal values 3016 to 3916 .
Upper case A  Z span 4116to 5A16 .
Lower case a  z span 6116 to 7A16 .
Lower to upper case translation (and vice versa)
occurs by flipping bit 6. Delete (DEL) is all bits set,a carryover from when
punched paper tape was used to store messages.
Punching all holes in a row erased a mistake!
Digital Circuit Design
Error Detection Code

8/8/2019 DCD Lecture 01
39/50
Lecture 1
LanDa Van DCD0139
Error Detection Code
ErrorDetecting Code
To detect errors in data communication and processing, an eighth bit is sometimesadded to the ASCII character to indicate its parity.
A paritybit is an extra bit included with a message to make the total number of 1's
either even or odd.
Example:
Consider the following two characters and their even and odd parity:
Digital Circuit Design
Error Detection Code

8/8/2019 DCD Lecture 01
40/50
Lecture 1
LanDa Van DCD0140
Error Detection Code
ErrorDetecting CodeRedundancy (e.g. extra information), in the form of extra bits,can be incorporated into binary code words to detect andcorrect errors.
A simple form of redundancy is parity, an extra bit appendedonto the code word to make the number of 1s odd or even.
Parity can detect all singlebit errors and some multiplebiterrors.
A code word has even parity if the number of 1s in the codeword is even.
A code word has odd parity if the number of 1s in the codeword is odd.
Digital Circuit Design
Conversion or Coding?

8/8/2019 DCD Lecture 01
41/50
Lecture 1
LanDa Van DCD0141
Conversion or Coding?
Do NOT mix up conversion of a decimal number to a
binary number with coding a decimal number with aBINARY CODE.
1310 = 11012 (This is conversion)
13 00010011 (This is coding)
Digital Circuit Design
Binary Storage and Registers

8/8/2019 DCD Lecture 01
42/50
Lecture 1
LanDa Van DCD0142
Binary Storage and Registers
Registers A binary cellis a device that possesses two stable states and is capable of storing
one of the two states.
A registeris a group of binary cells. A register with ncells can store any discrete
quantity of information that contains nbits.
ncells 2n possible states
A binary cell two stable state store one bit of information examples: flipflop circuits, ferrite cores, capacitor
A register a group of binary cells AX in x86 CPU
Register Transfer a transfer of the information stored in one register to another one of the major operations in digital system an example
Digital Circuit Design
Transfer of information

8/8/2019 DCD Lecture 01
43/50
Lecture 1
LanDa Van DCD0143
Digital Circuit Design
Example of BinaryInformation Processing

8/8/2019 DCD Lecture 01
44/50
Lecture 1
LanDa Van DCD0144
Information Processing
Digital Circuit Design
Binary Logic

8/8/2019 DCD Lecture 01
45/50
Lecture 1
LanDa Van DCD0145
y g
Binary logic consists of binary variables and a set of logical operations. The variablesare designated by letters of the alphabet, such as A, B, C, x, y, z, etc, with each
variable having two and only two distinct possible values: 1 and 0, There are threebasic logical operations: AND, OR, and NOT.
Digital Circuit Design
Binary Logic

8/8/2019 DCD Lecture 01
46/50
Lecture 1
LanDa Van DCD0146
y g
The truth tables for AND, OR, and NOT are given in Table 1.8.
Digital Circuit Design
Binary Logic

8/8/2019 DCD Lecture 01
47/50
Lecture 1
LanDa Van DCD0147
y g
Logic gates Example of binary signals
Digital Circuit Design
Binary Logic

8/8/2019 DCD Lecture 01
48/50
Lecture 1
LanDa Van DCD0148
g
Logic gates Graphic Symbols and InputOutput Signals for Logic gates:
InputOutput signals
for gates
Digital Circuit Design
Binary Logic

8/8/2019 DCD Lecture 01
49/50
Lecture 1
LanDa Van DCD0149
Logic gates Graphic Symbols and InputOutput Signals for Logic gates:
Digital Circuit Design
Conclusion

8/8/2019 DCD Lecture 01
50/50
Lecture 1
LanDa Van DCD0150
Conclusion
You have learned the following terms:
Binary number Number Conversion
Complement
Simple arithmetic
Binary codes
Storage and register Binary logic