Upload
winda
View
54
Download
4
Embed Size (px)
DESCRIPTION
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 - PowerPoint PPT Presentation
Citation preview
1I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
Kombinatoorsete Kombinatoorsete süsteemide disainsüsteemide disain
L7. Loogikafunktsioonide täpne minimeerimine L8. Loogikafunktsioonide heuristiline minimeerimine L9. Mitmevalentne loogikaL9. Mitmevalentne loogika
2I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
Mitmevalentne loogikaMitmevalentne 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
3I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
Mitmevalentne loogikaMitmevalentne 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
4I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
Mitmevalentne loogikaMitmevalentne 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} x1
2 x3{0,2} x3
{0} + x3{2}
hulk-literaal – xi{S} = mi-1, kui xS
f()=x’fx’()+xfx() / f()=x0fx0()+x1fx1()+...+xm-1fxm-1()
5I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
Mitmevalentne loogikaMitmevalentne loogika
TõeväärtustabelNormaalkujudKarnaugh kaart
“ · ” - MIN“+” - MAXx{i} - x’i literal
x1
000111222
x2
012012012
f002000012
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}
0
1
x2 1
0
0
1
0
0
1
2
2 0 22
0x1
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}
6I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
MVL minimeerimineMVL 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
7I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
Funktsioonide süsteemFunktsioonide 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
8I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
MinimeerimineMinimeerimine
Näide
abc xyz000 111001 011010 101011 110100 000101 010110 000111 101
1
0a
c
0
0
1
1
1
0
b
1
0
x
1
1
1
0
0
0
1
0z
1
0
0
1
1
0
y
abc xyz0-0 101-11 10000- 0110-1 010-01 010111 001
9I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
MinimeerimineMinimeerimine
abc xyz000 111001 011010 101011 110100 000101 010110 000111 101
f: {0,1}x{0,1}x{0,1}x{0,1,2} -> {0,1}
x(a,b,c)=a’b’c’+a’bc’+a’bc+abcy(a,b,c)=a’b’c’+a’b’c+a’bc+ab’cz(a,b,c)=a’b’c’+a’b’c+a’bc’+abc
o(a,b,c,e)=a0b0c0e0+a0b1c0e0+a0b1c1e0+ +a1b1c1e0+a0b0c0e1+a0b0c1e1+ +a0b1c1e1+a1b0c1e1+a0b0c0e2+ +a0b0c1e2+a0b1c0e2+a1b1c1e2
abc e000 100010 100011 100111 100000 010001 010011 010101 010000 001001 001010 001111 001
o111111111111
10I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
MinimeerimineMinimeerimine
abc e000 100010 100011 100111 100000 010001 010011 010101 010000 001001 001010 001111 001
o111111111111
123456789101112
a0b1c1e0 + a0b1c1e1 = a0b1c1e{0,1}
3. 7.
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}
11I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
Lihtimplikantide leidmineLihtimplikantide leidmine
abc e000 100010 100011 100111 100000 010001 010011 010101 010000 001001 001010 001111 001
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
c b
10a
00
11
10
10
x
11
10
00
10
z
10
01
10
y
GHI
ABCDEF
12I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
Implikantkatte leidmineImplikantkatte leidmine
abc e A B C D E F G H I000 100 x x000 010 x x000 001 x x x010 100 x x001 010 x x x001 001 x010 001 x011 100 x x x011 010 x x101 010 x111 100 x x111 001 x
abc e01- 100 A0-1 010 B-01 010 C011 110 D-11 100 E111 101 F000 111 G0-0 101 H00- 011 I c b
10a
00
11
10
10
x
11
10
00
10
z
10
01
10
y
abc e A B D E G011 100 x x x011 010 x x
00- 011 I0-0 101 H-01 010 C111 101 F011 110 D
13I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
Minimeerimine – MVL tulemusMinimeerimine – MVL tulemus
Lihtimplikandid & liiasuseta
o(a,b,c,e)=a0b0c0e0+a0b1c0e0+a0b1c1e0+ +a1b1c1e0+a0b0c0e1+a0b0c1e1+ +a0b1c1e1+a1b0c1e1+a0b0c0e2+ +a0b0c1e2+a0b1c0e2+a1b1c1e2
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
abc e011 110111 1010-0 10100- 011-01 010
o11111
14I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
Minimeerimine – tulemusMinimeerimine – tulemus
o(a,b,c,e)=a0b1c1e{0,1}+a1b1c1e{0,2}++a0c0e{0,2}+a0b0e{1,2}+b0c1e1
abc e011 110111 1010-0 10100- 011-01 010
o11111
x(a,b,c)=a’bc+abc+a’c’y(a,b,c)=a’bc+a’b’+b’cz(a,b,c)=abc+a’c’+a’b’
1
0a
c
0
0
1
1
1
0
b
1
0
x
1
1
1
0
0
0
1
0z
1
0
0
1
1
0
y
abc xyz011 110111 1010-0 10100- 011-01 010
15I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
Minimeerimine – Näide #2Minimeerimine – Näide #2
abc xy000 10001 11010 00011 00100 00101 11110 10111 10
abc xy00- 10-01 111-1 1011- 10
(1,1,1)
(0,0,0)
(1,1,1)
(0,0,0)
c
1
0a
1
1
0
1
0
1
b
0
0
x
1
1
0
0
0
0y
16I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
Minimeerimine – Näide #2Minimeerimine – Näide #2
abc xy000 10001 11010 00011 00100 00101 11110 10111 10
ülesanne signatuur
abc e000 10001 10001 01101 10101 01110 10111 10
o1111111
gr. abc e 0 000 10 1 001 10 001 01 2 101 10 101 01 110 10 3 111 10
gr. abc e 0 00- 10 1 001 11 -01 10 -01 01 2 101 11 1-1 10 11- 10
gr. abc e 1 -01 11
abc e 000 10 x001 10 x x001 01 x101 10 x x101 01 x110 10 x111 10 x x
abc xy00- 10-01 1111- 10
17I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
Tulemus – Näide #2Tulemus – Näide #2
abc xy000 10001 11010 00011 00100 00101 11110 10111 10
(1,1,1)
(0,0,0)
(1,1,1)
(0,0,0)
c
1
0a
1
1
0
1
0
1
b
0
0
x
1
1
0
0
0
0y
abc xy00- 10-01 1111- 10
c
1
0a
1
1
0
1
0
1
b
0
0
x
1
1
0
0
0
0y
18I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
MVL & Karnaugh kaartMVL & 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
19I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
MVL muud rakendusedMVL 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
20I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
Funktsioonid ja andmeesitusFunktsioonid 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
21I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
espresso - andmeesitusespresso - 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
illegaalne“0”“1”
määramatus
x01-
00100111
a
01.11.10.11
b c d
1-0- = ac’
0.1.1.11.1.0.1
1-0- = ac’
a
01.11.10.11
b c d
1-0- = ac’
and
sõnade ‘&’
(or)
sõnade ‘|’
legaalne?
ei tohi olla ‘00’
22I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
espresso - andmeesitusespresso - andmeesitus
AND - ühisosa
OR - ühend
01 01 11 = ab11 01 01 = bc01 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
0
0a
c
0
1
1
1
0
1
b
23I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
Jääkfunktsioon (kaasJääkfunktsioon (kaasfaktorfaktor))
Jääkfunktsiooni leidmine muutja või selle eitus ühisosa muutuja asendus
ebaolulisega kaetuse kontroll
f = ab+bc+acfa = b+cfa’ = bc
01 01 11 = ab11 01 01 = bc01 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’bc01 11 01 = ac 00 11 01 = !!-------------- --------------11 01 11 = b 11 01 01 = bc11 01 01 = bc11 11 01 = c
0
0a
c
0
1
1
1
0
1
b
24I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
TautoloogiaTautoloogia
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 1101 10 10 11 11 0110 11 11 11 10 10
fab 11 11 11 fab’ 11 00 11Tautoloogia --> 11 11 01 11 11 01
11 00 01 11 11 10
25I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
SisaldumineSisaldumine
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 = abc11 01 10 = bc’ 01 01 10 = abc’
Kas “ab” on kaetud? 11 11 01 = c11 11 10 = c’
0
0a
c
0
1
0
1
1
1
b
26I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
InversioonInversioon
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
0
0a
c
0
1
1
1
0
1
b
1
1a
c
1
0
0
0
1
0
b01 01 11 = ab11 01 01 = bc01 11 01 = ac
27I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
InversioonInversioon
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 = ab11 01 01 = bc01 11 01 = ac
fa fa’
11 01 11 11 01 0111 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
28I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
InversioonInversioon
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’a a’·f’a’
01 10 10 10 10 11 10 11 10
f’ 01 10 1010 10 1110 11 10
1
1a
c
1
0
0
0
1
0
b