Kombinatoorsete ssteemide disain y L 7 Loogikafunktsioonide tpne
Kombinatoorsete süsteemide disain y L 7. Loogikafunktsioonide täpne minimeerimine y L 8. Loogikafunktsioonide heuristiline minimeerimine y L 9. Mitmevalentne loogika © Peeter Ellervee I 207 - Digitaalloogika ja -süsteemid - L 7 1
Esitusviisid z Tabelesitus y tõeväärtustabel (truth table) x funktsiooni kõikide mintermide loetelu y implkanttabel (implicant table) e. intervalltabel e. kate (cover) x funktsiooni defineerimiseks piisavate implikantide loetelu z Algebraline a b c x y z 0 0 1 1 0 1 0 1 1 0 0 0 0 1 1 1 0 1 0 0 1 1 1 0 0 1 a 1 0 0 0 b 1 0 0 - c 1 1 0 1 x 1 0 0 y 0 1 1 z 1 0 1 1 0 y x = abc+a’c’ / y = b’c+a’b’+a’c / z = abc+a’c’+a’b’ © Peeter Ellervee I 207 - Digitaalloogika ja -süsteemid - L 7 2
Normaalkujud z Disjunktiivne normaalkuju (DNK, DNF) y elementaarkonjunktsioonide (product term) disjunktsioon y z = abc+a’c’+a’b’ z Konjunktiivne normaalkuju (KNK, CNF) y elementaardisjunktsioonide (sum term) konjunktsioon y z = (a+b’+c’)(a’+b)(a’+c) [ z’ = a’bc+ab’+ac’ ] © Peeter Ellervee I 207 - Digitaalloogika ja -süsteemid - L 7 3
Normaalkujud z Täielik DNK (TDNK, CDNF) y z = a’b’c’+a’b’c+a’bc’+abc y z = 1 a, b, c(0, 1, 2, 7) x 1 -piirkond z Täielik KNK (TKNK, CCNF) a b c x y z 0 0 1 1 1 0 0 0 0 1 1 0 1 0 1 1 1 0 1 0 0 y z = (a+b’+c’)(a’+b+c’)(a’+b’+c) y z = 0 a, b, c(3, 4, 5, 6) x 0 -piirkond y z’ = a’bc+ab’c’+ab’c+abc’ © Peeter Ellervee I 207 - Digitaalloogika ja -süsteemid - L 7 4 1 1 1 0 0 1
Kate z Miinimumkate (minimum cover) y kate vähima implikantide arvuga (globaalne optimum) z Minimaalne kate (minimal cover) ehk liiasuseta kate (irredundant cover) y kate, mis ei sisaldu üheski teises kattes y ühtegi implikanti ei saa eemaldada (lokaalne optimum) z Lihtimplikant (prime implicant) y ei sisaldu üheski teises implikandis z Lihtkate (prime cover) – kate lihtimplikantidest z Oluline (essential) lihtimplikant y leidub minterm, mis on kaetud ainult selle lihtimplikandi poolt © Peeter Ellervee I 207 - Digitaalloogika ja -süsteemid - L 7 5
Kate a b c 0 1 1 0 0 1 (1, 1, 1) x y 1 1 - 1 1 0 1 0 0 c b a (0, 0, 0) (1, 1, 1) (1, 1, 1) (0, 0, 0) miinimumkate © Peeter Ellervee (0, 0, 0) minimaalne kate I 207 - Digitaalloogika ja -süsteemid - L 7 6
Minimeerimine z Põhi-idee – leida võimalikult väike arv implikante, et kõik mintermid oleksid kaetud z Täpsed meetodid y leiavad miinimumkatte y tihtipeale võimatu suurte funktsioonide korral x Quine-Mc. Cluskey meetod z Heuristilised meetodid y leiavad minimaalsed katted (miinimumkatte leidmine võimalik) x lai valik meetodeid - MINI, PRESTO, ESPRESSO © Peeter Ellervee I 207 - Digitaalloogika ja -süsteemid - L 7 7
Minimeerimine z Implikantide leidmine mintermidest y idempotentsus & neeldumis-seadused x s. t. x+x=x & xy+xy’=x või x·x=x & (x+y)(x+y’)=x y lisaks distributiivsus ja assotsiatiivsus-seadused x s. t. (x·y)+x·z=x·(y+z) & (x+y)+z=x+(y+z) või (x+y)·(x+z)=x+(y·z) & (x·y)·z=x·(y·z) y NB! Erinevus täpselt ühes järgus! y korratakse seni, kuni enam “kleepida” ei saa c z Näide – x = a’b’c’+a’bc’+abc y x = a’b’c’+a’bc’+abc = a’c’(b’+b)+abc = a’c’+abc © Peeter Ellervee I 207 - Digitaalloogika ja -süsteemid - L 7 a b 1 0 0 1 0 x 8
Minimeerimine y x = (a+b+c’)(a+b’+c’)(a’+b+c’)(a’+b’+c) = c [(a+c’)+(bb’)]·[(a’+b)+(cc’)]·(a’+b’+c) = (a+c’)(a’+b’+c) 1 0 0 a 0 0 1 y Pole minimaalne… b 1 0 x y x = (a+b+c’)(a+b’+c’)(a’+b+c’)(a’+b’+c) = (a+b+c’)(a+b’+c’)(a’+b+c)(a’+b’+c) = [(a+c’)+(bb’)]·[(a’+b)+(cc’)]·[(a’+c)+(bb’)] = c b (a+c’)(a’+b)(a’+c) a © Peeter Ellervee I 207 - Digitaalloogika ja -süsteemid - L 7 1 0 0 1 0 x 9
Minimeerimine y y = a’b’c’+a’b’c+a’bc+ab’c = a’b’(c’+c)+a’bc+ab’c = a’b’+a’bc+ab’c … ? ? ? y y = a’b’c’+a’b’c+a’bc+ab’c = a’b’c’+a’b’c+a’bc+a’b’c+ab’c = a’b’(c’+c)+a’c(b’+b)+b’c(a’+a) = a’b’+a’c+b’c y z = a’b’c’+a’b’c+a’bc’+abc = a’b’c’+a’b’c’+a’bc’+abc = a’b’(c’+c)+a’c’(b’+b)+abc = a’b’+a’c’+abc © Peeter Ellervee I 207 - Digitaalloogika ja -süsteemid - L 7 c a b 1 1 1 0 0 c a y b 1 1 0 0 1 0 z 10
Täpne minimeerimine z Quine’i teoreem – miinimumkate on lihtkate y miinimumkatte otsimisel võib piirduda lihtimplikantidega z Quine-Mc. Cluskey meetod y leia (kõik) lihtimplikandid x implikante omavahel kombineerides y leia miinimumkate © Peeter Ellervee I 207 - Digitaalloogika ja -süsteemid - L 7 11
Täpne minimeerimine z Leitakse kõikvõimalikud lihtimplikandid y kuni 2 n mintermi x neid saab rühmitada y kuni 3 n/n lihtimplikanti x osadel funktsioonidel oluliselt vähem z Lihtimplikantide tabel y read - mintermid (1 -piirkond) y veerud lihtimplikandid y kiirendamisvõtted x olulised lihtimplikandid peavad kuuluma kattesse x sõltumatud rühmad võib lahendada eraldi © Peeter Ellervee I 207 - Digitaalloogika ja -süsteemid - L 7 12
Täpne minimeerimine z Kõik lihtimplikandid y y = ‘ 1’abcd (0, 2, 5, 8, 10, 14), ‘-’abcd (12, 13, 15) y kõik mintermid y grupeerimine 1 -de arvu järgi y esitus intervallidena või esitus 10 -koodidena z Kleepimine 0 1 2 3 4 a 0 0 1 1 1 b 0 0 0 1 1 1 1 c 0 1 0 0 1 1 d 0 0 0 1 0 1 0 0 1 2 8 2 5 10 12 3 13 14 4 15 y ainult naabergrupid y erinevus ainult ühes järgus või erinevus 2 -astme võrra © Peeter Ellervee I 207 - Digitaalloogika ja -süsteemid - L 7 13
Täpne minimeerimine 0 1 2 3 4 a 0 0 1 1 1 b 0 0 0 1 1 1 1 c 0 1 0 0 1 1 © Peeter Ellervee d 0 0 0 1 0 1 2 3 a 0 1 1 1 1 b 0 0 1 1 1 c 0 1 0 1 d 0 0 0 1 - d c 1 0 0 1 b 0 1 0 0 - - - 1 a 1 0 0 1 I 207 - Digitaalloogika ja -süsteemid - L 7 14
Täpne minimeerimine 0 1 2 3 a 0 1 1 1 1 b 0 0 1 1 1 c 0 1 0 1 © Peeter Ellervee d 0 0 0 1 - a 0 1 1 2 1 b 0 1 c - d 0 0 - d c 1 0 0 1 bc’d A b’d’ B ad’ C ab D b 0 1 0 0 - - - 1 a 1 0 0 1 I 207 - Digitaalloogika ja -süsteemid - L 7 15
Täpne minimeerimine 0 0 1 2 8 2 5 10 12 3 13 14 4 15 © Peeter Ellervee 0 0 0 1 2 8 8 2 5 10 12 12 3 13 14 (2) (8) (2) (4) (8) (4) (1) (2) (1) d c 1 0 0 1 b 0 1 0 0 - - - 1 a 1 0 0 1 I 207 - Digitaalloogika ja -süsteemid - L 7 16
Täpne minimeerimine 0 0 0 1 2 8 8 2 5 10 12 12 3 13 14 (2) (8) (2) (4) (8) (4) (1) (2) (1) © Peeter Ellervee d 0 0 (2, 8) 1 8 (2, 4) 2 12 (1, 2) c 1 0 0 1 bc’d A b’d’ B ad’ C ab D b 0 1 0 0 - - - 1 a 1 0 0 1 I 207 - Digitaalloogika ja -süsteemid - L 7 17
Täpne minimeerimine z Lihtimplikantide kate y y = ‘ 1’abcd (0, 2, 5, 8, 10, 14), ‘-’abcd (12, 13, 15) A B C D bc’d [ 5 (8) ] A b’d’ [ 0 (2, 8) ] B ad’ [ 8 (2, 4) ] C ab [ 12 (1, 2) ] D © Peeter Ellervee 0 2 5 8 10 14 I 207 - Digitaalloogika ja -süsteemid - L 7 + + + + + 18
Täpne minimeerimine z Lihtimplikantide kate y olulised lihtimplikandid d A B C D 0 2 5 8 10 14 + + bc’d + + + ad’ b’d’ + ab c 1 0 0 1 b 0 1 0 0 - - - 1 a 1 0 0 1 y = bc’d+b’d’+ab © Peeter Ellervee I 207 - Digitaalloogika ja -süsteemid - L 7 19
Näide #2 z x = a’b’c’+a’bc’+abc y x = ‘ 1’a, b, c(0, 2, 7) y x = ‘ 0’a, b, c(1, 3, 4, 5, 6) z y = a’b’c’+a’b’c+a’bc+ab’c y y = ‘ 1’a, b, c(0, 1, 3, 5) y y = ‘ 0’a, b, c(2, 4, 6, 7) z z = a’b’c’+a’b’c+a’bc’+abc a b c x y z 0 0 1 1 1 0 0 0 0 1 1 0 1 0 1 1 1 0 1 0 0 1 1 1 0 0 1 y z = ‘ 1’a, b, c(0, 1, 2, 7) y z = ‘ 0’a, b, c(3, 4, 5, 6) © Peeter Ellervee I 207 - Digitaalloogika ja -süsteemid - L 7 20
Näide #2: x - implikandid [ühed] z x = a’b’c’+a’bc’+abc 0 0 1 0 3 1 1 1 A y x = ‘ 1’a, b, c(0, 2, 7) y x = ‘ 0’a, b, c(1, 3, 4, 5, 6) 0 0 - 0 B a b c x 0 0 1 1 0 1 0 1 1 0 0 0 0 1 © Peeter Ellervee [nullid] c a b 1 0 0 1 0 x 1 0 1 2 0 1 1 I 207 - Digitaalloogika ja -süsteemid - L 7 0 0 1 1 0 0 - 1 1 0 C D E F 21
Näide #2: x - kate z x = a’b’c’+a’bc’+abc A 1 1 1 B 0 - 0 y x = ‘ 1’a, b, c(0, 2, 7) y x = ‘ 0’a, b, c(1, 3, 4, 5, 6) a b c x 0 0 1 1 0 1 0 1 1 0 0 0 0 1 © Peeter Ellervee AB [ühed] [nullid] c a C D E F b 1 0 0 1 1 0 0 - 1 1 0 + 2 7 + 1 3 4 5 6 CDEF + + + + x z x = abc+a’c’ z x = (a+c’)(b+c’)(a’+c) I 207 - Digitaalloogika ja -süsteemid - L 7 22
Näide #2: y - implikandid z y = a’b’c’+a’b’c+a’bc+ab’c y y = ‘ 1’a, b, c(0, 1, 3, 5) y y = ‘ 0’a, b, c(2, 4, 6, 7) 0 0 1 1 0 1 0 1 1 1 0 1 0 0 © Peeter Ellervee 0 0 1 2 0 1 1 1 0 0 0 1 0 - 1 - 0 1 A B C Kõik implikandid on olulised [nullid] a b c y 0 0 1 1 [ühed] c a 1 0 1 2 1 3 1 b 1 1 1 0 0 y 1 0 1 1 0 0 0 1 1 - 1 0 1 - 0 2 1 1 - Kõik implikandid on olulised z y = a’b’+a’c+b’c z y = (b’+c)(a’+b’) I 207 - Digitaalloogika ja -süsteemid - L 7 D E F 23
Näide #2: z - implikandid z z = a’b’c’+a’b’c+a’bc’+abc y z = ‘ 1’a, b, c(0, 1, 2, 7) y z = ‘ 0’a, b, c(3, 4, 5, 6) 0 0 1 1 0 1 0 1 1 1 1 0 0 1 © Peeter Ellervee 0 0 0 1 3 1 1 0 1 A 0 0 - 0 B C Kõik implikandid on olulised [nullid] a b c z 0 0 1 1 [ühed] c a 1 1 0 2 0 1 1 b 1 1 0 0 1 0 z 0 1 D 1 0 1 - 0 E F Kõik implikandid on olulised z z = abc+a’b’+a’c’ z z = (a+b’+c’)(a’+b)(a’+c) I 207 - Digitaalloogika ja -süsteemid - L 7 24
- Slides: 24