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
Boole-algebra definitie Digitale elektronica
Boole-algebra voorbeeld 1 Digitale elektronica
Boole-algebra voorbeeld 2 Digitale elektronica
Boole-algebra voorbeeld 3 Digitale elektronica
Boole-algebra isomorfisme Digitale elektronica
Boole-algebra basiseigenschappen Digitale elektronica
Boole-algebra alternatieve definitie Digitale elektronica
Boole-algebra alternatieve definitie Digitale elektronica
Boole-algebra alternatieve definitie: gevolg Elke Boole-algebra heeft een natuurlijke partiële ordening: Digitale elektronica
Boolese functies Digitale elektronica
Boolese functies representaties (1) Boolese functies zijn eindige objecten Zij kunnen allemaal gerepresenteerd worden in concrete vorm Een goede representatie is compact capteert en representeert zoveel mogelijk eigenschappen van de functie is goed leesbaar en manipuleerbaar voor mens en machine Digitale elektronica
Boolese functies representaties (2) Er zijn verschillende soorten representaties: Grafische representaties waarheidstabel Karnaughkaart Basisfunctierepresentaties mintermen spectrale representaties Reed-Mullerrepresentaties Tekstuele representaties Boolese vormen Kubuslijsten Graafrepresentaties: BDD’s Digitale elektronica
Boolese functies waarheidstabel Eenvoudige enumeratie van het domein en tabellering van de aangenomen waarden Afmeting n2n als n aantal variabelen, ongeacht complexiteit van functie Toont geen structuur of speciale eigenschappen Digitale elektronica
Boolese functies hyperkubus Aanzie punten van domein als hoekpunten van n-dimensionale kubus Naburige hoekpunten hebben ‘gelijkaardige’ encodering Manhattan-metriek in kubus is Hamming-afstand Hyperkubus ook impliciete representatie van ordening Digitale elektronica
Boolese functies hyperkubus 111 1 110 011 n = 1 n = 3 010 101 11 n = 2 100 001 01 10 000 00 Digitale elektronica
Boolese functies hyperkubus 0000 1010 1000 0010 0100 1110 1100 0110 0001 1011 1001 0011 0101 1111 1101 0111 Digitale elektronica
Boolese functies karnaughkaart n=3 000 101 100 001 010 111 110 011 x1 x2 x3 000 101 100 001 010 111 110 011 000 101 100 001 010 111 110 011 000 101 100 001 010 111 110 011 Digitale elektronica
Boolese functies karnaughkaart n=4 x1 x2 x3 x4 0000 0001 0011 0010 0100 0101 0111 0110 1100 1101 1111 1110 1000 1001 1011 1010 Digitale elektronica
Boolese functies karnaughkaart n=5 x1 x2 x3 x4 00000 00010 00110 00100 01000 01010 01110 01100 11000 11010 11110 11100 10000 10010 10110 10100 x1 x2 x3 x4 00001 00011 00111 00101 01001 01011 01111 01101 11001 11011 11111 11101 10001 10011 10111 10101 x5=0 x5=1 Digitale elektronica
Boolese functies karnaughkaart: eigenschappen Oppervlakte: nog steeds O(2n) Representeert meer structuur in functie: afstand tussen punten die de waarde 1 krijgen is belangrijk Hoofdzakelijk gericht op visueel gebruik (= voor mens) Verliest nut en zin voor n > 5 Digitale elektronica
Boolese functies basisfuncties: mintermfuncties Boole-algebra kan volledig gegenereerd worden vanuit z.g. atomen door gebruik te maken van operatoren; minimum is product van atomen Elk ander element kan uitgedrukt worden als een som van een welbepaalde deelverzameling atomen Met conventie: lege som is minimum geldt dit voor elk element Boolese functies vormen een Boole-algebra De atomen zijn de functies met gewicht 1: de mintermfuncties Digitale elektronica
Boolese functies basisfuncties: mintermfuncties Mintermfuncties kunnen eenduidig benoemd worden op basis van enumeratie van domein Definieer nummer-interpretatie van bitpatroon: Digitale elektronica
Boolese functies basisfuncties: mintermfuncties Representatiestelling: Digitale elektronica
Boolese functies mintermfuncties: voorbeeld Digitale elektronica
Boolese functies mintermfuncties: eigenschappen Representatie compacter en eenvoudiger voor sommige functies dan voor andere. Gemiddeld nog steeds exponentieel (uiteraard!) Representatie is canonisch Nulfunctie voorgesteld door lege verzameling Eénfunctie door maximale verzameling (2n elementen) Stelt echter nog steeds weinig eigenschappen van de functie voor... Digitale elektronica
Boolese functies Spectrale representaties Beschouw waarheidstabel volgens standaard-enumeratie van domein als getallenrij over {0,1} Vermenigvuldig met symmetrische, orthonormale transformatiematrix in getallenring Resultaat: getallenrij over Z. Elk getal geeft ‘projectie’ of ‘gelijkenis’ weer met rij van transformatiematrix Gebruikte matrix: Hadamard Digitale elektronica
Boolese functies Hadamard-matrix Digitale elektronica
Boolese functies Hadamard-matrix Matrix is niet-singulier en symmetrisch Rijen zijn paarsgewijs orthogonaal Rijen kunnen ook gezien worden als waarheidstabellen! Basisfuncties ‘digitale versie van cosinussen en sinussen’ Digitale elektronica
Boolese functies Hadamard-matrix Resultaat is vector van gehele getallen (nog omvangrijker dan origineel!) Componenten geven globale eigenschappen van functie weer Digitale elektronica
Boolese functies Reed-Muller-representaties Kies andere basisfuncties en combinatie-operatoren Digitale elektronica
Boolese functies Reed-Muller-representaties Representatiestelling: Digitale elektronica
Boolese functies Reed-Muller-representaties Bewijs (door constructie): 0000 1010 1000 0010 0100 1110 1100 0110 0001 1011 1001 0011 0101 1111 1101 0111 Digitale elektronica
Boolese functies Reed-Muller-representaties Bewijs (vervolg): 0000 1010 1000 0010 0100 1110 1100 0110 0001 1011 1001 0011 0101 1111 1101 0111 Digitale elektronica
Boolese functies Reed-Muller-representaties 000 101 100 001 010 111 110 011 Voorbeeld Digitale elektronica
Boolese functies Tekstuele representaties: Boolese vormen Boolese vormen zijn tekstuele vormen Voldoen aan grammaticale regels: Digitale elektronica
Boolese functies Tekstuele representaties: Boolese vormen Boolese vormen krijgen betekenis door interpretatieregels: Digitale elektronica
Boolese functies Tekstuele representaties: Boolese vormen Er zijn oneindig veel elementen in Vn Valuatie bindt aan elke BV een Boolese functie: equivalentieklassen Dualiteitsrelatie D op Vn Digitale elektronica
Boolese functies Tekstuele representaties: Boolese vormen Relatie tussen een vorm en zijn duale (dualiteitsstelling): Kan nuttig gebruikt worden bij de realisatie van functies Is de essentie van CMOS fD(v) fv Digitale elektronica
Boolese functies Tekstuele representaties: Boolese vormen Shannondecompositie: Wordt zeer vaak gebruikt als hulpmiddel om recursie toe te passen op vormen met minder variabelen Digitale elektronica
Boolese functies Tekstuele representaties: Boolese vormen Disjunctieve Standaardvorm Wanneer men Shannon-decompositie doorvoert over alle variabelen, dan stellen de residuvormen v(1,1,0,1,...,1) constanten 0 of 1 voor De lettervormproducten zijn mintermvormen (stellen mintermfuncties voor) De vorm die enkel de som van de mintermvormen met residu =1 bevat noemt men de Disjunctieve Standaardvorm Wanneer variabelen en mintermvormen lexicografisch gesorteerd dan is DSV een canonische representatie Elke Boolese vorm kan in eindige tijd mechanisch herleid worden tot zijn DSV-gedaante, en deze is uniek. Digitale elektronica
Boolese functies Tekstuele representaties: Boolese vormen Disjunctieve Standaardvorm: voorbeeld via algebraïsche rekenregels in Vn Digitale elektronica
Boolese functies Tekstuele representaties: Boolese vormen Disjunctieve Standaardvorm: voorbeeld via Shannondecompositie in Vn Digitale elektronica
Boolese functies Tekstuele representaties: Ternaire representaties Boolese vormen kunnen steeds geschreven worden als sommen van producten Wanneer men de volgorde van de variabelen kiest kan men (stelsel van) Boolese vormen compact voorstellen (niet-noodzakelijk canonisch!): Digitale elektronica
Boolese functies Boolese decisiediagrammen BDD’s zijn datastructuren bedoeld voor computermanipulatie Zijn grafen waarin elke knoop een unieke functie voorstelt Twee soorten knopen: terminale en niet-terminale Terminale knopen stellen constante fies 0 en 1 voor Niet-terminale knopen elk gekoppeld aan 1 variabele Elke NT knoop wijst naar twee opvolgers: de knopen die de residufuncties voorstellen bij shannondecompositie X1 1 X2 X3 1 Digitale elektronica
Boolese functies Boolese decisiediagrammen Bij het opstellen of na bewerking is diagram niet noodzakelijk minimaal Minimalisatie-algoritme werkt van beneden naar boven elimineert dubbels elimineert knopen met identieke subbomen X1 X3 X2 1 X1 X3 X2 1 X1 X3 X2 1 X1 X3 X2 1 Digitale elektronica
Boolese functies Boolese decisiediagrammen Gebruik van BDD’s: testen of functies gelijk zijn tautologietest voldoenbaarheid berekenen complement Combinaties van BDD’s met operatoren + en functiecompositie met ITE( ) X1 X2 X3 1 + Digitale elektronica
Boolese functies Boolese decisiediagrammen X1 X2 X3 1 + X1 X2 X3 1 + X1 X2 1 X3 X1 X2 X3 1 + X1 X2 X3 1 Digitale elektronica
Boolese functies Boolese decisiediagrammen: functiecompositie Digitale elektronica
Boolese functies Boolese decisiediagrammen: functiecompositie X2 X3 1 X1 ITE X1 X2 X3 1 ITE X1 1 X2 X1 1 X2 Digitale elektronica
Fontslide Digitale elektronica