You are on page 1of 78

DLF Digital Logic Fundamentals

Theory (3 credit hr) Capt Mariam Kayani Practicle (1 credit hr) Ms Amin Akif

Instructor
Instructor: Capt Mariam Kayani mariam.signals@gmail.com Telephone :119 ext 33246 Office Hours:

Course Resources
Digital Design (3rd/4th Edition) By Morris Mano

Topics from different sources will be indicated during the semester

RULES
Submit your assignments to class senior before start of class on due date No Late submissions. (No exceptions!) Assignments with too much similarity will be penalized appropriately If u miss a quiz/Exam College SOP will be followed

Objective of Course
Introduction to concepts of digital logic, gates, and the digital circuits Design and analysis of combinational circuits Design and analysis of sequential circuits

Lecture - 01 June 11, 2011

Digital Systems
Digital System play a prominent role in this digital age
Communication, medical treatment, internet, DVD, CD, etc

Digital Computer follow a sequence of instructions, called programs, that operate on given data
User can specify and change program or data according to needs

Like Digital Computers, most digital devices are programmable Digital Systems have the ability to Manipulate discrete elements of information.
Any set that is restricted to a finite number of elements contains discrete information
10 Decimal digits 26 Alphabet letters 52 Playing cards 64 squares of a chessboard
7

Digital Systems
Digital Systems can do hundreds of millions of operations per second Extreme reliability due to error-correcting codes A Digital System is interconnection of digital modules To understand Digital module, we need to know about digital circuits and their logical functions Hardware Description Language (HDL) is a programming language that is suitable for describing digital circuit in a textual form Simulate a digital system to verify operation before it is built 8

Decimal Number
7,392= 7x103 + 3x102 + 9x101 + 2x100
Thousands, hundreds, etcpower of 10 implied by position of coefficient

Generally a decimal number is represented by a series of coefficients


a6 a5 a4 a3 a2 a1 a0 (.) a-1 a-2 a-3 a-4

aj cofficient are any of the 10 digit (0,1,29) Decimal numbers are base 10.
9

Binary Number
Digital Systems manipulate discrete quantities of information in binary form Strings of binary digits (bits) Two possible values 0 and 1

10

Binary Numbers
Each digit represents a power of 2 Coefficient have two possible values 0 and 1 Strings of binary digits (bits)
n bits can store numbers from 0 to 2n -1 n bits can store 2n distinct combinations of 1s and 0s

Each coefficient aj is multiplied by 2j So 101 binary is 1 x 2 2 + 0 x 2 1 + 1 x 20 or 1x4 + 0x2 + 1x1=5

11

BITs & Bytes


A bit (short for binary digit) is the smallest unit of data in a computer. A bit can hold only one of two values: 0 or 1, corresponding to the electrical values of off or on, respectively. Because bits are so small, you rarely work with information one bit at a time A byte is a unit of measure for digital information. A single byte contains eight consecutive bits

12

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" 240 (1,099,511,627,776 ) is Tera, denoted T"

13

Octal is base 8 A number is represented by a series of coefficients a6 a5 a4 a3 a2 a1 a0. a-1 a-2 a-3 a-4 aj cofficient are any of 8 digit (0,1,27) Need 3 bits for representation Example: (127.4)8= 1 X 82 +2 X 81 +7 X 80 + 4 X 8-1 64+16+7+.5= (87.5)10

Octal

Dec 0 1 2 3 4 5 6 7

Bin 000 001 010 011 100 101 110 111

Octal 0 1 2 3 4 5 6 7

14

Hexadecimal is base 16 A number is represented by a series of coefficients a6 a5 a4 a3 a2 a1 a0. a-1 a-2 a-3 a-4 aj cofficient are any of 16 digit (0,1,2,3,4,5, 6,7,8, 9,A,B,C,D,E,F) Need 4 bits for representation (B65F)16 11 X 163 +6 X 162 + 5 X 161 +15 X 160 = 11x4096 + 6x256 +5x16 +15 = 45056 + 1536 + 80 +15 = 46,687

Hexadecimal
Dec Bin 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Hex 0 1 2 3 4 5 6 7 8 9 A B C D E F
15

A number in one base (10,2,8, 16) can be converted into its equivalent in another base.

