Vous êtes sur la page 1sur 102

Dr.

Mahmoud Abo_elfetouh
LOGIC DESIGN
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.
Course objectives
Contents
Total Practical Lecture Topic Week No.
5 2 3 Number Systems and Codes
1
5 2
3
Number Systems and Codes
2
5 2
3
Boolean Algebra and Logic
Simplification
3
5 2
3
Minimization Techniques-
Karnaugh Map
4
5 2
3
Minimization Techniques-
Karnaugh Map
5
5 2 3 Logic Gates
6
5
2
3
Arithmetic Circuits-Adders
7
Mid- Term Exam 8
Contents
Total Practical Lecture Topic Week No.
5 2 3
Arithmetic Circuits -Subtracter
9
5 2
3
Combinational Circuits
10
5 2 3 Combinational Circuits
11
5 2 3 Flip-Flops
12
5 2 3
Flip-Flops
13
5 2 3 Counters - Registers
14
5
2
3
Memory Devices
15
Final- Term Exam
16
Textbook
Logic and Computer Design Fundamentals, 4th
Edition by M. Morris Mano and Charles R. Kime,
Prentice Hall, 2008
Chapter 1
Number Systems
ITEC 1011
Introduction to Information Technologies
1. Number Systems
Chapt. 1
Location in
course textbook
ITEC 1011
Introduction to Information Technologies
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
Hexa-
decimal
16 0, 1, 9,
A, B, F
No No
ITEC 1011
Introduction to Information Technologies
Quantities/Counting (1 of 3)
Decimal Binary Octal
Hexa-
decimal
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
ITEC 1011
Introduction to Information Technologies
Quantities/Counting (2 of 3)
Decimal Binary Octal
Hexa-
decimal
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
ITEC 1011
Introduction to Information Technologies
Quantities/Counting (3 of 3)
Decimal Binary Octal
Hexa-
decimal
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.
ITEC 1011
Introduction to Information Technologies
Conversion Among Bases
The possibilities:
Hexadecimal
Decimal Octal
Binary
pp. 40-46
ITEC 1011
Introduction to Information Technologies
Quick Example
25
10
= 11001
2
= 31
8
= 19
16
Base
ITEC 1011
Introduction to Information Technologies
Decimal to Decimal (just for fun)
Hexadecimal
Decimal Octal
Binary
Next slide
ITEC 1011
Introduction to Information Technologies
125
10
=> 5 x 10
0
= 5
2 x 10
1
= 20
1 x 10
2
= 100
125
Base
Weight
ITEC 1011
Introduction to Information Technologies
Binary to Decimal
Hexadecimal
Decimal Octal
Binary
ITEC 1011
Introduction to Information Technologies
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
ITEC 1011
Introduction to Information Technologies
Example
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
Bit 0
ITEC 1011
Introduction to Information Technologies
Octal to Decimal
Hexadecimal
Decimal Octal
Binary
ITEC 1011
Introduction to Information Technologies
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
ITEC 1011
Introduction to Information Technologies
Example
724
8
=> 4 x 8
0
= 4
2 x 8
1
= 16
7 x 8
2
= 448
468
10
ITEC 1011
Introduction to Information Technologies
Hexadecimal to Decimal
Hexadecimal
Decimal Octal
Binary
ITEC 1011
Introduction to Information Technologies
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
ITEC 1011
Introduction to Information Technologies
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
ITEC 1011
Introduction to Information Technologies
Decimal to Binary
Hexadecimal
Decimal Octal
Binary
ITEC 1011
Introduction to Information Technologies
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.
ITEC 1011
Introduction to Information Technologies
Example
125
10
= ?
2
2 125
62 1
2
31 0
2
15 1
2
7 1
2
3 1
2
1 1
2
0 1
125
10
= 1111101
2
ITEC 1011
Introduction to Information Technologies
Decimal to Octal
Hexadecimal
Decimal Octal
Binary
ITEC 1011
Introduction to Information Technologies
Decimal to Octal
Technique
Divide by 8
Keep track of the remainder
ITEC 1011
Introduction to Information Technologies
Example
1234
10
= ?
8
8 1234
154 2
8
19 2
8
2 3
8
0 2
1234
10
= 2322
8
ITEC 1011
Introduction to Information Technologies
Decimal to Hexadecimal
Hexadecimal
Decimal Octal
Binary
ITEC 1011
Introduction to Information Technologies
Decimal to Hexadecimal
Technique
Divide by 16
Keep track of the remainder
ITEC 1011
Introduction to Information Technologies
Example
1234
10
= ?
16
1234
10
= 4D2
16
16 1234
77 2
16
4 13 = D
16
0 4
ITEC 1011
Introduction to Information Technologies
Octal to Binary
Hexadecimal
Decimal Octal
Binary
ITEC 1011
Introduction to Information Technologies
Octal to Binary
Technique
Convert each octal digit to a 3-bit equivalent
binary representation
ITEC 1011
Introduction to Information Technologies
Example
705
8
= ?
2
7 0 5
111 000 101
705
8
= 111000101
2
ITEC 1011
Introduction to Information Technologies
Hexadecimal to Binary
Hexadecimal
Decimal Octal
Binary
ITEC 1011
Introduction to Information Technologies
Hexadecimal to Binary
Technique
Convert each hexadecimal digit to a 4-bit
equivalent binary representation
ITEC 1011
Introduction to Information Technologies
Example
10AF
16
= ?
2
1 0 A F
0001 0000 1010 1111
10AF
16
= 0001000010101111
2
ITEC 1011
Introduction to Information Technologies
Binary to Octal
Hexadecimal
Decimal Octal
Binary
ITEC 1011
Introduction to Information Technologies
Binary to Octal
Technique
Group bits in threes, starting on right
Convert to octal digits
ITEC 1011
Introduction to Information Technologies
Example
1011010111
2
= ?
8
1 011 010 111
1 3 2 7
1011010111
2
= 1327
8
ITEC 1011
Introduction to Information Technologies
Binary to Hexadecimal
Hexadecimal
Decimal Octal
Binary
ITEC 1011
Introduction to Information Technologies
Binary to Hexadecimal
Technique
Group bits in fours, starting on right
Convert to hexadecimal digits
ITEC 1011
Introduction to Information Technologies
Example
1010111011
2
= ?
16
10 1011 1011
2 B B
1010111011
2
= 2BB
16
ITEC 1011
Introduction to Information Technologies
Octal to Hexadecimal
Hexadecimal
Decimal Octal
Binary
ITEC 1011
Introduction to Information Technologies
Octal to Hexadecimal
Technique
Use binary as an intermediary
ITEC 1011
Introduction to Information Technologies
Example
1076
8
= ?
16
1 0 7 6
001 000 111 110
2 3 E
1076
8
= 23E
16
ITEC 1011
Introduction to Information Technologies
Hexadecimal to Octal
Hexadecimal
Decimal Octal
Binary
ITEC 1011
Introduction to Information Technologies
Hexadecimal to Octal
Technique
Use binary as an intermediary
ITEC 1011
Introduction to Information Technologies
Example
1F0C
16
= ?
8
1 F 0 C
0001 1111 0000 1100
1 7 4 1 4
1F0C
16
= 17414
8
ITEC 1011
Introduction to Information Technologies
Exercise Convert ...
Dont use a calculator!
Decimal Binary Octal
Hexa-
decimal
33
1110101
703
1AF
Skip answer Answer
ITEC 1011
Introduction to Information Technologies
Exercise Convert
Decimal Binary Octal
Hexa-
decimal
33 100001 41 21
117 1110101 165 75
451 111000011 703 1C3
431 110101111 657 1AF
Answer
ITEC 1011
Introduction to Information Technologies
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
ITEC 1011
Introduction to Information Technologies
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
ITEC 1011
Introduction to Information Technologies
Example
/ 2
30
=
In the lab
1. Double click on My Computer
2. Right click on C:
3. Click on Properties
ITEC 1011
Introduction to Information Technologies
Exercise Free Space
Determine the free space on all drives on
a machine in the lab
Drive
Free space
Bytes GB
A:
C:
D:
E:
etc.
ITEC 1011
Introduction to Information Technologies
Review multiplying powers
For common bases, add powers
2
6
2
10
= 2
16
= 65,536
or
2
6
2
10
= 64 2
10
= 64k
a
b
a
c
= a
b+c
ITEC 1011
Introduction to Information Technologies
Fractions
Decimal to decimal (just for fun)
pp. 46-50
3.14 => 4 x 10
-2
= 0.04
1 x 10
-1
= 0.1
3 x 10
0
= 3
3.14
ITEC 1011
Introduction to Information Technologies
Fractions
Binary to decimal
pp. 46-50
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
ITEC 1011
Introduction to Information Technologies
Fractions
Decimal to binary
p. 50
3.14579
.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.
11.001001...
ITEC 1011
Introduction to Information Technologies
Fractions
Octal to decimal
pp. 46-50
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
ITEC 1011
Introduction to Information Technologies
Fractions
Decimal to octal
p. 50
3.14
.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.
3.107534...
ITEC 1011
Introduction to Information Technologies
Fractions
Hexadecimal to decimal
pp. 46-50
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
ITEC 1011
Introduction to Information Technologies
Fractions
Decimal to Hexadecima
p. 50
3.1
.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.
3.199999...
ITEC 1011
Introduction to Information Technologies
Exercise Convert ...
Dont use a calculator!
Decimal Binary Octal
Hexa-
decimal
29.8
101.1101
3.07
C.82
Skip answer Answer
ITEC 1011
Introduction to Information Technologies
Exercise Convert
Decimal Binary Octal
Hexa-
decimal
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
Answer
ITEC 1011
Introduction to Information Technologies
Binary Addition (1 of 2)
Two 1-bit values
pp. 36-38
A B A + B
0 0 0
0 1 1
1 0 1
1 1 10
two
ITEC 1011
Introduction to Information Technologies
Binary Addition (2 of 2)
Two n-bit values
Add individual bits
Propagate carries
E.g.,
10101 21
+ 11001 + 25
101110 46
1 1
ITEC 1011
Introduction to Information Technologies
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
ITEC 1011
Introduction to Information Technologies
Binary Subtraction (1 of 2)
Two 1-bit values
pp. 36-38
A B A - B
0 0 0
0 1 1
1 0 1
1 1 0
Borrow 1
ITEC 1011
Introduction to Information Technologies
Binary Subtraction (2 of 2)
Two n-bit values
Subtract individual bits
Propagate borrows
E.g.,
11001 25
- 10101 - 21
00100 4
10
0
ITEC 1011
Introduction to Information Technologies
Binary Subtraction (2 of 2)
Two n-bit values
Subtract individual bits
Propagate borrows
E.g.,
11001 25
- 10101 - 21
00100 4
10
0
10001
- 10101
00100
10
ITEC 1011
Introduction to Information Technologies
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.
ITEC 1011
Introduction to Information Technologies
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.
ITEC 1011
Introduction to Information Technologies
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
ITEC 1011
Introduction to Information Technologies
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.
ITEC 1011
Introduction to Information Technologies
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
ITEC 1011
Introduction to Information Technologies
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.
ITEC 1011
Introduction to Information Technologies
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.
ITEC 1011
Introduction to Information Technologies
X Y=1010100 1000011
X = 1010100
2's complement of Y = + 0111101
Sum = 10010001
Discard end carry = -10000000
Answer: X Y = 0010001

