Presentation is loading. Please wait.

Presentation is loading. Please wait.

Kombinatoorsete süsteemide disain

Similar presentations


Presentation on theme: "Kombinatoorsete süsteemide disain"— Presentation transcript:

1 Kombinatoorsete süsteemide disain
L7. Loogikafunktsioonide täpne minimeerimine L8. Loogikafunktsioonide heuristiline minimeerimine L9. Mitmevalentne loogika © Peeter Ellervee I207 - Digitaalloogika ja -süsteemid - L9

2 Mitmevalentne loogika
MVL (Multiple-Valued Logic) Post'i algebra Boole’i algebra üldistus Kasutatakse matemaatilise baasina MVL loogikalülide projekteerimisel Post, a. - esimene mitmeväärtuseline (mitmevalentne) loogika © Peeter Ellervee I207 - Digitaalloogika ja -süsteemid - L9

3 Mitmevalentne loogika
Võrdlus kahendloogikaga Kahendloogika –  (B,*,+,~), B={0,1} täielikult määratud funktsioonid -  f : Bn  B   ja f : Bn  Bm mittetäielikult määratud funktsioonid - f : Bn  {0,1,-}m    ( ka  f:Bn{0,1,*}m ) AND, OR, NOT – loogikafunktsioonide täielik süsteem MV-loogika –   ({Pi},MIN,MAX,literal), Pi={0,1,...,mi-1} mittetäielikult määratud funktsioonid - f : P1xP2x...xPn  Pm või ka  f : P1xP2x...xPn  {0,1,-}m   MIN, MAX, literal - MVL-funktsioonide täielik süsteem © Peeter Ellervee I207 - Digitaalloogika ja -süsteemid - L9

4 Mitmevalentne loogika
MIN(x, y) – minimaalne x ja y väärtus [·] AND kahendloogikas MAX(x, y) – maksimaalne x ja y väärtus [+] OR kahendloogikas literaal (literal) – unaarne operatioon – xi{ci} = mi-1, kui xi=ci, muidu 0 kahend - xi{0} == x’i xi{1} == xi xi{0,1} == -   (don’t-care) MVL -    x1{2}  x x3{0,2}  x3{0} + x3{2} hulk-literaal – xi{S} = mi-1, kui xS f()=x’fx’()+xfx()      /      f()=x0fx0()+x1fx1()+...+xm-1fxm-1()     © Peeter Ellervee I207 - Digitaalloogika ja -süsteemid - L9

5 Mitmevalentne loogika
x1 1 2 x2 f Tõeväärtustabel Normaalkujud Karnaugh kaart 0·x1{0}·x2{0} 0·x1{0}·x2{1} 2·x1{0}·x2{2} 0·x1{1}·x2{0} 0·x1{1}·x2{1} 0·x1{1}·x2{2} 0·x1{2}·x2{0} 1·x1{2}·x2{1} 2·x1{2}·x2{2} f(x1,x2) = 1·x1{2}·x2{1}+2·x1{0}·x2{2}+ 2·x1{2}·x2{2} f(x1,x2) = 1·x1{2}·x2{1}+2·x1{0,2}·x2{2} 1 x2 2 x1 “ · ” - MIN “+” - MAX x{i} - x’i literal © Peeter Ellervee I207 - Digitaalloogika ja -süsteemid - L9

6 I207 - Digitaalloogika ja -süsteemid - L9
MVL minimeerimine Kahendfunktsioonide süsteem (mitu väljundit) – väljundeid vaadeldakse kui ühte täiendavat MV sisendit Ei midagi uut! Antud funktsiooni F ühtede (f) ja määramata (d) ( nullide (r) ) piirkondade kate Leida minimaalne korrutiste-summa kuju funktsioonile F Genereerida f+d lihtimplikandid Luua implikantide tabel Lahendada katte probleem Algoritmid erinevad ainult pisiasjades © Peeter Ellervee I207 - Digitaalloogika ja -süsteemid - L9

7 Funktsioonide süsteem
n-muutjaga ja k-väljundiga kahendfunktsioonide süsteem teisendatakse n+1-muutujaga ja 1-väljundiga funktsiooniks, üks sisendmuutujaist on MV: {0,1}n  {0,1}k    {0,1}n x {0, 1, ..., m-1}  {0,1} tavaliselt k=m Hong’i teoreem iga n-muutuja implikant pluss vastavad väljundid moodustavad ühe hüperkuubi (implikandi) n+1-ruumis väljundite arv määrab täiendava sisendi valentside arvu implikandi määratud väljundid moodustavad hulk-literaali täiendavas sisendis © Peeter Ellervee I207 - Digitaalloogika ja -süsteemid - L9