Number-base Conversion

16

Converting Binary to Decimal


The conversion of a num in base r to decimal is done by expanding the num in a power series and adding all the terms Multiply digit by power of 2.
7 27 128 6 26 64 5 25 32 4 24 16 3 23 8 2 22 4 1 21 2 0 20 1

17

Example
What is 10011100 in decimal?
27 26 25 24 23 22 21 20

128+ 0 + 0 + 16 + 8 + 4 + 0 + 0 = 156 Since a 0 bit does not contribute anything in the sum, therefore a binary no. can be converted to decimal by adding only the 1 bits.
18

Converting Decimal to Binary


Example 41
41 divided by 2, giving quotient of 20 and reminder 1 20/2 , giving quotient of 10 and reminder 0 10/2 , giving quotient of 5 and reminder 0 5/2 , giving quotient of 2 and reminder 1 2/2 , giving quotient of 1 and reminder 0 , giving quotient of 0 and reminder 1 a0 a1 a2 a3 a4 a5

Therefore, the answer is (41)10= (a5a4a3a2a1a0)=(101001)2


19

Number With Radix Point


If the number includes a radix point, it is necessary to separate the number into an integer part and a fraction part. The conversion of a fractional part in base r is done by multiplying the number and all successive integers are accumulated instead of reminders.
20

Example
(0.6875)10 integer fraction
0.6875 * 2 = 0.3750 * 2 = 0.7500 * 2 = 0.5000 * 2 = 1 0 1 1

coefficient

+ 0.3750 a-1 = 1 + 0.7500 a-2 =0 + 0.500 a-3 =1 + 0.000 a-4 =1

(0.1011)2
21

Octal Decimal
Convert (231)8 to decimal

82 2

81
3

80
1

153

Decimal Octal
Convert decimal 153 to Octal 153 divided by 8, giving quotient of 19 , reminder 1 a0 19/8 , giving quotient of 2 and reminder 3 a1 10/8 , giving quotient of 0 and reminder 2 a2 153 = (231)8

23

Decimal Octal (Fraction)


Convert decimal 0.513 to Octal
Integer Fraction 4 + 0.104 0 + 0.832 6 + 0.656 5 + 0.248 1 + 0.984 7 + 0.872 (0.513)10= (0.406517)8 Coefficient a-1=4 a-2=0 a-3=6 a-4=5 a-5=1 a-6=7

0.513 X 8 = 0.104 X 8 = 0.832 X 8 = 0.656 X 8 = 0.248 X 8 = 0.984 X 8 =

24

Dec

Hex 0 1 2 3 4 5 6 7 8 9 A B C D
25

Hex Decimal
Just multiply each hex digit by decimal value, and add the results.

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

0x2AC 2 x 256
163 4096

+ 10 x 16 + 12 x 1 = 684
162 256 161 16 160 1

E F

Decimal Hex
(684)10
684 divided by 16, giving quotient of 42 , reminder 12 a0 42/16 , giving quotient of 2 and reminder 10 a1 10/16 , giving quotient of 0 and reminder 2

2AC
26

Binary to Octal
Partition Binary number into group of three digits each The corresponding octal digit is then assigned to each group
(10 110 001 101 011 . 111 100 000 110)2
(10 110 001 101 011 . 111 100 000 100)2 = (26153.7406)8

27

Octal to Binary
Each Octal digit is converted to its three digit binary equivalent
(26153.7406)8 = (010 110 001 101 011 . 111 100 000 110)2

28

Hex to Binary
Convention write 0x before number Hex to Binary just convert digits

2ac
0010 1010 1100

0x2ac = 001010101100

No magic remember hex digit = 4 bits

29

Binary to Hex
Just convert groups of 4 bits

101001101111011 0101 0011 0111 1011


5 3 7 b

101001101111011 = 537B
30

Arithmetic -- addition
Binary similar to decimal arithmetic
No carries

0 1 1 0 0 + 1 0 0 0 1 1 1 1 0 1

1 0 1 1 0 0 Carries 1 0 1 1 0 + 1 0 1 1 1 1 0 1 1 0 1

1+1 is 2 (or 102), which results in a carry


31

32

Arithmetic -- subtraction

No borrows

