LOGIC DESIGN. Dr. Mahmoud Abo_elfetouh

Similar documents
ITEC 1011 Introduction to Information Technologies

Common Number Systems

College of Computer and Information Sciences Department of Computer Science. CSC 220: Computer Organization. Unit1 Number Systems

Fundamentals of Programming

CS 121 Digital Logic Design. Chapter 1. Teacher Assistant. Hadeel Al-Ateeq

Review of Number Systems

Digital Fundamentals

Digital Systems and Binary Numbers

DIGITAL SYSTEM DESIGN

BINARY SYSTEM. Binary system is used in digital systems because it is:

Lecture (02) Operations on numbering systems

MACHINE LEVEL REPRESENTATION OF DATA

Lecture 2: Number Systems

CHW 261: Logic Design

Chapter 1. Digital Systems and Binary Numbers

Digital Fundamentals

Number Systems. TA: Mamun. References: Lecture notes of Introduction to Information Technologies (ITEC 1011) by Dr Scott MacKenzie

ECE 20B, Winter Purpose of Course. Introduction to Electrical Engineering, II. Administration

Chapter 4: Computer Codes. In this chapter you will learn about:

Korea University of Technology and Education

CHAPTER TWO. Data Representation ( M.MORRIS MANO COMPUTER SYSTEM ARCHITECTURE THIRD EDITION ) IN THIS CHAPTER

Computer Sc. & IT. Digital Logic. Computer Sciencee & Information Technology. 20 Rank under AIR 100. Postal Correspondence

Binary Systems and Codes

Number System. Introduction. Decimal Numbers

Digital Systems and Binary Numbers

Microcomputers. Outline. Number Systems and Digital Logic Review

Number Systems. Dr. Tarek A. Tutunji Philadelphia University, Jordan

D I G I T A L C I R C U I T S E E

Digital Systems and Binary Numbers

Chapter 2 Number Systems and Codes Dr. Xu

Chapter 3: Number Systems and Codes. Textbook: Petruzella, Frank D., Programmable Logic Controllers. McGraw Hill Companies Inc.

Chap 1. Digital Computers and Information

Lecture (01) Digital Systems and Binary Numbers By: Dr. Ahmed ElShafee

COMP Overview of Tutorial #2

EEM 232 Digital System I

Digital Logic. The Binary System is a way of writing numbers using only the digits 0 and 1. This is the method used by the (digital) computer.

UNIT 2 NUMBER SYSTEM AND PROGRAMMING LANGUAGES

Logic and Computer Design Fundamentals. Chapter 1 Digital Computers and Information

Number Systems Base r

Lecture (03) Binary Codes Registers and Logic Gates

Chapter 1 Review of Number Systems

Computer Logical Organization Tutorial

Binary Codes. Dr. Mudathir A. Fagiri

plc numbers Encoded values; BCD and ASCII Error detection; parity, gray code and checksums

CHAPTER 2 Data Representation in Computer Systems

UNIT 7A Data Representation: Numbers and Text. Digital Data

SE311: Design of Digital Systems

UNIT - I: COMPUTER ARITHMETIC, REGISTER TRANSFER LANGUAGE & MICROOPERATIONS

SIR C.R.REDDY COLLEGE OF ENGINEERING, ELURU DEPARTMENT OF INFORMATION TECHNOLOGY LESSON PLAN

Lecture (01) Introduction Number Systems and Conversion (1)

SWITCHING THEORY AND LOGIC CIRCUITS

Chapter 2. Data Representation in Computer Systems

CHAPTER 2 Data Representation in Computer Systems

DLD VIDYA SAGAR P. potharajuvidyasagar.wordpress.com. Vignana Bharathi Institute of Technology UNIT 1 DLD P VIDYA SAGAR

Logic Circuits I ECE 1411 Thursday 4:45pm-7:20pm. Nathan Pihlstrom.

Positional Number System

Thus needs to be a consistent method of representing negative numbers in binary computer arithmetic operations.