8 I207 - Digitaalloogika ja -süsteemid - L9
Minimeerimine Näide 1 a c b x z y abc xyz 000 111 001 011 010 101 110 100 abc xyz 0-0 101 -11 100 00- 011 0-1 010 -01 111 001 © Peeter Ellervee I207 - Digitaalloogika ja -süsteemid - L9

9 I207 - Digitaalloogika ja -süsteemid - L9
Minimeerimine x(a,b,c)=a’b’c’+a’bc’+a’bc+abc y(a,b,c)=a’b’c’+a’b’c+a’bc+ab’c z(a,b,c)=a’b’c’+a’b’c+a’bc’+abc abc xyz 000 111 001 011 010 101 110 100 abc e 000 100 010 011 111 001 101 o 1 f: {0,1}x{0,1}x{0,1}x{0,1,2} -> {0,1} o(a,b,c,e)=a0b0c0e0+a0b1c0e0+a0b1c1e0+ +a1b1c1e0+a0b0c0e1+a0b0c1e1+ +a0b1c1e1+a1b0c1e1+a0b0c0e2+ +a0b0c1e2+a0b1c0e2+a1b1c1e2 © Peeter Ellervee I207 - Digitaalloogika ja -süsteemid - L9

10 I207 - Digitaalloogika ja -süsteemid - L9
Minimeerimine a0b1c1e0 + a0b1c1e1 = a0b1c1e{0,1} 3. 7. abc e 000 100 010 011 111 001 101 o 1 2 3 4 5 6 7 8 9 10 11 12 1. 2. 9. 11. a0b0c0e0 + a0b1c0e0 + a0b0c0e2 + a0b1c0e2 = … … = a0b{0,1}c0e0 + a0b{0,1}c0e2 = a0b{0,1}c0e{0,2} = a0c0e{0,2} ja / või … = a0b0c0e{0,2} + a0b1c0e{0,2} = a0b{0,1}c0e{0,2} = a0c0e{0,2} 5. 9. 6. 10. a0b0c0e1 + a0b0c0e2 + a0b0c1e1 + a0b0c1e2 = … … = a0b0c0e{1,2} + a0b0c1e{1,2} = a0b0c{0,1}e{1,2} = a0b0e{1,2} © Peeter Ellervee I207 - Digitaalloogika ja -süsteemid - L9

11 Lihtimplikantide leidmine
abc e 000 100 010 011 111 001 101 mintermid gr. abc e 1. etapp gr. abc e 2. etapp gr. abc e G H I c b 1 a x z y A B C D E F © Peeter Ellervee I207 - Digitaalloogika ja -süsteemid - L9

12 Implikantkatte leidmine
abc e A B C D E F G H I abc e A B C D E F G H I x x x x x x x x x x x x x x x x x x x x x x x abc e A B D E G x x x x x c b 1 a x z y I H C F D © Peeter Ellervee I207 - Digitaalloogika ja -süsteemid - L9

13 Minimeerimine – MVL tulemus
o(a,b,c,e)=a0b0c0e0+a0b1c0e0+a0b1c1e0+ +a1b1c1e0+a0b0c0e1+a0b0c1e1+ +a0b1c1e1+a1b0c1e1+a0b0c0e2+ +a0b0c1e2+a0b1c0e2+a1b1c1e2 Lihtimplikandid & liiasuseta o(a,b,c,e)=a0b1c1e{0,1}+a1b1c1e{0,2}+ +a0b{0,1}c0e{0,2}+a0b0c{0,1}e{1,2}+ +a{0,1}b0c1e1 abc e 011 110 111 101 0-0 00- -01 010 o 1 o(a,b,c,e)=a0b1c1e{0,1}+a1b1c1e{0,2}+ +a0c0e{0,2}+a0b0e{1,2}+b0c1e1 © Peeter Ellervee I207 - Digitaalloogika ja -süsteemid - L9

