Kombinatoorsete süsteemide disain
-
Upload
khangminh22 -
Category
Documents
-
view
5 -
download
0
Transcript of Kombinatoorsete süsteemide disain
1
1I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
Kombinatoorsete süsteemide disain
L7. Loogikafunktsioonide täpneminimeerimine
L8. Loogikafunktsioonide heuristilineminimeerimine
L9. Mitmevalentne loogika
2I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
Mitmevalentne loogika
MVL (Multiple-Valued Logic)
Post'i algebra Boole’i algebra üldistus
Kasutatakse matemaatilise baasina MVLloogikalülide projekteerimisel
Post, 1921. a. - esimene mitmeväärtuseline(mitmevalentne) loogika
2
3I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
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
4I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
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} 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()
3
5I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
Mitmevalentne loogika
TõeväärtustabelNormaalkujudKarnaugh kaart
“ · ” - MIN
“+” - MAX
x{i} - x’i literal
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
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 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
4
7I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
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-literaalitäiendavas sisendis
8I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
Minimeerimine
Näide
abc xyz
000 111
001 011
010 101
011 110
100 000
101 010
110 000
111 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 xyz
0-0 101
-11 100
00- 011
0-1 010
-01 010
111 001
5
9I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
Minimeerimine
abc xyz
000 111
001 011
010 101
011 110
100 000
101 010
110 000
111 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+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
o(a,b,c,e)=a0b0c0e0+a0b1c0e0+a0b1c1e0++a1b1c1e0+a0b0c0e1+a0b0c1e1++a0b1c1e1+a1b0c1e1+a0b0c0e2++a0b0c1e2+a0b1c0e2+a1b1c1e2
abc e
000 100
010 100
011 100
111 100
000 010
001 010
011 010
101 010
000 001
001 001
010 001
111 001
o
1
1
1
1
1
1
1
1
1
1
1
1
10I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
Minimeerimine
abc e
000 100
010 100
011 100
111 100
000 010
001 010
011 010
101 010
000 001
001 001
010 001
111 001
o
1
1
1
1
1
1
1
1
1
1
1
1
1
2
3
4
5
6
7
8
9
10
11
12
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}
6
11I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
Lihtimplikantide leidmine
abc e
000 100
010 100
011 100
111 100
000 010
001 010
011 010
101 010
000 001
001 001
010 001
111 001
mintermid
gr. abc e0 000 100
000 010000 001
1 010 100001 010001 001010 001
2 011 100011 010101 010
3 111 100111 001
1. etapp
gr. abc e0 000 110
000 101000 0110-0 10000- 01000- 0010-0 001
1 010 101001 01101- 1000-1 010-01 010
2 011 110-11 100
3 111 101
2. etapp
gr. abc e0 000 111
0-0 10100- 011
c b
1
0a
0
0
1
1
1
0
1
0
x
1
1
1
0
0
0
1
0z
1
0
0
1
1
0
y
GHI
ABCDEF
12I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
Implikantkatte 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
1
0a
0
0
1
1
1
0
1
0
x
1
1
1
0
0
0
1
0z
1
0
0
1
1
0
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
7
13I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
Minimeerimine – 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 e
011 110
111 101
0-0 101
00- 011
-01 010
o
1
1
1
1
1
14I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
Minimeerimine – tulemus
o(a,b,c,e)=a0b1c1e{0,1}+a1b1c1e{0,2}++a0c0e{0,2}+a0b0e{1,2}+b0c1e1
abc e
011 110
111 101
0-0 101
00- 011
-01 010
o
1
1
1
1
1
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’
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 xyz
011 110
111 101
0-0 101
00- 011
-01 010
8
15I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
Minimeerimine – Näide #2
abc xy
000 10
001 11
010 00
011 00
100 00
101 11
110 10
111 10
abc xy
00- 10
-01 11
1-1 10
11- 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 #2
abc xy
000 10
001 11
010 00
011 00
100 00
101 11
110 10
111 10
ülesanne signatuur
abc e
000 10
001 10
001 01
101 10
101 01
110 10
111 10
o
1
1
1
1
1
1
1
gr. abc e0 000 101 001 10
001 012 101 10
101 01110 10
3 111 10
gr. abc e0 00- 101 001 11
-01 10-01 01
2 101 111-1 1011- 10
gr. abc e1 -01 11
abc e 000 10 x001 10 x x001 01 x101 10 x x101 01 x110 10 x111 10 x x
abc xy
00- 10
-01 11
11- 10
9
17I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
Tulemus – Näide #2
abc xy
000 10
001 11
010 00
011 00
100 00
101 11
110 10
111 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 xy
00- 10
-01 11
11- 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 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
10
19I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
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
20I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
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
11
21I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
espresso - andmeesitus
Maatriks- e. vektor-esitus Tavaliselt üks rida implikandi kohta
Võimalikud erinevad kodeeringud
Kahend- ja mitmevalentne loogika samadelpõhimõtetel - üks positsioon ühe sümboli jaoks
illegaalne
“0”
“1”
määramatus
x
0
1
-
00
10
01
11
a
01.11.10.11
b c d
1-0- = ac’
0.1.1.1
1.1.0.11-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 - andmeesitus
AND -ühisosa
OR - ühend
01 01 11 = ab11 01 01 = bc01 11 01 = ac
AND - (ab)(bc) = abc01 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
12
23I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
Jääkfunktsioon (kaasfaktor)
Jääkfunktsiooni leidmine muutja või selle eitus
ühisosa
muutuja asendusebaolulisega
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
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 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
13
25I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
Sisaldumine
Implikant A sisaldub kattes F siis ja ainult siis,kui FA on tautoloogia
f = ac+bc’fab01 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
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
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
14
27I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
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 = 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’a11 10 10
28I207 - Digitaalloogika ja -süsteemid - L9© Peeter Ellervee
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’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