Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

INF1400 – Kap 02 Boolsk Algebra og Logiske Porter.

Liknende presentasjoner


Presentasjon om: "INF1400 – Kap 02 Boolsk Algebra og Logiske Porter."— Utskrift av presentasjonen:

1 INF1400 – Kap 02 Boolsk Algebra og Logiske Porter

2 Hovedpunkter Toverdi Boolsk algebra Huntington’s postulater Diverse teorem Boolske funksjoner med sannhetstabell Forenkling av uttrykk (port implementasjon) Maksterm / minterm Flerinputsporter Designprosedyre med eksempler Komplement av uttrykk

3 Algebra, definisjon Algebra - Studiet av algebraiske system Algebraisk system: Mengde av elementer Et sett av operasjoner på elementene (funksjoner) som tilfredsstiller en liste av aksiomer/postulater Aksiom/postulat – Regler som ikke skal bevises (utgangspunkt for algebraisk system) Eksempler på algebraiske system: ”Vanlig” algebra, Boolsk algebra, matrise algebra, osv...

4 Eksempler på postulater Det er mulig å trekke et rett linjestykke fra et punkt til et annet punkt Det er mulig å forlenge et linjestykke til en rett linje Det er mulig å slå en sirkel med et hvilket som helst punkt som senter med radius lik hvilket som helst linjestykke som starter i senteret Alle rette vinkler er like Hvis en rett linje skjærer to rette linjer slik at de indre vinklene på den ene siden tilsammen utgjør mindre enn to rette vinkler, da vil de to linjene møte hverandre. Det vil skje på den siden der de vinklene lå som tilsammen var mindre enn to rette vinkler Euklidsk geometri

5 Digitale system, anvendelser Eksempler: ALU-PC Signalprosessorer osv... Vanlig regning med tall: Beskrives av ”vanlig algebra” NB: ”vanlig algebra” inkluderer også binære tall, siden eneste forskjell er representasjonen Logiske operasjoner: Beskrives av Boolsk algebra Eksempler: Generering av binære utfall gitt ett sett med binære hendelser Oppbygging av aritmetiske funksjoner

6 Hvorfor trenger vi en Boolsk algebra? Forenkling av logiske uttrykk - Gir enklere fysisk implementasjon Muliggjør analyse av komplekse digitale system Muliggjør design av komplekse digitale system

7 ”Toverdi” Boolsk algebra Definisjon: Mengde: –{0,1} Husk: +/ har ingenting med addisjon og multiplikasjon å gjøre OR xyx+y xy x y AND 2 operasjoner på mengden over: –OR ”+” –AND ””

8 Huntington postulater / toverdi Boolsk algebra P3: x + y = y + xx y = y xkommutativ P1: Mengden {0,1} er lukket under ”+” og ””lukket P4: x(y+z) = xy + xzx+(yz) = (x+y)(x+z) distributiv P6: 0  1 minst 2 el. Presedens: først utføres ”()”, så ” ’ ”, så ”” og til slutt ”+” Dualitet for postulatene: kan bytte ”” med ”+” hvis man bytter ”0” med ”1” P2: x + 0 = xx 1 = xident. el. P5: x + x ´ = 1x x ´ = 0 ’komplem.

9 Teorem Teorem 1a:x + x = x x + x = x + 0 P5 x + x = x P2 Bevis:x + x = (x + x) 1 P2 P2: x + 0 = xx 1 = x x + x = (x + x)(x + x ´ ) P5 P5: x + x ´ = 1x x ´ = 0 x + x = x + (xx ´ ) P4 P4: x + (yz) = (x + y)(x + z)

10 Teorem Teorem 1b:xx = x xx = x1 P5 xx = x P2 Bevis:xx = xx + 0 P2 P2: x + 0 = xx 1 = x xx = xx + xx ´ P5 P5: x + x ´ = 1x x ´ = 0 xx = x(x + x ´ ) P4 P4: x(y + z) = xy + xz

11 Teorem Teorem 2a:x + 1 = 1 x + 1 = x + x ´ P2 x + 1 = 1 P5 x + 1 = (x + x ´ )(x + 1) P5 P5: x + x ´ = 1 x + 1 = x + x ´1 P4 P4: x+(yz) = (x+y)(x+z) P2: x 1 = x Bevis:x + 1 = 1(x + 1) P2 / P3 P3: x y = y x