14 Minimeerimine – tulemus
o(a,b,c,e)=a0b1c1e{0,1}+a1b1c1e{0,2}+ +a0c0e{0,2}+a0b0e{1,2}+b0c1e1 1 a c b x z y abc e 011 110 111 101 0-0 00- -01 010 o 1 abc xyz 011 110 111 101 0-0 00- -01 010 x(a,b,c)=a’bc+abc+a’c’ y(a,b,c)=a’bc+a’b’+b’c z(a,b,c)=abc+a’c’+a’b’ © Peeter Ellervee I207 - Digitaalloogika ja -süsteemid - L9

15 Minimeerimine – Näide #2
(1,1,1) (0,0,0) abc xy 000 10 001 11 010 00 011 100 101 110 111 abc xy 00- 10 -01 11 1-1 11- c 1 a b x y © Peeter Ellervee I207 - Digitaalloogika ja -süsteemid - L9

16 Minimeerimine – Näide #2
ülesanne signatuur abc e 000 10 001 01 101 110 111 o 1 gr. abc e 001 01 101 01 110 10 gr. abc e -01 10 -01 01 1-1 10 11- 10 gr. abc e abc xy 000 10 001 11 010 00 011 100 101 110 111 abc e     x x x x x x x x x x abc xy 00- 10 -01 11 11- © Peeter Ellervee I207 - Digitaalloogika ja -süsteemid - L9

17 I207 - Digitaalloogika ja -süsteemid - L9
Tulemus – Näide #2 (1,1,1) (0,0,0) abc xy 000 10 001 11 010 00 011 100 101 110 111 abc xy 00- 10 -01 11 11- c 1 a b x y c 1 a b x y © Peeter Ellervee I207 - Digitaalloogika ja -süsteemid - L9

18 I207 - Digitaalloogika ja -süsteemid - L9
MVL & Karnaugh kaart Jälle ei midagi (eriti) uut… Funktsioonidel tuleks leida võimalikult rohkem ühiseid kontuure Vihje – alustada võiks nn. hõredatest kohtades – ‘1’ ainult ühe funktsiooni väljundis (vrdl. olulised (liht)implikandid) Vt. © Peeter Ellervee I207 - Digitaalloogika ja -süsteemid - L9

19 I207 - Digitaalloogika ja -süsteemid - L9
MVL muud rakendused Efektiivsem kahendloogika probleemide lahendamine sisendite, väljundite ja olekute kodeerimine (optimeerimine) dekoodriga PLM – sisendite paar –> üks 4-valentne sisend testimine – kolmas väärtus kasutusel vea tähistamiseks aritmeetikaoperatsioonide kiirendmine (nt. kolmendaritmeetika) Tüüpiline VLSI mikroskeem ~70% pindalast ühendused, ~20% isolatsioon ja ainult ~10% transistorid MVL riistvara & süsteemid – rohkem kui kaks signaalinivood rohkem kui kaks diskreetset signaalinivood (pinge või vool) võimalik kasutada olemasolevaid tehnoloogiaid - CMOS jne. traadid kannavad rohkem informatsiooni – vähem traate väljaviigud kannavad rohkem informatsiooni – vähem väljaviike © Peeter Ellervee I207 - Digitaalloogika ja -süsteemid - L9

20 Funktsioonid ja andmeesitus
Funktsioon   f(x1,x2,...,xi,...,xn) f = ab + bc + ac Jääkfunktsioon (kaasfaktor, cofactor) fxi – f(x1,x2,...,1,...,xn)   &   fx’i – f(x1,x2,...,0,...,xn) fa = b + c   &   fa’ = bc Shannon’i arendus (Boole’s expansion) – f(x1,x2,...,xi,...,xn) = xi·fxi + x’i·fx’i f = ab + bc + ac = a fa + a’ fa’ = a (b+c) + a’ (bc) Boole’i diferentsiaal   -   f/xi = fxi  fx’i näitab, kas funktsioon sõltub muutujast xi f/a = fa  fa’ = (b+c)  bc = b’c + bc’ Konsensus (consensus)   -   Cxi = fxi  fx’i näitab, milline osa funktsioonist ei sõltu muutujast xi Ca = fa · fa’ = (b+c) · (bc) = bc © Peeter Ellervee I207 - Digitaalloogika ja -süsteemid - L9

