logic gates - sarthak yadav

26
Logic Gates Logic Gates Made by- sarthak yadav Made by- sarthak yadav Roll no-39 Roll no-39 Class 12 A2 Class 12 A2 1

Upload: deepak-yadav

Post on 14-Apr-2017

202 views

Category:

Education


0 download

TRANSCRIPT

Page 1: LOGIC GATES - SARTHAK YADAV

Logic GatesLogic Gates Made by- sarthak yadavMade by- sarthak yadav Roll no-39Roll no-39 Class 12 A2Class 12 A2

11

Page 2: LOGIC GATES - SARTHAK YADAV

Review of Boolean Review of Boolean algebraalgebra

Just like Boolean logicJust like Boolean logic Variables can only be 1 or 0Variables can only be 1 or 0

Instead of true / falseInstead of true / false

22

Page 3: LOGIC GATES - SARTHAK YADAV

Review of Boolean Review of Boolean algebraalgebra

Not is a horizontal bar above the numberNot is a horizontal bar above the number 0 = 10 = 1 1 = 01 = 0

Or is a plusOr is a plus 0+0 = 00+0 = 0 0+1 = 10+1 = 1 1+0 = 11+0 = 1 1+1 = 11+1 = 1

And is multiplicationAnd is multiplication 0*0 = 00*0 = 0 0*1 = 00*1 = 0 1*0 = 01*0 = 0 1*1 = 11*1 = 1

33

__

__

Page 4: LOGIC GATES - SARTHAK YADAV

Review of Boolean Review of Boolean algebraalgebra

Example: translate (Example: translate (xx++yy++zz)()(xyzxyz) to a Boolean ) to a Boolean logic expressionlogic expression ((xxyyzz))((xxyyzz))

We can define a Boolean function:We can define a Boolean function: F(x,y) = (F(x,y) = (xxyy))((xxyy))

And then write a “truth table” for it:And then write a “truth table” for it:

44

__ __ __

x y F(x,y)1 1 01 0 00 1 00 0 0

Page 5: LOGIC GATES - SARTHAK YADAV

Basic logic gatesBasic logic gates

NotNot

AndAnd

OrOr

NandNand

NorNor

XorXor55

x x

xy

xy xyxyz

zx+yx

yxy

x+y+zz

xy

xy

x+yxy

xÅyxy

Page 6: LOGIC GATES - SARTHAK YADAV

Converting between circuits Converting between circuits and equationsand equations Find the output of the following circuitFind the output of the following circuit

Answer: (Answer: (x+yx+y)y)y Or (Or (xxyy))yy 66

xy

x+y

y

(x+y)y

____

xy

y

Page 7: LOGIC GATES - SARTHAK YADAV

Converting between circuits Converting between circuits and equationsand equations Find the output of the following circuitFind the output of the following circuit

Answer: xyAnswer: xy Or Or ((xxyy) ≡ ) ≡ xxyy 77

x

y

x

yx y x y

_ __ _ ______

Page 8: LOGIC GATES - SARTHAK YADAV

Converting between circuits Converting between circuits and equationsand equations

Write the circuits for the following Write the circuits for the following Boolean algebraic expressionsBoolean algebraic expressions

a)a) xx++yy

88

xyxyxy

____

x x+y

Page 9: LOGIC GATES - SARTHAK YADAV

Converting between circuits Converting between circuits and equationsand equations

Write the circuits for the following Write the circuits for the following Boolean algebraic expressionsBoolean algebraic expressions

b)b) ((xx++yy))xx

99

xyxyxy

______________

xy

x+y x+y (x+y)x

Page 10: LOGIC GATES - SARTHAK YADAV

Writing xor using Writing xor using and/or/notand/or/not

p p ÅÅ qq ( (pp qq) ) ¬( ¬(pp qq)) x x ÅÅ y y (x + y)( (x + y)(xyxy))

1010

x y xÅy1 1 01 0 10 1 10 0 0

xy

x+y

xy xy

(x+y)(xy)

________

Page 11: LOGIC GATES - SARTHAK YADAV

Converting decimal Converting decimal numbers to binarynumbers to binary

53 53 = 32 + 16 + 4 + 1= 32 + 16 + 4 + 1= 2= 255 + 2 + 244 + 2 + 222 + 2 + 200

= 1*2= 1*255 + 1*2 + 1*244 + 0*2 + 0*233 + 1*2 + 1*222 + 0*2 + 0*211 + 1*2 + 1*200