1 0 1 1 0 - 1 0 0 1 0 0 0 1 0 0

0 0 1 1 0 Borrows 1 1 1 1 0 - 1 0 0 1 1 0 1 0 1 1 0 - 1 results in a borrow


Borrow makes it (10)2= (2) 10
33

Arithmetic -- multiplication
1 0 1 1 X 1 0 1 1 0 1 1 0 0 0 0 1 0 1 1 1 1 0 1 1 1
34

Successive additions of multiplicand or zero, multiplied by 2 (102). Note that multiplication by 102 just shifts bits left.

Complements
Simply Subtraction (Subtraction by addition)
Rs Complement
In Binary 2s complement In Decimal 10s complement

(R-1) Complement
In Binary 1s complement In Decimal 9s Complement

35

Diminished Radix Complement


Given a number N in base r having n digits, it is (rn -1 )-N Decimal: (10n -1 )-N
If n=6 then 106-1=1000000-1=999999 9s complement of 546700 is 999999-546700=453299 In simple words subtract each digit from 9
4 If n=4 then 2 = (16)10 = (10000)2 4 2 1 = (15)10 = (1111)2 Note: 1-0=1 and 1-1 =0 (Bit Changes) In simple words just change the bits

Binary: (2n -1 )-N

36

Radix Complement
Given a number N in base r having n digits, it is (rn N) Simply add one to the radix-1 complement (rn N) = [(rn -1 )-N] +1 Decimal:
2389 7610+1=7611

Binary: (2n -1 )-N


101100010011+1=010100
37

Subtraction with r-Complement


M-N Add the minuend, M to rs complement of Subtrahend, N
M+ (rn -N)= M-N+ rn

If M GTE N then sum will produce end carry rn. Ignore it If M LT N (No Carry) then take rs complement of answer (Negative)
38

Subtraction with rs Complement


Using 10s complement subtract 72532-03250 Using 10s complement subtract 03250 -72532 Using 2s complement subtract 1010100 -1000011 Using 2s complement subtract 1000011- 1010100

39

Subtraction with r-1 Complement


Similar to rs complement But since r-1 complement is 1 less than r complement, Carry is added back to get the result If no carry, result is negative1s complement to get the answer
1010100-1000011 1000000-1010100

40

Signed Binary Numbers


Need notation for negative values Everything must be represented by binary digits Signed magnitude convention
Left most bit can be used
0 Positive 1 Negative 01001 is +9 and 11001 is -9 (Not 25. Convention known in advance)

Signed Complement (Store negative as comps)


Signed 1s complement (8 bits)11110110 Signed 2s complement (8 bits)11110111 Signed Magnitude (8 bits) 10001001
41

Complements
Simply Subtraction (Subtraction by addition)
Rs Complement
In Binary 2s complement In Decimal 10s complement

(R-1) Complement
In Binary 1s complement In Decimal 9s Complement

42

Diminished Radix Complement


Given a number N in base r having n digits, it is (rn -1 )-N Decimal: (10n -1 )-N
If n=6 then 106-1=1000000-1=999999 9s complement of 546700 is 999999546700=453299 In simple words subtract each digit from 9

Binary: (2n -1 )-N


If n=4 then 24= (16)10= (10000)2 24 1 = (15)10= (1111)2 Note: 1-0=1 and 1-1 =0 (Bit Changes) In simple words just change the bits

43

Radix Complement
Given a number N in base r having n digits, it is (rn N) Simply add one to the radix-1 complement (rn N) = [(rn -1 )-N] +1 Decimal:
2389 7610+1=7611

Binary: (2n -1 )-N


101100010011+1=010100
44

Subtraction with r-Complement


M-N Add the minuend, M to rs complement of Subtrahend, N
M+ (rn -N)= M-N+ rn

If M GTE N then sum will produce end carry rn. Ignore it If M LT N (No Carry) then take rs complement of answer (Negative)
45

Subtraction with rs Complement


Using 10s complement subtract 72532-03250 Using 10s complement subtract 03250 -72532 Using 2s complement subtract 1010100 -1000011 Using 2s complement subtract 1000011- 1010100

46

Signed Binary Numbers