Chapter 3 DATA REPRESENTATION

This tutorial gives a complete understanding on Computer Logical Organization starting from basic computer overview till its advanced architecture.

DIGITAL SYSTEM FUNDAMENTALS (ECE 421) DIGITAL ELECTRONICS FUNDAMENTAL (ECE 422) COURSE / CODE NUMBER SYSTEM

Computer Organization

Moodle WILLINGDON COLLEGE SANGLI. ELECTRONICS (B. Sc.-I) Introduction to Number System

CS 261 Fall Binary Information (convert to hex) Mike Lam, Professor

Digital Logic Lecture 2 Number Systems


Numbering systems. Dr Abu Arqoub

Philadelphia University Student Name: Student Number:

Ms Sandhya Rani Dash UNIT 2: NUMBER SYSTEM AND CODES. 1.1 Introduction

Digital Systems COE 202. Digital Logic Design. Dr. Muhamed Mudawar King Fahd University of Petroleum and Minerals

GATE CSE. GATE CSE Book. November 2016 GATE CSE

10.1. Unit 10. Signed Representation Systems Binary Arithmetic

Chapter 10 Binary Arithmetics

IT 1204 Section 2.0. Data Representation and Arithmetic. 2009, University of Colombo School of Computing 1

2. (a) Compare the characteristics of a floppy disk and a hard disk. (b) Discuss in detail memory interleaving. [8+7]

Agenda EE 224: INTRODUCTION TO DIGITAL CIRCUITS & COMPUTER DESIGN. Lecture 1: Introduction. Go over the syllabus 3/31/2010

Digital Fundamentals. CHAPTER 2 Number Systems, Operations, and Codes

Memory Addressing, Binary, and Hexadecimal Review

COMPUTER ARCHITECTURE AND ORGANIZATION. Operation Add Magnitudes Subtract Magnitudes (+A) + ( B) + (A B) (B A) + (A B)

CHAPTER V NUMBER SYSTEMS AND ARITHMETIC

Chap.3 3. Chap reduces the complexity required to represent the schematic diagram of a circuit Library

KING FAHD UNIVERSITY OF PETROLEUM & MINERALS COMPUTER ENGINEERING DEPARTMENT

CHAPTER 2 (b) : AND CODES

Dec Hex Bin ORG ; ZERO. Introduction To Computing

Fundamentals of Programming (C)

9/3/2015. Data Representation II. 2.4 Signed Integer Representation. 2.4 Signed Integer Representation

A complement number system is used to represent positive and negative integers. A complement number system is based on a fixed length representation

Number Systems and Conversions UNIT 1 NUMBER SYSTEMS & CONVERSIONS. Number Systems (2/2) Number Systems (1/2) Iris Hui-Ru Jiang Spring 2010

Digital Fundamentals

umber Systems bit nibble byte word binary decimal

Binary. Hexadecimal BINARY CODED DECIMAL

EE292: Fundamentals of ECE

END-TERM EXAMINATION

Code No: R Set No. 1

Bachelor of Computer Application DIGITAL TECHNIQUES. Block-1

Number Systems CHAPTER Positional Number Systems

UPY14602-DIGITAL ELECTRONICS AND MICROPROCESSORS Lesson Plan

Final Labs and Tutors

Computer Systems and Networks. ECPE 170 Jeff Shafer University of the Pacific. Exam 1 Review

Digital Logic Design Exercises. Assignment 1

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR

Transcription:

LOGIC DESIGN Dr. Mahmoud Abo_elfetouh

Course objectives This course provides you with a basic understanding of what digital devices are, how they operate, and how they can be designed to perform useful functions. The course is intended to give you an understanding of Binary systems, Boolean algebra, digital design techniques, logic gates, logic minimization, standard combinational circuits, sequential circuits, flip-flops, synthesis of synchronous sequential circuits, and arithmetic circuits.

