Click here to load reader

View

372Download

14

Tags:

Embed Size (px)

DLF Digital Logic FundamentalsTheory (3 credit hr) Capt Mariam Kayani Practicle (1 credit hr) Ms Amin Akif

1

Instructor Instructor: Capt Mariam Kayani [email protected] Telephone :119 ext 33246 Office Hours:

2

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

Topics from different sources will be indicated during the semester

3

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

4

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

5

Lecture - 01 June 11, 2011

6

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 chessboard7

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

HexadecimalDec 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 F15

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

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

1

0

0

1

1

1

0

0

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)219

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)221

Octal Decimal Convert (231)8 to decimal

82 2

813

801

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 OctalInteger 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 D25

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)10684 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

2AC26

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

2ac0010 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 10115 3 7 b

101001101111011 = 537B30

Arithmetic -- addition Binary similar to decimal arithmeticNo 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 carry31

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 borrowBorrow makes it (10)2= (2) 1033

Arithmetic -- multiplication1 0 1 1 X 1 0 1 1 0 1 1 0 0 0 0 1 0 1 1 1 1 0 1 1 134

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 94 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=01010037

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) 1000100141

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=01010044

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 carry48

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 borrowBorrow makes it (10)2= (2) 1049

Arithmetic -- multiplication1 0 1 1 X 1 0 1 1 0 1 1 0 0 0 0 1 0 1 1 1 1 0 1 1 150

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 Example931 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 number53

Binary Codes for per digit Numbers Binary codes for decimal digits require 4 bitsMany 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 ExistGray 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 position55

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 bits58

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 GatesLogic 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 NumbersDec 0 1 2 3 4 5

Binary codes for decimal digits require 4 bits per digitBinary 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 GatesLogic 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=877

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