1.13k likes | 1.31k Views
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
E N D
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 Technologie Tijdsgedrag Basisblokken RTL • Minimalisering van Booleaanse functies • Impact van technologie • Tijdsgedrag • Basisbouwblokken op RTL-niveau(ADD, ALU, MUX, …)
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, …)
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’
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
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
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
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
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
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
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
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, …)
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
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.
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)
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
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
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)
Een tweede voorbeeld • Minimalisering • Karnaugh-kaart • Minimalisering • AND-OR • OR-AND • Multi-uitgang • Don't care • Quine-McClusky • Technologie • Tijdsgedrag • Basisblokken RTL
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
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
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
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
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)
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)
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, …)
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
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
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)
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)
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
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, …)
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
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
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, …)
‘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
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
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
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
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
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
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 = xc (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 = zd (3-input AND & 5-input OR)
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, …)
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
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, …)
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:
Decompositie • Minimalisering • Technologie • Gate array • Chip-ontwerp • FPGA • Tijdsgedrag • Basisblokken RTL = = a + b + c + d = (a + b) + (c + d)= ((a + b) + c) + d
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’
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
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