0% found this document useful (0 votes)
15 views97 pages

LogicDesign 01

Uploaded by

duzgunceren24
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views97 pages

LogicDesign 01

Uploaded by

duzgunceren24
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

BME2322 – Logic Design

The Instructors:
Dr. Görkem SERBES (C317)
gserbes@yildiz.edu.tr
https://avesis.yildiz.edu.tr/gserbes/
Lab Assistants:
Fatih Ekrem ONAT - fonat@yildiz.edu.tr

1
LECTURE 1

2
Teams Info
link:
https://teams.microsoft.com/l/team/19%3AejMq0SORswrf6OZpg2ZwjxAjhN4Hlyw
SCCCNzCZoYb01%40thread.tacv2/conversations?groupId=1c36834c-caa7-
4ccf-86a0-a233b9636dad&tenantId=85602908-e15b-43ba-9148-38bc773a816e
team code: 05upkbo

3
Assesment
• Attendance : 6%
• Midterm : 34%
• 4 Quizzes : 20%
• Final : 40%

• Quiz Weeks : 3, 6, 11, 14

4
Course Outline
1. Digital Computers, Number Systems, Arithmetic Operations,
Decimal, Alphanumeric, and Gray Codes
2. Binary Logic, Gates, Boolean Algebra, Standard Forms
3. Circuit Optimization, Two-Level Optimization, Map Manipulation,
Multi-Level Circuit Optimization
4. Additional Gates and Circuits, Other Gate Types, Exclusive-OR
Operator and Gates, High-Impedance Outputs
5. Implementation Technology and Logic Design, Design Concepts
and Automation, The Design Space, Design Procedure, The major
design steps
6. Programmable Implementation Technologies: Read-Only
Memories, Programmable Logic Arrays, Programmable Array
Logic,Technology mapping to programmable logic devices
7. Combinational Functions and Circuits
8. Arithmetic Functions and Circuits
9. Sequential Circuits Storage Elements and Sequential Circuit
Analysis
10. Sequential Circuits, Sequential Circuit Design State Diagrams,
State Tables
5
Recommended books
Main course book:
Logic and Computer Design
Fundamentals
By M. Mano, Charles Kime.
Published by Prentice Hall.
Edition: 4th.
Isbn: 013198926X

6
Digital Design: Principles and Digital Systems: Principles Logic and Computer Design
Practices and Applications Fundamentals
by John F. Wakerly by Ronald Tocci by M. Morris Mano

Verilog HDL Fundamentals of Logic Digital Design


by Samir Palnitkar Design by M. Morris Mano
by Jr., Charles H. Roth

Introduction to Logic Design Digital Design and Computer Fundamentals of Digital Logic
by Alan Marcovitz Architecture with Verilog Design
by David Harris by Stephen Brown
7
Digital Abstraction

8
Digital Abstraction (cont.)
In this course we will use Digital Abstraction idea.

But why we need digital signals and systems?

9
Digital Abstraction (cont.)

Using Superposition:

If

10
Digital Abstraction (cont.)

Noise added
to the signal

Analog Systems lack noise immunity


11
Digital Abstraction (cont.)

High Low
5V 0V
True False
‘1’ ‘0’
Note: In modern world
lower voltage values
are used.

12
Why is this discretization is useful?

Ideal Case

13
Why is this discretization is useful? (cont.)

14
Why is this discretization is useful? (cont.)

15
The Big Picture

16
Sender-Receiver Contract

17
Static Discipline

1
2.5 V

18
Static Discipline (Cont.)

19
Static Discipline (Cont.)

20
Static Discipline (Cont.)

21
Digital Information

Information can be stored by using 1 and 0s.


Boolean Logic is used to process this information.

22
Digital Information

23
Digital Information

Z=X.Y Boolean Equation

X
Z AND Gate
Y

X Y Z Truth Table
Enumerates input combinations
0 0 0
0 1 0
1 0 0
1 1 1 24
Digital Information

25
26
What is Information?

28
What is Information? (Cont.)

29
What is Information? (Cont.)

30
What is Information? (Cont.)

31
What is Information? (Cont.)

32
Example 1

33
Example 1 (Cont.)