12 Flere teorem Teorem 2b:x0 = 0 Dualitet for ligninger utledet fra postulat: kan bytte ”” med ”+” hvis man bytter ”0” med ”1” Bevis:x + 1 = 1 (teorem 2a), samt dualitet

13 Flere teorem Teorem 3 (x’)’ = x Teorem 4 – Assosiativt x + (y + z) = (x + y) + z x(yz) = (xy)z Teorem 6 – Absorpsjon x + xy = x x(x + y) = x

14 Et siste, men sentralt teorem DeMorgans teorem (mye brukt): (x y) ´ = x ´ + y ´ (x + y) ´ = x ´ y ´ På invertert form: x y = (x ´ + y ´)´ x + y = (x ´ y ´)´

15 Teorem/postulatliste x + 0 = xx1 = x x + y = y+xxy = yx x + x ´ = 1xx ´ = 0 x + (y+z) = (x+y) + zx (yz) = (xy)z x(y+z) = xy + xzx + (yz) = (x+y)(x+z) x + xy = xx(x+y) = x (x+y) ´ = x ´ y ´ (xy) ´ = x ´ + y ´ x + x = xxx = x x + 1 = 1x0 = 0 (x’)’ = x

16 Boolske funksjoner Tilordner en binær variabel en verdi bestemt av verdien på en eller flere andre binære variabler Eksempel: F 1 = x + y ’ z Direkte port-implementasjon: y´zy´z y´y´

17 Sannhetstabell En boolsk funksjon kan visualiseres i en sannhetstabell Eksempel: F = x + y ’ z En gitt funksjon har kun en sannhetstabell xyz F Men, en gitt sannhetstabell har uendelig mange funksjonsuttrykk Stikkord: forenkling av funksjonsuttrykk

18 Forenkling av uttrykk Eksempel: F 2 = x ’ y ’ z + x ’ yz + xy ’ Prosedyre: Forenkling F 2 = x ’ z + xy ’ F 2 = x ’ z 1 + xy ’ F 2 = x ’ z + xy ’ F 2 = x ’ z(y ’ + y) + xy ’

19 Port-implementasjon av F 2 x´y´zx´y´z x ´ yz xy ´ x´zx´z

20 Forenklingseksempler Eksempel: F = xx ’ +xy F = x(x ’ +y) F = 0+xy F = xy Eksempel: F = (x+x ’ )(x+y) F = x+x ’ y F = 1(x+y) F = x+y Eksempel: F = x + (yy ’ ) F = (x+y)(x+y ’ ) F = x + 0 F = x

21 Forenklingseksempler Eksempel: F = xy+x ’ z+yz(x+x ’ ) F = xy+x ’ z+yz F = xy+x ’ z+xyz+x ’ yz F = xy(1+z)+x ’ z(1+y) Eksempel: F = (x+y)(x ’ +z) F = (x+y)(x ’ +z)(y+z) F = xy+x ’ z Dualitet

22 Komplement av funksjon Inverterer begge sider, og bruker DeMorgan F = x ’ yz ’ +x ’ y ’ z Eksempel: F ’ = (x ’ yz ’ +x ’ y ’ z) ’ F ’ = (x ’ yz ’ ) ’ (x ’ y ’ z) ’ F ’ = (x+y ’ +z)(x+y+z ’ ) F = x(y ’ z ’ +yz) Eksempel: F ’ = (x(y ’ z ’ +yz)) ’ F ’ = x ’ +(y ’ z ’ +yz) ’ F ’ = x ’ +(y ’ z ’ ) ’ (yz) ’ F ’ = x ’ +(y+z)(y ’ +z ’ )

23 Minterm I en funksjon kan en binær variabel x opptre som x eller x ’ En funksjon kan være gitt på ”sum av produkt” form F = xy + xy ’ + x Eksempel: xy + xy ’ + x ’ y + x ’ y ’ For to variable fins det 4 forskjellige mintermer: xyz + xyz ’ + xy ’ z + xy ’ z ’+ x ’ yz + x ’ yz ’ + x ’ y ’ z + x ’ y ’ z ’ For 3 variable fins det 2 3 forskjellige mintermer: Hvert ”produktledd” som inneholder alle variablene kalles en minterm