= 110101 in binary= 110101 in binary= 00110101 as a full byte in binary= 00110101 as a full byte in binary

211= 128 + 64 + 16 + 2 + 1211= 128 + 64 + 16 + 2 + 1= 2= 277 + 2 + 266 + 2 + 244 + 2 + 211 + 2 + 200

= 1*2= 1*277 + 1*2 + 1*266 + 0*2 + 0*255 + 1*2 + 1*244 + 0*2 + 0*233 + 0*2 + 0*222 + + 1*21*211 + 1*2 + 1*200

= 11010011 in binary= 11010011 in binary

1111

Page 12: LOGIC GATES - SARTHAK YADAV

Converting binary numbers Converting binary numbers to decimalto decimal

What is 10011010 in decimal?What is 10011010 in decimal?1001101010011010 = 1*2 = 1*277 + 0*2 + 0*266 + 0*2 + 0*255 + 1*2 + 1*244 + 1*2 + 1*233 + +

0*20*222 + 1*2 + 1*211 + 0*2 + 0*200

= 2= 277 + 2 + 244 + 2 + 233 + 2 + 211

= 128 + 16 + 8 + 2= 128 + 16 + 8 + 2 = 154= 154

What is 00101001 in decimal?What is 00101001 in decimal? 00101001 = 0*200101001 = 0*277 + 0*2 + 0*266 + 1*2 + 1*255 + 0*2 + 0*244 + 1*2 + 1*233 + +

0*20*222 + 0*2 + 0*211 + 1*2 + 1*200

= 2= 255 + 2 + 233 + 2 + 200

= 32 + 8 + 1= 32 + 8 + 1 = 41= 41

1212

Page 13: LOGIC GATES - SARTHAK YADAV

A note on binary numbersA note on binary numbers In this slide set we are only dealing with In this slide set we are only dealing with

non-negative numbersnon-negative numbers The book (section 1.5) talks about two’s-The book (section 1.5) talks about two’s-

complement binary numberscomplement binary numbers Positive (and zero) two’s-complement binary Positive (and zero) two’s-complement binary

numbers is what was presented herenumbers is what was presented here We won’t be getting into negative two’s-We won’t be getting into negative two’s-

complmeent numberscomplmeent numbers

1313

Page 14: LOGIC GATES - SARTHAK YADAV

How to add binary How to add binary numbersnumbers

Consider adding two 1-bit binary numbers Consider adding two 1-bit binary numbers xx and and yy 0+0 = 00+0 = 0 0+1 = 10+1 = 1 1+0 = 11+0 = 1 1+1 = 101+1 = 10

Carry is Carry is xx AND AND yy Sum is Sum is xx XOR XOR yy The circuit to compute this is called a half-adderThe circuit to compute this is called a half-adder

1414

x y Carry Sum0 0 0 00 1 0 11 0 0 11 1 1 0

Page 15: LOGIC GATES - SARTHAK YADAV

The half-adderThe half-adder Sum = Sum = xx XOR XOR yy Carry = Carry = xx AND AND yy

1515

xy Sum

Carry

xy Sum

Carry

x y Carry Sum0 0 0 00 1 0 11 0 0 11 1 1 0

Page 16: LOGIC GATES - SARTHAK YADAV

Using half addersUsing half adders We can then use a half-adder to compute We can then use a half-adder to compute

the sum of two Boolean numbersthe sum of two Boolean numbers

1616

1 1 0 0+ 1 1 1 0

010?

001

Page 17: LOGIC GATES - SARTHAK YADAV

How to fix thisHow to fix this We need to create an adder that can take a carry bit as We need to create an adder that can take a carry bit as

an additional inputan additional input Inputs: Inputs: xx, , yy, carry in, carry in Outputs: sum, carry outOutputs: sum, carry out

This is called a full adderThis is called a full adder Will add Will add xx and and yy with a half-adder with a half-adder Will add the sum of that to the Will add the sum of that to the

carry incarry in What about the carry out?What about the carry out?

It’s 1 if either (or both):It’s 1 if either (or both): xx++yy = 10 = 10 xx++yy = 01 and carry in = 1 = 01 and carry in = 1

1717

x y c carry sum1 1 1 1 11 1 0 1 01 0 1 1 01 0 0 0 10 1 1 1 00 1 0 0 10 0 1 0 10 0 0 0 0

Page 18: LOGIC GATES - SARTHAK YADAV

The full adderThe full adder The “HA” boxes are The “HA” boxes are

