1 / 113

Inhoudstafel

Inhoudstafel. Inleiding De basis van digitaal ontwerp Combinatorische schakelingen : uitgang = combinatie ingangen Sequentiële schakelingen Niet-programmeerbare processoren Programmeerbare processoren Hardware-beschrijvingstalen. Ontwerp combinatorische schakelingen. Minimalisering

myra-boone
Download Presentation

Inhoudstafel

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Inhoudstafel • Inleiding • De basis van digitaal ontwerp • Combinatorische schakelingen:uitgang = combinatie ingangen • Sequentiële schakelingen • Niet-programmeerbare processoren • Programmeerbare processoren • Hardware-beschrijvingstalen

  2. Ontwerp combinatorische schakelingen Minimalisering Technologie Tijdsgedrag Basisblokken RTL • Minimalisering van Booleaanse functies • Impact van technologie • Tijdsgedrag • Basisbouwblokken op RTL-niveau(ADD, ALU, MUX, …)

  3. Ontwerp combinatorische schakelingen • Minimalisering • Karnaugh-kaart • Minimalisering • Multi-uitgang • Don't care • Quine-McClusky • Technologie • Tijdsgedrag • Basisblokken RTL • Minimalisering van Booleaanse functies • Karnaugh-kaart • Minimalisering met Karnaugh-kaarten • Meerdere uitgangen • ‘Don’t care’ condities • Quine-McCluskey • Impact van technologie • Tijdsgedrag • Basisbouwblokken op RTL-niveau(ADD, ALU, MUX, …)

  4. Waarom minimaliseren? x y z x y z • Minimalisering • Karnaugh-kaart • Minimalisering • Multi-uitgang • Don't care • Quine-McClusky • Technologie • Tijdsgedrag • Basisblokken RTL • Kritisch pad = pad met de grootste vertraging van een ingang naar een uitgang • Bijv. F = xy’z + xy’z’ = xy’(z + z’) = xy’

  5. Hoe minimaliseren? • Minimalisering • Karnaugh-kaart • Minimalisering • Multi-uitgang • Don't care • Quine-McClusky • Technologie • Tijdsgedrag • Basisblokken RTL • Via manipulatie van Booleaanse uitdrukkingen • Zeer moeilijk: er bestaat geen methode om de opeenvolgende theorema’s te kiezen die leiden tot de minimale oplossing • Een voorstelling gebruiken waarin opvalt welke ingang geen belang heeft • Waarheidstabel ? • Duidelijk dat F = 1als x = 1 en y = 0,onafhankelijk van z • Alleen maar duidelijkvoor z omdat de lijnenvoor z = 0 of 1 ondermekaar liggen • N-kubus of Karnaugh-kaart

  6. N-kubus 00 01 0100 0101 0001 0000 0110 0111 10 11 1100 1101 0011 0010 1001 1000 1110 1111 1011 1010 100 101 000 001 110 111 010 011 • Minimalisering • Karnaugh-kaart • Minimalisering • Multi-uitgang • Don't care • Quine-McClusky • Technologie • Tijdsgedrag • Basisblokken RTL • n-dimensionale kubus waarbij elke dimensie met 1 variabele overeen komt • 2 variabelen • 4 variabelen • 3 variabelen

  7. Karnaugh-kaart 000 001 101 100  010 011 111 110 Spiegeling 100 101 x’y’z x’yz xy’ (z niet belangrijk) z 000 001 x’z (y niet belangrijk) y 110 111 yz xy’z’ xy’z’ xy’z xyz’ 00 01 11 10 x xz’ (y niet belangrijk) 010 011 x’y’z’ x’y’z x’yz x’yz’ 0 xy’z’ xy’z xyz xyz’ x 1 • Minimalisering • Karnaugh-kaart • Minimalisering • Multi-uitgang • Don't care • Quine-McClusky • Technologie • Tijdsgedrag • Basisblokken RTL • 2-dimensionale voorstelling van n-kubus • elk vierkant heeft n buren • naburige vierkanten hebben slechts voor1 variabele een verschillende waarde

  8. Meer dan 4 variabelen v w z 10 11 01 00 xy 00 01 y 11 x 10 • Minimalisering • Karnaugh-kaart • Minimalisering • Multi-uitgang • Don't care • Quine-McClusky • Technologie • Tijdsgedrag • Basisblokken RTL • Spiegeling van kaart met 1 variabele minder • Niet alle buren liggen fysisch naast mekaar! w z zw 00 01 11 10 xy 0 1 3 2 18 19 17 16 00 4 5 7 6 22 23 21 20 01 y 12 13 15 14 30 31 29 28 11 x 8 9 11 10 26 27 25 24 10 01010 00101

  9. Meer dan 4 variabelen • Minimalisering • Karnaugh-kaart • Minimalisering • Multi-uitgang • Don't care • Quine-McClusky • Technologie • Tijdsgedrag • Basisblokken RTL • Herhaling van kaart met 1 variabele minder • Onoverzichtelijker naarmate meer variabelen! v w w z z zw 00 01 11 10 00 01 11 10 xy xy 0 1 3 2 16 17 19 18 00 00 4 5 7 6 20 21 23 22 01 01 y y 12 13 15 14 28 29 31 30 11 11 x x 8 9 11 10 24 25 27 26 10 10

  10. Invullen Karnaugh-kaart w z zw 00 01 11 10 xy m0 m1 m3 m2 00 m4 m5 m7 m6 01 y m12 m13 m15 m14 11 x m8 m9 m11 m10 10 • Minimalisering • Karnaugh-kaart • Minimalisering • Multi-uitgang • Don't care • Quine-McClusky • Technologie • Tijdsgedrag • Basisblokken RTL • Vanuit waarheidstabel of canonische vorm 1 0 0 0 0 1 1 0 0 1 1 0 1 0 0 1

  11. Gebruiken Karnaugh-kaart • Minimalisering • Karnaugh-kaart • Minimalisering • Multi-uitgang • Don't care • Quine-McClusky • Technologie • Tijdsgedrag • Basisblokken RTL • Zoek zo groot mogelijke subkubussen(= aaneengesloten gebieden met zelfde waarde) • Bijv. F = x’y’z’w’ + x’yz’w + x’yzw + xy’z’w’ + xy’zw’ + xyz’w + xyzw w z zw 00 01 11 10 xy 1 0 0 0 00 F = yw + xy’w’ 0 1 1 0 01 + y’z’w’ y 0 1 1 0 11 x 1 0 0 1 10

  12. Ontwerp combinatorische schakelingen • Minimalisering • Karnaugh-kaart • Minimalisering • AND-OR • OR-AND • Multi-uitgang • Don't care • Quine-McClusky • Technologie • Tijdsgedrag • Basisblokken RTL • Minimalisering van Booleaanse functies • Karnaugh-kaart • Minimalisering met Karnaugh-kaarten • Minimale AND-OR realisatie • Minimale OR-AND realisatie • Meerdere uitgangen • ‘Don’t care’ condities • Quine-McCluskey • Impact van technologie • Tijdsgedrag • Basisbouwblokken op RTL-niveau(ADD, ALU, MUX, …)

  13. Minimalisering met Karnaugh-kaarten Bepaal alle priemimplicanten Bepaal alle essentiële priemimplicanten Zoek de minimale bedekking Waarheidstabel of canonische vorm • Minimalisering • Karnaugh-kaart • Minimalisering • AND-OR • OR-AND • Multi-uitgang • Don't care • Quine-McClusky • Technologie • Tijdsgedrag • Basisblokken RTL Maak de Karnaugh-kaart

  14. 1. Maak de Karnaugh-kaart z y 1 1 1 1 1 1 1 1 x 1 1 1 1 1 1 w 1 1 1 1 1 1 F = x’y’z’ + wz + xyz + w’y • Minimalisering • Karnaugh-kaart • Minimalisering • AND-OR • OR-AND • Multi-uitgang • Don't care • Quine-McClusky • Technologie • Tijdsgedrag • Basisblokken RTL F = x’y’z’ + wz + xyz + w’y • Plaats enen op alle plaatsen in de Karnaugh-kaart waar een productterm 1 is.

  15. 2. Bepaal alle priemimplicanten • Minimalisering • Karnaugh-kaart • Minimalisering • AND-OR • OR-AND • Multi-uitgang • Don't care • Quine-McClusky • Technologie • Tijdsgedrag • Basisblokken RTL w’x’z’ z y x’y’z’ 1 1 1 w’y 1 1 yz x 1 1 wz w 1 1 1 wx’y’ • Analyseer elke 1-minterm • Bepaal de grootste subkubus(sen) die de minterm bevat(ten) en voeg ze toe aan de lijst van priemimplicanten (als ze er nog niet op staan)

  16. 3. Bepaal alle essentiëlepriemimplicanten • Minimalisering • Karnaugh-kaart • Minimalisering • AND-OR • OR-AND • Multi-uitgang • Don't care • Quine-McClusky • Technologie • Tijdsgedrag • Basisblokken RTL w’x’z’ z y x’y’z’ 1 1 1 essentieel w’y 1 1 yz x 1 1 essentieel wz w 1 1 1 wx’y’ • Zoek 1-mintermen die slechts in1 priemimplicant voorkomen;dit is een essentiële priemimplicant

  17. 4. Zoek de minimale bedekking 1 2 0 1 z • Minimalisering • Karnaugh-kaart • Minimalisering • AND-OR • OR-AND • Multi-uitgang • Don't care • Quine-McClusky • Technologie • Tijdsgedrag • Basisblokken RTL y w’x’z’ 1 1 1 x’y’z’ 1 1 essentieel w’y x 1 1 yz w 1 1 1 essentieel wz wx’y’ Fmin = x’y’z’ + w’y + wz • Zoek de kleinste set van (zo groot mogelijke) priemimplicanten die alle 1-mintermen omvat: • Initieer de set met de essentiële priemimplicanten • Voeg telkens een priemimplicant toe die zoveel mogelijk onbedekte 1-mintermen bevat • Dit is een gulzige (‘greedy’) strategie: kies telkens de beste oplossing zonder rekening te houden met de gevolgen op toekomstige keuzes • Niet noodzakelijk het globaal optimum

  18. OrigineelF = x’y’z’ + w’y + xyz + wz MinimaalFmin = x’y’z’ + w’y + wz Winst t.g.v. minimalisering • Minimalisering • Karnaugh-kaart • Minimalisering • AND-OR • OR-AND • Multi-uitgang • Don't care • Quine-McClusky • Technologie • Tijdsgedrag • Basisblokken RTL w x y z w x y z Kostprijs = 4×1 + 2×4 + 2×3 + 1×5 = 23Vertraging = 1 + 2,8 + 3,2 = 7 Kostprijs = 4×1 + 1×4 + 2×3 + 1×4 = 18 (22% goedkoper)Vertraging = 1 + 2,8 + 2,8 = 6,6 (6% sneller)

  19. Een tweede voorbeeld • Minimalisering • Karnaugh-kaart • Minimalisering • AND-OR • OR-AND • Multi-uitgang • Don't care • Quine-McClusky • Technologie • Tijdsgedrag • Basisblokken RTL

  20. Realisatie als som van 1-mintermen • Minimalisering • Karnaugh-kaart • Minimalisering • AND-OR • OR-AND • Multi-uitgang • Don't care • Quine-McClusky • Technologie • Tijdsgedrag • Basisblokken RTL F = (6,7,10,11,14,15,21,23,25,27,29,31) v w x y z Kostprijs = 5×1 + 12×6 + 1×13 = 90 Vertraging = 1 + 3,6 + 6,4 = 11

  21. Maak Karnaugh-kaart • Minimalisering • Karnaugh-kaart • Minimalisering • AND-OR • OR-AND • Multi-uitgang • Don't care • Quine-McClusky • Technologie • Tijdsgedrag • Basisblokken RTL v z z y y 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 x 0 0 1 1 0 1 1 0 w 0 0 1 1 0 1 1 0

  22. Bepaal priemimplicanten • Minimalisering • Karnaugh-kaart • Minimalisering • AND-OR • OR-AND • Multi-uitgang • Don't care • Quine-McClusky • Technologie • Tijdsgedrag • Basisblokken RTL v z z y y 1 1 1 1 x 1 1 1 1 w 1 1 1 1 v’xyv’wy xyzwyz vxzvwz

  23. Bepaal essentiële priemimplicanten • Minimalisering • Karnaugh-kaart • Minimalisering • AND-OR • OR-AND • Multi-uitgang • Don't care • Quine-McClusky • Technologie • Tijdsgedrag • Basisblokken RTL v z z y y 1 1 1 1 x 1 1 1 1 w 1 1 1 1 Reeds de minimale bedekking F1min2 = v’xy + v’wy + vxz + vwz

  24. Minimale AND-OR realisatie • Minimalisering • Karnaugh-kaart • Minimalisering • AND-OR • OR-AND • Multi-uitgang • Don't care • Quine-McClusky • Technologie • Tijdsgedrag • Basisblokken RTL F1min2 = v’xy + v’wy + vxz + vwz v w x y z Kostprijs = 1×1 + 4×4 + 1×5 = 22 (76% goedkoper) Vertraging = 1 + 2,8 + 3,2 = 7 (34% sneller)

  25. Realisatie in meer dan 2 lagen • Minimalisering • Karnaugh-kaart • Minimalisering • AND-OR • OR-AND • Multi-uitgang • Don't care • Quine-McClusky • Technologie • Tijdsgedrag • Basisblokken RTL F = v’xy + v’wy + vxz + vwz = v’y(x + w) + vz(x + w) = (x + w)(v’y + vz) v w x y z Kostprijs = 1×1 + 5×3 = 16 (82% goedkoper) Vertraging = 1 + 2,4 + 2,4 + 2,4 = 8,2 (25% sneller)

  26. Ontwerp combinatorische schakelingen • Minimalisering • Karnaugh-kaart • Minimalisering • AND-OR • OR-AND • Multi-uitgang • Don't care • Quine-McClusky • Technologie • Tijdsgedrag • Basisblokken RTL • Minimalisering van Booleaanse functies • Karnaugh-kaart • Minimalisering met Karnaugh-kaarten • Minimale AND-OR realisatie • Minimale OR-AND realisatie • Meerdere uitgangen • ‘Don’t care’ condities • Quine-McCluskey • Impact van technologie • Tijdsgedrag • Basisbouwblokken op RTL-niveau(ADD, ALU, MUX, …)

  27. Duale minimaliseringmet Karnaugh-kaart • Minimalisering • Karnaugh-kaart • Minimalisering • AND-OR • OR-AND • Multi-uitgang • Don't care • Quine-McClusky • Technologie • Tijdsgedrag • Basisblokken RTL v z z y y 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 x 0 0 1 1 0 1 1 0 w 0 0 1 1 0 1 1 0 Realiseer de nullen i.p.v. de enen

  28. Bepaal de priemimplicanten • Minimalisering • Karnaugh-kaart • Minimalisering • AND-OR • OR-AND • Multi-uitgang • Don't care • Quine-McClusky • Technologie • Tijdsgedrag • Basisblokken RTL v z z y y 0 0 0 0 0 0 0 0 0 0 0 0 x 0 0 0 0 w 0 0 0 0 v+y = (v’y’)’ v’+z = (vz’)’ w+x y+z

  29. Bepaal essentiële priemimplicanten • Minimalisering • Karnaugh-kaart • Minimalisering • AND-OR • OR-AND • Multi-uitgang • Don't care • Quine-McClusky • Technologie • Tijdsgedrag • Basisblokken RTL v z z y y 0 0 0 0 0 0 0 0 0 0 0 0 x 0 0 0 0 w 0 0 0 0 Reeds de minimale bedekking F0min2 = (v+y)(w+x)(v’+z)

  30. Minimale OR-AND realisatie v w x y z • Minimalisering • Karnaugh-kaart • Minimalisering • AND-OR • OR-AND • Multi-uitgang • Don't care • Quine-McClusky • Technologie • Tijdsgedrag • Basisblokken RTL F0min2 = (v+y)(w+x)(v’+z) Kostprijs = 1×1 + 3×3 + 1×4 = 14 (84% goedkoper) Vertraging = 1 + 2,4 + 2,8 = 6,2 (44% sneller)

  31. Samenvatting • Minimalisering • Karnaugh-kaart • Minimalisering • AND-OR • OR-AND • Multi-uitgang • Don't care • Quine-McClusky • Technologie • Tijdsgedrag • Basisblokken RTL • Verderop zullen we zien dat er nog andere mogelijkheden zijn, afhankelijk van de technologie • OR-AND-INV • Kostprijs = 11 (Rel. kostprijs = 12%) • Vertraging = 4 (Rel. vertraging = 36%) • NOR • Kostprijs = 10 (Rel. kostprijs = 11%) • Vertraging = 4,2 (Rel. vertraging = 38%) compromis grootte snelheid

  32. Ontwerp combinatorische schakelingen • Minimalisering • Karnaugh-kaart • Minimalisering • Multi-uitgang • Don't care • Quine-McClusky • Technologie • Tijdsgedrag • Basisblokken RTL • Minimalisering van Booleaanse functies • Karnaugh-kaart • Minimalisering met Karnaugh-kaarten • Meerdere uitgangen • ‘Don’t care’ condities • Quine-McCluskey • Impact van technologie • Tijdsgedrag • Basisbouwblokken op RTL-niveau(ADD, ALU, MUX, …)

  33. Meerdere uitgangen w z a 1 1 1 y 1 1 x 1 b 1 1 y 1 1 x a = yw’ + zw’ b = yw’ c = yz’ + y’z + zw’ • Minimalisering • Karnaugh-kaart • Minimalisering • Multi-uitgang • Don't care • Quine-McClusky • Technologie • Tijdsgedrag • Basisblokken RTL Nadat alle essentiële priemimplicanten gerealiseerd zijn: • Selecteer alle priemimplicanten die de mintermen realiseren en die al essentieel zijn voor een andere functie (en dus al gerealiseerd zijn) • yw’ reeds essentieel voor a en b • zw’ reeds essentieel voor a • Kies de implicant die in het kleinst aantal functies voorkomt (om de fan-out zo laag mogelijk te houden) • yw’ reeds in a en b • zw’ reeds in a c 1 1 1 1 1 y 1 1 1 x 1 1

  34. Meerdere uitgangen w w z z a b a = yz’ + yw + xwz’ b = yw’ + zy + xwy’z’ Kostprijs: 26 1 1 1 1 1 1 y 1 1 1 1 1 1 x 1 1 a b a = yz’ + wyz + xwy’z’ b = yw’ + wyz + xwy’z’ Kostprijs: 23 1 1 1 1 1 1 y 1 1 1 1 1 1 x 1 1 • Minimalisering • Karnaugh-kaart • Minimalisering • Multi-uitgang • Don't care • Quine-McClusky • Technologie • Tijdsgedrag • Basisblokken RTL • Soms voordelig om niet-priemimplicanten te gebruiken (‘trial-and-error’!) • Mogelijkheden stijgen als meerdere lagen toegelaten zijn

  35. Ontwerp combinatorische schakelingen • Minimalisering • Karnaugh-kaart • Minimalisering • Multi-uitgang • Don't care • Quine-McClusky • Technologie • Tijdsgedrag • Basisblokken RTL • Minimalisering van Booleaanse functies • Karnaugh-kaart • Minimalisering met Karnaugh-kaarten • Meerdere uitgangen • ‘Don’t care’ condities • Quine-McCluskey • Impact van technologie • Tijdsgedrag • Basisbouwblokken op RTL-niveau(ADD, ALU, MUX, …)

  36. ‘Don’t care’ condities • Minimalisering • Karnaugh-kaart • Minimalisering • Multi-uitgang • Don't care • Quine-McClusky • Technologie • Tijdsgedrag • Basisblokken RTL • onvolledig gespecificeerde Booleaanse functie BCD 7-segment a f b g e c d

  37. 1. Maak Karnaugh-kaarten • Minimalisering • Karnaugh-kaart • Minimalisering • Multi-uitgang • Don't care • Quine-McClusky • Technologie • Tijdsgedrag • Basisblokken RTL w w w w a z b z c z d z 1 0 1 1 1 1 1 1 1 1 1 0 1 0 1 1 0 1 1 1 1 0 1 0 1 1 1 1 0 1 0 1 y X X X X X X X X X X X X X X X X x 1 1 X X 1 1 X X 1 1 X X 1 1 X X e f g 1 0 0 1 1 0 0 0 0 0 1 1 0 0 0 1 1 1 0 1 1 1 0 1 y X X X X X X X X X X X X x 1 0 X X 1 1 X X 1 1 X X

  38. 2. Bepaal alle priemimplicanten • Minimalisering • Karnaugh-kaart • Minimalisering • Multi-uitgang • Don't care • Quine-McClusky • Technologie • Tijdsgedrag • Basisblokken RTL w w w w a z b z c z d z 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 y X X X X X X X X X X X X X X X X x 1 1 X X 1 1 X X 1 1 X X 1 1 X X e f g 1 1 1 1 1 1 1 1 1 1 1 1 y X X X X X X X X X X X X x 1 X X 1 1 X X 1 1 X X

  39. 3. Bepaal alle essentiëlepriemimplicanten w w w w a z b z c z d z 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 y X X X X X X X X X X X X X X X X x 1 1 X X 1 1 X X 1 1 X X 1 1 X X volledige bedekking volledige bedekking volledige bedekking volledige bedekking e f g 1 1 1 1 1 1 1 1 1 1 1 1 y X X X X X X X X X X X X x 1 X X 1 1 X X 1 1 X X volledige bedekking volledige bedekking onvolledige bedekking a = y’w’ + z + yw + x b = y’ + z’w’ + zw c = z’ + w + y • Minimalisering • Karnaugh-kaart • Minimalisering • Multi-uitgang • Don't care • Quine-McClusky • Technologie • Tijdsgedrag • Basisblokken RTL d = y’w’ + y’z + yz’w + zw’ + x e = y’w’ + zw’ f = z’w’ + yz’ + yw’ + x

  40. Keuze van de priemimplicant die de overblijvende minterm realiseert: Selecteer alle priemimplicanten die de minterm realiseren en die al essentieel zijn voor een andere functie zw’ reeds essentieel voor d of e yw’ reeds essentieel voor f Kies de implicant die in het kleinst aantal functies voorkomt zw’ reeds in d en e yw’ reeds in f 4. Zoek de minimale bedekking • Minimalisering • Karnaugh-kaart • Minimalisering • Multi-uitgang • Don't care • Quine-McClusky • Technologie • Tijdsgedrag • Basisblokken RTL w z g 1 1 1 1 1 y X X X X x 1 1 X X g = y’z + yz’ + yw’ + x

  41. Minimale realisatie x y z w • Minimalisering • Karnaugh-kaart • Minimalisering • Multi-uitgang • Don't care • Quine-McClusky • Technologie • Tijdsgedrag • Basisblokken RTL a b c d e f g

  42. Kostprijs & vertraging • Minimalisering • Karnaugh-kaart • Minimalisering • Multi-uitgang • Don't care • Quine-McClusky • Technologie • Tijdsgedrag • Basisblokken RTL • Som van 1-mintermen • Kostprijs = 110 (100%) • Inverters : 4×1 = 4 • AND-poorten : 10×5 = 50 • OR-poorten : 9 + 9 + 10 + 8 + 5 + 7 + 8 = 56 • Vertraging = 1 + 3,2 + 5,2 = 9,4 (100%) • Kritisch pad = xc (9-input OR) • Minimale 2-lagen-implementatie • Kostprijs = 64 (58%) • Inverters : 4×1 = 4 • AND-poorten : 8×3 + 1×4 = 28 • OR-poorten : 1×3 + 2×4 + 3×5 + 1×6 = 32 • Vertraging = 1 + 2,8 + 3,6 = 7,4 (79%) • Kritisch pad = zd (3-input AND & 5-input OR)

  43. Ontwerp combinatorische schakelingen • Minimalisering • Karnaugh-kaart • Minimalisering • Multi-uitgang • Don't care • Quine-McClusky • Technologie • Tijdsgedrag • Basisblokken RTL • Minimalisering van Booleaanse functies • Karnaugh-kaart • Minimalisering met Karnaugh-kaarten • Meerdere uitgangen • ‘Don’t care’ condities • Quine-McCluskey • Impact van technologie • Tijdsgedrag • Basisbouwblokken op RTL-niveau(ADD, ALU, MUX, …)

  44. Quine-McCluskey • Minimalisering • Karnaugh-kaart • Minimalisering • Multi-uitgang • Don't care • Quine-McClusky • Technologie • Tijdsgedrag • Basisblokken RTL • Karnaugh-kaart • handmatige methode:visuele patroonherkenning • geen garantie op de optimale oplossing (gulzige strategie) • Quine-McCluskey • computermethode,gebruik makend van tabellen • optimale oplossing • vormt de basis van alle CAD-software van het ontwerpen van schakelingen • moeilijk met de hand  zie boek

  45. Ontwerp combinatorische schakelingen • Minimalisering • Technologie • Gate array • Chip-ontwerp • FPGA • Tijdsgedrag • Basisblokken RTL • Minimalisering van Booleaanse functies • Impact van technologie • Gate array: NAND, NOR • Componentenbibliotheek: AOI, OAI, … • FPGA • Tijdsgedrag • Basisbouwblokken op RTL-niveau(ADD, ALU, MUX, …)

  46. Gate array Vervang n-input AND (OR) doorm-input ANDs (ORs), met m<n Decompositie Conversie Vervang AND & OR door NAND (NOR) Optimalisering Elimineer dubbele negaties Tracht alle vertragingen van ingangnaar uitgang gelijk te maken Optimalisering vertraging • Minimalisering • Technologie • Gate array • Chip-ontwerp • FPGA • Tijdsgedrag • Basisblokken RTL • Aanpassing nodig omdat ze enkel m-input NAND- of m-input NOR-poorten bevatten: • INV-AND-OR (minimalisering 1-mintermen) m-input NAND • INV-OR-AND (minimalisering 0-maxtermen) m-input NOR • Aanpassing aan de technologie:

  47. Decompositie • Minimalisering • Technologie • Gate array • Chip-ontwerp • FPGA • Tijdsgedrag • Basisblokken RTL = = a + b + c + d = (a + b) + (c + d)= ((a + b) + c) + d

  48. Conversie gebaseerd op dewetten van De Morgan: Optimalisering: Conversie & optimalisering (x’)’ = x = • Minimalisering • Technologie • Gate array • Chip-ontwerp • FPGA • Tijdsgedrag • Basisblokken RTL = (xy)’ = x’ + y’ = (x + y)’ = x’y’

  49. Enkele voorbeelden De realisatie met alleen NAND of NOR is sneller: geen extra inverter per poort • Minimalisering • Technologie • Gate array • Chip-ontwerp • FPGA • Tijdsgedrag • Basisblokken RTL

  50. Realisatie van een inverter = 1 = 0 • Minimalisering • Technologie • Gate array • Chip-ontwerp • FPGA • Tijdsgedrag • Basisblokken RTL Nadeel: verdubbeling belasting van de sturende poort Nadeel: langere bedrading

More Related