Contents Week No. Topic Lecture Practical Total 1 Number Systems and Codes 3 2 5 2 3 4 5 Number Systems and Codes Boolean Algebra and Logic Simplification Minimization Techniques- Karnaugh Map Minimization Techniques- Karnaugh Map 3 3 3 3 2 2 2 2 5 5 5 5 6 Logic Gates 3 2 5 7 Arithmetic Circuits-Adders 3 2 5 8 Mid- Term Exam

Contents Week No. Topic Lecture Practical Total 9 Arithmetic Circuits -Subtracter 3 2 5 10 Combinational Circuits 3 2 5 11 Combinational Circuits 3 2 5 12 Flip-Flops 3 2 5 13 Flip-Flops 3 2 5 14 Counters - Registers 3 2 5 15 Memory Devices 3 2 5 16 Final- Term Exam

Textbook Logic and Computer Design Fundamentals, 4th Edition by M. Morris Mano and Charles R. Kime, Prentice Hall, 2008

Chapter 1 Number Systems

1. Number Systems Location in course textbook Chapt. 1

Common Number Systems System Base Symbols Used by humans? Used in computers? Decimal 10 0, 1, 9 Yes No Binary 2 0, 1 No Yes Octal 8 0, 1, 7 No No Hexadecimal 16 0, 1, 9, A, B, F No No

Quantities/Counting (1 of 3) Decimal Binary Octal Hexadecimal 0 0 0 0 1 1 1 1 2 10 2 2 3 11 3 3 4 100 4 4 5 101 5 5 6 110 6 6 7 111 7 7 p. 33

Quantities/Counting (2 of 3) Decimal Binary Octal Hexadecimal 8 1000 10 8 9 1001 11 9 10 1010 12 A 11 1011 13 B 12 1100 14 C 13 1101 15 D 14 1110 16 E 15 1111 17 F

Quantities/Counting (3 of 3) Decimal Binary Octal Hexadecimal 16 10000 20 10 17 10001 21 11 18 10010 22 12 19 10011 23 13 20 10100 24 14 21 10101 25 15 22 10110 26 16 23 10111 27 17 Etc.

Conversion Among Bases The possibilities: Decimal Octal Binary Hexadecimal pp. 40-46

Quick Example 25 10 = 11001 2 = 31 8 = 19 16 Base

Decimal to Decimal (just for fun) Decimal Octal Binary Hexadecimal Next slide

Weight 125 10 => 5 x 10 0 = 5 2 x 10 1 = 20 1 x 10 2 = 100 125 Base

Binary to Decimal Decimal Octal Binary Hexadecimal

Binary to Decimal Technique Multiply each bit by 2 n, 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 101011 2 => 1 x 2 0 = 1 1 x 2 1 = 2 0 x 2 2 = 0 1 x 2 3 = 8 0 x 2 4 = 0 1 x 2 5 = 32 43 10

Octal to Decimal Decimal Octal Binary Hexadecimal

Octal to Decimal Technique Multiply each bit by 8 n, 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 724 8 => 4 x 8 0 = 4 2 x 8 1 = 16 7 x 8 2 = 448 468 10

Hexadecimal to Decimal Decimal Octal Binary Hexadecimal

Hexadecimal to Decimal Technique Multiply each bit by 16 n, 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 ABC 16 => C x 16 0 = 12 x 1 = 12 B x 16 1 = 11 x 16 = 176 A x 16 2 = 10 x 256 = 2560 2748 10

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 125 10 =? 2 2 125 2 62 1 2 31 0 2 15 1 2 7 1 2 3 1 2 1 1 0 1 125 10 = 1111101 2

Decimal to Octal Decimal Octal Binary Hexadecimal

Decimal to Octal Technique Divide by 8 Keep track of the remainder

Example 1234 10 =? 8 8 1234 8 154 2 8 19 2 8 2 3 0 2 1234 10 = 2322 8

Decimal to Hexadecimal Decimal Octal Binary Hexadecimal

Decimal to Hexadecimal Technique Divide by 16 Keep track of the remainder

