chapter 2vlsicad.cs.binghamton.edu/.../cs120/slides/ddca_ch2.pdf · 2019. 12. 5. · chapter 2 y =...
TRANSCRIPT
![Page 1: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/1.jpg)
Chapter2<1>
DigitalDesignandComputerArchitecture,2nd Edition
Chapter2
DavidMoneyHarrisandSarahL.Harris
![Page 2: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/2.jpg)
Chapter2<2>
• Introduction• BooleanEquations• BooleanAlgebra• FromLogictoGates• MultilevelCombinationalLogic• X’sandZ’s,OhMy• Karnaugh Maps• CombinationalBuildingBlocks• Timing
Chapter2::Topics
![Page 3: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/3.jpg)
Chapter2<3>
Alogiccircuitiscomposedof:• Inputs• Outputs• Functionalspecification• Timingspecification
inputs outputsfunctional spec
timing spec
Introduction
![Page 4: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/4.jpg)
Chapter2<4>
• Nodes– Inputs:A,B,C– Outputs:Y,Z– Internal:n1
• Circuitelements– E1,E2,E3– Eachacircuit
A E1
E2E3B
C
n1
Y
Z
Circuits
![Page 5: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/5.jpg)
Chapter2<5>
• CombinationalLogic– Memoryless– Outputsdeterminedbycurrentvaluesofinputs
• SequentialLogic– Hasmemory– Outputsdeterminedbypreviousandcurrentvaluesofinputs
inputs outputsfunctional spec
timing spec
TypesofLogicCircuits
![Page 6: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/6.jpg)
Chapter2<6>
• Everyelementiscombinational• Everynodeiseitheraninputorconnectstoexactlyoneoutput
• Thecircuitcontainsnocyclicpaths• Example:
RulesofCombinationalComposition
![Page 7: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/7.jpg)
Chapter2<7>
• Functionalspecificationofoutputsintermsofinputs
• Example:S =F(A,B,Cin)Cout =F(A,B,Cin)
A S
S = A B CinCout = AB + ACin + BCin
BCin
CL Cout
BooleanEquations
![Page 8: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/8.jpg)
Chapter2<8>
• Complement:variablewithabaroveritA,B,C
• Literal:variableoritscomplementA,A,B,B,C,C
• Implicant:productofliteralsABC,AC,BC
• Minterm:productthatincludesallinputvariablesABC,ABC,ABC
• Maxterm:sumthatincludesallinputvariables(A+B+C),(A+B+C),(A+B+C)
SomeDefinitions
![Page 9: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/9.jpg)
Chapter2<9>
Y = F(A, B) =
• All equations can be written in SOP form• Each row has a minterm• A minterm is a product (AND) of literals• Each minterm is TRUE for that row (and only that row)• Form function by ORing minterms where the output is TRUE • Thus, a sum (OR) of products (AND terms)
Sum-of-Products(SOP)Form
A B Y0 00 11 01 1
0101
minterm
A BA BA B
A B
mintermnamem0m1m2m3
![Page 10: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/10.jpg)
Chapter2<10>
Y = F(A, B) =
Sum-of-Products(SOP)Form
• All equations can be written in SOP form• Each row has a minterm• A minterm is a product (AND) of literals• Each minterm is TRUE for that row (and only that row)• Form function by ORing minterms where the output is TRUE • Thus, a sum (OR) of products (AND terms)
A B Y0 00 11 01 1
0101
minterm
A BA BA B
A B
mintermnamem0m1m2m3
![Page 11: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/11.jpg)
Chapter2<11>
Y = F(A, B) = AB + AB = Σ(1, 3)
Sum-of-Products(SOP)Form
• All equations can be written in SOP form• Each row has a minterm• A minterm is a product (AND) of literals• Each minterm is TRUE for that row (and only that row)• Form function by ORing minterms where the output is TRUE • Thus, a sum (OR) of products (AND terms)
A B Y0 00 11 01 1
0101
minterm
A BA BA B
A B
mintermnamem0m1m2m3
![Page 12: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/12.jpg)
Chapter2<12>Y = F(A, B) = (A + B)(A + B) = Π(0, 2)
• All Boolean equations can be written in POS form• Each row has a maxterm• A maxterm is a sum (OR) of literals• Each maxterm is FALSE for that row (and only that row)• Form function by ANDing the maxterms for which the
output is FALSE• Thus, a product (AND) of sums (OR terms)
Product-of-Sums(POS)Form
A + BA B Y0 00 11 01 1
0101
maxterm
A + BA + BA + B
maxtermnameM0M1M2M3
![Page 13: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/13.jpg)
Chapter2<13>
• Youaregoingtothecafeteriaforlunch– Youwon’teatlunch(E)– Ifit’snotopen(O)or– Iftheyonlyservecorndogs(C)
• Writeatruthtablefordeterminingifyouwilleatlunch(E).
O C E0 00 11 01 1
BooleanEquationsExample
![Page 14: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/14.jpg)
Chapter2<14>
• Youaregoingtothecafeteriaforlunch– Youwon’teatlunch(E)– Ifit’snotopen(O)or– Iftheyonlyservecorndogs(C)
• Writeatruthtablefordeterminingifyouwilleatlunch(E).
O C E0 00 11 01 1
0010
BooleanEquationsExample
![Page 15: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/15.jpg)
Chapter2<15>
SOP&POSForm• SOP– sum-of-products
• POS– product-of-sums
O C E0 00 11 01 1
mintermO CO CO CO C
O + CO C E0 00 11 01 1
maxterm
O + CO + CO + C
![Page 16: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/16.jpg)
Chapter2<16>
• SOP– sum-of-products
• POS– product-of-sums
O + CO C E0 00 11 01 1
0010
maxterm
O + CO + CO + C
O C E0 00 11 01 1
0010
minterm
O CO CO C
O C
E = (O + C)(O + C)(O + C)= Π(0, 1, 3)
E = OC= Σ(2)
SOP&POSForm
![Page 17: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/17.jpg)
Chapter2<17>
• Axiomsandtheoremstosimplify Booleanequations
• Likeregularalgebra,butsimpler:variableshaveonlytwovalues(1or0)
• Duality inaxiomsandtheorems:– ANDsandORs,0’sand1’sinterchanged
BooleanAlgebra
![Page 18: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/18.jpg)
Chapter2<18>
BooleanAxioms
![Page 19: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/19.jpg)
Chapter2<19>
• B 1 = B• B + 0 = B
T1:IdentityTheorem
![Page 20: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/20.jpg)
Chapter2<20>
1 =
=
B
0B
B
B
• B 1 = B• B + 0 = B
T1:IdentityTheorem
![Page 21: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/21.jpg)
Chapter2<21>
• B 0 = 0• B + 1 = 1
T2:NullElementTheorem
![Page 22: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/22.jpg)
Chapter2<22>
0 =
=
B
1B
1
0
• B 0 = 0• B + 1 = 1
T2:NullElementTheorem
![Page 23: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/23.jpg)
Chapter2<23>
• B B = B• B + B = B
T3:Idempotency Theorem
![Page 24: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/24.jpg)
Chapter2<24>
B =
=
B
BB
B
B
• B B = B• B + B = B
T3:Idempotency Theorem
![Page 25: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/25.jpg)
Chapter2<25>
• B = B
T4:IdentityTheorem
![Page 26: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/26.jpg)
Chapter2<26>
= BB
• B = B
T4:IdentityTheorem
![Page 27: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/27.jpg)
Chapter2<27>
• B B = 0• B + B = 1
T5:ComplementTheorem
![Page 28: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/28.jpg)
Chapter2<28>
B =
=
B
BB
1
0
• B B = 0• B + B = 1
T5:ComplementTheorem
![Page 29: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/29.jpg)
Chapter2<29>
BooleanTheoremsSummary
![Page 30: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/30.jpg)
Chapter2<30>
BooleanTheoremsofSeveralVars
Note: T8’ differs from traditional algebra: OR (+) distributes over AND (•)
( )
![Page 31: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/31.jpg)
Chapter2<31>
Y =AB +AB
SimplifyingBooleanEquationsExample1:
![Page 32: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/32.jpg)
Chapter2<32>
Y =AB +AB=B(A +A) T8=B(1) T5’=B T1
SimplifyingBooleanEquationsExample1:
![Page 33: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/33.jpg)
Chapter2<33>
Y =A(AB +ABC)Example2:
SimplifyingBooleanEquations
![Page 34: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/34.jpg)
Chapter2<34>
Y =A(AB +ABC)=A(AB(1+C)) T8=A(AB(1)) T2’=A(AB) T1=(AA)B T7=AB T3
Example2:
SimplifyingBooleanEquations
![Page 35: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/35.jpg)
Chapter2<35>
• Y =AB =A +B
• Y =A +B =A B
AB Y
AB Y
AB Y
AB Y
DeMorgan’s Theorem
![Page 36: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/36.jpg)
Chapter2<36>
• Backward:– Bodychanges– Addsbubblestoinputs
• Forward:– Bodychanges– Addsbubbletooutput
AB Y A
B Y
AB YA
B Y
BubblePushing
![Page 37: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/37.jpg)
Chapter2<37>
AB
YCD
• What is the Boolean expression for this circuit?
BubblePushing
![Page 38: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/38.jpg)
Chapter2<38>
AB
YCD
• What is the Boolean expression for this circuit?
Y = AB + CD
BubblePushing
![Page 39: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/39.jpg)
Chapter2<39>
AB
C
DY
• Begin at output, then work toward inputs• Push bubbles on final output back • Draw gates in a form so bubbles cancel
BubblePushingRules
![Page 40: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/40.jpg)
Chapter2<40>
AB
C YD
BubblePushingExample
![Page 41: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/41.jpg)
Chapter2<41>
AB
C YD
no outputbubble
BubblePushingExample
![Page 42: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/42.jpg)
Chapter2<42>
bubble oninput and outputA
B
C
DY
AB
C YD
no outputbubble
BubblePushingExample
![Page 43: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/43.jpg)
Chapter2<43>
AB
C
DY
bubble oninput and outputA
B
C
DY
AB
C YD
Y = ABC + D
no outputbubble
no bubble oninput and output
BubblePushingExample
![Page 44: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/44.jpg)
Chapter2<44>
• Two-levellogic:ANDsfollowedbyORs• Example:Y =ABC +ABC +ABC
BA C
Y
minterm: ABC
minterm: ABC
minterm: ABC
A B C
FromLogictoGates
![Page 45: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/45.jpg)
Chapter2<45>
• Inputsontheleft(ortop)• Outputsonright(orbottom)• Gatesflowfromlefttoright• Straightwiresarebest
CircuitSchematicsRules
![Page 46: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/46.jpg)
Chapter2<46>
• WiresalwaysconnectataTjunction• Adotwherewirescrossindicatesaconnectionbetweenthewires
• Wirescrossingwithout adotmakenoconnection
wires connectat a T junction
wires connectat a dot
wires crossingwithout a dot do
not connect
CircuitSchematicRules(cont.)
![Page 47: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/47.jpg)
Chapter2<47>
A1 A00 00 11 01 1
Y3 Y2 Y1 Y0A3 A20 00 00 00 0
0 00 10 11 01 10 0
0 10 10 11 0
0 11 01 01 10 00 1
1 01 01 11 1
1 01 11 11 1
A0
A1
PRIORITYCiIRCUIT
A2
A3
Y0
Y1
Y2
Y3
• Example:PriorityCircuitOutputassertedcorrespondingtomostsignificantTRUEinput
Multiple-OutputCircuits
![Page 48: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/48.jpg)
Chapter2<48>
0
A1 A00 00 11 01 1
0
00
Y3 Y2 Y1 Y00000
0011
0100
A3 A20 00 00 00 0
0 0 0 1 0 00 10 11 01 10 0
0 10 10 11 0
0 11 01 01 10 00 1
1 01 01 11 1
1 01 11 11 1
0001
1110
0000
0000
1 0 0 01111
0000
0000
0000
1 0 0 01 0 0 0
A0
A1
PRIORITYCiIRCUIT
A2
A3
Y0
Y1
Y2
Y3
• Example:PriorityCircuitOutputassertedcorrespondingtomostsignificantTRUEinput
Multiple-OutputCircuits
![Page 49: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/49.jpg)
Chapter2<49>
A1 A00 00 11 01 1
0000
Y3 Y2 Y1 Y00000
0011
0100
A3 A20 00 00 00 0
0 0 0 1 0 00 10 11 01 10 0
0 10 10 11 0
0 11 01 01 10 00 1
1 01 01 11 1
1 01 11 11 1
0001
1110
0000
0000
1 0 0 01111
0000
0000
0000
1 0 0 01 0 0 0
A3A2A1A0Y3Y2
Y1
Y0
PriorityCircuitHardware
![Page 50: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/50.jpg)
Chapter2<50>
A1 A00 00 11 01 1
0000
Y3 Y2 Y1 Y00000
0011
0100
A3 A20 00 00 00 0
0 0 0 1 0 00 10 11 01 10 0
0 10 10 11 0
0 11 01 01 10 00 1
1 01 01 11 1
1 01 11 11 1
0001
1110
0000
0000
1 0 0 01111
0000
0000
0000
1 0 0 01 0 0 0
A1 A00 00 11 XX X
0000
Y3 Y2 Y1 Y00001
0010
0100
A3 A20 00 00 00 1
X X 1 0 0 01 X
Don’tCares
![Page 51: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/51.jpg)
Chapter2<51>
• Contention:circuittriestodriveoutputto1and 0– Actualvaluesomewhereinbetween– Couldbe0,1,orinforbiddenzone– Mightchangewithvoltage,temperature,time,noise– Oftencausesexcessivepowerdissipation
• Warnings:– Contentionusuallyindicatesabug.– Xisusedfor“don’tcare”andcontention- lookatthecontext
totellthemapart
A = 1Y = X
B = 0
Contention:X
![Page 52: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/52.jpg)
Chapter2<52>
• Floating,highimpedance,open,highZ• Floatingoutputmightbe0,1,orsomewhereinbetween– Avoltmeterwon’tindicatewhetheranodeisfloating
TristateBuffer
E A Y0 0 Z0 1 Z1 0 01 1 1
A
E
Y
Floating:Z
![Page 53: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/53.jpg)
Chapter2<53>
• Floatingnodesareusedintristatebusses– Manydifferentdrivers– Exactlyoneisactiveatonce
en1
to busfrom bus
en2
to busfrom bus
en3
to busfrom bus
en4
to busfrom bus
sha
red
bu
s
processor
video
Ethernet
memory
TristateBusses
![Page 54: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/54.jpg)
Chapter2<54>
• Booleanexpressionscanbeminimizedbycombiningterms
• K-mapsminimizeequationsgraphically• PA +PA =P
C 00 01
0
1
Y
11 10AB
1
1
0
0
0
0
0
0
C 00 01
0
1
Y
11 10AB
ABC
ABC
ABC
ABC
ABC
ABC
ABC
ABC
B C0 00 11 01 1
A0000
0 00 11 01 1
1111
11000000
Y
Karnaugh Maps(K-Maps)
![Page 55: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/55.jpg)
Chapter2<55>
C 00 01
0
1
Y
11 10AB
1
0
0
0
0
0
0
1
B C0 00 11 01 1
A0000
0 00 11 01 1
1111
11000000
Y
• Circle 1’s in adjacent squares• In Boolean expression, include only
literals whose true and complement form are not in the circle
Y = AB
K-Map
![Page 56: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/56.jpg)
Chapter2<56>
C 00 01
0
1
Y
11 10AB
ABC
ABC
ABC
ABC
ABC
ABC
ABC
ABC
1
B C Y0 0 00 1 01 01 1 1
Truth Table
C 00 01
0
1
Y
11 10ABA
0000
0 0 00 1 01 0 01 1 1
1111
K-Map
3-InputK-Map
![Page 57: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/57.jpg)
Chapter2<57>
C 00 01
0
1
Y
11 10AB
ABC
ABC
ABC
ABC
ABC
ABC
ABC
ABC
1 0
B C Y0 0 00 1 01 01 1 1
Truth Table
C 00 01
0
1
Y
11 10ABA
0000
0 0 00 1 01 0 01 1 1
1111
0
1
1
1
0
0
0
K-Map
Y = AB + BC
3-InputK-Map
![Page 58: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/58.jpg)
Chapter2<58>
• Complement:variablewithabaroveritA,B,C
• Literal:variableoritscomplementA,A,B,B,C,C
• Implicant:productofliteralsABC,AC,BC
• Primeimplicant: implicant correspondingtothelargestcircleinaK-map
K-MapDefinitions
![Page 59: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/59.jpg)
Chapter2<59>
• Every1mustbecircledatleastonce• Eachcirclemustspanapowerof2(i.e.1,2,4)squaresineachdirection
• Eachcirclemustbeaslargeaspossible• Acirclemaywraparoundtheedges• A“don'tcare”(X)iscircledonlyifithelpsminimizetheequation
K-MapRules
![Page 60: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/60.jpg)
Chapter2<60>
01 11
01
11
10
00
00
10AB
CD
Y
0
C D0 00 11 01 1
B0000
0 00 11 01 1
1111
1
110111
YA00000000
0 00 11 01 1
0000
0 00 11 01 1
1111
11111111
11
100000
4-InputK-Map
![Page 61: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/61.jpg)
Chapter2<61>
01 11
1
0
0
1
0
0
1
101
1
1
1
1
0
0
0
1
11
10
00
00
10AB
CD
Y
0
C D0 00 11 01 1
B0000
0 00 11 01 1
1111
1
110111
YA00000000
0 00 11 01 1
0000
0 00 11 01 1
1111
11111111
11
100000
4-InputK-Map
![Page 62: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/62.jpg)
Chapter2<62>
01 11
1
0
0
1
0
0
1
101
1
1
1
1
0
0
0
1
11
10
00
00
10AB
CD
Y
Y = AC + ABD + ABC + BD
0
C D0 00 11 01 1
B0000
0 00 11 01 1
1111
1
110111
YA00000000
0 00 11 01 1
0000
0 00 11 01 1
1111
11111111
11
100000
4-InputK-Map
![Page 63: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/63.jpg)
Chapter2<63>
0
C D0 00 11 01 1
B0000
0 00 11 01 1
1111
1
110X11
YA00000000
0 00 11 01 1
0000
0 00 11 01 1
1111
11111111
11
XXXXXX
01 11
01
11
10
00
00
10AB
CD
Y
K-MapswithDon’tCares
![Page 64: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/64.jpg)
Chapter2<64>
0
C D0 00 11 01 1
B0000
0 00 11 01 1
1111
1
110X11
YA00000000
0 00 11 01 1
0000
0 00 11 01 1
1111
11111111
11
XXXXXX
01 11
1
0
0
X
X
X
1
101
1
1
1
1
X
X
X
X
11
10
00
00
10AB
CD
Y
K-MapswithDon’tCares
![Page 65: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/65.jpg)
Chapter2<65>
0
C D0 00 11 01 1
B0000
0 00 11 01 1
1111
1
110X11
YA00000000
0 00 11 01 1
0000
0 00 11 01 1
1111
11111111
11
XXXXXX
01 11
1
0
0
X
X
X
1
101
1
1
1
1
X
X
X
X
11
10
00
00
10AB
CD
Y
Y = A + BD + C
K-MapswithDon’tCares
![Page 66: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/66.jpg)
Chapter2<66>
• Multiplexers• Decoders
CombinationalBuildingBlocks
![Page 67: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/67.jpg)
Chapter2<67>
• SelectsbetweenoneofN inputstoconnecttooutput
• log2N-bitselectinput– controlinput• Example: 2:1Mux
Multiplexer(Mux)
Y0 00 11 01 1
0101
0000
0 00 11 01 1
1111
0011
0
1
S
D0Y
D1
D1 D0S Y01 D1
D0
S
![Page 68: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/68.jpg)
Chapter2<68>2-<68>
• Logicgates– Sum-of-productsform
Y
D0
S
D1
D1
Y
D0
S
S 00 01
0
1
Y
11 10D0 D1
0
0
0
1
1
1
1
0
Y = D0S + D1S
• Tristates– For an N-input mux, use N
tristates– Turn on exactly one to
select the appropriate input
MultiplexerImplementations
![Page 69: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/69.jpg)
Chapter2<69>
A B Y0 0 00 1 01 0 01 1 1
Y = AB
00
Y011011
A B
• Using the mux as a lookup table
LogicusingMultiplexers
![Page 70: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/70.jpg)
Chapter2<70>
A B Y0 0 00 1 01 0 01 1 1
Y = AB
A Y
0
1
0 0
1
A
BY
B
• Reducing the size of the mux
LogicusingMultiplexers
![Page 71: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/71.jpg)
Chapter2<71>
2:4Decoder
A1A0
Y3Y2Y1Y000
011011
0 00 11 01 1
0001
Y3 Y2 Y1 Y0A0A10010
0100
1000
• N inputs, 2N outputs• One-hot outputs: only one output HIGH at
once
Decoders
![Page 72: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/72.jpg)
Chapter2<72>
Y3
Y2
Y1
Y0
A0A1
DecoderImplementation
![Page 73: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/73.jpg)
Chapter2<73>
2:4Decoder
AB
00011011
Y = AB + AB
Y
ABABABAB
Minterm
= A B
• OR minterms
LogicUsingDecoders
![Page 74: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/74.jpg)
Chapter2<74>
A
Y
Time
delay
A Y
• Delay between input change and output changing
• How to build fast circuits?
Timing
![Page 75: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/75.jpg)
Chapter2<75>
A
Y
Time
A Y
tpd
tcd
• Propagation delay: tpd = max delay from input to output
• Contamination delay: tcd = min delay from input to output
Propagation&ContaminationDelay
![Page 76: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/76.jpg)
Chapter2<76>
• Delay is caused by– Capacitance and resistance in a circuit– Speed of light limitation
• Reasons why tpd and tcd may be different:– Different rising and falling delays– Multiple inputs and outputs, some of which are
faster than others– Circuits slow down when hot and speed up when
cold
Propagation&ContaminationDelay
![Page 77: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/77.jpg)
Chapter2<77>
AB
C
D Y
Critical Path
Short Path
n1n2
Critical (Long) Path: tpd = 2tpd_AND + tpd_OR
Short Path: tcd = tcd_AND
Critical(Long)&ShortPaths
![Page 78: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/78.jpg)
Chapter2<78>
• When a single input change causes an output to change multiple times
Glitches
![Page 79: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/79.jpg)
Chapter2<79>
AB
C
Y
00 01
1
Y
11 10AB
1
1
0
1
0
1
0
0
C
0
Y = AB + BC
• What happens when A = 0, C = 1, B falls?
GlitchExample
![Page 80: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/80.jpg)
Chapter2<80>
A = 0B = 1 0
C = 1
Y = 1 0 1
Short Path
Critical Path
B
Y
Time
1 0
0 1
glitch
n1
n2
n2
n1
GlitchExample(cont.)
![Page 81: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/81.jpg)
Chapter2<81>
00 01
1
Y
11 10AB
1
1
0
1
0
1
0
0
C
0
Y = AB + BC + ACAC
B = 1 0Y = 1
A = 0
C = 1
FixingtheGlitch
![Page 82: Chapter 2vlsicad.cs.binghamton.edu/.../cs120/Slides/DDCA_Ch2.pdf · 2019. 12. 5. · Chapter 2 Y = F(A, B) = (A + B)(A + B) = Π(0, 2) • All Boolean equations can be](https://reader033.vdocuments.site/reader033/viewer/2022060912/60a6d0d6e84a006dde5ca4c3/html5/thumbnails/82.jpg)
Chapter2<82>
• Glitches don’t cause problems because of synchronous design conventions (see Chapter 3)
• It’s important to recognize a glitch: in simulations or on oscilloscope
• Can’t get rid of all glitches – simultaneous transitions on multiple inputs can also cause glitches
WhyUnderstandGlitches?