34
35
What is Entropy?

36
What is Entropy? (Cont.)

37
Example 2

38
Example 2 (Cont.)

39
40
Encoding

41
42
Encoding

43
Encoding (Cont.)

44
Decimal Number System
 Base (also called radix) = 10
◆ 10 digits { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }
 Digit Position
◆ Integer & fraction 2 1 0 -1 -2

 Digit Weight 5 1 2 7 4
◆ Weight = (Base) Position
 Magnitude 100 10 1 0.1 0.01
◆ Sum of “Digit x Weight”
 Formal Notation
500 10 2 0.7 0.04

d2*B2+d1*B1+d0*B0+d-1*B-1+d-2*B-2

(512.74)10
45
Binary Number System
 Base = 2
◆ 2 digits { 0, 1 }, called binary digits or “bits”
 Weights
◆ Weight = (Base) Position 4 2 1 1/2 1/4

 Magnitude 1 0 1 0 1
◆ Sum of “Bit x Weight” 2 1 0 -1 -2
 Formal Notation 1 *22+0 *21+1 *20+0 *2-1+1 *2-2
 Groups of bits 4 bits = Nibble
=(5.25)10
8 bits = Byte
(101.01)2
1011

11000101
46
Encoding (Cont.)

47
Hexadecimal Number System
 Base = 16
◆ 16 digits { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F }
 Weights
◆ Weight = (Base) Position 256 16 1 1/16 1/256

 Magnitude 1 E 5 7 A
◆ Sum of “Digit x Weight”
2 1 0 -1 -2
 Formal Notation
1 *162+14 *161+5 *160+7 *16-1+10 *16-2
=(485.4765625)10

(1E5.7A)16

48
Example 3

49
Example 3 Cont.

50
Octal Number System

Octal Numbering System (Octal Notation)

51
Octal Number System
 Base = 8
◆ 8 digits { 0, 1, 2, 3, 4, 5, 6, 7 }
 Weights
◆ Weight = (Base) Position 64 8 1 1/8 1/64

 Magnitude 5 1 2 7 4
◆ Sum of “Digit x Weight”
2 1 0 -1 -2
 Formal Notation
5 *82+1 *81+2 *80+7 *8-1+4 *8-2
=(330.9375)10

(512.74)8

52
The Power of 2

n 2n n 2n
0 20=1 8 28=256
1 21=2 9 29=512
2 22=4 10 210=1024 Kilo

3 23=8 11 211=2048
4 24=16 12 212=4096
5 25=32 20 220=1M Mega

6 26=64 30 230=1G Giga

7 27=128 40 240=1T Tera

53
Decimal (Integer) to Binary Conversion

 Divide the number by the ‘Base’ (=2)


 Take the remainder (either 0 or 1) as a coefficient
 Take the quotient and repeat the division

Example: (13)10
Quotient Remainder Coefficient
13/ 2 = 6 1 a0 = 1
6 /2= 3 0 a1 = 0
3 /2= 1 1 a2 = 1
1 /2= 0 1 a3 = 1
Answer: (13)10 = (a3 a2 a1 a0)2 = (1101)2

MSB LSB
54
Decimal (Fraction) to Binary Conversion

 Multiply the number by the ‘Base’ (=2)


 Take the integer (either 0 or 1) as a coefficient
 Take the resultant fraction and repeat the multiplicaton

Example: (0.625)10
Integer Fraction Coefficient
0.625 * 2 = 1 . 25 a-1 = 1
0.25 * 2 = 0 . 5 a-2 = 0
0.5 *2= 1 . 0 a-3 = 1
Answer: (0.625)10 = (0.a-1 a-2 a-3)2 = (0.101)2

MSB LSB

55
Decimal to Octal Conversion
Example: (175)10
Quotient Remainder Coefficient
175 / 8 = 21 7 a0 = 7
21 / 8 = 2 5 a1 = 5
2 /8= 0 2 a2 = 2
Answer: (175)10 = (a2 a1 a0)8 = (257)8

Example: (0.3125)10
Integer Fraction Coefficient
0.3125 * 8 = 2 . 5 a-1 = 2
0.5 *8= 4 . 0 a-2 = 4
Answer: (0.3125)10 = (0.a-1 a-2 a-3)8 = (0.24)8