21 espresso - andmeesitus
Maatriks- e. vektor-esitus Tavaliselt üks rida implikandi kohta Võimalikud erinevad kodeeringud Kahend- ja mitmevalentne loogika samadel põhimõtetel - üks positsioon ühe sümboli jaoks a b c d 1-0- = ac’ illegaalne “0” “1” määramatus x 1 - 00 10 01 11 1-0- = ac’ and (or) legaalne? a b c d 1-0- = ac’ sõnade ‘&’ sõnade ‘|’ ei tohi olla ‘00’ © Peeter Ellervee I207 - Digitaalloogika ja -süsteemid - L9

22 espresso - andmeesitus
AND - ühisosa OR - ühend = ab = bc = ac AND - (ab)(bc) = abc = abc (a’c)(bc) = [ ]&[ ] = = [ ] = a’bc (a’c)(ab) = [ ]&[ ] = = [ ] = xxx OR = b a c 1 b © Peeter Ellervee I207 - Digitaalloogika ja -süsteemid - L9

23 Jääkfunktsioon (kaasfaktor)
Jääkfunktsiooni leidmine muutja või selle eitus ühisosa muutuja asendus ebaolulisega kaetuse kontroll f = ab+bc+ac fa = b+c fa’ = bc = ab = bc = ac a c 1 b = a = a’ = ab = !! = abc = a’bc = ac = !! = b = bc = bc = c © Peeter Ellervee I207 - Digitaalloogika ja -süsteemid - L9

24 I207 - Digitaalloogika ja -süsteemid - L9
Tautoloogia Tautoloogia - funktsiooni väärtus on alati tõene Rekursiivne lahendamine laiendus mingi muutuja järgi funktsioon on tautoloogia kui kaasfaktorid on tautoloogiad Tautoloogia (lihtsustused) üks rida (implikant) koosneb ainult ühtedest (määramatustest) kate sõltub ainult ühest muutujast ja ei leidu 0-de veergu ei ole tautoloogia kui kattes leidub 0-de veerg f = ab+ac+ab’c’+a’ fa fa’ fab fab’ Tautoloogia --> © Peeter Ellervee I207 - Digitaalloogika ja -süsteemid - L9

25 I207 - Digitaalloogika ja -süsteemid - L9
Sisaldumine Implikant A sisaldub kattes F siis ja ainult siis, kui FA on tautoloogia f = ac+bc’ fab = ac = abc = bc’ = abc’ Kas “ab” on kaetud? = c = c’ a c 1 b © Peeter Ellervee I207 - Digitaalloogika ja -süsteemid - L9

26 I207 - Digitaalloogika ja -süsteemid - L9
Inversioon Inversioon – f’ = x · f’x=1 + x’ · f’ x=0 vali muutuja leia kaasfaktorid inverteeri kaasfaktorid Lihtsustusi kate on tühi - inversioon on universaalkuup (kõik ebaolulised) kattes on 1-de rida (tautoloogia) - inversioon on tühi kate koosneb ühest implikandist - De Morgan a c 1 b 1 a c b = ab = bc = ac © Peeter Ellervee I207 - Digitaalloogika ja -süsteemid - L9

27 I207 - Digitaalloogika ja -süsteemid - L9
Inversioon f’ = x  f’x + x’  f’x’ vali muutuja - a leia kaasfaktorid - fa, fa’ f’ = a f’a + a’ f’a’ fa = b + c      fa’ = bc inverteeri kaasfaktorid f’a = b f’ab + b’ f’ab’ fab = 1   =>   f’ab = 0 fab’ = c   =>   f’ab’ = c’    (De Morgan) f’a = b 0 + b’ c’ = b’ c’ = ab = bc = ac fa fa’ fab fab’ f’ab f’ab’ b·f’ab b’·f’ab’ f’a © Peeter Ellervee I207 - Digitaalloogika ja -süsteemid - L9

28 I207 - Digitaalloogika ja -süsteemid - L9
Inversioon inverteeri kaasfaktorid (järg) fa’ = b c f’a’ = (De Morgan) = b’ + c’ f’ = a f’a + a’ f’a’ f’ = a b’ c’ + a’ b’ + a’ c’ fa’ f’a’ a·f’a a’·f’a’ f’ 1 a c b © Peeter Ellervee I207 - Digitaalloogika ja -süsteemid - L9


Download ppt "Kombinatoorsete süsteemide disain"

Similar presentations


Ads by Google