Inhoud 1 De ontwerpruimte en haar terminologie De

  • Slides: 51
Download presentation
Inhoud (1) De ontwerpruimte en haar terminologie – De ontwerpruimte – Het ontwerptraject Boole-algebra

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 definitie Digitale elektronica 2

Boole-algebra voorbeeld 1 Digitale elektronica 3

Boole-algebra voorbeeld 1 Digitale elektronica 3

Boole-algebra voorbeeld 2 Digitale elektronica 4

Boole-algebra voorbeeld 2 Digitale elektronica 4

Boole-algebra voorbeeld 3 Digitale elektronica 5

Boole-algebra voorbeeld 3 Digitale elektronica 5

Boole-algebra isomorfisme Digitale elektronica 6

Boole-algebra isomorfisme Digitale elektronica 6

Boole-algebra basiseigenschappen Digitale elektronica 7

Boole-algebra basiseigenschappen Digitale elektronica 7

Boole-algebra alternatieve definitie Digitale elektronica 8

Boole-algebra alternatieve definitie Digitale elektronica 8

Boole-algebra alternatieve definitie Digitale elektronica 9

Boole-algebra alternatieve definitie Digitale elektronica 9

Boole-algebra alternatieve definitie: gevolg Elke Boole-algebra heeft een natuurlijke partiële ordening: Digitale elektronica 10

Boole-algebra alternatieve definitie: gevolg Elke Boole-algebra heeft een natuurlijke partiële ordening: Digitale elektronica 10

Boolese functies Digitale elektronica 11

Boolese functies Digitale elektronica 11

Boolese functies representaties (1) Boolese functies zijn eindige objecten Zij kunnen allemaal gerepresenteerd worden

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

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

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

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

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

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

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

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

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:

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

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

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 basisfuncties: mintermfuncties Representatiestelling: Digitale elektronica 24

Boolese functies mintermfuncties: voorbeeld Digitale elektronica 25

Boolese functies mintermfuncties: voorbeeld Digitale elektronica 25

Boolese functies mintermfuncties: eigenschappen Representatie compacter en eenvoudiger voor sommige functies dan voor andere.

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,

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 Digitale elektronica 28

Boolese functies Hadamard-matrix Matrix is niet-singulier en symmetrisch Rijen zijn paarsgewijs orthogonaal Rijen kunnen

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

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 Kies andere basisfuncties en combinatie-operatoren Digitale elektronica 31

Boolese functies Reed-Muller-representaties Representatiestelling: Digitale elektronica 32

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

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

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

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

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 krijgen betekenis door interpretatieregels: Digitale elektronica 37

Boolese functies Tekstuele representaties: Boolese vormen Er zijn oneindig veel elementen in Vn Valuatie

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):

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

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

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

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

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

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

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

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 •

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

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 Digitale elektronica 49

Boolese functies Boolese decisiediagrammen: functiecompositie ITE X 1 X X 11 X 1 ITE

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

Fontslide • Digitale elektronica 51