56
Binary − Octal Conversion
Octal Binary
 8 = 23
 Each group of 3 bits represents an octal 0 000
digit 1 001
2 010
Assume Zeros
Example: 3 011

( 1 0 1 1 0 . 0 1 )2 4 100
5 101
6 110
( 2 6 . 2 )8 7 111

Works both ways (Binary to Octal & Octal to Binary)


57
Binary − Hexadecimal Conversion
Hex Binary
 16 = 24 0 0000
1 0001
 Each group of 4 bits represents a 2 0010
hexadecimal digit 3 0011
4 0100
5 0101
Assume Zeros 6 0110
Example: 7 0111
8 1000
( 1 0 1 1 0 . 0 1 )2 9 1001
A 1010
B 1011
C 1100
D 1101
(1 6 . 4 )16 E 1110
F 1111

Works both ways (Binary to Hex & Hex to Binary)


58
Octal − Hexadecimal Conversion
 Convert to Binary as an intermediate step

Example:
( 2 6 . 2 )8

Assume Zeros Assume Zeros

( 0 1 0 1 1 0 . 0 1 0 )2

(1 6 . 4 )16

Works both ways (Octal to Hex & Hex to Octal)


59
Decimal, Binary, Octal and Hexadecimal
Decimal Binary Octal Hex
00 0000 00 0
01 0001 01 1
02 0010 02 2
03 0011 03 3
04 0100 04 4
05 0101 05 5
06 0110 06 6
07 0111 07 7
08 1000 10 8
09 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

60
Addition

 Decimal Addition

1 1 Carry
5 5
+ 5 5

1 1 0
= Ten ≥ Base
➔ Subtract a Base

61
Binary Addition

 Column Addition

1 1 1 1 1 1
1 1 1 1 0 1 = 61
+ 1 0 1 1 1 = 23

1 0 1 0 1 0 0 = 84

≥ (2)10

62
Binary Subtraction

 Borrow a “Base” when needed

1 2 = (10)2
0 2 2 0 0 2
1 0 0 1 1 0 1 = 77
− 1 0 1 1 1 = 23

0 1 1 0 1 1 0 = 54

63
Binary Multiplication

 Bit by bit

1 0 1 1 1
x 1 0 1 0
0 0 0 0 0
1 0 1 1 1
0 0 0 0 0
1 0 1 1 1

1 1 1 0 0 1 1 0

64
Encoding (Cont.)

Aside: Why Base 2?


❖ Electronic implementation
▪ Easy to store with bi-stable elements
▪ Reliably transmitted on noisy and inaccurate wires
0 1 0
3.3V
2.8V

0.5V
0.0V

65
Encoding (Cont.)
Base Comparison
❖ Why does all of this matter?
▪ Humans think about numbers in base
10, but computers “think” about
numbers in base 2
▪ Binary encoding is what allows
computers to do all of the amazing
things that they do!

66
Encoding (Cont.)

Numerical Encoding

67
Encoding (Cont.)
English Letters: CSE→0x435345, yay→0x796179

68
Encoding (Cont.)

Binary Encoding

69
https://www.binaryhexconverter.com/hex-to-ascii-text-converter ----→ Hex to Ascii Converter
https://www.rgbtohex.net/hextorgb/ ---→ Hex to RGB converter
https://gregstoll.com/~gregstoll/floattohex/ ---→ Hex to real number converter

So What’s It Mean?

70
Encoding (Cont.)
Binary Encoding – Files and Programs
❖ At the lowest level, all digital data is stored as bits!

❖ Layers of abstraction keep everything comprehensible


▪ Data/files are groups of bits interpreted by program
▪ Program is actually groups of bits being interpreted by your
CPU

❖ Computer Memory Demo


▪ Can try to open files using a text editor
▪ From vim: %!xxd

71
Encoding (Cont.)

72
Signed Binary Numbers

73
Complements
 There are two types of complements for each base-r system: the radix complement and
diminished radix complement.
 Diminished Radix Complement - (r-1)’s Complement