Need notation for negative values Everything must be represented by binary digits Signed magnitude convention is where; Left most bit can be used
0 Positive 1 Negative 01001 is +9 and 11001 is -9 (Not 25. Convention known in advance)

Signed Complement sys (Store negative no is rep by its complement) Signed 1s complement (8 bits)11110110 Signed 2s complement (8 bits)11110111 Signed Magnitude (8 bits) 10001001

47

Arithmetic -- addition
Binary similar to decimal arithmetic

No carries

0 1 1 0 0 + 1 0 0 0 1 1 1 1 0 1

1 0 1 1 0 0 Carries 1 0 1 1 0 + 1 0 1 1 1 1 0 1 1 0 1

1+1 is 2 (or 102), which results in a carry


48

Arithmetic -- subtraction

No borrows

1 0 1 1 0 - 1 0 0 1 0 0 0 1 0 0

0 0 1 1 0 Borrows 1 1 1 1 0 - 1 0 0 1 1 0 1 0 1 1 0 - 1 results in a borrow


Borrow makes it (10)2= (2) 10
49

Arithmetic -- multiplication
1 0 1 1 X 1 0 1 1 0 1 1 0 0 0 0 1 0 1 1 1 1 0 1 1 1
50

Successive additions of multiplicand or zero, multiplied by 2 (102). Note that multiplication by 102 just shifts bits left.

BCD (Binary Coded Decimal)


Representing the decimal digits by mean of code that contains 1 , 0 i.e. Decimal digits stored in binary Four bits/digit (Use 10 instead of 16) Num with k decimal digit will require 4k bits BCD is base as its equivalent binary number 0 9 Binary combination 1010-111 are not used in BCD Example
931 is coded as 1001 0011 0001
Decimal 15 is BCD 0001 0101 in Binary it was 1111

51

Since each digit is max 9 Sum will always be less than 19= 9+9+1(carry) Two BCD digits are added as binary numbers
When binary sum is more than binary (1001)2, result is invalid (unlike Hex last 6 were ignored)

BCD Addition

Addition of 6=(0110)2 make a correct BCD and produces a carry


Binary Sum carry and Decimal Carry differ by 16-10=6

4+5, 4+8, 8+9 184+576

52

Decimal Arithmetic
Representation of signed decimal number in BCD is similar to the rep of signed number in binary
Sign and mag system Sign complement system

Designate a plus with 0 and minus with 9 For Addition, add all digits including the sign digit and discard the carry. This assumes that all ive no are in 10s complement form
(+375) + (-240) = +135

Method for Subtraction is same as binary signed number


53

Binary Codes for per digit Numbers Binary codes for decimal digits require 4 bits
Many codes are use 4 bits in 10 distinct possible combinations (out of 16) 2421 and Excess 3 are self complementing (1 and 0 9s Comp of decimal)


Dec 0 1 2 3 4 5

Contents can be interpreted differently. What decimal value does 1100001111001001 represent in different binary codes?
Binary 0 1 10 11 100 101 110 111 1000 1001 BCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 Excess-3 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 2421 0000 0001 0010 0011 0100 1011 1100 1101 1110 1111 84-2-1 0000 0111 0110 0101 0100 1011 1010 1001 1000 1111

Other Codes Exist


Gray Code to represent te digital data when it is converted from analog data
Only one bit changes at a time 0000,0001,0011,0010,0110,0111,0101,0100,1100 ,1101,1111,1110,1010,1011,1001,1000 Why is this useful?
01111000 All Four bits need to be changed, may cause intermediate erroneous number

Application of Gray code is when analog data are rep by a continuous change of shaft position
55

ASCII Many applications require handling of not only numbers but letters and special characters Stands for American Standard Code for Information Interchange 7 Bits to store 128 characters In ASCII, every letter, number, and punctuation symbol has a corresponding number, or ASCII code This encoding system not only lets a computer store a document as a series of numbers, but also lets it share such documents with other computers that use the ASCII system.
56

Character Codes

57

Error Detection
8th bit is sometimes added to the ASCII character to represent its parity A parity bit is an extra bit included with a message to make the total num of 1s either even or odd. Note that parity detects only simple errors
One, three, etc. bits

More complex methods exist Some that enable recovery of original info
Cost is more redundant bits
58

