Inhoud 1 De ontwerpruimte en haar terminologie De



















































- Slides: 51
Inhoud (1) De ontwerpruimte en haar terminologie – De ontwerpruimte – 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 : Mc. Cluskey ’s algoritme Topologische en heuristische methoden Meerniveausynthese Digitale elektronica 1
Boole-algebra definitie Digitale elektronica 2
Boole-algebra voorbeeld 1 Digitale elektronica 3
Boole-algebra voorbeeld 2 Digitale elektronica 4
Boole-algebra voorbeeld 3 Digitale elektronica 5
Boole-algebra isomorfisme Digitale elektronica 6
Boole-algebra basiseigenschappen Digitale elektronica 7
Boole-algebra alternatieve definitie Digitale elektronica 8
Boole-algebra alternatieve definitie Digitale elektronica 9
Boole-algebra alternatieve definitie: gevolg Elke Boole-algebra heeft een natuurlijke partiële ordening: Digitale elektronica 10
Boolese functies Digitale elektronica 11
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 12
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 13
Boolese functies waarheidstabel Eenvoudige enumeratie van het domein en tabellering van de aangenomen waarden Afmeting n 2 n als n aantal variabelen, ongeacht complexiteit van functie Toont geen structuur of speciale eigenschappen Digitale elektronica 14
Boolese functies hyperkubus Aanzie punten van domein als hoekpunten van n-dimensionale kubus Naburige hoekpunten hebben ‘gelijkaardige’ encodering Manhattan-metriek in kubus is Hammingafstand Hyperkubus ook impliciete representatie van ordening Digitale elektronica 15
Boolese functies hyperkubus n=0 111 1 n=2 n=3 0 010 101 110 011 10 100 001 000 00 Digitale elektronica 16
Boolese functies hyperkubus 1111 n=4 1110 0111 1011 1101 0110 0011 0101 1010 1100 1001 0010 0100 0001 1000 0000 Digitale elektronica 17
Boolese functies karnaughkaart n=3 010 x 2 011 111 010 011 111 x 1 110 111 110 010 101 000 001 001 000 x 3 100 101 100 Digitale elektronica 18
Boolese functies karnaughkaart n=4 x 1 0000 0100 1000 0001 0101 1001 0011 0111 x 3 1111 1011 x 4 0010 0110 1010 x 2 Digitale elektronica 19
Boolese functies karnaughkaart n=5 x 1 00000 010000 00001 01001 100010 01010 10010 00011 01011 100110 01110 10110 x 3 x 1 00100 01100 10100 x 4 001111 10111 x 3 00101 01101 10101 x 2 x 5=1 x 5=0 Digitale elektronica 20 x 4
Boolese functies karnaughkaart: eigenschappen Oppervlakte: nog steeds O(2 n) 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 21
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 22
Boolese functies basisfuncties: mintermfuncties Mintermfuncties kunnen eenduidig benoemd worden op basis van enumeratie van domein Definieer nummer-interpretatie van bitpatroon: Digitale elektronica 23
Boolese functies basisfuncties: mintermfuncties Representatiestelling: Digitale elektronica 24
Boolese functies mintermfuncties: voorbeeld Digitale elektronica 25
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 (2 n elementen) Stelt echter nog steeds weinig eigenschappen van de functie voor. . . Digitale elektronica 26
Boolese functies Spectrale representaties Beschouw waarheidstabel volgens standaardenumeratie 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 27
Boolese functies Hadamard-matrix Digitale elektronica 28
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 29
Boolese functies Hadamard-matrix Resultaat is vector van gehele getallen (nog omvangrijker dan origineel!) Componenten geven globale eigenschappen van functie weer Digitale elektronica 30
Boolese functies Reed-Muller-representaties Kies andere basisfuncties en combinatie-operatoren Digitale elektronica 31
Boolese functies Reed-Muller-representaties Representatiestelling: Digitale elektronica 32
Boolese functies Reed-Muller-representaties Bewijs (door constructie): 1111 1110 0111 0011 1101 0110 0101 0010 0001 1010 1001 0100 0000 Digitale elektronica 33 1100 1000
Boolese functies Reed-Muller-representaties 1111 Bewijs (vervolg): 1110 0111 0011 1101 0110 0101 0010 0001 1010 1001 0100 0000 Digitale elektronica 34 1100 1000
Boolese functies 111 Reed-Muller-representaties 110 011 Voorbeeld 010 101 100 001 000 Digitale elektronica 35
Boolese functies Tekstuele representaties: Boolese vormen zijn tekstuele vormen Voldoen aan grammaticale regels: Digitale elektronica 36
Boolese functies Tekstuele representaties: Boolese vormen krijgen betekenis door interpretatieregels: Digitale elektronica 37
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 38
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 fv f. D(v) Digitale elektronica 39
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 40
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 41
Boolese functies Tekstuele representaties: Boolese vormen Disjunctieve Standaardvorm: voorbeeld via algebraïsche rekenregels in Vn Digitale elektronica 42
Boolese functies Tekstuele representaties: Boolese vormen Disjunctieve Standaardvorm: voorbeeld via Shannondecompositie in Vn Digitale elektronica 43
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 44
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 Digitale elektronica X 1 0 X 1 2 X 3 0 1 45
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 X 1 X 2 X 3 1 Digitale elektronica X 3 1 X 3 0 01 46 0 1 0
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( ) + X 1 X 2 X 3 1 Digitale elektronica 0 0 1 47
Boolese functies Boolese decisiediagrammen + X 1 X 1 X 2 X 3 1 0 1 + X 2 0 + X 3 1 X 3 0 1 X 2 0 + 1 0 Digitale elektronica 0 1 0 48 X 3 1 X 3 0 1 0
Boolese functies Boolese decisiediagrammen: functiecompositie Digitale elektronica 49
Boolese functies Boolese decisiediagrammen: functiecompositie ITE X 1 X X 11 X 1 ITE X 2 X 3 ITE X 2 X 2 0 X 2 1 0 X 3 1 0 1 1 0 0 1 Digitale elektronica 100 1 1 0 50 0
Fontslide • Digitale elektronica 51