◆ Given a number N in base r having n digits, the (r–1)’s complement of N is
defined as:
(rn –1) – N
 Example for 6-digit decimal numbers:
◆ 9’s complement is (rn – 1)–N = (106–1)–N = 999999–N
◆ 9’s complement of 546700 is 999999–546700 = 453299
 Example for 7-digit binary numbers:
◆ 1’s complement is (rn – 1) – N = (27–1)–N = 1111111–N
◆ 1’s complement of 1011000 is 1111111–1011000 = 0100111
 Observation:
◆ Subtraction from (rn – 1) will never require a borrow
◆ Diminished radix complement can be computed digit-by-digit

74
Complements (cont.)
 1’s Complement (Diminished Radix Complement)
◆ All ‘0’s become ‘1’s
◆ All ‘1’s become ‘0’s

Example (10110000)2
 (01001111)2
If you add a number and its 1’s complement …

10110000
+ 01001111
11111111
75
Complements (cont.)
 Radix Complement

The r's complement of an n-digit number N in base r is defined as


rn – N for N ≠ 0 and as 0 for N = 0. Comparing with the (r − 1) 's
complement, we note that the r's complement is obtained by adding 1
to the (r − 1) 's complement, since rn – N = [(rn − 1) – N] + 1.

 Example: Base-10

The 10's complement of 012398 is 987602


The 10's complement of 246700 is 753300

 Example: Base-2

The 2's complement of 1101100 is 0010100


The 2's complement of 0110111 is 1001001

76
Complements (cont.)
 2’s Complement (Radix Complement)
◆ Take 1’s complement then add 1
OR ◆ Toggle all bits to the left of the first ‘1’ from the right
Example:
Number:
1’s Comp.:
10110000 10110000
01001111
+ 1
01010000 01010000

77
Two’s Complement Encoding

78
Two’s Complement Encoding (Cont.)

79
Subtraction with Complements
Binary subtraction using (r-1)’s Complement
Step 1: Convert number to be subtracted to its (r-1)’s complement form
Step 2: Perform the addition
Step 3: If the final carry is 1, then add it to the result obtained in step 2.
If final carry is 0, result obtained in step 2 is negative and in the (r-1)’s
complement form.
 Example
Using 9's complement, subtract 72532 – 3250.
◆ 72532
9’s complement of 3250 = 96749
169281
 Example 1
◆ Using 9's complement, subtract 3250 – 72532.
69282
03250
9’s complement of 72532 = 27467
There is no end carry.
30717

Therefore, the answer is – (9's complement of 30717) = − 69282.


80
Subtraction with Complements (cont.)
Binary subtraction using (1)’s Complement
 Example
◆ Given the two binary numbers X = 1010100 and Y = 1000011, perform the
subtraction (a) X – Y ; and (b) Y − X, by using 1's complement.

There is no end carry,


Therefore, the answer is Y –
X = − (1's complement of
1101110) = − 0010001.

81
Subtraction with Complements (cont.)
Binary subtraction using (r)’s Complement
Step 1: Convert number to be subtracted to its r’s complement form
Step 2: Perform the addition
Step 3: If the final carry is 1, then the result is positive and in its correct form.
If final carry is 0, result obtained in step 2 is negative and in the (r)’s
complement form.
 Example
◆ Using 10's complement, subtract 72532 – 3250.

(M-N)

 Example
◆ Using 10's complement, subtract 3250 – 72532.

There is no end carry.

Therefore, the answer is – (10's complement of 30718) = − 69282.


82
Subtraction with Complements (cont.)
Binary subtraction using (2)’s Complement

 Example
◆ Given the two binary numbers X = 1010100 and Y = 1000011, perform the
subtraction (a) X – Y ; and (b) Y − X, by using 2's complement.

There is no end carry.


Therefore, the answer is
Y – X = − (2's complement
of 1101111) = − 0010001.

83
Other Binary Codes

84
Example 4

85
Example 4 (Cont.)

86
Example 4 (Cont.)

87
Example 5

88
Example 5 (Cont)

89
Example 5 (Cont)

90
Example 6

91
Example 6 (Cont.)

92
93
Example 7

94
Example 7 (Cont.)

95
96
97
98

You might also like