ITEC 1011
Introduction to Information Technologies
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
ITEC 1011
Introduction to Information Technologies
Thank you
Next topic
ITEC 1011
Introduction to Information Technologies
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
ITEC 1011
Introduction to Information Technologies
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.
ITEC 1011
Introduction to Information Technologies
Weighted Binary Systems
ITEC 1011
Introduction to Information Technologies
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]
ITEC 1011
Introduction to Information Technologies
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.
ITEC 1011
Introduction to Information Technologies
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.
ITEC 1011
Introduction to Information Technologies
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.
ITEC 1011
Introduction to Information Technologies
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.
ITEC 1011
Introduction to Information Technologies
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
ITEC 1011
Introduction to Information Technologies
Error Detecting and Correction Codes
For reliable transmission and storage of digital
data, error detection and correction is
required.
ITEC 1011
Introduction to Information Technologies
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.
ITEC 1011
Introduction to Information Technologies
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
ITEC 1011
Introduction to Information Technologies
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.
Even parity code
xyz p
Message
xyz
000 0 000
001 1 001
011 0 011
ITEC 1011
Introduction to Information Technologies
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.

Odd parity code


xyz p
Message
xyz
000 1 000
001 0 001
011 1 011
ITEC 1011
Introduction to Information Technologies
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.
ITEC 1011
Introduction to Information Technologies
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.

ITEC 1011
Introduction to Information Technologies
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.
7-bit ASCII Character
100 0001 A
100 0010 B
011 0011 3
ITEC 1011
Introduction to Information Technologies
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.
ITEC 1011
Introduction to Information Technologies
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).

Vous aimerez peut-être aussi