Even Parity
Examples A (01000001) with even parity is 01000001 C (01000011) with even parity is 11000011

59

Odd Parity
Similar except make the number of 1s odd Examples A (01000001) with odd parity is 11000001 C (01000011) with odd parity is 01000011

60

Binary Storage and Registers


Physical existence in information storage medium for storing individual bits A binary cell is a device that posses stable stages and is capable of storing one bit of information A Register is a group of binary cells.

Can store any discrete quantity of information that contains n bits. 1100001111001001 is a 16 bit register 2n possible states to store 0 to 2n -1 number Contents can be interpreted differently 61

Register Transfers
Basic Operation in digital systems When Key is pressed 8 bit alphanumeric character code in to Input Register Contents of Input Register are transferred to eight least significant cells of a Processor Register After every transfer input register is cleared for new keystroke Each eight bit character transfer to the processor register is preceded by shift of previous character to next eight cells on its left When Processor Register is full, its contents are transferred to the Memory Register

62

Manipulation of binary variable


Adding two 10 bit binary numbers Memory Unit Processor Unit

63

Binary Logic
Variables have two possible distinct values, 0 and 1 Three Logic operations
AND . If and only if all variable are 1 OR + If any one or more of the variable is 1 NOT Complement (Reverse)

Truth Table of Logical Operations

64

Representation of Binary variables


Different Digital Systems represent 0 and 1 differently
Logical 0 as 0 volts. Logical 1 as 4 volts Range

65

Logic Gates
Logic Gates are electronic circuits that operate on one or more input signals to produce an output signal

66

Gates with Multiple Inputs

67

Binary Codes for Numbers

Dec 0 1 2 3 4 5

Binary codes for decimal digits require 4 bits per digit


Binary 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 BCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 Excess-3 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 2421 0000 0001 0010 0011 0100 1011 1100 1101 1110 1111 84-2-1 0000 0111 0110 0101 0100 1011 1010 1001 1000 1111

Example : 395

Binary Storage and Registers


Physical existence in information storage medium for storing individual bits A binary cell is a device that posses stable stages and is capable of storing one bit of information A Register is a group of binary cells.

Can store any discrete quantity of information that contains n bits. 1100001111001001 is a 16 bit register 2n possible states to store 0 to 2n -1 number Contents can be interpreted differently 69

Register Transfers
Basic Operation in digital systems When Key is pressed 8 bit alphanumeric character code in to Input Register Contents of Input Register are transferred to eight least significant cells of a Processor Register After every transfer input register is cleared for new keystroke Each eight bit character transfer to the processor register is preceded by shift of previous character to next eight cells on its left When Processor Register is full, its contents are transferred to the Memory Register

70

Manipulation of binary variable


Adding two 10 bit binary no Memory Unit Processor Unit

71

Binary Logic
Variables have two possible distinct values, 0 and 1 Three Logic operations
AND . If and only if all variable are 1 OR + If any one or more of the variable is 1 NOT Complement (Reverse)

Truth Table of Logical Operations

72

Representation of Binary variables


Different Digital Systems represent 0 and 1 differently
Logical 0 as 0 volts. Logical 1 as 4 volts Range

73

Logic Gates
Logic Gates are electronic circuits that operate on one or more input signals to produce an output signal

74

Gates with Multiple Inputs

75

General Queries
How to determine the base of number?
Example
14/2=5 24+17= 40 54/4 = ?

76

General Queries
How to fine the base Given the solution of the quadratic Equation? Example X2 -11x +22 = 0 is x=3, x=6 what is the base of the number

Substitute both the values of x in the equation

(3)^2 11(3) +22 = 0 9 (33) + (22) = 0 9 (3xr^1 + 3xr^0) + (2xr^1 + 2xr^0) =0 9 3r -3 + 2r + 2 =0 r=8
77

General Queries
How to determine the rs/(r-1)complement of number with fraction ?
Example
2s Complement (0.0110)2

r^n N = 2^0-(0.0110)2 = (1)2 (0.0110)2 = 0.1010


1s Complement (0.0110)2

1- r^n N = (1- 2^-4)10 (0.0110)2 = (0.935)10- (0.0110)2 (0.1111)2- (0.0110)2 = (0.1001)2

78