Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdRoel Kok Laatst gewijzigd meer dan 9 jaar geleden
1
Inhoud (1) De ontwerpruimte en haar terminologie
Het ontwerptraject Boole-algebra en functies definities en eigenschappen van Boole-algebra en functies representaties van Boolese functies Schakelnetwerken en hun bouwstenen poortnetwerken versus taknetwerken analyse van taknetwerken Standaardcomponenten Programmeerbare componenten ASIC-bouwstenen Synthese van poortnetwerken Algebraïsche minimalisatie Implicantenmethoden: McCluskey’s algoritme Topologische en heuristische methoden Meerniveausynthese Digitale elektronica
2
Synthese van poortnetwerken doelstellingen
Het ontwerpen van poortnetwerken die een opgegeven (partiële) functie realiseren Dit doen op een ‘optimale’ manier Optimaliteitscriteria snelheid kostprijs dissipatie betrouwbaarheid Digitale elektronica
3
Synthese van poortnetwerken snelheidscriterium
Snelheid van netwerk wordt bepaald door doorlooptijd van langste pad afhankelijk van snelheid van poorten op dit pad afhankelijk van lengte van dit pad Wij veronderstellen hier: snelheid poort onafhankelijk van complexiteit (aantal ingangen) => padlengte minimaliseren Wanneer men met EN- en OF-poorten werkt heeft men in het algemeen 2 niveaus nodig (DSV) Digitale elektronica
4
Synthese van poortnetwerken kostprijscriterium
Kostprijs van netwerk wordt bepaald door aantal poorten in netwerk complexiteit van poorten (aantal inputs) Precieze verhouding sterk afhankelijk van technologie (b.v. invertors) Wij zullen invertors niet aanrekenen in kostprijs Digitale elektronica
5
Synthese van poortnetwerken kostprijscriterium
Onze doelstelling: realiseer twee-niveau EN/OF-circuits met minimaal aantal EN-poorten minimaal aantal ingangen van EN-poorten Circuittopologie wordt weergegeven door som-van-productenvorm F=x’yz + xz + xz’ Digitale elektronica
6
Synthese van poortnetwerken synthesedoelstelling
Voor enkelvoudige functies: Leid een representatie af van de functie in de gedaante van een Boolese vorm als som van een minimaal aantal producten van een minimaal aantal factoren Voor meervoudige functies: Leid een representatie af van de functies in de gedaante van een stelsel Boolese vormen als sommen van een gezamenlijk minimaal aantal producten van een minimaal aantal factoren Digitale elektronica
7
Synthese van poortnetwerken benaderingen voor twee-niveauminimalisatie
algebraïsche minimalisatie vereenvoudig de Boolese vorm door louter symbolische manipulatie en toepassing van vereenvoudigende herschrijfregels implicantenmethoden: McCluskey’s algoritme vereenvoudig de Boolese vorm door gebruik te maken van geometrische kubus-interpretatie en bedekking via een exhaustieve constructieve techniek topologische en heuristische methoden vergelijkbaar met voorgaande, maar maak gebruik van topologische eigenschappen van kubusbedekkingen Digitale elektronica
8
Algebraïsche technieken
Herschrijftechniek die gebruik maakt van betekenisbewarende regels Digitale elektronica
9
Algebraïsche technieken de methode van Zissos
Herschrijfalgoritme: werk haakjes uit door propagatie van complementen naar binnen distributiviteit verwijder redundantie: schrap termen die bedekt worden door andere termen, schrap identieke factoren, ... bereken optionele producten van alle koppels en voeg bij de vorm. Schrap opnieuw termen die bedekt worden door andere termen (de optionele producten) Itereer de laatste stap waarbij ook hogere-ordeproducten bekeken worden. Digitale elektronica
10
Algebraïsche technieken de methode van Zissos
eenvoudig voorbeeld Digitale elektronica
11
Algebraïsche technieken de methode van Zissos
hogere-ordeproducten Digitale elektronica
12
Algebraïsche technieken de methode van Zissos
Soms moet men veel dieper itereren: Digitale elektronica
13
Algebraïsche technieken de methode van Zissos
Digitale elektronica
14
Combinatorische Minimalisatie in twee niveaus
Doel: zoek minimale som-van-productenvorm, voor realisatie in PLA-achtige structuur Implicantenmethode: gebaseerd op het combineren van implicanten tot priemimplicanten het zoeken van een minimale lijst priemimplicanten die de functie bedekken Digitale elektronica
15
Implicantenmethoden Wij zijn op zoek naar sommen van producten
met minimaal aantal termen met elk minimaal aantal factoren Implicantenmethoden gebaseerd op geometrische interpretatie van implicant: product van lettervormen is kubus is implicant wanneer volledig bevat in functie Wij zoeken dus een minimaal aantal maximale deelkubussen dat de functie volledig bedekt Digitale elektronica
16
Zoekruimte voor implicantenmethoden
Zoek zo klein mogelijk stel van knopen dat alle basisknopen bedekt 00- 0-0 -00 0-1 -01 01- -10 -11 10- 1-0 1-1 11- 000 001 010 011 100 101 110 111 0-- -0- --0 --1 -1- 1-- --- Digitale elektronica
17
Implicantenmethoden Definities
P is priemimplicant van f a.s.a. voor geen enkele andere implicant Q van f geldt: P Q P is essentiële priemimplicant van f a.s.a. f op minstens één plaats 1 wordt waar, van alle p.i.’s van f, enkel P = 1 wordt De complete som van f is de som van alle priemimplicanten van f Een niet-redundante som van f is een som van priemimplicanten waaruit geen enkele term kan weggelaten worden Een minimale som is een niet-redundante som met minimale kost Digitale elektronica
18
Implicantenmethoden Relevantie van (priem)implicanten
een optimale realisatie van een functie bestaat enkel uit priemimplicanten elke realisatie (bedekking) van een functie door priemimplicanten bevat altijd alle essentiële priemimplicanten Conclusie: wij moeten op zoek naar de lijst van p.i.’s, en hierin de essentiële p.i.’s opzoeken. Wij moeten deze verzameling dan verder optimaal aanvullen met p.i.’s tot wanneer de functie gerealiseerd wordt Digitale elektronica
19
Implicantenmethoden met de karnaughkaart
x 0000 0001 0011 0010 0100 0101 0111 0110 1100 1101 1111 1110 1000 1001 1011 1010 w z y Digitale elektronica
20
Implicantenmethoden met de karnaughkaart
x 0000 0001 0011 0010 0100 0101 0111 0110 1100 1101 1111 1110 1000 1001 1011 1010 w z y Digitale elektronica
21
Implicantenmethoden het algoritme van Quine-McCluskey
Digitale elektronica
22
Quine-McCluskey: voorbeeld (n = 4)
Digitale elektronica
23
Implicantenmethoden het algoritme van Quine-McCluskey: stap 1
000- 00-0 0-00 0000 0001 0010 0100 0110 1001 1010 1101 1110 1111 0--0 -001 0-10 -010 01-0 --10 -110 1-01 1-10 11-1 111- Digitale elektronica
24
Implicantenmethoden het algoritme van Quine-McCluskey: stap 2
Digitale elektronica
25
Implicantenmethoden het algoritme van Quine-McCluskey: uitbreidingen 1
Vaak zijn functies maar partieel gespecificeerd: don’t care-termen (DC) beschouw DC’s als 1-tjes in de eerste stap: vergroot het aantal p.i.’s, alsook hun afmetingen negeer DC’s in tweede stap. Realiseer enkel 1-tjes Digitale elektronica
26
Implicantenmethoden het algoritme van Quine-McCluskey: uitbreidingen 2
Meestal wil men meerdere functies van dezelfde variabelen gezamenlijk minimaliseren: mogelijk delen van identieke termen in de sommen afzonderlijke minimalisatie en gemeenschappelijk gebruik van termen is niet altijd optimaal Men zoekt priemimplicanten van alle (niet-ledige) producten van deelverzamelingen functies Men zoekt daarin een optimale bedekking Digitale elektronica
27
Implicantenmethoden het algoritme van Quine-McCluskey: uitbreidingen
0000 f1 0001 f1 0100 f1f2 0011 f1 0101 f1f2 0111 f2 1111 f2 000- f1 0-00 f1 0-0- f1 00-1 f1 0-01 f1 010- f1f2 01-1 f2 -111 f2 Digitale elektronica
28
Implicantenmethoden het algoritme van Quine-McCluskey: uitbreidingen
Digitale elektronica
29
Inhoud (1) De ontwerpruimte en haar terminologie
Het ontwerptraject Boole-algebra en functies definities en eigenschappen van Boole-algebra en functies representaties van Boolese functies Schakelnetwerken en hun bouwstenen poortnetwerken versus taknetwerken analyse van taknetwerken Standaardcomponenten Programmeerbare componenten ASIC-bouwstenen Synthese van poortnetwerken Algebraïsche minimalisatie Implicantenmethoden: McCluskey’s algoritme Topologische en heuristische methoden Meerniveausynthese Digitale elektronica
30
Topologische Methoden gebaseerd op operaties op kubusverzamelingen
Functie voorgesteld door twee of drie kubusverzamelingen: ON, OFF, DC Bedoeling is door bewerkingen op deze verzamelingen complete som en minimale som te bepalen (ook als kubusverzameling) Belangrijke bewerkingen: complementering tautologietest Digitale elektronica
31
Topologische Methoden complementering
Gebaseerd op shannon-decompositie Digitale elektronica
32
Topologische Methoden complementering
Digitale elektronica
33
Topologische Methoden tautologietest
Nodig voor bedekkingstest: Tautologietest bij unate kubuslijsten veel eenvoudiger (unaat=monotoon in elke variabele) Digitale elektronica
34
Topologische Methoden complete som uit kubuslijst
Zoek verzameling van alle maximale kubussen die disjunct zijn met complement Algebraïsche techniek gebaseerd op kubusrepresentatie Digitale elektronica
35
Topologische Methoden complete som uit kubuslijst: kruisoperatie
Toplogische techniek gebaseerd op verschiloperator: zoek bedekking met maximale kubussen van verschil 0000 0001 0011 0010 0100 0101 0111 0110 1100 1101 1111 1110 1000 1001 1011 1010 0000 0001 0011 0010 0100 0101 0111 0110 1100 1101 1111 1110 1000 1001 1011 1010 0000 0001 0011 0010 0100 0101 0111 0110 1100 1101 1111 1110 1000 1001 1011 1010 Digitale elektronica
36
Topologische Methoden complete som uit kubuslijst: kruisoperatie
Rekenregels Digitale elektronica
37
Topologische Methoden complete som uit kubuslijst: kruisoperatie
Rekenregels Stelling van Dietmeyer Digitale elektronica
38
Topologische Methoden voorbeeld
Digitale elektronica
39
Topologische Methoden voorbeeld
Digitale elektronica
40
Topologische Methoden De EPI’s en niet-redundante sommen
Digitale elektronica
41
ESPRESSO (Brayton & McMullen)
Heuristisch algoritme voor de efficiënte twee-niveau- minimalisatie (PLA-generatie) van meervoudige Boolese functies Omzeilt de nadelen van het optimaal algoritme van Quine- McCluskey en het zoeken van de complete som Vindt niet gegarandeerd een optimale oplossing Oplossingen echter zeer goed over het algemeen; complexe meer-outputfuncties kunnen geminimaliseerd worden Digitale elektronica
42
ESPRESSO: concepten Hoofdidee: start met zo groot mogelijke implicanten. Vergroot en verklein deze iteratief, met eliminaties van redundantie onderweg. Itereer tot wanneer geen verbetering meer. Stappen van het algoritme: Expansie: laat alle termen groeien tot maximale grootte. Kies groeirichting optimaal om andere termen te bedekken Extractie van EPI’s door consensus-operatie. Bepaal REPI’s, TRPI’s, PRPI’s Reductie en herexpansie (stap 1) tot geen beterschap Laatste reductie (geen bedekking meer). Creatie van nieuwe PI’s Outputreductie Digitale elektronica
43
ESPRESSO: concepten Representatie: stel on-set F en DC-set D voor in ternaire tabelnotatie, met inputdeel en outputdeel Elke toestand van het algoritme is dan een verzameling van kubussen in ternaire notatie De volgende testen moeten frequent uitgevoerd worden: bedekking van een kubus door een lijst intersectie van een kubus met een lijst berekenen van complement van een lijst Methoden steunen sterk op Shannon- decompositie en unate functies Digitale elektronica
44
ESPRESSO: expansie 1 Digitale elektronica
45
ESPRESSO: tot waar expanderen?
Probleem: Men moet weten hoever men een implicant mag expanderen om steeds de functie te realiseren. Oplossing: via het complement van Een implicant mag expanderen zolang hij een ledige intersectie heeft met dit complement Complement van kubuslijst kan snel uitgerekend worden via Shannon-decompositie Digitale elektronica
46
ESPRESSO: PI’s elimineren
Uit de expansiestap krijgt men een lijst van PI’s -- echter niet de complete som ! Deze lijst bevat altijd alle essentiële PI’s LESS Wij verwijderen LESS en behandelen alle termen die zij bedekken als DC’s Meestal realiseert men dan de functie nog niet, en heeft men een lijst L over, bestaande uit Le -- de relatief essentiële PI’s: geen enkele kan weg Lt -- de totaal redundante PI’s: volledig bedekt door DC’s Lp -- de partieel redundante PI’s: sommige kunnen weg Digitale elektronica
47
ESPRESSO: essentiële PI’s
Probleem: zoek EPI’s zonder de complete som te hebben Oplossing: via de consensus-operatie © Een PI ci is niet essentieel a.s.a. Digitale elektronica
48
ESPRESSO: essentiële PI’s
Voorbeeld: is -0-0 essentieel? Digitale elektronica
49
ESPRESSO: reductie Digitale elektronica
50
ESPRESSO: expansie 2 Digitale elektronica
51
ESPRESSO: resultaat Digitale elektronica
52
ESPRESSO: laatste stap
De laatste stap is outputreductie: men laat in het outputgedeelte zoveel mogelijk 1’tjes weg Motivering: verkleint de fan-in van de OF-poorten. Dit is goedkoper en sneller met poortcircuits, maar ook in PLA’s (minder capacitieve belasting van EN-poorten) Digitale elektronica
53
Inhoud (1) De ontwerpruimte en haar terminologie
Het ontwerptraject Boole-algebra en functies definities en eigenschappen van Boole-algebra en functies representaties van Boolese functies Schakelnetwerken en hun bouwstenen poortnetwerken versus taknetwerken analyse van taknetwerken Standaardcomponenten Programmeerbare componenten ASIC-bouwstenen Synthese van poortnetwerken Algebraïsche minimalisatie Implicantenmethoden: McCluskey’s algoritme Topologische en heuristische methoden Meerniveausynthese Digitale elektronica
54
Meerniveausynthese Tweeniveausynthese niet altijd het beste compromis tussen kostprijs en snelheid Complexiteit van tweeniveaucircuits vaak zeer hoog Snelheid van eenvoudige circuits is soms onnodig groot Snelheid van complexe circuits kan te laag zijn, wegens hoge vereisten qua fan-in Meerniveausynthese is dikwijls een betere keuze Digitale elektronica
55
Tweeniveaurealisatie
y(a,b,c,d,e,f,g) = abeg' + abfg + abe'g + aceg' + acfg + ace'g + deg' + dfg + de'g hoge fan-in van OF-poort veel EN-poorten Digitale elektronica
56
Meerniveausynthese Algemene meerniveausynthese steunt op decompositie van combinatorische functies in eenvoudiger stukken die door functie-samenstelling het gewenste resultaat bereiken: f(x, y, ...) = h(x, y, ..., g1(x, y, ...), ... , gk(x, y, ...)) Er bestaan diverse technieken om particuliere vormen voor h, g1, ..., gk te vinden: factorisatie multiplexersynthese spectrale technieken Digitale elektronica
57
Factorisatie Factorisatie is het herschrijven van een SVP-vorm in een vorm met haakjes, maar met zo weinig mogelijk literals. Meestal beperkt men zich tot serie-parallelvormen (geen inversie op de haakjes); dit is echter geen noodzaak. Voorbeeld: Bij CMOS-schakelingen geeft de reductie in literals een reductie in complexiteit Digitale elektronica
58
CMOS-realisatie evenveel transistorparen als lettervormen (literals)
lange paden kunnen traag zijn Digitale elektronica
59
Factorisatie: meerniveau
De syntactische structuur van de vormen kan de structuur van poort- of taknetwerken vastleggen Men herschrijft de vorm als een stelsel van vergelijkingen door de introductie van tussenvormen Een nieuwe tussenvorm is een nieuwe interne verbinding Digitale elektronica
60
Meerniveaurealisatie
veel minder poorten lagere fan-in langer pad doorheen circuit Digitale elektronica
61
Deling ‘Echte’ factorisatie is niet steeds mogelijk; (algebraïsche) deling in veel meer gevallen: f = d q + r Deling kan recursief voortgezet worden op d, q, r Het zoeken van goede delers gebeurt door de bepaling van de kernen Een kern is een maximale kubusvrije deler Digitale elektronica
62
Kernextractie Digitale elektronica
63
Meervoudige functies (1)
Men zal zal proberen de functies te herschrijven als een stelsel van vergelijkingen met zo weinig mogelijk literals. Stappen van de methode: Factoriseren of delen met zo ‘nuttig’ mogelijke factoren of delers (gemeenschappelijk): eerst gemeenschappelijke deelkernen; dan ook eventueel kubussen. Wanneer winst, zal men de gevonden gemeenschappelijke delen afsplitsen: men voert een nieuwe literal in, en een nieuwe vergelijking. Digitale elektronica
64
Meervoudige functies (2)
Na afsplitsing zal men onderzoeken of de nieuw afgesplitste vorm geen deler is van andere functies (resubstitutie). De residuele functies worden opnieuw geminimaliseerd (b.v. met ESPRESSO), rekening houdend met de nieuwe DON’T CARE condities. Methode is ad hoc, maar levert goede resultaten op. Digitale elektronica
65
Voorbeeld: BCD-teller
Opgave: realiseer combinatorische functies van oplaadbare BCD op-neerteller: 4 functies X Y Z W van 10 variabelen a b c d e f x y z w a b c d f e x y z w X Y Z W ? Digitale elektronica
66
Voorbeeld: BCD-teller
Opgave: realiseer combinatorische functies van oplaadbare BCD op-neerteller: 4 functies X Y Z W van 10 variabelen a b c d e f x y z w HOUDEN abcdefxyzw XYZW OPTELLEN abcdefxyzw XYZW AFTELLEN abcdefxyzw XYZW OPLADEN abcdefxyzw XYZW Digitale elektronica
67
Voorbeeld: BCD-teller
DON’T CARE abcdefxyzw XYZW Digitale elektronica
68
BCD-teller: tweeniveauresultaat
Resultaat behaald met ESPRESSO (in de Berkely SIS-suite) 21 EN-poorten 4 OF-poorten 97 poortinputs fan-in 6 (EN), 7 (OF) 79 literals Digitale elektronica
69
BCD-teller: factorisatie met kernintersecties
Kies de volgende kerndelen: Digitale elektronica
70
BCD-teller: afsplitsen van nieuwe variabelen
Definieer en substitueer in vergelijkingen: Resultaat: 63 literals Digitale elektronica
71
BCD-teller: ESPRESSO met nieuwe DC’s
Waarom nieuwe DC’s? x Knoop F realiseert f = F(y,z) Ten aanzien van G is conditie f = 1 en y,z : F(y,z) = 0 onmogelijk => DC voor G(x,y,f) Als G,H,I ongevoelig aan f voor combinatie van y,z dan is deze DC voor F(y,z) G y f f F z H w I u Digitale elektronica
72
BCD-teller: ESPRESSO met nieuwe DC’s
Na nieuwe ESPRESSO en factorisatie: 54 literals Na resubstitutie van h en afsplitsing gemeenschappelijke kubussen als nieuwe variabelen i, j, k: 53 literals Digitale elektronica
73
Multiplexers en de Shannon-decompositie
Shannon-decompositie van functie leidt tot multiplexer-realisatie: variabelen voor decompositie = controlevariabelen van mux residufuncties = mux-inputs (verder te decomposeren) Digitale elektronica
74
Multiplexers en Shannon-decompositie
x y 1 2 3 z w z’+w zw Digitale elektronica
75
Multiplexers en BDD’s z w y x 1 x y z w 1 z’+w y’z’+zw zw f y’z+zw
1 z 1 z’+w w y y’z’+zw x f y’z+zw zw Digitale elektronica
76
Optimalisaties Optimalisatiemogelijkheden:
keuze van de selectievariabelen op ieder ogenblik (wel bij MUX, niet bij BDD) optimaal hergebruik van reeds gerealiseerde functies (wel bij BDD, niet gegarandeerd bij MUX) Digitale elektronica
77
De systematische methode van Voith
Methode gebaseerd op 2-naar-1 MUX’ers Tabelmethode gelijkend op Quine-McCluskey; nieuwe compositieregel: Leidt tot multiplexerbomen zonder reconvergentie (suboptimaal…) Digitale elektronica
78
De systematische methode van Voith Multiplexer-implicanten
0000 0 0001 0 0010 0 0100 1 1000 0 0011 1 0101 1 1001 0 0110 0 1010 1 1100 0 0111 1 1011 1 1101 0 1110 0 1111 1 Eerste Tabel 000- 0 00-0 0 0-00 y -000 0 00-1 z 0-01 y -001 0 001- w 0-10 0 -010 x 010- 1 01-0 z’ -100 x’ 100- 0 10-0 z 1-00 0 0-11 1 -011 1 01-1 1 -101 x’ 10-1 z 1-01 0 011- w -110 0 101- 1 1-10 y’ 110- 0 11-0 0 -111 1 1-11 1 11-1 z 111- w Tweede Tabel 0-0- y -00- 0 -0-1 z 0-1- w -10- x’ 10-- z 1-0- 0 --11 1 -11- w 1--1 z Derde Tabel Digitale elektronica
79
De systematische methode van Voith Maximale compatibele verzamelingen
Probleem: kies zo groot mogelijk stel implicanten die samen een MUX-boom voorstellen: compatibele verzamelingen Compatibele verz. y x z w zw Derde Tabel 0-0- y -00- 0 -0-1 z 0-1- w -10- x’ 10-- z 1-0- 0 --11 1 -11- w 1--1 z x’z’ y y’z’ 0 y’w z x’z w yz’ x’ xy’ z xz’ 0 zw 1 yz w xw z x’z’,x’z,xy’ x’z’,x’z,xz’ x’z’,x’z,xw z’x’,z’x,zw z’x’,z’x,zy z’y,z’y’,zx’ z’y,z’y’,zw z’y,z’y’,zy yz,yz’,y’x yz,yz’,y’w y z w x’ xz Digitale elektronica
80
Spectrale technieken Idee: pas verliesloze transformatie toe op variabelen van functie om eenvoudiger som-van-producten in de nieuwe variabelen te krijgen Optimale transformatie moet complexiteit maximaal reduceren Hoe meten wij complexiteit? Digitale elektronica
81
Spectrale technieken: complexiteit
Definieer autocorrelatiefunctie van f : Hierin is: modulo-2 som van binaire representaties (verschuiving) S de som in de gehelen De grootheid stelt dan het aantal koppels 1’tjes voor in f op afstand 1. Digitale elektronica
82
Spectrale technieken: complexiteit
Wij zoeken nu lineaire transformatie y(x) = sx op definitiedomein zodanig dat f(x) = g(y(x)) = g(sx) zodanig dat g(• ) een eenvoudiger functie wordt dan f(• ) De matrix s wordt opgebouwd gebaseerd op de verschuivingen waarvoor grote waarden aanneemt Matrixproduct over en (inverteerbaar); nieuwe variabelen zijn combinaties via van oude variabelen Digitale elektronica
83
Spectrale technieken: voorbeeld
Digitale elektronica
84
Spectrale technieken: rekentechnieken
De spectrale technieken vereisen de berekening van de correlatiefunctie. Kan via snelle spectrale transformatie (Hadamard, b.v.) en toepassing van convolutiestelling Techniek van Varma en Trachtenberg omzeilt rechtstreekse manipulatie van waarheidstabel en Hadamard-transformatie, en werkt in op kubuslijsten (van meervoudige functies). Zij berekenen rechtstreeks voor opgegeven waarden van t Digitale elektronica
85
Fontslide Digitale elektronica
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.