Example 1234 10 =? 16 16 1234 16 77 2 16 4 13 = D 0 4 1234 10 = 4D2 16

Octal to Binary Decimal Octal Binary Hexadecimal

Octal to Binary Technique Convert each octal digit to a 3-bit equivalent binary representation

Example 705 8 =? 2 7 0 5 111 000 101 705 8 = 111000101 2

Hexadecimal to Binary Decimal Octal Binary Hexadecimal

Hexadecimal to Binary Technique Convert each hexadecimal digit to a 4-bit equivalent binary representation

Example 10AF 16 =? 2 1 0 A F 0001 0000 1010 1111 10AF 16 = 0001000010101111 2

Binary to Octal Decimal Octal Binary Hexadecimal

Binary to Octal Technique Group bits in threes, starting on right Convert to octal digits

Example 1011010111 2 =? 8 1 011 010 111 1 3 2 7 1011010111 2 = 1327 8

Binary to Hexadecimal Decimal Octal Binary Hexadecimal

Binary to Hexadecimal Technique Group bits in fours, starting on right Convert to hexadecimal digits

Example 1010111011 2 =? 16 10 1011 1011 2 B B 1010111011 2 = 2BB 16

Octal to Hexadecimal Decimal Octal Binary Hexadecimal

Octal to Hexadecimal Technique Use binary as an intermediary

Example 1076 8 =? 16 1 0 7 6 001 000 111 110 2 3 E 1076 8 = 23E 16

Hexadecimal to Octal Decimal Octal Binary Hexadecimal

Hexadecimal to Octal Technique Use binary as an intermediary

Example 1F0C 16 =? 8 1 F 0 C 0001 1111 0000 1100 1 7 4 1 4 1F0C 16 = 17414 8

Exercise Convert... Decimal Binary Octal 33 1110101 703 Hexadecimal 1AF Don t use a calculator! Skip answer Answer

Exercise Convert Answer Decimal Binary Octal Hexadecimal 33 100001 41 21 117 1110101 165 75 451 111000011 703 1C3 431 110101111 657 1AF

Common Powers (1 of 2) Base 10 Power Preface Symbol 10-12 pico p 10-9 nano n 10-6 micro 10-3 milli m 10 3 kilo k 10 6 mega M 10 9 giga G 10 12 tera T Value.000000000001.000000001.000001.001 1000 1000000 1000000000 1000000000000

Common Powers (2 of 2) Base 2 Power Preface Symbol 2 10 kilo k 2 20 mega M 2 30 Giga G Value 1024 1048576 1073741824 What is the value of k, M, and G? In computing, particularly w.r.t. memory, the base-2 interpretation generally applies

Example In the lab 1. Double click on My Computer 2. Right click on C: 3. Click on Properties / 2 30 =

Exercise Free Space Determine the free space on all drives on a machine in the lab Drive Bytes Free space GB A: C: D: E: etc.

Review multiplying powers For common bases, add powers a b a c = a b+c 2 6 2 10 = 2 16 = 65,536 or 2 6 2 10 = 64 2 10 = 64k

Fractions Decimal to decimal (just for fun) 3.14 => 4 x 10-2 = 0.04 1 x 10-1 = 0.1 3 x 10 0 = 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 2 0 = 0.0 1 x 2 1 = 2.0 2.6875 pp. 46-50

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

Fractions Octal to decimal 15.42 => 2 x 8-2 = 0.03125 4 x 8-1 = 0.5 5 x 8 0 = 5.0 1 x 8 1 = 8.0 13.53125 pp. 46-50

Fractions Decimal to octal 3.14 3.107534....14 x 8 1.12 x 8 0.96 x 8 7.68 x 8 5.44 x 8 3.52 x 8 4.16 etc. p. 50

Fractions Hexadecimal to decimal 2B.84 => 4 x 16-2 = 0.015625 8 x 16-1 = 0.5 B x 16 0 = 11.0 2 x 16 1 = 32.0 43.515625 pp. 46-50

