SlideShare a Scribd company logo
1 of 29
1
Logic Gates
CS 202, Spring 2007
Epp, setions 1.4 and 1.5
Aaron Bloomfield
2
Review of Boolean algebra
• Just like Boolean logic
• Variables can only be 1 or 0
– Instead of true / false
3
Review of Boolean algebra
• Not is a horizontal bar above the number
– 0 = 1
– 1 = 0
• Or is a plus
– 0+0 = 0
– 0+1 = 1
– 1+0 = 1
– 1+1 = 1
• And is multiplication
– 0*0 = 0
– 0*1 = 0
– 1*0 = 0
– 1*1 = 1
_
_
4
Review of Boolean algebra
• Example: translate (x+y+z)(xyz) to a Boolean
logic expression
– (xyz)(xyz)
• We can define a Boolean function:
– F(x,y) = (xy)(xy)
• And then write a “truth table” for it:
_ _ _
x y F(x,y)
1 1 0
1 0 0
0 1 0
0 0 0
5
Basic logic gates
• Not
• And
• Or
• Nand
• Nor
• Xor
x
x
x
y
xy x
y
xyz
z
x+y
x
y
x
y
x+y+z
z
x
y
xy
x+y
x
y
xÅy
x
y
6
Converting between circuits and
equations
• Find the output of the following circuit
• Answer: (x+y)y
– Or (xy)y
x
y
x+y
y
(x+y)y
__
x
y
y
7
x
y
Converting between circuits and
equations
• Find the output of the following circuit
• Answer: xy
– Or (xy) ≡ xy
x
y
x y x y
_ _
___
8
Converting between circuits and
equations
• Write the circuits for the following
Boolean algebraic expressions
a) x+y
x
y
x
y
x
y
__
x x+y
9
x
y
x
y
x
y
Converting between circuits and
equations
• Write the circuits for the following
Boolean algebraic expressions
b) (x+y)x
_______
x
y
x+y
x+y (x+y)x
10
Writing xor using and/or/not
• p Å q  (p  q)  ¬(p  q)
• x Å y  (x + y)(xy)
x y xÅy
1 1 0
1 0 1
0 1 1
0 0 0
x
y
x+y
xy xy
(x+y)(xy)
____
11
Converting decimal numbers to
binary
• 53 = 32 + 16 + 4 + 1
= 25 + 24 + 22 + 20
= 1*25 + 1*24 + 0*23 + 1*22 + 0*21 + 1*20
= 110101 in binary
= 00110101 as a full byte in binary
• 211= 128 + 64 + 16 + 2 + 1
= 27 + 26 + 24 + 21 + 20
= 1*27 + 1*26 + 0*25 + 1*24 + 0*23 + 0*22 +
1*21 + 1*20
= 11010011 in binary
12
Converting binary numbers to
decimal
• What is 10011010 in decimal?
10011010 = 1*27 + 0*26 + 0*25 + 1*24 + 1*23 +
0*22 + 1*21 + 0*20
= 27 + 24 + 23 + 21
= 128 + 16 + 8 + 2
= 154
• What is 00101001 in decimal?
00101001 = 0*27 + 0*26 + 1*25 + 0*24 + 1*23 +
0*22 + 0*21 + 1*20
= 25 + 23 + 20
= 32 + 8 + 1
= 41
13
A note on binary numbers
• In this slide set we are only dealing with
non-negative numbers
• The book (section 1.5) talks about two’s-
complement binary numbers
– Positive (and zero) two’s-complement binary
numbers is what was presented here
– We won’t be getting into negative two’s-
complmeent numbers
15
How to add binary numbers
• Consider adding two 1-bit binary numbers x and y
– 0+0 = 0
– 0+1 = 1
– 1+0 = 1
– 1+1 = 10
• Carry is x AND y
• Sum is x XOR y
• The circuit to compute this is called a half-adder
x y Carry Sum
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0
16
The half-adder
• Sum = x XOR y
• Carry = x AND y
x
y Sum
Carry
x
y Sum
Carry
x y Carry Sum
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0
17
Using half adders
• We can then use a half-adder to compute
the sum of two Boolean numbers
1 1 0 0
+ 1 1 1 0
0
1
0
?
0
0
1
18
How to fix this
• We need to create an adder that can take a
carry bit as an additional input
– Inputs: x, y, carry in
– Outputs: sum, carry out
• This is called a full adder
– Will add x and y with a half-adder
– Will add the sum of that to the
carry in
• What about the carry out?
– It’s 1 if either (or both):
– x+y = 10
– x+y = 01 and carry in = 1
x y c carry sum
1 1 1 1 1
1 1 0 1 0
1 0 1 1 0
1 0 0 0 1
0 1 1 1 0
0 1 0 0 1
0 0 1 0 1
0 0 0 0 0
19
HA
X
Y
S
C
HA
X
Y
S
C
x
y
c
c
s
HA
X
Y
S
C
HA
X
Y
S
C
x
y
c
The full adder
• The “HA” boxes are
half-adders
x y c s1 c1 carry sum
1 1 1 0 1 1 1
1 1 0 0 1 1 0
1 0 1 1 0 1 0
1 0 0 1 0 0 1
0 1 1 1 0 1 0
0 1 0 1 0 0 1
0 0 1 0 0 0 1
0 0 0 0 0 0 0
s1
c1
20
The full adder
• The full circuitry of the full adder
x
y
s
c
c
21
Adding bigger binary numbers
• Just chain full adders together
HA
X
Y
S
C
FA
C
Y
X
S
C
FA
C
Y
X
S
C
FA
C
Y
X
S
C
x1
y1
x2
y2
x3
y3
x0
y0
s0
s1
s2
s3
c
.
.
.
22
Adding bigger binary numbers
• A half adder has 4 logic gates
• A full adder has two half adders plus a OR gate
– Total of 9 logic gates
• To add n bit binary numbers, you need 1 HA and
n-1 FAs
• To add 32 bit binary numbers, you need 1 HA
and 31 FAs
– Total of 4+9*31 = 283 logic gates
• To add 64 bit binary numbers, you need 1 HA
and 63 FAs
– Total of 4+9*63 = 571 logic gates
23
More about logic gates
• To implement a logic gate in hardware,
you use a transistor
• Transistors are all enclosed in an “IC”, or
integrated circuit
• The current Intel Pentium IV processors
have 55 million transistors!
24
Flip-flops
• Consider the following circuit:
• What does it do?
25
Memory
• A flip-flop holds a single bit of memory
– The bit “flip-flops” between the two NAND
gates
• In reality, flip-flops are a bit more
complicated
– Have 5 (or so) logic gates (transistors) per flip-
flop
• Consider a 1 Gb memory chip
– 1 Gb = 8,589,934,592 bits of memory
– That’s about 43 million transistors!
• In reality, those transistors are split into 9
ICs of about 5 million transistors each
26
Hexadecimal
• A numerical range
from 0-15
– Where A is 10, B is 11,
… and F is 15
• Often written with a
‘0x’ prefix
• So 0x10 is 10 hex, or
16
– 0x100 is 100 hex, or
256
• Binary numbers easily
translate:
27
From
ThinkGeek
(http://www.thinkgeek.com)
28
Also from
ThinkGeek
(http://www.thinkgeek.com)
29
DEADBEEF
• Many IBM machines would fill allocated
(but uninitialized) memory with the hexa-
decimal pattern 0xDEADBEEF
– Decimal -21524111
– See http://www.jargon.net/jargonfile/d/DEADBEEF.html
• Makes it easier to spot in a debugger
30
Also also from ThinkGeek
(http://www.thinkgeek.com)
• 0xDEAD = 57005
• Now add one to that...

More Related Content

Similar to 04-logic-gates (1).ppt

Similar to 04-logic-gates (1).ppt (20)

Lecture 18 M - Copy.pptx
Lecture 18 M - Copy.pptxLecture 18 M - Copy.pptx
Lecture 18 M - Copy.pptx
 
UNIT-1_CSA.pdf
UNIT-1_CSA.pdfUNIT-1_CSA.pdf
UNIT-1_CSA.pdf
 
09 binary number systems
09   binary number systems09   binary number systems
09 binary number systems
 
boolean algebra and logic simplification
boolean algebra and logic simplificationboolean algebra and logic simplification
boolean algebra and logic simplification
 
Logicgates
LogicgatesLogicgates
Logicgates
 
Bitwise
BitwiseBitwise
Bitwise
 
B.sc cs-ii-u-1.5 digital logic circuits, digital component
B.sc cs-ii-u-1.5 digital logic circuits, digital componentB.sc cs-ii-u-1.5 digital logic circuits, digital component
B.sc cs-ii-u-1.5 digital logic circuits, digital component
 
Bca 2nd sem-u-1.5 digital logic circuits, digital component
Bca 2nd sem-u-1.5 digital logic circuits, digital componentBca 2nd sem-u-1.5 digital logic circuits, digital component
Bca 2nd sem-u-1.5 digital logic circuits, digital component
 
DM2020 boolean algebra
DM2020 boolean algebraDM2020 boolean algebra
DM2020 boolean algebra
 
5941981.ppt
5941981.ppt5941981.ppt
5941981.ppt
 
Booth Multiplier
Booth MultiplierBooth Multiplier
Booth Multiplier
 
B sc cs i bo-de u-ii logic gates
B sc cs i bo-de u-ii logic gatesB sc cs i bo-de u-ii logic gates
B sc cs i bo-de u-ii logic gates
 
09 arithmetic
09 arithmetic09 arithmetic
09 arithmetic
 
09 arithmetic 2
09 arithmetic 209 arithmetic 2
09 arithmetic 2
 
09 arithmetic
09 arithmetic09 arithmetic
09 arithmetic
 
digital logic circuits, digital component
 digital logic circuits, digital component digital logic circuits, digital component
digital logic circuits, digital component
 
Binary codes
Binary codesBinary codes
Binary codes
 
02-gates-w.pptx
02-gates-w.pptx02-gates-w.pptx
02-gates-w.pptx
 
Latches time borrowing and stealing sequential
Latches time borrowing and stealing sequentialLatches time borrowing and stealing sequential
Latches time borrowing and stealing sequential
 
L3 ARITHMETIC OPERATIONS.pptx
L3 ARITHMETIC OPERATIONS.pptxL3 ARITHMETIC OPERATIONS.pptx
L3 ARITHMETIC OPERATIONS.pptx
 

Recently uploaded

一比一原版(NEU毕业证书)东北大学毕业证成绩单原件一模一样
一比一原版(NEU毕业证书)东北大学毕业证成绩单原件一模一样一比一原版(NEU毕业证书)东北大学毕业证成绩单原件一模一样
一比一原版(NEU毕业证书)东北大学毕业证成绩单原件一模一样
A
 
01-vogelsanger-stanag-4178-ed-2-the-new-nato-standard-for-nitrocellulose-test...
01-vogelsanger-stanag-4178-ed-2-the-new-nato-standard-for-nitrocellulose-test...01-vogelsanger-stanag-4178-ed-2-the-new-nato-standard-for-nitrocellulose-test...
01-vogelsanger-stanag-4178-ed-2-the-new-nato-standard-for-nitrocellulose-test...
AshwaniAnuragi1
 

Recently uploaded (20)

DBMS-Report on Student management system.pptx
DBMS-Report on Student management system.pptxDBMS-Report on Student management system.pptx
DBMS-Report on Student management system.pptx
 
Presentation on Slab, Beam, Column, and Foundation/Footing
Presentation on Slab,  Beam, Column, and Foundation/FootingPresentation on Slab,  Beam, Column, and Foundation/Footing
Presentation on Slab, Beam, Column, and Foundation/Footing
 
一比一原版(NEU毕业证书)东北大学毕业证成绩单原件一模一样
一比一原版(NEU毕业证书)东北大学毕业证成绩单原件一模一样一比一原版(NEU毕业证书)东北大学毕业证成绩单原件一模一样
一比一原版(NEU毕业证书)东北大学毕业证成绩单原件一模一样
 
01-vogelsanger-stanag-4178-ed-2-the-new-nato-standard-for-nitrocellulose-test...
01-vogelsanger-stanag-4178-ed-2-the-new-nato-standard-for-nitrocellulose-test...01-vogelsanger-stanag-4178-ed-2-the-new-nato-standard-for-nitrocellulose-test...
01-vogelsanger-stanag-4178-ed-2-the-new-nato-standard-for-nitrocellulose-test...
 
Theory of Time 2024 (Universal Theory for Everything)
Theory of Time 2024 (Universal Theory for Everything)Theory of Time 2024 (Universal Theory for Everything)
Theory of Time 2024 (Universal Theory for Everything)
 
History of Indian Railways - the story of Growth & Modernization
History of Indian Railways - the story of Growth & ModernizationHistory of Indian Railways - the story of Growth & Modernization
History of Indian Railways - the story of Growth & Modernization
 
Maximizing Incident Investigation Efficacy in Oil & Gas: Techniques and Tools
Maximizing Incident Investigation Efficacy in Oil & Gas: Techniques and ToolsMaximizing Incident Investigation Efficacy in Oil & Gas: Techniques and Tools
Maximizing Incident Investigation Efficacy in Oil & Gas: Techniques and Tools
 
Independent Solar-Powered Electric Vehicle Charging Station
Independent Solar-Powered Electric Vehicle Charging StationIndependent Solar-Powered Electric Vehicle Charging Station
Independent Solar-Powered Electric Vehicle Charging Station
 
Circuit Breakers for Engineering Students
Circuit Breakers for Engineering StudentsCircuit Breakers for Engineering Students
Circuit Breakers for Engineering Students
 
SLIDESHARE PPT-DECISION MAKING METHODS.pptx
SLIDESHARE PPT-DECISION MAKING METHODS.pptxSLIDESHARE PPT-DECISION MAKING METHODS.pptx
SLIDESHARE PPT-DECISION MAKING METHODS.pptx
 
Path loss model, OKUMURA Model, Hata Model
Path loss model, OKUMURA Model, Hata ModelPath loss model, OKUMURA Model, Hata Model
Path loss model, OKUMURA Model, Hata Model
 
Signal Processing and Linear System Analysis
Signal Processing and Linear System AnalysisSignal Processing and Linear System Analysis
Signal Processing and Linear System Analysis
 
NO1 Best Powerful Vashikaran Specialist Baba Vashikaran Specialist For Love V...
NO1 Best Powerful Vashikaran Specialist Baba Vashikaran Specialist For Love V...NO1 Best Powerful Vashikaran Specialist Baba Vashikaran Specialist For Love V...
NO1 Best Powerful Vashikaran Specialist Baba Vashikaran Specialist For Love V...
 
Artificial Intelligence in due diligence
Artificial Intelligence in due diligenceArtificial Intelligence in due diligence
Artificial Intelligence in due diligence
 
CLOUD COMPUTING SERVICES - Cloud Reference Modal
CLOUD COMPUTING SERVICES - Cloud Reference ModalCLOUD COMPUTING SERVICES - Cloud Reference Modal
CLOUD COMPUTING SERVICES - Cloud Reference Modal
 
Raashid final report on Embedded Systems
Raashid final report on Embedded SystemsRaashid final report on Embedded Systems
Raashid final report on Embedded Systems
 
8th International Conference on Soft Computing, Mathematics and Control (SMC ...
8th International Conference on Soft Computing, Mathematics and Control (SMC ...8th International Conference on Soft Computing, Mathematics and Control (SMC ...
8th International Conference on Soft Computing, Mathematics and Control (SMC ...
 
What is Coordinate Measuring Machine? CMM Types, Features, Functions
What is Coordinate Measuring Machine? CMM Types, Features, FunctionsWhat is Coordinate Measuring Machine? CMM Types, Features, Functions
What is Coordinate Measuring Machine? CMM Types, Features, Functions
 
Geometric constructions Engineering Drawing.pdf
Geometric constructions Engineering Drawing.pdfGeometric constructions Engineering Drawing.pdf
Geometric constructions Engineering Drawing.pdf
 
handbook on reinforce concrete and detailing
handbook on reinforce concrete and detailinghandbook on reinforce concrete and detailing
handbook on reinforce concrete and detailing
 

04-logic-gates (1).ppt

  • 1. 1 Logic Gates CS 202, Spring 2007 Epp, setions 1.4 and 1.5 Aaron Bloomfield
  • 2. 2 Review of Boolean algebra • Just like Boolean logic • Variables can only be 1 or 0 – Instead of true / false
  • 3. 3 Review of Boolean algebra • Not is a horizontal bar above the number – 0 = 1 – 1 = 0 • Or is a plus – 0+0 = 0 – 0+1 = 1 – 1+0 = 1 – 1+1 = 1 • And is multiplication – 0*0 = 0 – 0*1 = 0 – 1*0 = 0 – 1*1 = 1 _ _
  • 4. 4 Review of Boolean algebra • Example: translate (x+y+z)(xyz) to a Boolean logic expression – (xyz)(xyz) • We can define a Boolean function: – F(x,y) = (xy)(xy) • And then write a “truth table” for it: _ _ _ x y F(x,y) 1 1 0 1 0 0 0 1 0 0 0 0
  • 5. 5 Basic logic gates • Not • And • Or • Nand • Nor • Xor x x x y xy x y xyz z x+y x y x y x+y+z z x y xy x+y x y xÅy x y
  • 6. 6 Converting between circuits and equations • Find the output of the following circuit • Answer: (x+y)y – Or (xy)y x y x+y y (x+y)y __ x y y
  • 7. 7 x y Converting between circuits and equations • Find the output of the following circuit • Answer: xy – Or (xy) ≡ xy x y x y x y _ _ ___
  • 8. 8 Converting between circuits and equations • Write the circuits for the following Boolean algebraic expressions a) x+y x y x y x y __ x x+y
  • 9. 9 x y x y x y Converting between circuits and equations • Write the circuits for the following Boolean algebraic expressions b) (x+y)x _______ x y x+y x+y (x+y)x
  • 10. 10 Writing xor using and/or/not • p Å q  (p  q)  ¬(p  q) • x Å y  (x + y)(xy) x y xÅy 1 1 0 1 0 1 0 1 1 0 0 0 x y x+y xy xy (x+y)(xy) ____
  • 11. 11 Converting decimal numbers to binary • 53 = 32 + 16 + 4 + 1 = 25 + 24 + 22 + 20 = 1*25 + 1*24 + 0*23 + 1*22 + 0*21 + 1*20 = 110101 in binary = 00110101 as a full byte in binary • 211= 128 + 64 + 16 + 2 + 1 = 27 + 26 + 24 + 21 + 20 = 1*27 + 1*26 + 0*25 + 1*24 + 0*23 + 0*22 + 1*21 + 1*20 = 11010011 in binary
  • 12. 12 Converting binary numbers to decimal • What is 10011010 in decimal? 10011010 = 1*27 + 0*26 + 0*25 + 1*24 + 1*23 + 0*22 + 1*21 + 0*20 = 27 + 24 + 23 + 21 = 128 + 16 + 8 + 2 = 154 • What is 00101001 in decimal? 00101001 = 0*27 + 0*26 + 1*25 + 0*24 + 1*23 + 0*22 + 0*21 + 1*20 = 25 + 23 + 20 = 32 + 8 + 1 = 41
  • 13. 13 A note on binary numbers • In this slide set we are only dealing with non-negative numbers • The book (section 1.5) talks about two’s- complement binary numbers – Positive (and zero) two’s-complement binary numbers is what was presented here – We won’t be getting into negative two’s- complmeent numbers
  • 14. 15 How to add binary numbers • Consider adding two 1-bit binary numbers x and y – 0+0 = 0 – 0+1 = 1 – 1+0 = 1 – 1+1 = 10 • Carry is x AND y • Sum is x XOR y • The circuit to compute this is called a half-adder x y Carry Sum 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0
  • 15. 16 The half-adder • Sum = x XOR y • Carry = x AND y x y Sum Carry x y Sum Carry x y Carry Sum 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0
  • 16. 17 Using half adders • We can then use a half-adder to compute the sum of two Boolean numbers 1 1 0 0 + 1 1 1 0 0 1 0 ? 0 0 1
  • 17. 18 How to fix this • We need to create an adder that can take a carry bit as an additional input – Inputs: x, y, carry in – Outputs: sum, carry out • This is called a full adder – Will add x and y with a half-adder – Will add the sum of that to the carry in • What about the carry out? – It’s 1 if either (or both): – x+y = 10 – x+y = 01 and carry in = 1 x y c carry sum 1 1 1 1 1 1 1 0 1 0 1 0 1 1 0 1 0 0 0 1 0 1 1 1 0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0
  • 18. 19 HA X Y S C HA X Y S C x y c c s HA X Y S C HA X Y S C x y c The full adder • The “HA” boxes are half-adders x y c s1 c1 carry sum 1 1 1 0 1 1 1 1 1 0 0 1 1 0 1 0 1 1 0 1 0 1 0 0 1 0 0 1 0 1 1 1 0 1 0 0 1 0 1 0 0 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 s1 c1
  • 19. 20 The full adder • The full circuitry of the full adder x y s c c
  • 20. 21 Adding bigger binary numbers • Just chain full adders together HA X Y S C FA C Y X S C FA C Y X S C FA C Y X S C x1 y1 x2 y2 x3 y3 x0 y0 s0 s1 s2 s3 c . . .
  • 21. 22 Adding bigger binary numbers • A half adder has 4 logic gates • A full adder has two half adders plus a OR gate – Total of 9 logic gates • To add n bit binary numbers, you need 1 HA and n-1 FAs • To add 32 bit binary numbers, you need 1 HA and 31 FAs – Total of 4+9*31 = 283 logic gates • To add 64 bit binary numbers, you need 1 HA and 63 FAs – Total of 4+9*63 = 571 logic gates
  • 22. 23 More about logic gates • To implement a logic gate in hardware, you use a transistor • Transistors are all enclosed in an “IC”, or integrated circuit • The current Intel Pentium IV processors have 55 million transistors!
  • 23. 24 Flip-flops • Consider the following circuit: • What does it do?
  • 24. 25 Memory • A flip-flop holds a single bit of memory – The bit “flip-flops” between the two NAND gates • In reality, flip-flops are a bit more complicated – Have 5 (or so) logic gates (transistors) per flip- flop • Consider a 1 Gb memory chip – 1 Gb = 8,589,934,592 bits of memory – That’s about 43 million transistors! • In reality, those transistors are split into 9 ICs of about 5 million transistors each
  • 25. 26 Hexadecimal • A numerical range from 0-15 – Where A is 10, B is 11, … and F is 15 • Often written with a ‘0x’ prefix • So 0x10 is 10 hex, or 16 – 0x100 is 100 hex, or 256 • Binary numbers easily translate:
  • 28. 29 DEADBEEF • Many IBM machines would fill allocated (but uninitialized) memory with the hexa- decimal pattern 0xDEADBEEF – Decimal -21524111 – See http://www.jargon.net/jargonfile/d/DEADBEEF.html • Makes it easier to spot in a debugger
  • 29. 30 Also also from ThinkGeek (http://www.thinkgeek.com) • 0xDEAD = 57005 • Now add one to that...