half-addershalf-adders

1818

HAX

Y

S

C

HAX

Y

S

C

xy

c

c

sHAX

Y

S

C

HAX

Y

S

C

xy

c

x y c s1 c1 carry sum

1 1 1 0 1 1 11 1 0 0 1 1 01 0 1 1 0 1 01 0 0 1 0 0 10 1 1 1 0 1 00 1 0 1 0 0 10 0 1 0 0 0 10 0 0 0 0 0 0

s1

c1

Page 19: LOGIC GATES - SARTHAK YADAV

The full adderThe full adder The full circuitry of the full adderThe full circuitry of the full adder

1919

xy

s

c

c

Page 20: LOGIC GATES - SARTHAK YADAV

Adding bigger binary Adding bigger binary numbersnumbers

Just chain full adders togetherJust chain full adders together

2020

HAX

Y

S

C

FAC

Y

X

S

C

FAC

Y

X

S

C

FAC

Y

X

S

C

x1y1x2y2x3y3

x0y0

s0

s1

s2

s3c

. . .

Page 21: LOGIC GATES - SARTHAK YADAV

Adding bigger binary Adding bigger binary numbersnumbers

A half adder has 4 logic gatesA half adder has 4 logic gates A full adder has two half adders plus a OR gateA full adder has two half adders plus a OR gate

Total of 9 logic gatesTotal of 9 logic gates To add To add nn bit binary numbers, you need 1 HA and bit binary numbers, you need 1 HA and nn-1 -1

FAsFAs To add 32 bit binary numbers, you need 1 HA and 31 To add 32 bit binary numbers, you need 1 HA and 31

FAsFAs Total of 4+9*31 = 283 logic gatesTotal of 4+9*31 = 283 logic gates

To add 64 bit binary numbers, you need 1 HA and 63 To add 64 bit binary numbers, you need 1 HA and 63 FAsFAs Total of 4+9*63 = 571 logic gatesTotal of 4+9*63 = 571 logic gates

2121

Page 22: LOGIC GATES - SARTHAK YADAV

More about logic gatesMore about logic gates To implement a logic gate in hardware, To implement a logic gate in hardware,

you use a transistoryou use a transistor Transistors are all enclosed in an “IC”, or Transistors are all enclosed in an “IC”, or

integrated circuitintegrated circuit The current Intel Pentium IV processors The current Intel Pentium IV processors

have 55 million transistors!have 55 million transistors!

2222

Page 23: LOGIC GATES - SARTHAK YADAV

Flip-flopsFlip-flops Consider the following circuit:Consider the following circuit:

What does it do?What does it do?2323

Page 24: LOGIC GATES - SARTHAK YADAV

MemoryMemory A flip-flop holds a single bit of memoryA flip-flop holds a single bit of memory

The bit “flip-flops” between the two NAND The bit “flip-flops” between the two NAND gatesgates

In reality, flip-flops are a bit more In reality, flip-flops are a bit more complicatedcomplicated Have 5 (or so) logic gates (transistors) per flip-Have 5 (or so) logic gates (transistors) per flip-

flopflop Consider a 1 Gb memory chipConsider a 1 Gb memory chip

1 Gb = 8,589,934,592 bits of memory1 Gb = 8,589,934,592 bits of memory That’s about 43 million transistors!That’s about 43 million transistors!

In reality, those transistors are split into 9 In reality, those transistors are split into 9 ICs of about 5 million transistors eachICs of about 5 million transistors each

2424

Page 25: LOGIC GATES - SARTHAK YADAV

HexadecimalHexadecimal A numerical range A numerical range

from 0-15from 0-15 Where A is 10, B is 11, Where A is 10, B is 11,

… and F is 15… and F is 15 Often written with a Often written with a

‘0x’ prefix‘0x’ prefix So 0x10 is 10 hex, or So 0x10 is 10 hex, or

1616 0x100 is 100 hex, or 0x100 is 100 hex, or

256256 Binary numbers easily Binary numbers easily

translate:translate: 2525

Page 26: LOGIC GATES - SARTHAK YADAV

DEADBEEFDEADBEEF Many IBM machines would fill allocated Many IBM machines would fill allocated

(but uninitialized) memory with the hexa-(but uninitialized) memory with the hexa-decimal pattern 0xDEADBEEFdecimal pattern 0xDEADBEEF Decimal -21524111Decimal -21524111

Makes it easier to spot in a debuggerMakes it easier to spot in a debugger

2626