Fractions Decimal to Hexadecima 3.1 3.199999....1 x 16 1.6 x 16 9.6 x 16 9.6 x 16 9.6 x 16 9.6 x 16 9.6 etc. p. 50

Exercise Convert... Decimal Binary Octal 29.8 101.1101 3.07 Hexadecimal C.82 Don t use a calculator! Skip answer Answer

Exercise Convert Answer Decimal Binary Octal Hexadecimal 29.8 11101.110011 35.63 1D.CC 5.8125 101.1101 5.64 5.D 3.109375 11.000111 3.07 3.1C 12.5078125 1100.10000010 14.404 C.82

Binary Addition (1 of 2) Two 1-bit values A B A + B 0 0 0 0 1 1 1 0 1 1 1 10 two pp. 36-38

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 (2 of 3) Binary, two 1-bit values A B A B 0 0 0 0 1 0 1 0 0 1 1 1

Binary Subtraction (1 of 2) Two 1-bit values Borrow 1 A B A - B 0 0 0 0 1 1 1 0 1 1 1 0 pp. 36-38

Binary Subtraction (2 of 2) Two n-bit values Subtract individual bits Propagate borrows E.g., 10 11001 0 25-10101 - 21 00100 4

Binary Subtraction (2 of 2) Two n-bit values Subtract individual bits Propagate borrows E.g., 10 10001-10101 00100 10 0 11001 25-10101 - 21 00100 4

Subtraction with Complements Complements are used for simplifying the subtraction operations. There are two types of complements for each base-r system: the r's complement and the (r l)'s complement. 2's complement and 1's complement for binary numbers, and the 10's complement and 9's com plement for decimal numbers.

9's complement The 9's complement of a decimal number is obtained by subtracting each digit from 9. The 9's complement of 546700 is: 999999-546700 = 453299. The 9's complement of 012398 is: 999999-012398 = 987601.

Binary numbers, the 1's complement The 1's complement of a binary number is formed by changing 1's to 0's and 0's to 1's. Examples: The 1's complement of 1011000 is 0100111 The 1's complement of 0101101 is 1010010

10's complement The 10's complement can be formed by leaving all least significant 0's un changed, subtracting the first nonzero least significant digit from 10, and subtracting all higher significant digits from 9. The 10's complement of 012398 is 987602. The 10's complement of 246700 is 753300.

2's complement The 2's complement can be formed by leaving all least significant 0's and the first 1 unchanged, and replacing 1's with 0's and 0's with 1's in all other higher significant digits. The 2's complement of 1101100 is 0010100 The 2's complement of 0110111 is 1001001

Subtraction with Complements The subtraction of two n-digit unsigned numbers M N in base r can be done as follows: Add M to the r's complement of N. If M N, the sum will produce an end carry, r n, which is discarded; what is left is the result M - N. If M < N, the sum does not produce an end carry. To obtain the answer in a familiar form, take the r's complement of the sum and place a negative sign in front.

Examples to illustrate the procedure Given the two binary numbers; X = 1010100 and Y = 1000011, perform the subtraction: (a) X Y (b) Y X using 2's complements.

X Y= 1010100 1000011 X = 1010100 2's complement of Y = + 0111101 Sum = 10010001 Discard end carry = -10000000 Answer: X Y = 0010001

Y X= 1000011 1010100 Y = 1000011 2's complement of X = + 0101100 Sum = 1101111 There is no end carry. Answer: Y - X = -(2's complement of 1101111) = - 0010001

Thank you Next topic

Binary Codes Binary codes are codes which are represented in binary system with modification from the original ones. Binary codes are classified as: Weighted Binary Systems Non Weighted Codes

Weighted Binary Systems Weighted binary codes are those which obey the positional weighting principles, Each position of the number represents a specific weight. The codes 8421, 2421, 5421, and 5211 are weighted binary codes.

Weighted Binary Systems