24 Maksterm En funksjon kan være gitt på ”produkt av sum” form F = (x+y)(x+y ’ )y Eksempel: (x+y)(x+y ’ )(x ’ +y)(x ’ +y ’ ) For to variable fins det 4 forskjellige makstermer: For n variable fins det 2 n forskjellige makstermer: Hvert ”summeledd” som inneholder alle variablene kalles en maksterm

25 Sannhetstabell Hvis man genererer en funksjon ut i fra sannhetstabellen får man en sum av mintermer F = Eksempel minterm: xyz F x’y’zx’y’z xy ’ z ’ xyz ’ 0111 En sannhetstabell kan sees på som en liste av mintermer/makstermer F = (x + y + z)(x + y’ + z)(x + y’ + z’)(x’ + y + z)(x’ + y’ + z’) Eksempel maksterm:

26 Notasjon Mintermer / maxtermer har notasjon m x / M x Funksjoner som bare består av sum/produkt av min/maxtermer (kanonisk form) har følgende notasjon Eksempel: F(x,y,z) = S(m 3, m 6 ) = S(3, 6) = x ’ yz+xyz ’ F(x,y,z) =  (M 3, M 6 ) =  (3, 6) = (x+y ’ +z ’ )(x ’ +y ’ +z)

27 Sammenheng min/maksterm Komplementet til en funksjon uttrykt som en sum av mintermer er summen av mintermene som mangler i originalfunksjonen F(A,B,C) = S(1,4,5,6,7) F’(A,B,C) = S(0,2,3) For å konvertere en funksjon fra sum av mintermer til produkt av makstermer bruker man summene som mangler i originalfunksjonen som makstermer F(A,B,C) = S(1,4,5,6,7) F(A,B,C) =  (0,2,3)

28 Flerinputs-porter Flerinputs- implementasjon av AND / OR kan lages direkte ABC F AND xyz F OR

29 Flerinputs-porter Flerinputs- implementasjon av NAND / NOR kan ikke lages direkte ABC F NAND Mulig løsning F = (ABC) ´ xyz F NOR Mulig løsning F = (x+y+z) ´

30 Flerinputs-porter Flerinputs- implementasjon av XOR (oddefunksjon) kan lages direkte ABC F XOR F = x  y  z (1 XOR 1) XOR 1 = 0 XOR 1 = 1

31 Designeksempel 1 Styring av heis KVD M Kontroll logikk Kontroll logikk K V D M Inngangssignaler fra sensorer: K - Knapp trykket inn: 0/1 V - Overvekt: 0/1 D - Dør lukket: 0/1 Utgangssignal til aktuator: M - Motor på: 0/1 M = KV ’ D 0111

32 Designeksempel 1 Implementasjon av kontroll logikken M = KV ´ D V´V´

33 Designeksempel 1 Hva om man bare har 2-inputs NAND porter? M = KV ’ D M = K (VV) ’ D M = (VV) ’ (DK) M = ((VV) ’ (DK) ’’ ) ’’

34 Designeksempel 1 Hva om man bare har 2-inputs NAND/NOR porter? M = ((VV)’ (DK)’’)’’ M = ( (VV)’ (DK) )’’ DeMorgan: M = ( (VV) + (DK)’ )’ M = (V+(DK)’)’

35 Forenkling på portnivå Det er ikke alltid at det enkleste funksjonsuttrykket resulterer i den enkleste port-implementasjonen Ved forenkling på portnivå må man vite hvilke porter man har til rådighet, og så justere funksjonsuttrykket mot dette. (håndverk)

36 Generell design prosedyre 1.Bestem hvilke signal som er innganger og utganger 2.Sett opp sannhetstabell for alle inngangskombinasjoner 3.Generer funksjonsuttrykket som sum av mintermer 4.Tilpass /forenkle funksjonsuttrykket mot aktuelle porter

37 Oppsummering Boolsk algebra - Huntington postulat - Diverse teoremer Boolske funksjoner Minterm / maksterm / sannhetstabell Port-implementasjoner Flerinputsporter Forenkling av uttrykk Komplementer / DeMorgan Designprosedyre


Laste ned ppt "INF1400 – Kap 02 Boolsk Algebra og Logiske Porter."

Liknende presentasjoner


Annonser fra Google