1 / 28

Kombinatoorsete süsteemide disain

Kombinatoorsete süsteemide disain. L8. Loogikafunktsioonide täpne minimeerimine L9. Loogikafunktsioonide heuristiline minimeerimine L10. Mitmevalentne loogika. Mitmevalentne loogika. MVL (Multiple-Valued Logic) Post'i algebra Boole’i algebra üldistus

winda
Download Presentation

Kombinatoorsete süsteemide disain

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Kombinatoorsete süsteemide disain • L8. Loogikafunktsioonide täpne minimeerimine • L9. Loogikafunktsioonide heuristiline minimeerimine • L10. Mitmevalentne loogika I207 - Digitaalloogika ja -süsteemid - L10

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

  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 I207 - Digitaalloogika ja -süsteemid - L10

  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} x12 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()     I207 - Digitaalloogika ja -süsteemid - L10

  5. Mitmevalentne loogika x1 0 0 0 1 1 1 2 2 2 x2 0 1 2 0 1 2 0 1 2 f 0 0 2 0 0 0 0 1 2 x1 x2 0 1 2 0 0 1 0 1 0 0 1 2 2 0 2 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} “ · ” - MIN “+” - MAX x{i} - x’i literal I207 - Digitaalloogika ja -süsteemid - L10

  6. 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 I207 - Digitaalloogika ja -süsteemid - L10

  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 I207 - Digitaalloogika ja -süsteemid - L10

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

  9. Minimeerimine abc e o 000 100 1 abc xyz 010 100 1 000 111 011 100 1 001 011 111 100 1 010 101 000 010 1 011 110 001 010 1 100 000 011 010 1 101 010 101 010 1 110 000 000 001 1 111 101 001 001 1 010 001 1 111 001 1 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 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 I207 - Digitaalloogika ja -süsteemid - L10

  10. Minimeerimine 3. 7. abc e o a0b1c1e0 + a0b1c1e1 = a0b1c1e{0,1} 000 100 1 1 010 100 1 2 1. 2. 9. 11. 011 100 1 3 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} 111 100 1 4 5. 9. 6. 10. a0b0c0e1 + a0b0c0e2 + a0b0c1e1 + a0b0c1e2 = … … = a0b0c0e{1,2} + a0b0c1e{1,2} = a0b0c{0,1}e{1,2} = a0b0e{1,2} 000 010 1 5 001 010 1 6 011 010 1 7 101 010 1 8 000 001 1 9 001 001 1 10 010 001 1 11 111 001 1 12 I207 - Digitaalloogika ja -süsteemid - L10

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

  12. Implikantkatte leidmine abc e A B D E G 011 100 x x x 011 010 x x abc e A B C D E F G H I 000 100 x x 000 010 x x 000 001 x x x 010 100 x x 001 010 x x x 001 001 x 010 001 x 011 100 x x x 011 010 x x 101 010 x 111 100 x x 111 001 x c b 1 0 1 1 a 0 0 1 0 x 1 1 1 0 0 1 0 0 y 1 1 0 1 0 0 1 0 z abc e 01- 100 A 0-1 010 B -01 010 C 011 110 D -11 100 E 111 101 F 000 111 G 0-0 101 H 00- 011 I 00- 011 I 0-0 101 H -01 010 C 111 101 F 011 110 D I207 - Digitaalloogika ja -süsteemid - L10

  13. Minimeerimine – MVL tulemus abc e o 011 110 1 111 101 1 0-0 101 1 00- 011 1 -01 010 1 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 o(a,b,c,e)=a0b1c1e{0,1}+a1b1c1e{0,2}+ +a0c0e{0,2}+a0b0e{1,2}+b0c1e1 I207 - Digitaalloogika ja -süsteemid - L10

  14. Minimeerimine – tulemus c b 1 abc 0 1 e 1 o abc xyz 011 110 1 a 0 0 1 0 011 110 111 101 1 x 111 101 0-0 101 1 0-0 101 1 1 1 0 00- 011 1 00- 011 0 1 0 0 -01 010 1 -01 010 y 1 1 0 1 0 0 1 0 z o(a,b,c,e)=a0b1c1e{0,1}+a1b1c1e{0,2}+ +a0c0e{0,2}+a0b0e{1,2}+b0c1e1 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’ I207 - Digitaalloogika ja -süsteemid - L10

  15. Minimeerimine – Näide #2 (1,1,1)  (1,1,1) abc xy abc xy 000 10  (0,0,0)  00- 10 001 11  c b -01 11 010 00 1-1 10 011 00  1 1 0 0 11- 10 100 00 a 0 1 1 1 101 11 x (0,0,0) 110 10 0 1 0 0 111 10 0 1 0 0 y I207 - Digitaalloogika ja -süsteemid - L10

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

  17. Tulemus – Näide #2 (1,1,1) (1,1,1)      abc xy 000 10 (0,0,0) (0,0,0) 001 11 c b 010 00 011 00 c b 1 1 0 0 100 00 a 0 1 1 1 1 1 0 0 101 11 abc xy x x 110 10 0 1 1 1 00- 10 a 0 1 0 0 111 10 -01 11 0 1 0 0 y 11- 10 0 1 0 0 0 1 0 0 y I207 - Digitaalloogika ja -süsteemid - L10

  18. 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. http://tams-www.informatik.uni-hamburg.de/applets/kvd/kvd.html I207 - Digitaalloogika ja -süsteemid - L10

  19. 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 I207 - Digitaalloogika ja -süsteemid - L10

  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 I207 - Digitaalloogika ja -süsteemid - L10

  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 a b b c c d d x 00 illegaalne 1-0- = ac’ 1-0- = ac’ 01.11.10.11 01.11.10.11 0 10 “0” 1 01 “1” 0.1.1.1 1-0- = ac’ - 11 määramatus 1.1.0.1 and (or) legaalne? sõnade ‘&’ sõnade ‘|’ ei tohi olla ‘00’ I207 - Digitaalloogika ja -süsteemid - L10

  22. espresso - andmeesitus AND - ühisosa OR - ühend c b 0 0 1 0 a 0 1 1 1 01 01 11 = ab 11 01 01 = bc 01 11 01 = ac AND - (ab)(bc) = abc 01 01 01 = abc (a’c)(bc) = [10.11.01]&[11.01.01] = = [10.01.01] = a’bc (a’c)(ab) = [10.11.01]&[01.01.11] = = [00.01.01] = xxx OR - 11 01 11 = b I207 - Digitaalloogika ja -süsteemid - L10

  23. Jääkfunktsioon (kaasfaktor) Jääkfunktsiooni leidmine muutja või selle eitus ühisosa muutuja asendus ebaolulisega kaetuse kontroll c b 0 0 1 0 a 0 1 1 1 f = ab+bc+ac fa = b+c fa’ = bc 01 01 11 = ab 11 01 01 = bc 01 11 01 = ac 01 11 11 = a 10 11 11 = a’ -------------- -------------- 01 01 11 = ab 00 01 11 = !! 01 01 01 = abc 10 01 01 = a’bc 01 11 01 = ac 00 11 01 = !! -------------- -------------- 11 01 11 = b 11 01 01 = bc 11 01 01 = bc 11 11 01 = c I207 - Digitaalloogika ja -süsteemid - L10

  24. 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’ 01 01 11 fa fa’ 01 11 01 11 01 11 11 11 11 01 10 10 11 11 01 10 11 11 11 10 10 fab11 11 11 fab’ 11 00 11 Tautoloogia --> 11 11 01 11 11 01 11 00 01 11 11 10 I207 - Digitaalloogika ja -süsteemid - L10

  25. Sisaldumine c b 0 0 0 1 a 0 1 1 1 • Implikant A sisaldub kattes F siis ja ainult siis, kui FA on tautoloogia f = ac+bc’ fab 01 01 11 01 11 01 = ac 01 01 01 = abc 11 01 10 = bc’ 01 01 10 = abc’ Kas “ab” on kaetud? 11 11 01 = c 11 11 10 = c’ I207 - Digitaalloogika ja -süsteemid - L10

  26. 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 c b 0 0 1 0 a 0 1 1 1 c b 1 1 0 1 a 1 0 0 0 01 01 11 = ab 11 01 01 = bc 01 11 01 = ac I207 - Digitaalloogika ja -süsteemid - L10

  27. 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’ 01 01 11 = ab 11 01 01 = bc 01 11 01 = ac fafa’ 11 01 11 11 01 01 11 11 01 fab fab’ 11 11 11 11 11 01 f’ab f’ab’ 00 00 00 11 11 10 b·f’ab b’·f’ab’ 00 00 00 11 10 10 f’a 11 10 10 I207 - Digitaalloogika ja -süsteemid - L10

  28. 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’ 11 01 01 11 10 11 11 11 10 a·f’aa’·f’a’ 01 10 10 10 10 11 10 11 10 f’ 01 10 10 10 10 11 10 11 10 c b 1 1 0 1 a 1 0 0 0 I207 - Digitaalloogika ja -süsteemid - L10

More Related