8421 Code/BCD Code The BCD (Binary Coded Decimal) is a straight assignment of the binary equivalent. It is possible to assign weights to the binary bits according to their positions. The weights in the BCD code are 8,4,2,1. Example: The bit assignment 1001, can be seen by its weights to represent the decimal 9 because: 1x8+0x4+0x2+1x1 = 9 Ex. number 12 is represented in BCD as [0001 0010]

2421 Code 2421 Code This is a weighted code, its weights are 2, 4, 2 and 1. A decimal number is represented in 4-bit form and the total four bits weight is 2 + 4 + 2 + 1 = 9. Hence the 2421 code represents the decimal numbers from 0 to 9.

5211 Code 5211 Code This is a weighted code, its weights are 5, 2, 1 and 1. A decimal number is represented in 4-bit form and the total four bits weight is 5 + 2 + 1 + 1 = 9. Hence the 5211 code represents the decimal numbers from 0 to 9.

Reflective Code Reflective Code A code is said to be reflective when code for 9 is complement for the code for 0, and so is for 8 and 1 codes, 7 and 2, 6 and 3, 5 and 4. Codes 2421, 5211, and excess-3 are reflective, whereas the 8421 code is not.

Sequential Codes Sequential Codes A code is said to be sequential when two subsequent codes, seen as numbers in binary representation, differ by one. This greatly aids mathematical manipulation of data. The 8421 and Excess-3 codes are sequential, whereas the 2421 and 5211 codes are not.

Excess-3 Code Excess-3 Code Excess-3 is a non weighted code used to express decimal numbers. The code derives its name from the fact that each binary code is the corresponding 8421 code plus 0011(3). Example: 1000 of 8421 = 1011 in Excess-3

Error Detecting and Correction Codes For reliable transmission and storage of digital data, error detection and correction is required.

Error Detecting Codes When data is transmitted from one point to another there are chances that data may get corrupted. To detect these data errors, we use special codes, which are error detection codes.

Parity check In parity codes, every binary message is checked if they have even number of ones or even number of zeros. Based on this information an additional bit is appended to the original data. At the receiver side, once again parity is calculated and matched with the received parity, and if they match, data is ok, otherwise data is corrupt. There are two types of parity: Even parity and Odd Parity

Parity There are two types of parity: Even parity: Checks if there is an even number of ones; if so, parity bit is zero. When the number of ones is odd then parity bit is set to 1. Message xyz 000 001 011 Even parity code xyz p 000 0 001 1 011 0

Parity Odd Parity: Checks if there is an odd number of ones; if so, parity bit is zero. When number of ones is even then parity bit is set to 1. Message xyz 000 001 011 Odd parity code xyz p 000 1 001 0 011 1

Alphanumeric Codes The binary codes that can be used to represent all the letters of the alphabet, numbers and mathematical symbols, punctuation marks, are known as alphanumeric codes or character codes. These codes enable us to interface the input-output devices like the keyboard, printers, video displays with the computer.

ASCII Code ASCII Code ASCII stands for American Standard Code for Information Interchange. It has become a world standard alphanumeric code for microcomputers and computers. It is a 7-bit code representing 2 7 = 128 different characters. These characters represent 26 upper case letters (A to Z), 26 lowercase letters (a to z), 10 numbers (0 to 9), 33 special characters and symbols and 33 control characters.

ASCII Code The 7-bit code is divided into two portions, The leftmost 3 bits portion is called zone bits and the 4-bit portion on the right is called numeric bits. Character A B 3 7-bit ASCII 100 0001 100 0010 011 0011

ASCII Code An 8-bit version of ASCII code is known as ASCII-8. The 8-bit version can represent a maximum of 256 characters.

EBCDIC Code EBCDIC Code EBCDIC stands for Extended Binary Coded Decimal Interchange. It is mainly used with large computer systems like mainframes. EBCDIC is an 8-bit code and thus accommodates up to 256 characters. An EBCDIC code is divided into two portions: 4 zone bits (on the left) and 4 numeric bits (on the right).