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
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
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
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
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
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
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
Algebraïsche technieken Herschrijftechniek die gebruik maakt van betekenisbewarende regels Digitale elektronica
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
Algebraïsche technieken de methode van Zissos eenvoudig voorbeeld Digitale elektronica
Algebraïsche technieken de methode van Zissos hogere-ordeproducten Digitale elektronica
Algebraïsche technieken de methode van Zissos Soms moet men veel dieper itereren: Digitale elektronica
Algebraïsche technieken de methode van Zissos Digitale elektronica
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
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
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
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
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
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
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
Implicantenmethoden het algoritme van Quine-McCluskey Digitale elektronica
Quine-McCluskey: voorbeeld (n = 4) Digitale elektronica
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
Implicantenmethoden het algoritme van Quine-McCluskey: stap 2 Digitale elektronica
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
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
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
Implicantenmethoden het algoritme van Quine-McCluskey: uitbreidingen Digitale elektronica
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
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
Topologische Methoden complementering Gebaseerd op shannon-decompositie Digitale elektronica
Topologische Methoden complementering Digitale elektronica
Topologische Methoden tautologietest Nodig voor bedekkingstest: Tautologietest bij unate kubuslijsten veel eenvoudiger (unaat=monotoon in elke variabele) Digitale elektronica
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
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
Topologische Methoden complete som uit kubuslijst: kruisoperatie Rekenregels Digitale elektronica
Topologische Methoden complete som uit kubuslijst: kruisoperatie Rekenregels Stelling van Dietmeyer Digitale elektronica
Topologische Methoden voorbeeld Digitale elektronica
Topologische Methoden voorbeeld Digitale elektronica
Topologische Methoden De EPI’s en niet-redundante sommen Digitale elektronica
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
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
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
ESPRESSO: expansie 1 Digitale elektronica
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
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
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
ESPRESSO: essentiële PI’s Voorbeeld: is -0-0 essentieel? Digitale elektronica
ESPRESSO: reductie Digitale elektronica
ESPRESSO: expansie 2 Digitale elektronica
ESPRESSO: resultaat Digitale elektronica
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
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
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
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
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
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
CMOS-realisatie evenveel transistorparen als lettervormen (literals) lange paden kunnen traag zijn Digitale elektronica
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
Meerniveaurealisatie veel minder poorten lagere fan-in langer pad doorheen circuit Digitale elektronica
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
Kernextractie Digitale elektronica
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
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
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
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 ----000000 0000 ----000001 0001 ----000010 0010 ----000011 0011 ----000100 0100 ----000101 0101 ----000110 0110 ----000111 0111 ----001000 1000 ----001001 1001 OPTELLEN abcdefxyzw XYZW ----010000 0001 ----010001 0010 ----010010 0011 ----010011 0100 ----010100 0101 ----010101 0110 ----010110 0111 ----010111 1000 ----011000 1001 ----011001 0000 AFTELLEN abcdefxyzw XYZW ----100000 1001 ----100001 0000 ----100010 0010 ----100011 0010 ----100100 0011 ----100101 0100 ----100110 0101 ----100111 0110 ----101000 0111 ----101001 1000 OPLADEN abcdefxyzw XYZW 000011---- 0000 000111---- 0001 001011---- 0010 001111---- 0011 010011---- 0100 010111---- 0101 011011---- 0110 011111---- 0111 100011---- 1000 100111---- 1001 Digitale elektronica
Voorbeeld: BCD-teller DON’T CARE abcdefxyzw XYZW ----001-1- ---- ----0011-- ---- ----011-1- ---- ----0111-- ---- ----101-1- ---- ----1011-- ---- 1-1-11---- ---- 11--11---- ---- Digitale elektronica
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
BCD-teller: factorisatie met kernintersecties Kies de volgende kerndelen: Digitale elektronica
BCD-teller: afsplitsen van nieuwe variabelen Definieer en substitueer in vergelijkingen: Resultaat: 63 literals Digitale elektronica
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
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
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
Multiplexers en Shannon-decompositie x y 1 2 3 z w z’+w zw Digitale elektronica
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
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
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
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
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
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
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
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
Spectrale technieken: voorbeeld Digitale elektronica
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
Fontslide Digitale elektronica