97
Priprave na vaje za predmet Osnove digitalnih vezij Miha Moˇ skon 2017 Univerza v Ljubljani Fakulteta za raˇ cunalniˇ stvo in informatiko

Priprave na vaje za predmet Osnove digitalnih vezijeprints.fri.uni-lj.si/4011/1/moskon2017.pdfuilnici in dodatni literaturi kot je [4] (v slovenskem jeziku) in [2] (v angleökem jeziku),

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

  • Priprave na vaje za predmet

    Osnove digitalnih vezij

    Miha Moškon

    2017

    Univerza v Ljubljani

    Fakulteta za računalnǐstvo in informatiko

  • Kataložni zapis o publikaciji (CIP) pripravili v Narodni in univerzitetni knjižniciv Ljubljani

    COBISS.SI-ID=292687616

    ISBN 978-961-6209-94-6 (pdf)

    Copyright

    c� 2017 Založba UL FRI. All rights reserved.

    Elektronska izdaja knjige je na voljo na URL:

    http://zalozba.fri.uni-lj.si/moskon2017.pdf

    Recenzenta: doc. dr. Mira Trebar, prof. dr. Nikolaj Zimic

    Založnik: Založba UL FRI, Ljubljana

    Izdajatelj: UL Fakulteta za računalnǐstvo in informatiko, Ljubljana

    1. izdaja, 2017

    Urednik: prof. dr. Franc Solina

    http://COBISS.SIhttp://cobiss6.izum.si/scripts/cobiss?command=DISPLAY&base=99999&rid=292687616&fmt=13&lani=si

  • Kazalo

    1 Priprava na 1. laboratorijske vaje 51.1 Boolova algebra in preklopne funkcije . . . . . . . . . . . . . . . . . 5

    1.1.1 Postulati Boolove algebre . . . . . . . . . . . . . . . . . . . 51.1.2 Lastnosti Boolove algebre . . . . . . . . . . . . . . . . . . . 6

    1.2 Podajanje preklopnih funkcij . . . . . . . . . . . . . . . . . . . . . . 71.3 Osnovne preklopne funkcije . . . . . . . . . . . . . . . . . . . . . . 7

    1.3.1 Disjunkcija . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.3.2 Konjunkcija . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.3.3 Negacija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.3.4 Peircov operator . . . . . . . . . . . . . . . . . . . . . . . . 91.3.5 She�erjev operator . . . . . . . . . . . . . . . . . . . . . . . 91.3.6 Ekskluzivni ali . . . . . . . . . . . . . . . . . . . . . . . . . 101.3.7 Ekvivalenca . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.3.8 Implikacija . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    1.4 Analiti�no reöevanje preklopnih funkcij . . . . . . . . . . . . . . . . 11

    2 Priprava na 2. laboratorijske vaje 132.1 Zapis preklopnih funkcij . . . . . . . . . . . . . . . . . . . . . . . . 132.2 Analiti�ni zapis in popolne normalne oblike zapisa preklopnih funkcij 13

    2.2.1 Popolna disjunktivna normalna oblika (PDNO) . . . . . . . 132.2.2 Popolna konjunktivna normalna oblika (PKNO) . . . . . . . 142.2.3 Relaciji med makstermi in mintermi . . . . . . . . . . . . . . 162.2.4 Pretvarjanje med PDNO in PKNO . . . . . . . . . . . . . . 17

    3 Priprava na 3. laboratorijske vaje 193.1 Zapis preklopnih funkcij z Veitchevim diagramom . . . . . . . . . . 193.2 Funkcijsko poln sistem . . . . . . . . . . . . . . . . . . . . . . . . . 20

    4 Priprava na 4. laboratorijske vaje 214.1 Zaprti razredi in preverjanje funkcijske polnosti sistema . . . . . . . 21

    5 Priprava na 5. laboratorijske vaje 275.1 Minimalne oblike zapisa preklopnih funkcij . . . . . . . . . . . . . . 27

    iii

  • iv Kazalo

    5.2 Veitchev postopek minimizacije . . . . . . . . . . . . . . . . . . . . 285.2.1 Dolo�anje minimalne normalne oblike z Veitchevim diagramom 30

    6 Priprava na 6. laboratorijske vaje 356.1 Simetri�ne preklopne funkcije . . . . . . . . . . . . . . . . . . . . . 356.2 Quineova metoda minimizacije . . . . . . . . . . . . . . . . . . . . . 36

    6.2.1 Dolo�anje MDNO . . . . . . . . . . . . . . . . . . . . . . . . 366.2.2 Dolo�anje MKNO . . . . . . . . . . . . . . . . . . . . . . . . 37

    7 Priprava na 7. laboratorijske vaje 397.1 Lo�enje preklopnih funkcij . . . . . . . . . . . . . . . . . . . . . . . 397.2 Multiplekser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407.3 Realizacija preklopnih funkcij z multiplekserji . . . . . . . . . . . . 41

    7.3.1 ätevilo vhodnih spremenljivk je enako ötevilu naslovnih vho-dov multiplekserja . . . . . . . . . . . . . . . . . . . . . . . 42

    7.3.2 ätevilo vhodnih spremenljivk je za 1 ve�je od ötevila naslovnihvhodov multiplekserja . . . . . . . . . . . . . . . . . . . . . 42

    7.3.3 ätevilo vhodnih spremenljivk je za ve� kot 1 ve�je od ötevilanaslovnih vhodov multiplekserja . . . . . . . . . . . . . . . . 44

    8 Priprava na 8. laboratorijske vaje 478.1 Sekven�na vezja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478.2 Sploöna pomnilna ena�ba . . . . . . . . . . . . . . . . . . . . . . . . 478.3 Enostavne pomnilne celice . . . . . . . . . . . . . . . . . . . . . . . 48

    8.3.1 RS pomnilna celica (Reset Set) . . . . . . . . . . . . . . . . 488.3.2 JK pomnilna celica (Jump Kill) . . . . . . . . . . . . . . . . 498.3.3 T pomnilna celica (Trigger) . . . . . . . . . . . . . . . . . . 508.3.4 D pomnilna celica (Delay) . . . . . . . . . . . . . . . . . . . 51

    8.4 Realizacija sekven�nih vezij s pomnilnimi celicami . . . . . . . . . . 51

    9 Priprava na 9. laboratorijske vaje 559.1 Moorov in Mealyjev kon�ni avtomat . . . . . . . . . . . . . . . . . . 559.2 Pretvorbe med avtomati . . . . . . . . . . . . . . . . . . . . . . . . 59

    10 Priprava na 10. laboratorijske vaje 6310.1 Realizacija kon�nih avtomatov s pomnilnimi celicami (Moorov avto-

    mat) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

    11 Priprava na 11. laboratorijske vaje 6911.1 Realizacija kon�nih avtomatov s pomnilnimi celicami (Mealyjev

    avtomat) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

    12 Dodatna vaja 73

  • Kazalo v

    12.1 Realizacija preprostega procesorja . . . . . . . . . . . . . . . . . . . 7312.2 Osnovno delovanje procesorja . . . . . . . . . . . . . . . . . . . . . 73

    12.2.1 Prevzem ukaza . . . . . . . . . . . . . . . . . . . . . . . . . 7312.2.2 Izvedba ukaza . . . . . . . . . . . . . . . . . . . . . . . . . . 74

    12.3 Osnovna arhitektura procesorja . . . . . . . . . . . . . . . . . . . . 7412.3.1 Sploöno namenski registri . . . . . . . . . . . . . . . . . . . 7412.3.2 Programski ötevec . . . . . . . . . . . . . . . . . . . . . . . . 7512.3.3 Ukazni register . . . . . . . . . . . . . . . . . . . . . . . . . 7512.3.4 Kontrolna enota . . . . . . . . . . . . . . . . . . . . . . . . . 7512.3.5 Aritmeti�no logi�na enota . . . . . . . . . . . . . . . . . . . 7712.3.6 Ukazni pomnilnik . . . . . . . . . . . . . . . . . . . . . . . . 7812.3.7 Podatkovni pomnilnik . . . . . . . . . . . . . . . . . . . . . 7812.3.8 Ostala kombinatorna logika . . . . . . . . . . . . . . . . . . 78

    12.4 Nabor ukazov . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7812.4.1 Load A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7912.4.2 Load B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7912.4.3 Store A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7912.4.4 Add . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7912.4.5 Sub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

    12.5 Razlaga uporabljenih gradnikov . . . . . . . . . . . . . . . . . . . . 7912.5.1 Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7912.5.2 Programski ötevec . . . . . . . . . . . . . . . . . . . . . . . . 8012.5.3 Seötevalnik . . . . . . . . . . . . . . . . . . . . . . . . . . . 8112.5.4 Odötevalnik . . . . . . . . . . . . . . . . . . . . . . . . . . . 8212.5.5 Read Only Memory (ROM) . . . . . . . . . . . . . . . . . . 8212.5.6 Random Access Memory (RAM) . . . . . . . . . . . . . . . 83

    12.6 Realizacija opisanega procesorja . . . . . . . . . . . . . . . . . . . . 8312.7 Zgled delovanja procesorja . . . . . . . . . . . . . . . . . . . . . . . 84

    A Slovensko-angleöki slovar osnovnih pojmov 87

    Literatura 91

  • Predgovor

    Pred vami je skripta priprav na laboratorijske vaje pri predmetu Osnove digitalnihvezij, ki se izvaja na 1. stopnji univerzitetnih ötudijskih programov Ra�unalniötvoin informatika in Ra�unalniötvo in matematika na Fakulteti za ra�unalniötvo ininformatiko Univerze v Ljubljani. Skripta sluûi obveznim pripravam, ki jih morajosluöatelji predmeta opraviti pred vsako laboratorijsko vajo. Vsaka priprava jesestavljena iz kratkega povzetka teoreti�nih osnov in enega ali ve� prakti�nihzgledov. Na podlagi tako pridobljenega znanja lahko ötudent pristopi k reöevanjukviza, katerega oddaja je obvezna za pristop k naslednji laboratorijski vaji. Upam,da bo skripta sluûila svojemu namenu in bo ötudentom omogo�ila laûje osvajanjeznanja s podro�ja osnov digitalnih vezij, ki ga v dolo�eni meri potrebuje vsakra�unalni�ar. Teoreti�ne osnove lahko ötudenti najdejo v prosojnicah na spletniu�ilnici in dodatni literaturi kot je [4] (v slovenskem jeziku) in [2] (v angleökemjeziku), dodatne vaje pa so na voljo v [1, 3].

    doc. dr. Miha Moökon, 2017

    1

  • Zahvala

    Najprej bi se zahvalil svojim predhodnikom, tj. asistentom pri predmetu Preklopnestrukture in sistemi, za zasnovo vaj, ki jih je evolucija ötudijskih programovpripeljala v stanje, v katerem so danes. Prav tako bi se rad zahvalil prof. dr.Nikolaju Zimicu, za sodelovanje pri prenovi vaj po bolonjski reformi. Zahvaljujemse asistentoma Primoûu Pe�arju in Domnu äoberlu, ki sta sodelovala pri nastajanjuosnutka skripte, ki jo imate pred seboj. Zahvaljujem se tudi asistentoma JuretuDemöarju in Mattiji Petroniju za dolo�ene popravke in dopolnitve tekom izvajanjavaj v ötudijskih letih 2014/2015 in 2015/2016. Rad bi se zahvalil vsem sodelavcemLaboratorija za ra�unalniöke strukture in sisteme, predvsem pa Miranu Koprivcu,za pomo� pri izvajanju vaj in iskanju ter popravljanju napak. Za slednje bi sezahvalil tudi obema recenzentoma, prof. dr. Nikolaju Zimicu in doc. dr. MiriTrebar. Nenazadnje se zahvaljujem vsem ötudentom za njihove kritike, pohvale inpredloge glede izvajanja vaj pri predmetu Osnove digitalnih vezij.

    3

  • 1 Priprava na 1. laboratorijske vaje

    1.1 Boolova algebra in preklopne funkcije

    Preklopne (tudi logi�ne) funkcije so funkcije nad preklopnimi (tudi logi�nimi)spremenljivkami (spremenljivke, ki lahko zavzamejo vrednosti iz mnoûice {0, 1}) innad katerimi temelji procesiranje podatkov z uporabo digitalnih vezij. Preklopnefunkcije (operatorji), elementi nad katerimi operirajo (operandi) in pravila pokaterih operirajo so definirani z Boolovo algebro.Boolovo algebro lahko definiramo kot troj�ek {X, O, P}, kjer je X mnoûica ele-mentov Boolove algebre (operandov), O mnoûica osnovnih funkcij (operatorjev),ki vsebuje disnjunkcijo (‚) in konjunkcijo (·), in P mnoûica postulatov oziromapravil, ki so opisana v nadaljevanju.

    1.1.1 Postulati Boolove algebre

    Zaprtost

    P1:x, y œ X; x ‚ y œ XP1

    ú:x, y œ X; x · y œ X

    Nevtralni element

    P2:x, 0 œ X; x ‚ 0 = xP2

    ú:x, 1 œ X; x · 1 = x

    Komutativnost

    P3:x, y œ X; x ‚ y = y ‚ xP3

    ú:x, y œ X; x · y = y · x

    5

  • 6 Poglavje 1 Priprava na 1. laboratorijske vaje

    Distributivnost

    P4:x, y, z œ X; x ‚ (y · z) = (x ‚ y) · (x ‚ z)P4

    ú:x, y, z œ X; x · (y ‚ z) = (x · y) ‚ (x · z)

    Inverzni element

    P5:’x œ X, ÷x œ X; x ‚ x = 1P5

    ú:’x œ X, ÷x œ X; x · x = 0

    ätevilo elementov

    P6:÷x, y œ X; x ”= y

    1.1.2 Lastnosti Boolove algebreIz postulatov izhajajo dolo�ene lastnosti, ki jih lahko uporabimo pri poenostavljanjulogi�nih izrazov. V nadaljevanju je naötetih nekaj bolj uporabnih lastnosti.

    Idempotenca

    x ‚ x ‚ · · · ‚ x = xx · x · · · · · x = x

    Absorpcija

    x ‚ x · y = xx · (x ‚ y) = x

    Asociativnost

    (x ‚ y) ‚ z = x ‚ (y ‚ z) = x ‚ y ‚ z(x · y) · z = x · (y · z) = x · y · z

    DeMorganovo pravilo

    (x1 ‚ x2 ‚ · · · ‚ xn) = x1 · x2 · · · · · xn(x1 · x2 · · · · · xn) = x1 ‚ x2 ‚ · · · ‚ xn

  • 1.2 Podajanje preklopnih funkcij 7

    1.2 Podajanje preklopnih funkcijVsako preklopno funkcijo lahko podamo na razli�ne na�ine, pri �emer so osnovnina�ini slede�i:

    • Logi�ni izraz funkcijo podaja analiti�no, tj. kot ena�bo, v kateri nastopajologi�ne spremenljivke (operandi), ki so med seboj povezane preko preklopnihfunkcij (operatorji).

    • Logi�na shema funkcijo podaja grafi�no, tj. s shemo njene realizacije. Vhodiv shemo opisujejo vhodne spremenljivke, izhodi iz sheme pa izhodne. V shemiuporabljamo logi�ne simbole, ki predstavljajo osnovne logi�ne operatorje(opozorilo: v razli�ni literaturi boste sre�ali razli�ne logi�ne simbole).

    • Pravilnostna tabela funkcijo podaja tabelari�no, tj. podaja vse moûne kombi-nacije vhodnih vektorjev in funkcijske vrednosti pri posamezni kombinaciji.Pri tem na levi strani tabele nastopajo vhodne (neodvisne) spremenljivke,ki dolo�ajo vhodni vektor, na desni pa izhodne (odvisne) spremenljivke. Po-ljubno preklopno funkcijo z n vhodnimi spremenljivkami lahko opiöemo spravilnostno tabelo, ki ima 2n vrstic.

    • Veitchevega diagrama zaenkrat öe ne bomo podrobneje obravnavali.

    1.3 Osnovne preklopne funkcijeBoolova algebra definira osnovna logi�na operatorja, tj. disjunkcijo (or) in ko-njunkcijo (and). Preko postulata Inverzni element vpeljemo öe negacijo (not).V nadaljevanju podajamo osnovne logi�ne operatorje, s katerimi lahko zapiöemopoljubno preklopno funkcijo in so realizirani tudi znotraj druûine logi�nih �ipov7400.

    1.3.1 Disjunkcija

    Disjunkcija (ALI, OR) vrne logi�no 1, ko je na logi�no 1 postavljena vsaj enaizmed njenih vhodnih spremenljivk. V logi�nem izrazu jo ozna�ujemo s simbolom‚. Slika 1.1 podaja logi�ni izraz (a), logi�ni simbol (b) in pravilnostno tabelo (c)za disjunkcijo z dvema vhodnima spremenljivkama.

    1.3.2 Konjunkcija

    Konjunkcija (IN, AND) vrne logi�no 1, ko so na logi�no 1 postavljene vse vhodnespremenljivke. V logi�nem izrazu jo ozna�ujemo s simbolom · ali ·, v�asih pasimbol celo izpustimo (podobno kot pri mnoûenju). Slika 1.2 podaja logi�ni izraz

  • 8 Poglavje 1 Priprava na 1. laboratorijske vaje

    y = x1 ‚ x2

    x1 x2 y0 0 00 1 11 0 11 1 1

    (a) (b) (c)Slika 1.1 Logi�ni izraz (a), logi�ni simbol (b) in pravilnostna tabela (c) za disjunkcijo zdvema vhodnima spremenljivkama.

    (a), logi�ni simbol (b) in pravilnostno tabelo (c) za konjunkcijo z dvema vhodnimaspremenljivkama.

    y = x1 · x2 = x1x2

    x1 x2 y0 0 00 1 01 0 01 1 1

    (a) (b) (c)Slika 1.2 Logi�ni izraz (a), logi�ni simbol (b) in pravilnostna tabela (c) za konjunkcijo zdvema vhodnima spremenljivkama.

    1.3.3 Negacija

    Negacija (NE, NOT) invertira vhodno logi�no spremenljivko. V logi�nem izrazu joozna�ujemo s �rto nad vhodno spremenljivko. Slika 1.3 podaja logi�ni izraz (a),logi�ni simbol (b) in pravilnostno tabelo (c) za negacijo.

    y = xx y0 11 0

    (a) (b) (c)Slika 1.3 Logi�ni izraz (a), logi�ni simbol (b) in pravilnostna tabela (c) za negacijo.

  • 1.3 Osnovne preklopne funkcije 9

    1.3.4 Peircov operator

    Peircov operator (NE ALI, NOR) predstavlja invertirano (negirano) disjunkcijo.Operator vrne logi�no 1, ko so na logi�no 0 postavljene vse vhodne spremenljivke.V logi�nem izrazu ga ozna�ujemo s simbolom ¿. Slika 1.4 podaja logi�ni izraz (a),logi�ni simbol (b) in pravilnostno tabelo (c) za Peircov operator z dvema vhodnimaspremenljivkama.

    y = x1 ¿ x2 = (x1 ‚ x2)

    x1 x2 y0 0 10 1 01 0 01 1 0

    (a) (b) (c)Slika 1.4 Logi�ni izraz (a), logi�ni simbol (b) in pravilnostna tabela (c) za Peircovoperator z dvema vhodnima spremenljivkama.

    Opozorilo: asociativnost za Peircov operator ne velja: x1 ¿ x2 ¿ x3 ”= (x1 ¿ x2) ¿x3 ”= x1 ¿ (x2 ¿ x3)!

    1.3.5 She�erjev operator

    She�erjev operator (NE IN, NAND) predstavlja invertirano (negirano) konjunkcijo.Operator vrne logi�no 0, ko so na logi�no 1 postavljene vse vhodne spremenljivke.V logi�nem izrazu ga ozna�ujemo s simbolom ø. Slika 1.4 podaja logi�ni izraz(a), logi�ni simbol (b) in pravilnostno tabelo (c) za She�erjev operator z dvemavhodnima spremenljivkama.

    y = x1 ø x2 = (x1x2)

    x1 x2 y0 0 10 1 11 0 11 1 0

    (a) (b) (c)Slika 1.5 Logi�ni izraz (a), logi�ni simbol (b) in pravilnostna tabela (c) za She�erjevoperator z dvema vhodnima spremenljivkama.

    Opozorilo: asociativnost za She�erjev operator ne velja: x1 ø x2 ø x3 ”= (x1 ø x2) øx3 ”= x1 ø (x2 ø x3)!

  • 10 Poglavje 1 Priprava na 1. laboratorijske vaje

    1.3.6 Ekskluzivni ali

    Ekskluzivni ali (XOR, tudi vsota po modulu 2) dveh vhodnih spremenljivk vrnelogi�no 1, ko logi�no vrednost 1 ekskluzivno zavzema ena vhodna spremenljivka.Pri ve� vhodnih spremenljivkah funkcija vrne logi�no 1, ko je na logi�no vrednost1 postavljenih liho ötevilo vhodnih spremenljivk, kar si lahko interpretiramo tudikot vsota po modulu 2 (opozorilo: v Logisimu XOR privzeto ne deluje na takna�in – pod lastnostmi XOR vrat moramo nastaviti polje Multiple-Input Behaviorna vrednost When an odd number are on). V logi�nem izrazu ekskluzivni ALIozna�ujemo s simbolom Ò ali ü. Slika 1.6 podaja logi�ni izraz (a), logi�ni simbol (b)in pravilnostno tabelo (c) za ekskluzivni ali z dvema vhodnima spremenljivkama.

    y = x1Òx2 = x1x2 ‚ x1x2

    x1 x2 y0 0 00 1 11 0 11 1 0

    (a) (b) (c)Slika 1.6 Logi�ni izraz (a), logi�ni simbol (b) in pravilnostna tabela (c) za ekskluzivniali z dvema vhodnima spremenljivkama.

    1.3.7 Ekvivalenca

    Ekvivalenca (XNOR) dveh vhodnih spremenljivk vrne logi�no 1, ko sta vhodaenaka in je tako enaka negiranemu ekskluzivnemu ali. Enakost pa ne velja za ve�vhodnih spremenljivk. V logi�nem izrazu ekvivalenco ozna�ujemo s simbolom ©.Slika 1.7 podaja logi�ni izraz (a), logi�ni simbol (b) in pravilnostno tabelo (c) zaekvivalenco z dvema vhodnima spremenljivkama.

    y = x1 © x2 = x1x2 ‚ x1x2

    x1 x2 y0 0 10 1 01 0 01 1 1

    (a) (b) (c)Slika 1.7 Logi�ni izraz (a), logi�ni simbol (b) in pravilnostna tabela (c) za ekvivalenco zdvema vhodnima spremenljivkama.

  • 1.4 Analiti�no reöevanje preklopnih funkcij 11

    1.3.8 Implikacija

    Implikacija (IMP) dveh vhodnih spremenljivk, tj. x1 æ x2 vrne logi�no 0 le vprimeru, da je operand na levi strani (tj. x1) enak 1, operator na desni strani (tj.x2) pa enak 0. Implikacija nima elektronske implementacije znotraj druûine 7400.Prav tako operator nima logi�nega simbola. Slika 1.8 podaja logi�ni izraz (a), inpravilnostno tabelo (b) za implikacijo.

    y = x1 æ x2 = x1 ‚ x2

    x1 x2 y0 0 10 1 11 0 01 1 1

    (a) (b)Slika 1.8 Logi�ni izraz (a) in pravilnostna tabela (b) za implikacijo.

    Opozorilo: komutativnost za implikacijo ali ne velja: x1 æ x2 ”= x2 æ x1!

    1.4 Analiti�no reöevanje preklopnih funkcijPri analiti�nemu reöevanju preklopnih funkcij preko postulatov in lastnosti Boolovealgebre funkcijo podano z logi�nim izrazom preoblikujemo v ûeleno obliko. Kadarûelimo dolo�eno lastnost formalno dokazati, se moramo pri spreminjanju oblikeanaliti�nega izraza striktno drûati postulatov Boolove algebre, pri �emer uporabimole en postulat naenkrat, pri vsakem koraku izpeljave pa pripiöemo postulat, ki smoga uporabili.

    Zgled 1 Z uporabo postulatov dokaûi enakost x ‚ x = x!

    Reöitev 1

    x ‚ x = (x ‚ x) · 1 (P2ú)=(x ‚ x) · (x ‚ x) (P5)=x ‚ (x · x) (P4ú)=x ‚ 0 (P5ú)=x (P2)

    Navadno pri poenostavljanju izrazov korake izpuö�amo in nad izrazom neposrednouporabljamo lastnosti, ki sledijo iz postulatov. �e naloga od nas eksplicitno nezahteva uporabe postulatov, jo reöujemo na tak na�in. Ker so postulati in lastnosti

  • 12 Poglavje 1 Priprava na 1. laboratorijske vaje

    definirani nad osnovnimi logi�nimi operatorji (konjunkcija, disjunkcija in negacija),vse funkcije v izrazu najprej izrazimo s temi.

    Zgled 2 Poenostavi izraz x2 æ1(x1 ‚ x3) (x1 ‚ x3)

    2!

    Reöitev 2

    x2 æ (x1 ‚ x3) (x1 ‚ x3)=x2 ‚ (x1 ‚ x3) (x1 ‚ x3)=x2 ‚ (x1 ‚ x3) ‚ (x1 ‚ x3)=x2 ‚ x1x3 ‚ x1x3=x2 ‚ (x1 ‚ x1)x3=x2 ‚ x3

  • 2 Priprava na 2. laboratorijske vaje

    2.1 Zapis preklopnih funkcijAnaliti�ni zapis podajamo z logi�nim izrazom oziroma logi�no ena�bo. Pogosto seuporabljajo tri posebne oblike analiti�nega zapisa, in sicer normalna, popolna inminimalna. Preklopna funkcija je podana v normalni obliki, �e je sestavljena iznajve� dveh nivojev logi�nih operatorjev. Oblika je popolna, �e na prvem nivojulogi�nih operatorjev v vseh izrazih nastopajo vse vhodne spremenljivke. Minimalnaoblika je najkrajöa moûna oblika zapisa preklopne funkcije.

    2.2 Analiti�ni zapis in popolne normalne oblike zapisa pre-klopnih funkcij

    Pogledali si bomo popolno disjunktivno normalno obliko (PDNO) in popolnokonjunktivno normalno obliko (PKNO) zapisa preklopne funkcije.

    2.2.1 Popolna disjunktivna normalna oblika (PDNO)• Disjunktivna: operator 2. nivoja je disjunkcija (‚).

    • f(x1, x2, ..., xn) = ‚2n≠1

    i=0 mif(w̨i)

    • f(w̨i) ... vrednost funkcije pri i-tem vhodnem vektorju (vrstici)

    • minterm je konjunktiven izraz - vse vhodne spremenljivke so povezane prekokonjunkcije

    • mi ... minterm i; mi = xw1,i1 · xw2,i2 · ... · x

    wn,in ; i = 0, 1, 2, ..., 2n ≠ 1

    • xw =I

    x, w = 1x, w = 0

    • wj,i...j-ti bit binarnega zapisa ötevila i

    • PDNO lahko zapiöemo v krajöi obliki kot f(x1, x2, ..., xn) = ‚n(i1, i2, ..., ik),kjer i1, i2, ..., ik dolo�ajo indekse mintermov, ki nastopajo v PDNO.

    13

  • 14 Poglavje 2 Priprava na 2. laboratorijske vaje

    Recept: pri dolo�anju PDNO disjunktivno veûemo tiste minterme, pri katerih jefunkcijska vrednost 1. Pri tem se i-ti minterm nanaöa na funkcijsko vrednost f(w̨i)(glej tabelo 2.1).

    x1 x2 x3 f(x1,x2,x3) minterm0 0 0 f(w̨0) m00 0 1 f(w̨1) m10 1 0 f(w̨2) m20 1 1 f(w̨3) m31 0 0 f(w̨4) m41 0 1 f(w̨5) m51 1 0 f(w̨6) m61 1 1 f(w̨7) m7

    Tabela 2.1 Primer pravilnostne tabele in zaporedja mintermov za preklopno funkcijotreh vhodnih spremenljivk.

    Zgled 3 Zapiöi minterm 9, pri 4-ih vhodnih spremenljivkah:

    Reöitev 3 Velja torej:

    • n = 4,

    • i = 9[10] = 1001[2],

    • m9 = x11x02x03x14 = x1x2x3x4.

    2.2.2 Popolna konjunktivna normalna oblika (PKNO)• Konjunktivna: operator 2. nivoja je konjunkcija (&).

    • f(x1, x2, ..., xn) = &2n≠1

    i=0 (M2n≠1≠i ‚ f(w̨i))

    • maksterm je disjunktiven izraz - vhodne spremenljivke so povezane prekodisjunkcije

    • M2n≠1≠i ... maksterm 2n ≠ 1 ≠ i; M2n≠1≠i = xw1,i1 ‚ xw2,i2 ‚ ... ‚ x

    wn,in ; i =

    0, 1, 2, ..., 2n ≠ 1

    • PKNO lahko zapiöemo v krajöi obliki: f(x1, x2, ..., xn) = &n(im, im≠1, ..., i1),kjer im, im≠1, ..., i1 dolo�ajo indekse makstermov, ki nastopajo v PKNO.

    Recept: pri dolo�anju PKNO konjunktivno veûemo tiste maksterme, pri katerih jefunkcijska vrednost 0. Pri tem se (2n ≠ 1 ≠ i)-ti maksterm nanaöa na funkcijskovrednost f(w̨i) (glej tabelo 2.2).

  • 2.2 Analiti�ni zapis in popolne normalne oblike zapisa preklopnih funkcij 15

    x1 x2 x3 f(x1,x2,x3) maksterm0 0 0 f(w̨0) M70 0 1 f(w̨1) M60 1 0 f(w̨2) M50 1 1 f(w̨3) M41 0 0 f(w̨4) M31 0 1 f(w̨5) M21 1 0 f(w̨6) M11 1 1 f(w̨7) M0

    Tabela 2.2 Primer pravilnostne tabele in zaporedja makstermov za preklopno funkcijotreh vhodnih spremenljivk.

    Zgled 4 Zapiöi maksterm 9 pri 4-ih vhodnih spremenljivkah.

    Reöitev 4 Velja torej:

    • n = 4,

    • 2n ≠ 1 ≠ i = 15 ≠ 9 = 6,

    • 2n ≠ 1 ≠ i = 6[10] = 0110[2],

    • M9 = x01 ‚ x12 ‚ x13 ‚ x04 = x1 ‚ x2 ‚ x3 ‚ x4.

    Zgled 5 Podano funkcijo pretvori v popolno disjunktivno normalno obliko na dvana�ina:

    • s pomo�jo pravilnostne tabele,

    • analiti�no z razöiritvijo.

    Reöitev 5 Funkcija:

    f(x1, x2, x3) = x1 ‚ x1x2 ‚ x2x3

    je ûe zapisana v disjunktivni normalni obliki, ki pa ni popolna.

    Pretvorba s pomo�jo pravilnostne tabeleZapiöimo pravilnostno tabelo, s pomo�jo katere lahko zapiöemo PDNO, tako daprepiöemo tiste minterme, pri katerih je vrednost funkcije enaka 1.

    �e izpiöemo samo indekse teh mintermov, dobimo skrajöano obliko PDNO:f(x1, x2, x3) = ‚3(0, 4, 5, 6, 7).

  • 16 Poglavje 2 Priprava na 2. laboratorijske vaje

    x1 x2 x3 f(x1,x2,x3) minterm maksterm0 0 0 1 m0 M70 0 1 0 m1 M60 1 0 0 m2 M50 1 1 0 m3 M41 0 0 1 m4 M31 0 1 1 m5 M21 1 0 1 m6 M11 1 1 1 m7 M0

    Tabela 2.3 Pravilnostna tabela funkcije f(x1, x2, x3) = x1 ‚ x1x2 ‚ x2x3.

    Zapiöimo PDNO öe v eksplicitni obliki:f(x1, x2, x3) = x1x2x3 ‚ x1x2x3 ‚ x1x2x3 ‚ x1x2x3 ‚ x1x2x3.

    Analiti�na pretvorba z razöiritvijoFunkcijo razöirimo v popolno (na prvem nivoju morajo nastopati vse vhodne spre-menljivke):

    x1 ‚ x1x2 ‚ x2x3=x1(x2 ‚ x2)(x3 ‚ x3) ‚ x1x2(x3 ‚ x3) ‚ (x1 ‚ x1)x2x3=x1x2x3 ‚ x1x2x3 ‚ x1x2x3 ‚ x1x2x3 ‚ x1x2x3 ‚ x1x2x3 ‚ x1x2x3 ‚ x1x2x3=x1x2x3 ‚ x1x2x3 ‚ x1x2x3 ‚ x1x2x3 ‚ x1x2x3= ‚3 (7, 6, 5, 4, 0)= ‚3 (0, 4, 5, 6, 7)

    2.2.3 Relaciji med makstermi in mintermiMed mintermi in makstermi zaradi DeMorganovega pravila veljata slede�i relaciji:

    • mi = M2n≠1≠i,

    • M i = m2n≠1≠i.

    Relaciji lahko uporabimo pri pretvarjanju funkcije iz PDNO v PKNO in obratno.Pri podanem zapisu najprej pogledamo kateri termi manjkajo:

    • �e je funkcija podana v PDNO, izpiöemo manjkajo�e minterme - v pravilnostnitabeli so soleûni z enicami.

    • �e je funkcija podana v PKNO, izpiöemo manjkajo�e maksterme - v pravil-nostni tabeli so soleûni z ni�lami.

  • 2.2 Analiti�ni zapis in popolne normalne oblike zapisa preklopnih funkcij 17

    S tem smo dobili pozicije termov, ki nastopajo v iskani obliki zapisa preklopnefunkcije. Indekse iskanih termov dobimo tako, da nad izpisanimi mintermi oziromamakstermi uporabimo zgoraj navedeni relaciji.

    2.2.4 Pretvarjanje med PDNO in PKNODva moûna na�ina reöevanja:

    1. zapiöemo pravilnostno tabelo in iz nje razberemo reöitev,

    2. z upoötevanjem relacij med mintermi in makstermi.

    Zgled 6 Funkcijo podano v PDNO pretvori v PKNO:

    • s pomo�jo pravilnostne tabele,

    • z upoötevanjem relacij med mintermi in makstermi.

    Reöitev 6 Demonstrirajmo oba na�ina pretvorbe.Pretvorba iz PDNO v PKNO: s pomo�jo pravilnostne tabeleGlej tabelo v prejönjem zgledu!Prepiöemo maksterme, pri katerih je vrednost funkcije enaka 0.

    PKNO: &3(6, 5, 4)Eksplicitna PKNO:

    PKNO: (x1 ‚ x2 ‚ x3)(x1 ‚ x2 ‚ x3)(x1 ‚ x2 ‚ x3).

    Pretvorba iz PDNO v PKNO: z upoötevanjem relacij med mintermiin makstermiPretvorimo ‚3(0, 4, 5, 6, 7) v PKNO:

    1. zapiöemo manjkajo�e minterme: m1, m2, m3.

    2. izra�unamo indekse makstermov: M6, M5, M4.

    3. reöitev: &3(6, 5, 4).

    Na podoben na�in, bi lahko pretvarjali tudi iz PKNO v PDNO.

  • 3 Priprava na 3. laboratorijske vaje

    3.1 Zapis preklopnih funkcij z Veitchevim diagramom

    Veitchevi diagrami igrajo pomembno vlogo pri minimizaciji preklopnih funkcij.Veitchev diagram pri n vhodnih spremenljivkah je sestavljen iz 2n polj, pri �emerposamezno polje vsebuje funkcijsko vrednost pri posameznem mintermu. Postopekzapisovanja Veitchevega diagrama je razmeroma preprost, in sicer izhajamo izdiagrama za eno spremenljivko (glej sliko 3.1(a)). Diagram za dve spremenljivkidobimo tako, da podvojimo diagram za eno spremenljivko. Ozna�iti je potrebno tudipokritja, in sicer tako, da posamezna spremenljivka pokriva polovico Veitchevegadiagrama. Pokritja lahko izbiramo na razli�ne na�ine. V sploönem dobimo diagramza n spremenljivk tako, da podvojimo diagram za n ≠ 1 spremenljivk in na novododani del pokrijemo z dodano spremenljivko.

    m1

    m0

    x m3

    m1

    x1

    m2

    m0

    x2

    m6

    m7

    m4

    m5

    x2 m3 m2

    m1

    m0

    x3

    x1

    (a) (b) (c)

    m12

    m14

    x1

    m13

    m15

    x2

    m6

    m4

    m7

    m5

    m9

    m11

    m8

    m10

    m3

    m1

    m2

    m0

    x3

    x4

    m25

    m29

    x1

    m27

    m31

    x2

    m13

    m9

    m15

    m11

    m19

    m23

    m17

    m21

    m7

    m3

    m5

    m1

    x3

    m24

    m28

    x1

    m26

    m30

    m12

    m8

    m14

    m10

    m18

    m22

    m16

    m20

    m6

    m2

    m4

    m0

    x3

    x4

    x5

    (d) (e)

    Slika 3.1 Slika (a) prikazuje Veitchev diagram za eno vhodno spremenljivko, slika (b)za dve, slika (c) za tri, slika (d) za ötiri, slika (e) pa za pet.

    19

  • 20 Poglavje 3 Priprava na 3. laboratorijske vaje

    Zgled 7 Funkcijo f(x1, x2, x3, x4) = ‚4(5, 7, 9, 11, 13, 15) zapiöi v Veitchev dia-gram.

    Reöitev 7 V polja, ki se nanaöajo na minterme, pri katerih je funkcijska vrednostenaka 1, vpiöemo enice, ostala polja pa pustimo prazna (glej sliko 3.2).

    1 1

    x2

    1 1

    1 1

    x3

    x4

    x1

    Slika 3.2 Veitchev diagram funkcije f(x1, x2, x3, x4) = ‚4(5, 7, 9, 11, 13, 15).

    3.2 Funkcijsko poln sistemFunkcijsko poln sistem je nabor logi�nih funkcij, s katerimi lahko izrazimo katerokolilogi�no funkcijo. Iz definicije Boolove algebre sledi, da je {‚, ·, ¬} funkcijsko polnsistem (operator ¬ predstavlja negacijo).Funkcijsko polnost ugotavljamo na dva na�ina:

    • s pretvorbo na nek znan funkcijsko poln sistem,

    • s preverjanjem pripadnosti osnovnim zaprtim razredom.

    Zgled 8 S pretvorbo na negacijo, konjunkcijo in disjunkcijo pokaûi, da je She�erjevoperator funkcijsko poln sistem.

    Reöitev 8 S She�erjevim operatorjem izrazimo negacijo.

    x = xx = x ø x

    S She�erjevim operatorjem izrazimo konjunkcijo.

    x1x2 = x1x2 = x1 ø x2 = (x1 ø x2) ø (x1 ø x2)

    S She�erjevim operatorjem izrazimo disjunkcijo.

    x1 ‚ x2 = x1 ‚ x2 = x1x2 = (x1 ø x1) ø (x2 ø x2)

    Podobno bi se dalo pokazati za Peircov operator.

  • 4 Priprava na 4. laboratorijske vaje

    4.1 Zaprti razredi in preverjanje funkcijske polnosti sis-tema

    Funkcijo polnost nabora logi�nih funkcij lahko preverjamo s pripadnostjo naboraosnovnim zaprtim razredom logi�nih funkcij (Postov teorem). Osnovni zaprtirazredi so slede�i:

    • T0 – razred preklopnih funkcij, ki ohranjajo ni�lo (f(0, 0, . . . , 0) = 0)

    • T1 – razred preklopnih funkcij, ki ohranjajo enico (f(1, 1, . . . , 1) = 1)

    • S – razred sebidualnih funkcij (f(x1, x2, . . . , xn) = f(x1, x2, . . . , xn))

    • L – razred linearnih funkcij (f(x1, x2, ..., xn) œ L, f(x1, x2, ..., xn) == a0Òa1x2Ò...Òanxn)

    • M – razred monotonih funkcij (f(x1, x2, ..., xn) œ M, ’i, j :w̨i < w̨j æ f(w̨i) Æ f(w̨j))

    �e nabor odpira vse osnovne razrede, je poln. Nabor odpira nek osnovni razred, �evsaj ena izmed funkcij v podanem naboru ne pripada izbranemu razredu.

    Zgled 9 S pomo�jo zaprtih razredov preveri funkcijsko polnost nabora {‚, æ, 1}.

    Reöitev 9 Cilj: Pri vsakem osnovnem razredu ûelimo najti vsaj eno funkcijo izpodanega nabora, ki temu razredu ne pripada.

    1. Razred T0:

    • ‚ : f(0, 0) = 0 ‚ 0 = 0; pripada razredu.• 1 : 1 ”= 0; ne pripada razredu.

    2. Razred T1:

    • ‚ : f(1, 1) = 1 ‚ 1 = 1; pripada razredu.

    21

  • 22 Poglavje 4 Priprava na 4. laboratorijske vaje

    • æ: f(1, 1) = 1 æ 1 = 1; pripada razredu.• 1 : 1 = 1; pripada razredu

    Nabor {‚, æ, 1} ne odpira razreda T1, torej nabor ni poln. Vseeno nadaljujmos postopkom.

    3. Razred S:Pripadnost lahko dokazujemo na dva na�ina:

    • analiti�no: ali velja f(x1, x2, ..., xn) = f(x1, x2, ..., xn),• tabelari�no: ali velja f(w̨i) ”= f(w̨2n≠1≠i).

    Postopek:

    • 1 : (analiti�no)

    1 = 10 = 1 protislovje

    Funkcija ne pripada razredu S. Vseeno nadaljujmo.• ‚ : (analiti�no)

    f(x1, x2) = f(x1, x2)x1 ‚ x2 = x1 ‚ x2 (desno stran dopolnimo do PDNO)

    x1x2 = x1(x2 ‚ x2) ‚ x2(x1 ‚ x1)x1x2 = x1x2 ‚ x1x2 ‚ x1x2 ‚ x1x2x1x2 = x1x2 ‚ x1x2 ‚ x1x2

    ‚2(3) ”= ‚2(1, 2, 3) æ ‚ /œ S

    • æ: (tabelari�no)

    x1 x2 x1 æ x20 0 10 1 11 0 01 1 1

    f(w0) = f(w3) – funkcija ne pripada S.

  • 4.1 Zaprti razredi in preverjanje funkcijske polnosti sistema 23

    4. Razred L :Funkcija f(x1, x2, . . . , xn) spada v razred linearnih funkcij, �e jo lahko zapi-öemo kot

    f(x1, x2, . . . , xn) = a0Òa1x1Òa2x2Ò · · · Òanxn.Pripadnost lahko preverjamo:

    • analiti�no,• z Veitchevim diagramom.

    Analiti�no preverjanje:

    • predpostavimo, da funkcija f(x1, x2, . . . , xn) spada v razred linearnihfunkcij,

    • dolo�imo koeficiente a0, a1, · · · , an,• preverimo, �e se dobljena funkcija a0Òa1x1Òa2x2Ò · · · Òanxn ujema s

    podano funkcijo f(x1, x2, . . . , xn).

    Postopek:

    • ‚ :Predpostavimo, da je disjunkcija linearna funkcija, tedaj jo lahko zapi-öemo kot:

    f(x1, x2)L = x1 ‚ x2 = a0Òa1x1Òa2x2

    f(0, 0)L = a0Òa10Òa20 = a0 = 0Ò0 = 0 (a0 = 0)f(0, 1)L = 0Òa10Òa21 = a2 = 0Ò1 = 1 (a2 = 1)f(1, 0)L = 0Òa11Òa20 = a1 = 1Ò0 = 1 (a1 = 1)

    f(x1, x2)L = 0Ò1x1Ò1x2 = x1Òx2

    Preverimo za vse preostale vhodne vektorje (v primeru protislovja posto-pek ustavimo):

    f(1, 1) = 1 ‚ 1 = 1f(1, 1)L = x1Òx2 = 1Ò1 = 0

    Protislovje. Funkcija ne pripada razredu.

    Preverjanje z Veitchevim diagramom:

    • Preklopna funkcija spada v razred L, �e pri primerjavi pokritij veljapopolna enakost ali popolna razli�nost vrednosti funkcije.

  • 24 Poglavje 4 Priprava na 4. laboratorijske vaje

    Postopek:

    • ‚ :Preverimo pokritja:

    – x1x2 : x1x2 (popolnoma razli�na),

    – x1 : x1 (niti popolnoma razli�na niti popolnoma enaka).Funkcija ne pripada razredu.

    5. Razred M : Funkcija pripada M , �e pri vseh vhodnih vektorjih velja, da je primanjöem vektorju vrednost funkcije manjöa ali enaka vrednosti pri ve�jemvektorju. Relacija je manjöi je definirana na slede�i na�in:

    • Za vhodna vektorja wi in wj velja wi < wj, �e za vsako mesto k veljawk,i Æ wk,j. Primer: (1, 0, 0, 1, 0, 1, 0, 0) < (1, 1, 0, 1, 0, 1, 0, 1).

    Pri preverjanju pripadnosti je dovolj, da preverimo le sosedne vhodne vektorje.Vhodna vektorja sta sosedna, �e se razlikujeta le na enem mestu. Primer:(1, 0, 0, 1, 0) in (1, 0, 1, 1, 0).Postopek:

    • æ:

    x1 x2 x1 æ x20 0 10 1 11 0 01 1 1

    Preverjamo samo sosedne vektorje. Sosedni vhodni vektorji so (w0, w1),(w0, w2), (w1, w3) in (w2, w3). Hitro najdemo protislovje, in sicer w0 <w2, f(w0) > f(w2). Funkcija torej ne pripada M .

    Zgled 10 Analiti�no preveri ali preklopna funkcija f(x1, x2, x3, x4) = &4(0, 1, 6, 8, 9, 14)pripada razredu linearnih funkcij.

  • 4.1 Zaprti razredi in preverjanje funkcijske polnosti sistema 25

    x1 x2 x3 x4 f(x1, x2, x3, x4) f(x1, x2, x3, x4)L0 0 0 0 1 10 0 0 1 0 00 0 1 0 1 10 0 1 1 1 00 1 0 0 1 10 1 0 1 1 00 1 1 0 0 10 1 1 1 0 01 0 0 0 1 11 0 0 1 0 01 0 1 0 1 11 0 1 1 1 01 1 0 0 1 11 1 0 1 1 01 1 1 0 0 11 1 1 1 0 0

    Reöitev 10 Postopek:Predpostavimo, da dana funkcija pripada razredu linearnih funkcij, tedaj jo lahkozapiöemo kot:

    f(x1, x2, x3, x4)L = a0Òa1x1Òa2x2Òa3x3Òa4x4

    f(0, 0, 0, 0)L = a0Òa10Òa20Òa30Òa40 = 1 (a0 = 1)f(0, 0, 0, 1)L = 1Òa10Òa20Òa30Òa41 = 1Òa4 = 0 (a4 = 1)f(0, 0, 1, 0)L = 1Òa10Òa20Òa31Òa40 = 1Òa3 = 1 (a3 = 0)f(0, 1, 0, 0)L = 1Òa10Òa21Òa30Òa40 = 1Òa2 = 1 (a2 = 0)f(1, 0, 0, 0)L = 1Òa11Òa20Òa30Òa40 = 1Òa1 = 1 (a1 = 0)

    f(x1, x2, x3, x4)L = 1Ò0x1Ò0x2Ò0x3Ò1x4 = 1Òx4 = x4

    Preverimo za vse preostale vhodne vektorje (v primeru protislovja postopek usta-vimo):

    f(0, 0, 1, 1) = 1f(0, 0, 1, 1)L = 1Ò1 = 0

    Protislovje. Funkcija ne pripada razredu.

  • 5 Priprava na 5. laboratorijske vaje

    5.1 Minimalne oblike zapisa preklopnih funkcijMinimalna oblika zapisa preklopne funkcije podaja najkrajöi moûen zapis te funkcije.Poznamo ve� minimalnih oblik zapisa. Pogledali si bomo slede�e:

    • minimalna disjunktivna normalna oblika (MDNO): dolo�a najkraöo disjunk-tivno normalno obliko zapisa preklopne funkcije,

    • minimalna konjunktivna normalna oblika (MKNO): dolo�a najkraöo konjunk-tivno normalno obliko zapisa preklopne funkcije,

    • minimalna normalna oblika (MNO): dolo�a nakrajöo normalno obliko zapisapreklopne funkcije.

    Pri dolo�anju minimalne disjunktivne normalne oblike (MDNO) izhajamo iz iska-nja glavnih vsebovalnikov. Glavni vsebovalnik predstavlja najkrajöi konjunktivniizraz, ki je skupen podmnoûici mintermov, ki sestavljajo PDNO podane funkcije.Najmanjöa mnoûica glavnih vsebovalnikov, ki skupaj pokrijejo celotno mnoûicomintermov v PDNO, predstavlja minimalno disjunktivno normalno obliko.

    Pri dolo�anju minimalne konjunktivne normalne oblike (MKNO) izhajamo iz dolo-�anja MDNO negirane funkcije, ki jo z uporabo DeMorganovega pravila pripeljemodo konjunktivne oblike.

    Pri dolo�anju minimalne normalne oblike (MNO) upoötevamo dejstvo, da MNOpredstavlja krajöo izmed MDNO in MKNO.

    Glavne vsebovalnike iö�emo na podlagi sosednosti med konjunktivni izrazi. Dvakonjunktivna izraza sta sosedna, �e se razlikujeta po natanko eni negaciji:

    • izraza xw11 · xw22 · ... · xwii · ... · xwnn in xw11 · xw22 · ... · xwii · ... · xwnn sta sosedna,ker se razlikujeta le po negaciji nad vhodno spremenljivko z indeksom i.

    V sploönem velja, da ima izraz, ki vsebuje n vhodnih spremenljivk, n sosednihizrazov.

    27

  • 28 Poglavje 5 Priprava na 5. laboratorijske vaje

    Zgled 11 Zapiöi vse izraze, ki so sosedni izrazu x1x2x4.

    Reöitev 11 V sosednih izrazih nastopajo enake spremenljivke kot v izhodiö�nemizrazu. Od izhodiö�nega izraza se sosedni razlikujejo po natanko eni negaciji. Sosedniizrazi so torej:

    • x1x2x4,

    • x1x2x4 in

    • x1x2x4.

    Glavni vsebovalnik dveh sosednih izrazov dolo�imo z upoötevanjem lastnosti, da jedisjunkcija dveh termov, ki se razlikujeta natanko po negaciji nad eno spremenljivko,neodvisna od vrednosti te spremenljivke. Glavni vsebovalnik dveh sosednih izrazovxw11 · xw22 · ... · x

    wi≠1i≠1 · xwii · x

    wi+1i+1 · ... · xwnn in xw11 · xw22 · ... · x

    wi≠1i≠1 · xwii · x

    wi+1i+1 · ... · xwnn

    je torej izraz xw11 · xw22 · ... · xwi≠1i≠1 · xwi+1i+1 · ... · xwnn .

    Zgled 12 Dolo�i glavni vsebovalnik izrazov x1x2x3x4 in x1x2x3x4.

    Reöitev 12 Izraza se razlikujeta le po negaciji nad spremenljivko x1. Disjunkcijamed izrazoma je torej neodvisna od vrednosti te spremenljivke, zato je njun glavnivsebovalnik x2x3x4.

    5.2 Veitchev postopek minimizacijeVeitchev postopek minimizacije izkoriö�a lastnosti Veitchevega diagrama. Sosednostmintermov je namre� neposredno povezana s sosednostjo celic v diagramu. Pricelicah, ki se nahajajo na robovih diagrama se sosednost prenaöa na zrcalno stran(glej sliko 5.1).

    Zgled 13 V Veitchevem diagramu za 4 spremenljivke ozna�i izraze, ki so sosednjiizrazu m14 ‚ m15.

    Reöitev 13 Izraz zapiöimo v razöirjeni obliki:

    m14 ‚ m15 = x1x2x3x4 ‚ x1x2x3x4 = x1x2x3

    Sosedni izrazi so torej:

    • x1x2x3 = x1x2x3x4 ‚ x1x2x3x4 = m6 ‚ m7

  • 5.2 Veitchev postopek minimizacije 29

    x

    x1

    x2

    x2

    x3

    x1

    (a) (b) (c)x

    1

    x2

    x3

    x4

    (d) (e)

    Slika 5.1 Slika (a) prikazuje sosednost v Veitchevem diagramu za 1 vhodno spremenljivko,slika (b) za 2, slika (c) za 3, slika (d) za 4, slika (e) pa za 5.

    • x1x2x3 = x1x2x3x4 ‚ x1x2x3x4 = m12 ‚ m13

    • x1x2x3 = x1x2x3x4 ‚ x1x2x3x4 = m10 ‚ m11

    Veitchev diagram z ozna�emi sosednimi izrazi prikazuje slika 5.2.

    x1

    x2

    x3

    x4

    Slika 5.2 Izrazi, ki so sosedni izrazu m14 ‚ m15.

    Zgled 14 V Veitchevem diagramu za 5 spremenljivk ozna�i izraze, ki so sosednjiizrazu m22 ‚ m30.

    Reöitev 14 Izraz zapiöimo v razöirjeni obliki:

    m22 ‚ m30 = x1x2x3x4x5 ‚ x1x2x3x4x5 = x1x3x4x5

    Sosedni izrazi so torej:

  • 30 Poglavje 5 Priprava na 5. laboratorijske vaje

    • x1x3x4x5

    • x1x3x4x5

    • x1x3x4x5

    • x1x3x4x5

    Veitchev diagram z ozna�emi sosednimi izrazi prikazuje slika 5.3.

    x1

    x2

    x3

    x1

    x3

    x4

    x5

    Slika 5.3 Izrazi, ki so sosedni izrazu m22 ‚ m30.

    5.2.1 Dolo�anje minimalne normalne oblike z Veitchevim diagramom

    Za minimalno normalno obliko (MNO) velja, da predstavlja krajöo izmed minimalnedisjunktivne normalne oblike (MDNO) in minimalne konjunktivne normalne oblike(MKNO). Za dolo�itev MNO moramo torej najprej dolo�iti MDNO in MKNO.

    Dolo�anje minimalne disjunktivne normalne oblike z Veitchevimdiagramom

    Postopek dolo�anja je slede�:

    1. Funkcijo predstavimo z Veitchevim diagramom.

    2. Poiö�emo glavne vsebovalnike, tako da med seboj zdruûujemo �im ve�je ötevilososednih mintermov, pri katerih je funkcijska vrednost enaka 1. Zdruûujemolahko 1,2,4,8,16,... mintermov. Iö�emo najmanjöi nabor pokritij, s katerimpokrijemo vse enice. V vsakem koraku poskuöamo dobiti �im ve�je pokritje,saj s tem izlo�imo ve�je ötevilo vhodnih spremenljivk.

    3. Zapiöemo MDNO na podlagi glavnih vsebovalnikov.

  • 5.2 Veitchev postopek minimizacije 31

    Dolo�anje minimalne konjunktivne normalne oblike z Veitchevimdiagramom

    1. Negirano funkcijo predstavimo z Veitchevim diagramom.

    2. Poiö�emo MDNO negirane funkcije.

    3. Negiramo MDNO negirane funkcije, s �imer dobimo izhodiö�no funkcijo.

    4. Z upoötevanjem DeMorganovega pravila funkcijo prevedemo v MKNO.

    Dolo�anje minimalne normalne oblike

    1. Dolo�imo ötevilo operatorjev (logi�nih vrat) in operandov (vhodov) za MDNOin za MKNO posebej. Negacij ne ötejemo.

    2. Minimalna oblika je tista, ki ima manjöe ötevilo operatorjev. �e je öte-vilo operatorjev pri obeh enako, je minimalna tista, ki ima manjöe ötevilooperandov.

    Zgled 15 Za funkcijo f(x1, x2, x3, x4) = ‚4(0, 4, 8, 9, 10, 11, 12) dolo�i minimalnonormalno obliko.

    Reöitev 15 Najprej dolo�imo MDNO:

    1. Nariöemo Veitchev diagram funkcije in ozna�imo glavne vsebovalnike (Slika5.4).

    x1

    x2

    x3

    x4

    11

    11 1

    11

    Slika 5.4 Glavni vsebovalniki funkcije ‚4(0, 4, 8, 9, 10, 11, 12).

    2. Izpiöemo glavne vsebovalnike in s tem MDNO:

    f(x1, x2, x3, x4) = x1x2 ‚ x3x4

    Potem dolo�imo MKNO:

  • 32 Poglavje 5 Priprava na 5. laboratorijske vaje

    x1

    x2

    x3

    x4

    11

    11

    1

    11 11

    x1

    x2

    x3

    x4

    11

    11

    1

    11 11

    x1

    x2

    x3

    x4

    11

    11

    1

    11 11

    x1

    x2

    x3

    x4

    11

    11

    1

    11 11

    (a) (b) (c) (d)

    Slika 5.5 Glavni vsebovalniki funkcije ‚4(1, 2, 3, 5, 6, 7, 13, 14, 15). Slika (a) prikazujeglavni vsebovalnik x1x3, slika (b) x2x3, slika (c) x1x4, slika (d) pa x2x4.

    1. Nariöemo Veitchev diagram negirane funkcije f(x1, x2, x3, x4)=‚4(1, 2, 3, 5, 6, 7, 13, 14, 15) in ozna�imo glavne vsebovalnike (Slika 5.5).

    2. Izpiöemo glavne vsebovalnike, ki dolo�ajo negirano funkcijo: f(x1, x2, x3, x4) =x1x3 ‚ x2x3 ‚ x1x4 ‚ x2x4. S tem dobimo MDNO negirane funkcije.

    3. Dobljeno MDNO negiramo, uporabimo DeMorganovo pravilo in dobimoMKNO: f(x1, x2, x3, x4) = x1x3 ‚ x2x3 ‚ x1x4 ‚ x2x4 = (x1‚x3)(x2‚x3)(x1‚x4)(x2 ‚ x4).

    Sedaj lahko dolo�imo MNO:

    1. Dolo�imo ötevilo operatorjev pri MDNO (za realizacijo potrebujemo dvojaAND vrata in ena OR vrata): 2 + 1 = 3.

    2. Dolo�imo ötevilo operandov pri MDNO (2 vhoda v prva AND vrata, 2 vhodav druga AND vrata, 2 vhoda v OR vrata): 2 + 2 + 2 = 6.

    3. Zapiöemo par ötevilo operatorjev/ötevilo operandov za MDNO: [3, 6].

    4. Dolo�imo ötevilo operatorjev pri MKNO (za realizacijo potrebujemo ena ANDvrata in ötiri OR vrata): 1 + 4 = 5.

    5. Dolo�imo ötevilo operandov pri MKNO (AND vrata so 4-vhodna, vsa ORvrata pa 2-vhodna): 4 + 4 · 2 = 12.

    6. Zapiöemo par ötevilo operatorjev/ötevilo operandov za MKNO: [5, 12].

    7. Para leksikografsko primerjam med seboj. Ker ima MDNO manjöe ötevilooperatorjev predstavlja MNO funkcije. MNO je torej f(x1, x2, x3, x4) = x1x2 ‚x3x4.

  • 5.2 Veitchev postopek minimizacije 33

    Zgled 16 Minimiziraj nepopolno preklopno funkcijo f 4 = ‚4(5, 7, 9, 13)‚4?(8, 11, 12, 15).

    Opomba: preklopna funkcija je nepopolna, �e funkcijskih vrednosti nima dolo�enihpri vseh vhodnih vektorjih.

    Reöitev 16 Dolo�imo MDNO:

    1. Nariöemo Veitchev diagram funkcije in ozna�imo glavne vsebovalnike (slika5.6) Pri tem vpraöaje pokrijemo po potrebi.

    x1

    x2

    x3

    x4

    1

    1 11

    ?

    ?

    ?

    ?

    Slika 5.6 Glavni vsebovalniki funkcije f4 = ‚4(5, 7, 9, 13) ‚4? (8, 11, 12, 15).

    2. Izpiöemo MDNO: f 4 = x1x4 ‚ x2x4.

    3. Dolo�imo ötevilo operatorjev in operandov: [3, 6].

    Dolo�imo MKNO:

    1. Nariöemo Veitchev diagram negirane funkcije (kjer so bila prej prazna poljapiöemo enice, kjer so bile prej enice pustimo prazno, kjer so bili prej vpraöaji,pustimo vpraöaje - slika 5.7). Ozna�imo glavne vsebovalnike.

    x1

    x2

    x3

    x4

    11

    1

    1?

    ?

    ?

    ? 1

    1 1 1

    Slika 5.7 Glavni vsebovalniki funkcije f4 = ‚4(0, 1, 2, 3, 4, 6, 10, 14) ‚4? (8, 11, 12, 15).

    2. Izpiöemo MDNO negirane funkcije: f 4 = x4 ‚ x1x2.

  • 34 Poglavje 5 Priprava na 5. laboratorijske vaje

    3. Dolo�imo MKNO: f 4 = x4 ‚ x1x2 = x4(x1 ‚ x2).

    4. Dolo�imo ötevilo operatorjev in operandov: [2, 4].

    Dolo�imo MNO:

    • Ker ima MKNO manjöe ötevilo operandov je MNO zapis:f 4 = x4(x1 ‚ x2).

  • 6 Priprava na 6. laboratorijske vaje

    6.1 Simetri�ne preklopne funkcije

    Funkcija je popolnoma simetri�na, �e lahko zamenjamo poljubni dve vhodni spre-menljivki in se funkcijska vrednost ne spremeni. Naj ima funkcija f izhodnovrednost 1 pri vsakem tistem vhodnem vektorju, pri katerem ima natanko avhodnih spremenljivk vrednost 1. ätevilo a tedaj imenujemo simetrijsko ötevilofunkcije f . �e za funkcijo f obstaja neprazna mnoûica simetrijskih ötevil, je funkcijapopolnoma simetri�na.

    Zgled 17 Zapiöi PDNO funkcije f{0,2}(x1, x2, x3).

    Reöitev 17 Pomagamo si s pravilnostno tabelo:x1 x2 x3 f{0,2}(x1, x2, x3)0 0 0 10 0 1 00 1 0 00 1 1 11 0 0 01 0 1 11 1 0 11 1 1 0

    PDNO lahko preberemo neposredno iz tabele:

    f(x1, x2, x3) = ‚3(0, 3, 5, 6).

    Zgled 18 Zapiöi PDNO funkcije f{0,2}(x1, x2, x3).

    Reöitev 18 Pomagamo si s pravilnostno tabelo:

    35

  • 36 Poglavje 6 Priprava na 6. laboratorijske vaje

    x1 x2 x3 x1 x2 x3 f{0,2}(x1, x2, x3)0 0 0 0 1 0 00 0 1 0 1 1 10 1 0 0 0 0 10 1 1 0 0 1 01 0 0 1 1 0 11 0 1 1 1 1 01 1 0 1 0 0 01 1 1 1 0 1 1

    PDNO lahko preberemo neposredno iz tabele:

    f(x1, x2, x3) = ‚3(1, 2, 4, 7).

    6.2 Quineova metoda minimizacijeMedtem, ko so Veitchevi diagrami zelo primerni za ro�no minimizacijo funkcij zmanjöim ötevilom vhodnih spremenljivk (do vklju�no 5), je za ve�je ötevilo vhodnihspremenljivk zelo zaûelena avtomatizacija iskanja minimalne oblike. Pri tem sezelo dobro obnese Quineova (tudi Quine–McCluskey) metoda, ki za minimizacijouporablja tabelari�en postopek, ki ga je enostavno sprogramirati. Metoda temeljina iskanju potrebnih glavnih vsebovalnikov na podalgi podobnega postopka kotVeitcheva metoda, le da pri tem uporablja druga�na orodja.

    6.2.1 Dolo�anje MDNO

    • Preklopno funkcijo zapiöemo v popolni disjunktivni normalni obliki (PDNO).

    • Poiö�emo vse sosednje minterme in njihove glavne vsebovalnike:

    1. Nariöemo tabelo z n stolpci, pri �emer je n ötevilo vhodnih spremenljivk.V prvega vpiöemo vse minterme, ki dolo�ajo preklopno funkcijo.

    2. Izraze v stolpcu medsebojno primerjamo in ugotavljamo sosednost.Primerjamo vsakega z vsakim.

    3. Sosedna izraza pre�rtamo in v naslednji stolpec vpiöemo njun glavnivsebovalnik.

    4. Ponavljamo koraka 2 in 3, dokler ne gremo �ez vse kombinacije. Pri temupoötevamo tudi ûe pre�rtane izraze.

    5. �e v predhodnem koraku nismo naöli nobenega vsebovalnika ali pa smopriöli v zadnji stolpec zaklju�imo.

    • Izpiöemo samo potrebne glavne vsebovalnike:

  • 6.2 Quineova metoda minimizacije 37

    1. Nariöemo tabelo pokritij z vrsticami, ki predstavljajo glavne vsebovalnike(samo tiste, ki niso pre�rtani) in stolpci, ki predstavljajo minterme.

    2. Za vsak glavni vsebovalnik ozna�imo minterme, ki jih pokriva.3. Poiö�emo najmanjöo mnoûico glavnih vsebovalnikov, ki skupaj pokrijejo

    vse minterme.

    Zgled 19 Preklopno funkcijo f = ‚4(1, 4, 6, 7, 8, 9, 10, 11, 15) zapiöi v MDNO sQuineovo metodo minimizacije.

    Reöitev 19 S pomo�jo Quineove metode zgradimo slede�o tabelo:4 3 2 1

    (1) x1x2x3x4 (1,6) x2x3x4 (5,8) x1x2(2) x1x2x3x4 (2,3) x1x2x4 (6,7)(3) x1x2x3x4 (3,4) x1x2x3(4) x1x2x3x4 (4,9) x2x3x4(5) x1x2x3x4 (5,6) x1x2x3(6) x1x2x3x4 (5,7) x1x2x4(7) x1x2x3x4 (6,8) x1x2x4(8) x1x2x3x4 (7,8) x1x2x3(9) x1x2x3x4 (8,9) x1x3x4

    Zgradimo tabelo pokritij:m1 m4 m6 m7 m8 m9 m10 m11 m15

    X x2x3x4 X XX x1x2x4 X X

    x1x2x3 X XX x2x3x4 X X

    x1x3x4 X XX x1x2 X X X X

    Iz tabele dolo�imo potrebne glavne vsebovalnike: fMDNO(x1, x2, x3, x4) = x1x2 ‚

    x2x3x4 ‚ x1x2x4 ‚ x2x3x4.

    6.2.2 Dolo�anje MKNO

    Postopek je podoben kot pri Veitchevi minimizaciji:

    1. funkcijo negiramo,

    2. s Quineovo metodo izra�unamo MDNO negirane funkcije,

    3. rezultat negiramo in z DeMorganovim pravilom pretvorimo v MKNO.

  • 38 Poglavje 6 Priprava na 6. laboratorijske vaje

    Zgled 20 Preklopno funkcijo f = ‚4(1, 4, 6, 7, 8, 9, 10, 11, 15) zapiöi v MKNO sQuineovo metodo minimizacije.

    Reöitev 20 Funkcijo najprej negiramo: f = ‚4(0, 2, 3, 5, 12, 13, 14).

    S Quineovo metodo zgradimo slede�o tabelo:4 3

    (1) x1x2x3x4 (1,2) x1x2x4(2) x1x2x3x4 (2,3) x1x2x3(3) x1x2x3x4 (4,6) x2x3x4(4) x1x2x3x4 (5,6) x1x2x3(5) x1x2x3x4 (5,7) x1x2x4(6) x1x2x3x4(7) x1x2x3x4

    Zgradimo tabelo pokritij:m0 m2 m3 m5 m12 m13 m14

    X x1x2x4 X XX x1x2x3 X XX x2x3x4 X X

    x1x2x3 X XX x1x2x4 X X

    Iz tabele dolo�imo potrebne glavne vsebovalnike:fMDNO(x1, x2, x3, x4) = x1x2x4 ‚ x1x2x3 ‚ x2x3x4 ‚ x1x2x4

    Funkcijo ponovno negiramo in jo preko DeMorganovega pravila pretvorimo v ko-njunktivno normalno obliko:

    fMDNO(x1, x2, x3, x4) = fMKNO(x1, x2, x3, x4) = x1x2x4 ‚ x1x2x3 ‚ x2x3x4 ‚ x1x2x4= (x1 ‚ x2 ‚ x4)(x1 ‚ x2 ‚ x3)(x2 ‚ x3 ‚ x4)(x1 ‚ x2 ‚ x4)

  • 7 Priprava na 7. laboratorijske vaje

    7.1 Lo�enje preklopnih funkcijLo�enje preklopne funkcije po spremenljivki xi je definirano z izrazom

    f(x1, x2, ..., xi≠1, xi, xi+1, ..., xn) =f(x1, x2, ..., xi≠1, 0, xi+1, ..., xn)xi ‚ f(x1, x2, ..., xi≠1, 1, xi+1, ..., xn)xi

    za lo�enje konjunktivnih izrazov in z izrazom

    f(x1, x2, ..., xi≠1, xi, xi+1, ..., xn) =(f(x1, x2, ..., xi≠1, 0, xi+1, ..., xn) ‚ xi)(f(x1, x2, ..., xi≠1, 1, xi+1, ..., xn) ‚ xi)

    za lo�enje disjunktivnih izrazov. Pri tem funkcijama, ki nastopata v izrazu, pravimofunkcijska ostanka:

    f0(x1, x2, ..., xi≠1, xi+1, ..., xn) = f(x1, x2, ..., xi≠1, 0, xi+1, ..., xn),

    f1(x1, x2, ..., xi≠1, xi+1, ..., xn) = f(x1, x2, ..., xi≠1, 1, xi+1, ..., xn).Za realizacijo preklopnih funkcij z multiplekserji uporabljamo konjunktivno lo�eva-nje izrazov, zato bomo v nadaljevanju obravnavali le tega.

    Zgled 21 Funkcijo f(x1, x2, x3) = ‚3(0, 2, 5, 6, 7) lo�i preko spremenljivke x1.

    Reöitev 21 Funkcijo lahko zapiöemo kot:

    f(x1, x2, x3) = x1x2x3 ‚ x1x2x3 ‚ x1x2x3 ‚ x1x2x3 ‚ x1x2x3= (0x2x3 ‚ 0x2x3 ‚ 0x2x3 ‚ 0x2x3 ‚ 0x2x3)x1‚

    ‚(1x2x3 ‚ 1x2x3 ‚ 1x2x3 ‚ 1x2x3 ‚ 1x2x3)x1= (x2x3 ‚ x2x3)x1 ‚ (x2x3 ‚ x2x3 ‚ x2x3)x1

    39

  • 40 Poglavje 7 Priprava na 7. laboratorijske vaje

    Pri tem dobimo funkcijska ostanka:f0(x2, x3) = x2x3 ‚ x2x3f1(x2, x3) = x2x3 ‚ x2x3 ‚ x2x3

    Lo�imo funkcijski ostanek f0(x2, x3) öe po x2:f0(x2, x3) = (0x3 ‚ 0x3)x2 ‚ (1x3 ‚ 1x3)x2

    = x3x2 ‚ x3x2

    Pri tem dobimo funkcijska ostanka:f00(x3) = x3f01(x3) = x3

    Lo�imo funkcijski ostanek f1(x2, x3) öe po x2:f1(x2, x3) = (0x3 ‚ 0x3 ‚ 0x3)x2 ‚ (1x3 ‚ 1x3 ‚ 1x3)x2

    = x3x2 ‚ (x3 ‚ x3)x2= x3x2 ‚ 1x2

    Pri tem dobimo funkcijska ostanka:f10(x3) = x3f11(x3) = 1

    7.2 MultiplekserMultiplekser spada v druûino strukturalnih preklopnih vezij. Multiplekser imadva niza vhodnih spremenljivk, in sicer naslovne spremenljivke na naslovnihvhodih (An, An≠1, ..., A0) in podatkovne spremenljivke na podatkovnih vhodih(I0, I1, ..., I2n≠1). Na podlagi vrednosti naslovnih spremenljivk se izbere podat-kovni vhod, ki se bo preslikal na izhod multiplekserja. Multiplekser v kombinaciji skonstanto 0 ali 1 predstavlja funkcijsko poln sistem - z njim oziroma s kombinacijove� multiplekserjev lahko realiziramo poljubno logi�no funkcijo.

    Multiplekser v odvisnosti od vrednosti naslovnih vhodov na izhod preslika enegaizmed podatkovnih vhodov. Natan�neje, na izhod se preslika podatkovni vhod zindeksom, ki je enak desetiökemu zapisu vrednosti na naslovnih vhodih. Sploönodelovanje multiplekserja prikazuje tabela 7.1.

    Multiplekser z n naslovnimi spremenljivkami ozna�ujemo kot MUX 2n/1. Reali-zacijo funkcije z multiplekserjem praviloma podajamo z logi�no shemo. Sploönologi�no shemo za multiplekser MUX 2n/1 prikazuje slika 7.1.

  • 7.3 Realizacija preklopnih funkcij z multiplekserji 41

    An≠1 An≠2 ... A0 f0 0 ... 0 I00 0 ... 1 I1. . ... . .. . ... . .. . ... . .1 1 ... 0 I2n≠21 1 ... 1 I2n≠1

    Tabela 7.1 Sploöno delovanje multiplekserja MUX 2n/1.

    Slika 7.1 Sploöna logi�na shema za multiplekser MUX 2n/1.

    7.3 Realizacija preklopnih funkcij z multiplekserji

    Z uporabo konstant 0 in 1 in multiplekserja MUX 2n/1 lahko realiziramo poljubnopreklopno funkcijo z n+1 vhodnimi spremenljivkami. Realizacija funkcij z uporabomultiplekserjev z manjöim ötevilom naslovnih vhodov poteka z drevesno oziromakaskadno vezavo multiplekserjev.

    Realizacija preklopnih funkcij z multiplekserji poteka na podlagi lo�enja. Funkcijolo�imo preko vhodnih spremenljivk, ki jih veûemo na naslovne vhode, na podatkov-nih vhodih pa realiziramo funkcijske ostanke.

    V nadaljevanju bomo demonstrirali realizacijo funkcije f(x1, x2, x3) = ‚3(0, 2, 5, 6, 7)

  • 42 Poglavje 7 Priprava na 7. laboratorijske vaje

    z multiplekserji razli�nih velikosti.

    7.3.1 ätevilo vhodnih spremenljivk je enako ötevilu naslovnih vhodovmultiplekserja

    Na razpolago imamo konstanti 0 in 1 in multiplekser, ki ima enako ötevilo naslovnihvhodov, kot je ötevilo vhodnih spremenljivk preklopne funkcije. V tem primeruna naslovne vhode veûemo funkcijske vrednosti v enakem vrstnem redu kot tinastopajo v pravilnostni tabeli, na naslovne vhode pa vhodne spremenljivke - pravtako v enakem vrstnem redu kot nastopajo v pravilnostni tabeli. Funkcijo torejlo�imo preko vseh vhodnih spremenljivk, zato lahko vse funkcijske ostanke izrazimos konstantami 0 in 1.

    Zgled 22 Realiziraj funkcijo ‚3(0, 2, 5, 6, 7) z MUX 8/1.

    Reöitev 22 V prvem koraku zapiöemo pravilnostno tabelo funkcije.

    x1 x2 x3 f(x1, x2, x3)0 0 0 10 0 1 00 1 0 10 1 1 01 0 0 01 0 1 11 1 0 11 1 1 1

    V drugem koraku na podatkovne vhode veûemo funkcijske vrednosti v enakem vrstnemredu kot ti nastopajo v pravilnostni tabeli, na naslovne vhode pa vhodne spremenljivke- prav tako v enakem vrstnem redu kot nastopajo v pravilnostni tabeli (glej sliko7.2).

    7.3.2 ätevilo vhodnih spremenljivk je za 1 ve�je od ötevila naslovnihvhodov multiplekserja

    Na razpolago imamo konstanti 0 in 1 in multiplekser, ki ima ötevilo naslovnih vhodovza 1 manjöe, kot je ötevilo vhodnih spremenljivk preklopne funkcije. Funkcijo lo�imopo spremenljivkah glede na njihov vrstni red od leve proti desni. Iz tega sledi, daskrajno leve vhodne spremenljivke veûemo na naslovne vhode multiplekserja (najboljlevo spremenljivko na naslovni vhod z najviöjim indeksom). Na podatkovnih vhodihrealiziramo funkcijski ostanek, ki ga lahko vedno izrazimo z najmanj pomembnovhodno spremenljivko, njeno negacijo, konstanto 0 in konstanto 1.

  • 7.3 Realizacija preklopnih funkcij z multiplekserji 43

    Slika 7.2 Realizacija 3-vhodne funkcije z multiplekserjem MUX 8/1.

    Zgled 23 Realiziraj funkcijo ‚3(0, 2, 5, 6, 7) z MUX 4/1.

    Reöitev 23 V prvem koraku zapiöemo pravilnostno tabelo funkcije.

    x1 x2 x3 f(x1, x2, x3)0 0 0 1

    I0 = x30 0 1 00 1 0 1

    I1 = x30 1 1 01 0 0 0

    I2 = x31 0 1 11 1 0 1

    I3 = 11 1 1 1

    V drugem koraku na naslovne vhode veûemo najpomembnejöe spremenljivke (vnaöem primeru x1 in x2). V naöem primeru na vhod A1 veûemo x1, na vhod A2 pax2. S tem funkcijo lo�imo preko spremenljivk x1 in x2. S pomo�jo spremenljivke, kije ostala, uporabe negacij, konstante 0 in 1, realiziramo funkcijske ostanke lo�enja,ki jih veûemo na podatkovne vhode (glej sliko 7.3).

  • 44 Poglavje 7 Priprava na 7. laboratorijske vaje

    Slika 7.3 Realizacija 3-vhodne funkcije z multiplekserjem MUX 4/1.

    7.3.3 ätevilo vhodnih spremenljivk je za ve� kot 1 ve�je od ötevilanaslovnih vhodov multiplekserja

    �e je ötevilo vhodnih spremenljivk funkcije za ve� kot za 1 ve�je od ötevila naslovnihvhodov multiplekserja, moramo za realizacijo uporabiti ve�je ötevilo multiplekserjev,ki jih med seboj veûemo v drevesno (kaskadno) vezavo. Ponavadi funkcijo lo�imopo najpomembnejöih spremenljivkah, ni pa to pravilo. V tem primeru za�nemo zvezavo najpomembnejöih spremenljivk na naslovne vhode zadnjega multiplekserjav kaskadi.

    Zgled 24 Realiziraj funkcijo ‚3(0, 2, 5, 6, 7) z MUX 2/1.

    Reöitev 24 V prvem koraku zapiöemo pravilnostno tabelo in funkcijo

    • najprej lo�imo po x1,

    • zgornji del (funkcijski ostanek pri x1 = 0) lahko izrazimo z x3,

    • spodnji del (funkcijski ostanek pri x1 = 1) lo�imo öe po x2 (zgornji del, t.j.funkcijski ostanek pri x2 = 0, lahko izrazimo z x3, spodnji del, t.j. funkcijskiostanek pri x2 = 1, pa s konstanto 1).

    Ostanke pri lo�enju smo izra�unali ûe v zgledu 21.

  • 7.3 Realizacija preklopnih funkcij z multiplekserji 45

    x1 x2 x3 f(x1, x2, x3)0 0 0 1

    x30 0 1 00 1 0 10 1 1 01 0 0 0

    x31 0 1 11 1 0 1 11 1 1 1

    V drugem koraku nariöemo shemo realizacije. Ker smo tabelo najprej lo�ili po x1, x1uporabimo kot naslovni vhod zadnjega multiplekserja v kaskadi. Funkcijski ostanekf0 po x1 lahko izrazimo z x3 – x3 veûemo na podatkovni vhod I0 multiplekserja.Spodnjega dela, ki predstavlja funkcijski ostanek f1 po x1, ne moremo izraziti naenostaven na�in, zato ga lo�imo öe po spremenljivki x2 in za njegovo realizacijouporabimo dodaten multiplekser MUX 2/1. Le-tega veûemo na vhod I1 zadnjegamultiplekserja v kaskadi. Na naslovni vhod dodatnega multiplekserja veûemo spre-menljivko x2. Funkcijski ostanek f0 lo�enja po x2 lahko izrazimo z x3, ostanek f1 pas konstanto 1 - razvidno iz tabele. Na podatkovni vhod I0 dodatnega multiplekserjatorej veûemo x3, na vhod I1 pa konstanto 1. Realizacijo prikazuje slika 7.4.

    Slika 7.4 Realizacija 3-vhodne preklopne funkcije z dvema multiplekserjema MUX 2/1.

  • 8 Priprava na 8. laboratorijske vaje

    8.1 Sekven�na vezjaDo zdaj smo obravnavali kombinatorna vezja, ki ne omogo�ajo pomnjenja. Po-mnjenje je (obi�ajno) realizirano z uporabo sinhronih pomnilnih celic (z uporabo npomnilnih celic lahko realiziramo pomnjenje 2n razli�nih vrednosti). Izhod sinhro-nih pomnilnih celic se spreminja ob dolo�eni (pozitivni ali negativni) fronti urinegasignala (angl. clock) – sinhronizacija z urinim signalom (glej sliko 8.1). Sekven�navezja so vezja, ki so sestavljena iz kombinatornega dela in pomnilnih celic (glejsliko 8.2).

    Slika 8.1 �asovni potek vzor�nega primera urinega signala. Puö�ica navzgor ozna�ujepozitivno (prehod iz 0 v 1), puö�ica navzdol pa negativno fronto (prehod iz 1 v 0). Slikaprikazuje tri periode urinega signala.

    kombinatornovezje

    pomnilnecelice

    x y

    D y-1

    y

    Slika 8.2 Struktura sekven�nih vezij.

    8.2 Sploöna pomnilna ena�baVsako sekven�no vezje lahko zapiöemo s sploöno pomnilno ena�bo:

    D1qi = qigi,1 ‚ qigi,2,

    47

  • 48 Poglavje 8 Priprava na 8. laboratorijske vaje

    pri �emer je

    • qi: ena izmed preklopnih spremenljivk, ki opisuje notranje stanje sekven�negavezja

    • Dkqi: vrednost spremenljivke qi po k �asovnih korakih

    • gi,1 in gi,2: preklopni funkciji, odvisni od vhodnih spremenljivk x = {x1, x2, ..., xn}.

    Novo notranje stanje sekven�nega vezja je torej dolo�eno s trenutnim notranjimstanjem vezja in s stanjem zunanjih vhodov. Notranje stanje se spremeni obpozitivni ali negativni fronti urinega signala. Izbrana fronta je za celotno vezjevedno enaka, s �imer sekven�ne komponente v vezju med seboj sinhroniziramo.

    8.3 Enostavne pomnilne celice8.3.1 RS pomnilna celica (Reset Set)RS pomnilna celica je najenostavnejöa celica, katere delovanje lahko opiöemo zena�bo

    D1q = qr ‚ s,pri �emer r in s predstavljata zunanja vhoda v celico. Kot nakaûejo ûe imenavhodov, vhod r (reset) izhod pomnilne celice postavi na 0, vhod s (set) pa na1. �e sta oba vhoda enaka 0, se izhod pomnilne celice ohranja (pomni). Zapravilno delovanje celice mora veljati pogoj rs = 0 (vhoda ne smeta biti isto�asno1). Delovanje RS pomnilne celice lahko ponazorimo s Tabelo 8.1.

    r s D1q0 0 q0 1 11 0 01 1 x

    q D1q r s0 0 ? 00 1 0 11 0 1 01 1 0 ?

    (a) (b)Tabela 8.1 Tabela (a) prikazuje izhod RS pomnilne celice v naslednjem �asovnemkoraku v odvisnosti od trenutnih vhodov, (b) pa stanja vhodov, s katerimi pridemo doûelenega izhoda v naslednjem �asovnem koraku (vzbujevalna tabela). Pri tem x prikazujenedefiniran izhod oziroma nedovoljeno kombinacijo vhodov.

    Logi�na simbola RS pomnilne celice sta prikazana na sliki 8.3.

  • 8.3 Enostavne pomnilne celice 49

    Clock

    r

    s

    RS

    q

    q

    Clock RS

    q

    q

    r

    s

    (a) (b)Slika 8.3 Logi�na simbola RS pomnilne celice, pri �emer je celica na sliki (a) sinhronizi-rana s pozitivno fronto urinega signala, celica na sliki (b) pa z negativno fronto.

    8.3.2 JK pomnilna celica (Jump Kill)

    JK pomnilna celica predstavlja razöiritev RS pomnilne celice. Njeno delovanjelahko opiöemo z ena�bo

    D1q = qk ‚ qj,

    kjer sta j in k zunanja vhoda. �e je vsaj eden izmed vhodnih signalov j in k enak0, je njeno delovanje enako delovanju RS pomnilne celice. Pri tem ima signal j(jump) enako vlogo kot signal s, signal k (kill) pa enako vlogo kot signal r RSpomnilne celice. Pri JK pomnilni celici je kombinacija vhodov jk = 1 dovoljena.�e postavimo oba vhoda na 1, se izhod pomnilne celice (q) ob urini fronti zamenja(q). Delovanje JK pomnilne celice lahko ponazorimo s Tabelo 8.2.

    k j D1q0 0 q0 1 11 0 01 1 q

    q D1q k j0 0 ? 00 1 ? 11 0 1 ?1 1 0 ?

    (a) (b)Tabela 8.2 Tabela (a) prikazuje izhod JK pomnilne celice v naslednjem �asovnem korakuv odvisnosti od trenutnih vhodov, (b) pa stanja vhodov, s katerimi pridemo do ûelenegaizhoda v naslednjem �asovnem koraku (vzbujevalna tabela).

    Logi�na simbola JK pomnilne celice sta prikazana na sliki 8.4.

  • 50 Poglavje 8 Priprava na 8. laboratorijske vaje

    Clock

    k

    j

    JK

    q

    q

    Clock

    k

    j

    JK

    q

    q

    (a) (b)Slika 8.4 Logi�na simbola JK pomnilne celice, pri �emer je celica na sliki (a) sinhronizi-rana s pozitivno fronto urinega signala, celica na sliki (b) pa z negativno fronto.

    8.3.3 T pomnilna celica (Trigger)T pomnilna celica ob fronti urinega signala spreminja izhod v primeru, da je zunanjivhod t postavljen na 1, sicer pa se vrednost izhoda ohranja. Njeno delovanje lahkoopiöemo z ena�bo

    D1q = qt ‚ qt,kjer je t zunanji vhod. Delovanje T pomnilne celice lahko ponazorimo s Tabelo 8.3.

    t D1q0 q1 q

    q D1q t0 0 00 1 11 0 11 1 0

    (a) (b)Tabela 8.3 Tabela (a) prikazuje notranje izhod T pomnilne celice v naslednjem �asovnemkoraku v odvisnosti od vrednosti vhoda, (b) pa vrednost vhoda, s katero pridemo doûelenega izhoda v naslednjem �asovnem koraku (vzbujevalna tabela).

    Logi�na simbola T pomnilne celice sta prikazana na sliki 8.5.

  • 8.4 Realizacija sekven�nih vezij s pomnilnimi celicami 51

    Clock

    t q

    q

    T Clock T

    q

    q

    t

    (a) (b)Slika 8.5 Logi�na simbola T pomnilne celice, pri �emer je celica na sliki (a) sinhroniziranas pozitivno fronto urinega signala, celica na sliki (b) pa z negativno fronto.

    8.3.4 D pomnilna celica (Delay)

    D pomnilna celica ob fronti urinega signala postavi svoj izhod na vrednost vhodnegasignala. Njeno delovanje si lahko torej interpretiramo kot zakasnitev vhodnegasignala d. Opiöemo ga lahko z ena�bo

    D1q = d.

    Delovanje D pomnilne celice lahko ponazorimo s Tabelo 8.4.

    d D1q0 01 1

    q D1q d0 0 00 1 11 0 01 1 1

    (a) (b)Tabela 8.4 Tabela (a) prikazuje izhod D pomnilne celice v naslednjem �asovnem korakuv odvisnosti od vrednosti vhoda, (b) pa vrednost vhoda, s katero pridemo do ûelenegaizhoda v naslednjem �asovnem koraku (vzbujevalna tabela).

    Logi�na simbola D pomnilne celice sta prikazana na sliki 8.6.

    8.4 Realizacija sekven�nih vezij s pomnilnimi celicamiPodano imamo sekven�no vezje in tip pomnilnih celic, ki jih lahko uporabimo zanjegovo realizacijo. Naö cilj je dolo�itev kombinatornega dela vezja, ki bo vhodnespremenljivke prilagodil delovanju danih pomnilnih celic na tak na�in, da bo izhod

  • 52 Poglavje 8 Priprava na 8. laboratorijske vaje

    Clock

    d q

    q

    D Clock

    q

    q

    d

    D

    (a) (b)Slika 8.6 Logi�na simbola D pomnilne celice, pri �emer je celica na sliki (a) sinhroniziranas pozitivno fronto urinega signala, celica na sliki (b) pa z negativno fronto.

    pomnilnih celic odraûal delovanje podanega sekven�nega vezja. Postopek realizacijebomo demonstirali na zgledu.

    Zgled 25 S pomo�jo JK pomnilne celice realiziraj M celico, ki deluje po ena�biD1q = q(x © y) ‚ q y.

    Reöitev 25 Osnutek sheme realizacije prikazuje slika 8.7. Dolo�iti je torej po-trebno kombinatorni del vezja: k(x, y, q) in j(x, y, q).

    Clock

    yx k(x,y,q)

    j(x,y,q)

    k

    j

    JK

    q

    M

    Slika 8.7 Shema realizacije celice M, pri �emer k(x, y, q) dolo�a kombinatorno vezje navhodu k, j(x, y, q) pa kombinatorno vezje na vhodu j JK pomnilne celice.

    V prvem koraku v tabeli zapiöemo funkcijo, ki dolo�a delovanje sekven�nega vezja.Pri tem so neodvisne spremenljivke x, y in q, odvisna spremenljivka pa je D1q:

  • 8.4 Realizacija sekven�nih vezij s pomnilnimi celicami 53

    x y q D1q0 0 0 10 0 1 10 1 0 00 1 1 01 0 0 11 0 1 01 1 0 01 1 1 1

    Na podlagi prehodov iz q v D1q in na podlagi vzbujevalne tabele JK pomnilne celice(glej Tabelo 8.2 (b)) lahko dolo�imo vrednosti, ki morajo biti na vhodih k in j priposamezni kombinaciji:

    x y q D1q k j0 0 0 1 ? 10 0 1 1 0 ?0 1 0 0 ? 00 1 1 0 1 ?1 0 0 1 ? 11 0 1 0 1 ?1 1 0 0 ? 01 1 1 1 0 ?

    Funkciji k(x, y, q) in j(x, y, q) izrazimo z vhodnimi spremenljivkami x, y in q. Pritem si lahko pomagamo z Veitchevim diagramom:

    ? 0

    ? 1

    1 ?

    0 ?

    y

    q

    x

    0 ?

    1 ?

    y ? 0

    ? 1

    q

    x

    k(x, y, q) = x y ‚ x y j(x, y, q) = y

    Funkciji realiziramo v shemi, ki jo prikazuje slika 8.7.

  • 9 Priprava na 9. laboratorijske vaje

    9.1 Moorov in Mealyjev kon�ni avtomatKon�ni avtomat (angl. Finite State Machine) je dolo�en s peterico

    A = {X, S, Z, ”, ⁄},kjer je

    • X – vhodna abeceda: kon�na neprazna mnoûica moûnih vhodov v avtomatoziroma mnoûica vhodnih �rk,

    • S – notranja abeceda: kon�na neprazna mnoûica moûnih stanj avtomata,

    • Z – izhodna abeceda: kon�na neprazna mnoûica moûnih izhodov avtomataoziroma izhodnih �rk,

    • ” – funkcija prehajanja notranjih stanj: funkcija, ki v odvisnosti od trenutnegastanja in vhodne �rke dolo�a naslednje stanje avtomata,

    • ⁄ – izhodna funkcija: funkcija, ki dolo�a izhodno �rko avtomata v odvisnostiod trenutnega stanja avtomata (Moorov avtomat) oziroma v odvisnosti odtrenutnega stanja in vhodne �rke avtomata (Mealyjev avtomat).

    Avtomate navadno podajamo tabelari�no s tabelo prehajanja stanj ali grafi�no zdiagramom prehajanja stanj. V tabeli prehajanja stanj podajamo naslednje stanjein izhodno �rko avtomata v odvisnosti od trenutnega stanja (zgornja vrstica tabele)in vhodne �rke avtomata (levi stolpec tabele) kot prikazuje spodnja tabela.

    izhodna �rka (Moore)trenutno stanje

    vhod

    na�r

    ka

    naslednje stanje

    +

    izhodna �rka (Mealy)

    55

  • 56 Poglavje 9 Priprava na 9. laboratorijske vaje

    Diagram prehajanja stanj je podan z usmerjenim grafom, katerega vozliö�a do-lo�ajo stanja avtomata, povezave med vozliö�i pa opisujejo prehode med stanjiob prisotnosti vhodnih �rk. V primeru Moorovega avtomata stanjem pripiöemoizhodno �rko, ki pa je v primeru Mealyjevega avtomata vezana na prehode medstanji.

    Zgled 26 Nariöi diagram prehajanja stanj za Moorov avtomat, ki je podan s slede�otabelo prehajanja stanj

    z1 z1 z2S1 S2 S3

    x1 S1 S2 S1x2 S2 S3 S1

    Kaköno je zaporedje izhodnih �rk (izhodna beseda), ki jo avtomat vrne pri zaporedjuvhodnih �rk (vhodni besedi) x1x1x2x2x2x2x1 in za�etnem stanju S1?

    Reöitev 26Najprej zapiöimo vse tri abecede avtomata:

    • X = {x1, x2},

    • S = {S1, S2, S3},

    • Z = {z1, z2}.

    Diagram prehajanja stanj ima torej tri vozliö�a, iz vsakega vozliö�a pa vodita najve�dve povezavi (za vsako vhodno �rko ena):

    S1

    z1

    S2

    z1

    S3

    z2

    x2

    x2x1, x2

    x1 x1

    Simulirajmo öe delovanje avtomata pri vhodni besedi x1x1x2x2x2x2x1 in za�etnemstanju S1 z uporabo spodnje tabele:

  • 9.1 Moorov in Mealyjev kon�ni avtomat 57

    vhodna �rka x1 x1 x2 x2 x2 x2 x1stanje S1 S1 S1 S2 S3 S1 S2 S2

    izhodna �rka z1 z1 z1 z2 z1 z1 z1

    Izhodna beseda je torej z1z1z1z2z1z1z1.

    Zgled 27 Nariöi diagram prehajanja stanj in zapiöi tabelo prehajanja stanj Moo-rovega avtomata, ki nadzira odpiranje kroûnih vrat. Mehanizem drûi vrata zaprta,dokler avtomat ne zazna, da je bil vstavljen kovanec. V tem primeru avtomatmehanizmu javi, da lahko sprosti zaporo vrat. Ko avtomat zazna prehod skozi vrata,ta javi mehanizmu, naj zapre vrata.

    Reöitev 27 Avtomat bo imel dve stanji, in sicer stanje, v katerem drûi vrata zaprta(S1) in ima tako izhodno �rko close, in stanje, v katerem so vrata odprta (S2) inima tako izhodno �rko open. Prehod iz S1 v S2 bomo izvedli, ko avtomat detektira,da je bil vstavljen kovanec (vhodna �rka coin), prehod iz S2 v S1 pa, ko avtomatdetektira prehod skozi vrata (vhodna �rka push).

    S1

    close

    S2

    open

    coin

    push

    push coin

    Zapiöimo öe tabelo prehajanja stanj avtomata:

    close openS1 S2

    coin S2 S2push S1 S1

    Zgled 28 Za Mealyjev avtomat podan z diagramom prehajanja stanj zapiöi tabeloprehajanja stanj.

    S1 S2

    S3

    x2/z1

    x2/z2x1/z1, x2/z1

    x1/z1 x1/z1

  • 58 Poglavje 9 Priprava na 9. laboratorijske vaje

    Kaköno je zaporedje izhodnih �rk (izhodna beseda), ki jo avtomat vrne pri zaporedjuvhodnih �rk (vhodni besedi) x1x1x2x2x2x2x1 in za�etnem stanju S1?

    Reöitev 28 Abecede avtomata so enake kot pri Moorovem avtomatu iz zgleda 26.Zapiöimo tabelo prehajanja stanj:

    S1 S2 S3x1 S1/z1 S2/z1 S1/z1x2 S2/z1 S3/z2 S1/z1

    Simulirajmo öe delovanje avtomata pri vhodni besedi x1x1x2x2x2x2x1 in za�etnemstanju S1 z uporabo spodnje tabele:

    vhodna �rka x1 x1 x2 x2 x2 x2 x1stanje S1 S1 S1 S2 S3 S1 S2 S2

    izhodna �rka z1 z1 z1 z2 z1 z1 z1

    Izhodna beseda je torej z1z1z1z2z1z1z1.

    Avtomat pri enakih pogojih generira enako izhodno abecedo kot Moorov avtomat izzgleda 26. Podrobnejöa analiza bi pokazala, da sta si avtomata ekvivalentna.

    Zgled 29 Nariöi öe Mealyjev avtomat v skladu z navodili iz zgleda 27.

    Reöitev 29 V primeru Mealyjevega avtomata lahko avtomat z enim samim stanjemgenerira obe izhodni �rki (open in close). Diagram prehajanja stanj ima tako slede�oobliko:

    S1 push/closecoin/open

    Zapiöimo öe tabelo prehajanja stanj avtomata:

    S1coin S1/openpush S1/close

  • 9.2 Pretvorbe med avtomati 59

    9.2 Pretvorbe med avtomatiKot smo videli ûe v prejönjih zgledih imata lahko dva avtomata razli�nega tipa(Moore in Mealy) popolnoma enako delovanje in sta si tako ekvivalentna (izjema jeza�etna izhodna �rka, saj Mealyjev avtomat le-to zgenerira öele pri prvem prehodu,pri Moorovem avtomatu pa je izhodna �rka vedno prisotna). V sploönem velja, daza vsak Moorov avtomat obstaja vsaj en njegov Melyjev ekvivalent in obratno.Pretvorbo iz Melyjevega avtomata v Moorovega lahko izvedemo po slede�empostopku:

    1. Mealyjev avtomat zapiöemo tabelari�no.

    2. Zapiöemo vse tri abecede Moorovega avtomata, pri �emer se vhodna inizhodna abecedi ohranjata, notranjo abeceda pa tvorimo s pari notranjestanje/izhodna �rka, ki se pojavijo znotraj tabele Mealyjevega avtomata.

    3. Zapiöemo tabelo Moorovega avtomata, v kateri nastopajo vsa stanja, ki smojih definirali v prejönjem koraku. Izhodna �rka za stanje je dolo�ena z izhodno�rko, katere oznaka nastopa pri posameznem stanju. Prehodi med stanji sodolo�eni s prehodi med ekvivalentimi stanji v Mealyjevem avtomatu,

    Zgled 30 Mealyjev avtomat, podan s spodnjim diagramom, pretvori v Moorovavtomat.

    S1 S2

    x2/z1

    x1/z2

    x1/z1 x2/z1

    Reöitev 30 Podan Mealyjev avtomat zapiöemo tabelari�no:

    S1 S2x1 S1/z1 S1/z2x2 S2/z1 S2/z1

    Notranjo abecedo Moorovega avtomata tvorijo pari naslednje stanje/izhodna �rkaMealyjevega avtomata, ki se pojavijo znotraj tabele prehajanja stanj. Notranjaabeceda je torej: S1/z1, S1/z2, S2/z1 (opomba: stanje S2/z2 lahko izpustimo, kerse v tabeli ne pojavi – predpostavljamo, da to stanje ni za�etno stanje avtomata).Zaradi laûjega zapisa stanja preimenujemo v: S11, S12, S21. Vhodna in izhodnaabeceda ostaneta enaki.

  • 60 Poglavje 9 Priprava na 9. laboratorijske vaje

    Na podlagi delovanja Melyjevega avtomata lahko tako zapiöemo tabelo Moorovegaavtomata:

    z1 z2 z1S11 S12 S21

    x1 S11 S11 S12x2 S21 S21 S21

    In ga nariöemo.

    S12

    z2

    S21

    z1

    S11

    z1

    x2

    x1

    x2

    x1

    x1 x2

    Po podobnem postopku lahko izvedemo pretvorbo Moorovega v Mealyjev avtomat:

    1. Moorov avtomat zapiöemo tabelari�no.

    2. Zapiöemo vse tri abecede Mealyjevega avtomata, ki so kar enake abecedamMoorovega avtomata.

    3. Zapiöemo tabelo Mealyjevega avtomata, pri �emer je naslednje stanje enakokot pri Moorovem avtomatu, izhodna �rka pa je dolo�ena z izhodno �rkostanja Moorovega avtomata, v katerega bo avtomat z dolo�eno kombinacijostanje/vhodna �rka priöel.

    Zgled 31 Moorov avtomat, ki predstavlja reöitev prejönjega zgleda, pretvori vMealyjev avtomat.

    Reöitev 31 Pretvorimo dobljeni Moorov avtomat nazaj v Mealyjevega. Vse triabecede se ohranjajo. Zapiöimo tabelo prehajanja stanj:

  • 9.2 Pretvorbe med avtomati 61

    S11 S12 S21x1 S11/z1 S11/z1 S12/z2x2 S21/z1 S21/z1 S21/z1

    Dobili smo avtomat s tremi notranji stanji, ki je enakovreden prvotnemu Mealy-jevemu avtomatu z dvema stanjema. Stanji S11 in S12 sta enaki tako po izhodnih�rkah kot tudi po prehodih. Stanji lahko tako zakodiramo zgolj z enim notranjimstanjem – recimo mu stanje S1. Stanje S21 preimenujmo, da bo zapis avtomatabolj pregleden – recimo mu stanje S2. Nad stanji avtomata tako izvedemo slede�opreslikavo: S11 æ S1S12 æ S1S21 æ S2

    Tako dobimo avtomat, ki je enak izhodiö�nemu:

    S1 S2x1 S1/z1 S1/z2x2 S2/z1 S2/z1

  • 10 Priprava na 10. laboratorijske vaje

    10.1 Realizacija kon�nih avtomatov s pomnilnimi celicami(Moorov avtomat)

    Z uporabo logi�nih vrat in pomnilnih celic ûelimo realizirati Moorov avtomat.Postopek realizacije je sestavljen iz slede�ih korakov:

    1. Zapis kodirnih tabel: vhodna abeceda, notranja abeceda in izhodna abeceda sopredstavljene z abstraktnim zapisom. Za realizacijo s preklopnimi funkcijamimoramo le-te predstaviti s preklopnimi spremenljivkami. Pri tem upoötevamodejstvo, da lahko z i vhodnimi spremenljivkami zakodiramo 2i vhodnih �rk, zj izhodnimi spremenljivkami 2j izhodnih �rk, s k pomnilnimi celicami pa 2knotranjih stanj. S kodiranimi tabelami poveûemo posamezne spremenljivkeoziroma notranja stanja pomnilnih celic s posameznimi �rkami oziroma stanjiavtomata.

    2. Zapis pravilnostne tabele avtomata: na podlagi diagrama prehajanja stanjoziroma tabele prehajanja stanj in kodirnih tabel, lahko zapiöemo pravilnostnotabelo avtomata. Pri tem na levi strani tabele nastopajo spremenljivke,ki dolo�ajo vhodne �rke in trenutna notranja stanja avtomata (neodvisnespremenljivke), na desni strani pa spremenljivke, ki dolo�ajo notranje stanjeavtomata v naslednjem �asovnem koraku in spremenljivke, ki dolo�ajo izhodne�rke avtomata (odvisne spremenljivke).

    3. Dolo�itev vhodov v pomnilne celice: na podlagi prehodov med spremenljiv-kami, ki dolo�ajo trenutno stanje avtomata in stanje avtomata v naslednjem�asovnem koraku ter vzbujevalnih tabel pomnilnih celic, ki jih imamo na raz-polago, lahko dolo�imo potrebne vhode v pomnilne celice v posamezni vrstici(tabelo dopolnimo na podoben na�in kot smo jo pri realizaciji sekven�nihvezij s pomnilnimi celicami).

    4. Izpis in minimizacija izhodne funkcije in funkcije prehajanja stanj: na podlagipravilnostne tabele lahko s pomo�jo Veitchevega diagrama izpiöemo preklopnefunkcije, ki dolo�ajo izhodne �rke avtomata (izhodna funkcija) in preklopne

    63

  • 64 Poglavje 10 Priprava na 10. laboratorijske vaje

    funkcije, ki nastopajo na vhodih pomnilnih celic in tako dolo�ajo prehodemed stanji avtomata (funkcija prehajanja stanj)

    Zgled 32 Z uporabo T pomnilnih celic in poljubnih logi�nih vrat realiziraj Moorovavtomat, ki je podan z diagramom prehajanja stanj.

    S1

    z2

    S2

    z1

    x1

    x2

    x2 x1

    Reöitev 32 Postopek je slede�:

    1. Zapiöemo kodirne tabele, ki dolo�ijo kodiranje vhodne abecede, notranje abecedein izhodne abecede. Za zapis vseh �rk vhodne abecede je dovolj ena vhodnaspremenljivka (x); prav tako je za zapis vseh �rk izhodne abecede dovolj enaizhodna spremenljivka (y). Ker imamo zgolj dve notranji stanji avtomata, jeza njegovo realizacijo potrebna ena pomnilna celica T z notranjim stanjem q.Kodirne tabele so torej

    xx1 0x2 1

    qS1 0S2 1

    yz1 0z2 1

    2. Na podlagi kodirnih tabel in podanega diagrama prehajanja stanj lahko zapi-öemo pravilnostno tabelo avtomata. Pri tem na levi strani tabele nastopajospremenljivke, ki dolo�ajo trenutno notranje stanje avtomata (q) in vhodno�rko (x), na desni pa spremenljivke, ki dolo�ajo notranje stanje avtomata vnaslednjem �asovnem koraku (D1q) in izhodno �rko (y):

    q x D1q y0 0 1 10 1 0 11 0 1 01 1 0 0

  • 10.1 Realizacija kon�nih avtomatov s pomnilnimi celicami (Moorov avtomat) 65

    3. Na podlagi prehodov med spremenljivkami q in D1q in vzbujevalne tabele zaT pomnilno celico, lahko dolo�imo vrednosti, ki morajo biti na vhodu t priposamezni kombinaciji vhodnih spremenljivk:

    q x D1q y t0 0 1 1 10 1 0 1 01 0 1 0 01 1 0 0 1

    4. Na podlagi pravilnostne tabele lahko s pomo�jo Veitchevega diagrama izpiöemofunkcijo, ki nastopa na vhodu T pomnilne celice in izhodno funkcijo avtomata:

    1 0

    q

    0 1

    x 0 1

    q

    0 1

    x

    t = x q ‚ xq = x © q y = q

    �e funkcijo na vhodu T pomnilne celice vstavimo v ena�bo T pomnilne celice(D1q = tq ‚ tq), dobimo funkcijo prehajanja stanj avtomata:

    D1q = (x © q)q ‚ (x © q)q = (x © q)q ‚ (xÒq)q

    Po definiciji velja, da je izhodna �rka Moorovega avtomata dolo�ena s tre-nutnim stanjem avtomata. Velja torej, da je izhodno �rko pri Moorovemavtomatu vedno mogo�e izraziti zgolj s spremenljivkami, ki dolo�ajo trenutnostanje avtomata (v naöem primeru y = q).

    Realizacijo avtomata v Logisimu prikazuje slika 10.1.

  • 66 Poglavje 10 Priprava na 10. laboratorijske vaje

    Slika 10.1 Realizacija avtomata iz zgleda v Logisimu.

    Zgled 33 Z uporabo D pomnilnih celic realiziraj Moorov avtomat, podan s tabelo

    z1 z2 z3S1 S2 S3

    x1 S1 S1 S1x2 S2 S3 S2

    Reöitev 33 Postopek je slede�:

    1. Za zapis dveh �rk vhodne abecede je dovolj ena vhodna spremenljivka (x). Kerima izhodna abeceda tri �rke, za njen zapis potrebujemo dve spremenljivki (y1in y2). Ker imamo tri notranja stanja avtomata, sta za njegovo realizacijopotrebni dve pomnilni celici D z notranjimi stanji q1 in q2. Kodirne tabele sotorej

    xx1 0x2 1

    q1 q2S1 0 0S2 0 1S3 1 0

    y1 y2z1 0 0z2 0 1z3 1 0

    2. Zapiöemo pravilnostno tabelo avtomata (ko je q1 = 1 in q2 = 1, funkcijskavrednost ni dolo�ena):

    q1 q2 x D1g1 D1g2 y1 y20 0 0 0 0 0 00 0 1 0 1 0 00 1 0 0 0 0 10 1 1 1 0 0 11 0 0 0 0 1 01 0 1 0 1 1 01 1 0 ? ? ? ?1 1 1 ? ? ? ?

  • 10.1 Realizacija kon�nih avtomatov s pomnilnimi celicami (Moorov avtomat) 67

    3. Na podlagi prehodov iz spremenljivke q1 v D1q1 ter prehodov iz spremenljivkeq2 v D1q2, lahko dolo�imo vrednosti, ki morajo biti na vhodu D pomnilnih celic(pomnilna celica z vhodom d1 bo hranila notranje stanje q1, celica z vhodomd2 pa q2):

    q1 q2 x D1g1 D1g2 y1 y2 d1 d20 0 0 0 0 0 0 0 00 0 1 0 1 0 0 0 10 1 0 0 0 0 1 0 00 1 1 1 0 0 1 1 01 0 0 0 0 1 0 0 01 0 1 0 1 1 0 0 11 1 0 ? ? ? ? ? ?1 1 1 ? ? ? ? ? ?

    4. Dolo�imo funkcije za realizacijo:

    ? ?

    0 0

    q2 1 0

    0 0

    x

    q1

    ? ?

    0 1

    q2 0 0

    1 0

    x

    q1

    d1 = q2x d2 = q2x

    ? ?

    1 1

    q2 0 0

    0 0

    x

    q1

    ? ?

    0 0

    q2 1 1

    0 0

    x

    q1

    y1 = q1 y2 = q2

    Realizacijo avtomata v Logisimu prikazujejo slike 10.2, 10.3(a) in 10.3(b).

  • 68 Poglavje 10 Priprava na 10. laboratorijske vaje

    Slika 10.2 Realizacija avtomata iz zgleda v Logisimu. Zaradi sploönosti sheme stafunkciji, ki vstopata v pomnilni celici D, umeö�eni v lo�ena modula (glej sliki 10.3(a) in10.3(b)).

    (a) (b)Slika 10.3 Realizacija preklopne funkcije, ki vstopa v D pomnilno celico z vhodom d1(a) in preklopne funkcije, ki vstopa v D pomnilno celico z vhodom d2 (b).

  • 11 Priprava na 11. laboratorijske vaje

    11.1 Realizacija kon�nih avtomatov s pomnilnimi celicami(Mealyjev avtomat)

    Obnaöanje Moorovega avtomata je ûe v osnovi sinhrono. Stanje avtomata se vodvisnosti od vhodne �rke spremeni le ob urini fronti. Ker je izhodna �rka neposre-dno odvisna le od njegovega stanja, se ta sinhrono spremeni ob spremembi stanjaavtomata.

    Za razliko od Moorovega avtomata je pri Mealyjevem avtomatu izhodna �rkaneposredno odvisna od stanja avtomata in vhodnih spremenljivk. To pomeni,da se v primeru spremembe vhodne spremenljivke, izhodna �rka lahko spremeniasinhrono (spremeni se v trenutku spremembe vhodne spremenljivke in ne le oburini fronti oziroma spremembi stanja avtomata). Tako obnaöanje ni dovoljenoin zahteva eksplicitno sinhronizacijo izhodne �rke. To najenostavneje doseûemotako, da izhodno vezje (realizacijo izhodne funkcije) veûemo na vhode D pomnilnihcelic (pri realizaciji Mealyjevega avtomata z n izhodnimi �rkami torej potrebujemoöe Álog2(n)Ë dodatnih D pomnilnih celic). S tem doseûemo, da se izhodna �rkaspremeni ob urini fronti, torej sinhrono s spremembo stanja avtomata.Realizacija Mealyjevega avtomata je zelo podobna realizaciji Moorovega avtomata.Ponazorili jo bomo z zgledom, ki sledi.

    Zgled 34 Realiziraj Mealyjev avtomat, ki je podan s tabelo prehajanja stanj. Zarealizacijo notranjih stanj imaö na voljo T pomnilne celice, za generiranje izhodne�rke pa D pomnilne celice.

    S1 S2 S3x1 S2/z1 S2/z2 S1/z1x2 S1/z2 S3/z1 S3/z2

    Reöitev 34 Postopek je slede�:

    1. Zapiöemo kodirne tabele, ki dolo�ijo kodiranje vhodne abecede, notranje abecedein izhodne abecede. Za zapis vseh �rk vhodne abecede je dovolj 1 vhodna

    69

  • 70 Poglavje 11 Priprava na 11. laboratorijske vaje

    spremenljivka (x); prav tako je za zapis vseh �rk izhodne abecede dovolj 1izhodna spremenljivka (y). Ker imamo tri notranja stanja avtomata, zanjegovo realizacijo potrebujemo 2 pomnilni celici T z notranjimi stanji q1 inq2. Kodirne tabele so torej

    xx1 0x2 1

    q1 q2S1 0 0S2 0 1S3 1 0

    yz1 0z2 1

    2. Na podlagi kodirnih tabel in podanega diagrama prehajanja stanj lahko zapi-öemo pravilnostno tabelo avtomata. Pri tem na levi strani tabele nastopajospremenljivke, ki dolo�ajo trenutno notranje stanje avtomata (q1 in q2) invhodno �rko (x), na desni pa spremenljivke, ki dolo�ajo notranje stanje (D1q1in D1q2) in izhodno �rko (D1y) v naslednjem �asovnem koraku. Vrednostiizhodne �rke dolo�amo na podlagi prehodov med stanji.

    q1 q2 x D1q1 D1q2 D1y0 0 0 0 1 00 0 1 0 0 10 1 0 0 1 10 1 1 1 0 01 0 0 0 0 01 0 1 1 0 11 1 0 ? ? ?1 1 1 ? ? ?

    3. Na podlagi prehodov med spremenljivkami q1 in D1q1 ter q2 in D1q2 invzbujevalne tabele za T pomnilno celico, lahko dolo�imo vrednosti, ki morajobiti na vhodih T pomnilnih celic (t1 in t2). Poleg tega dolo�imo tudi vhode vD pomnilno celico, ki sluûi sinhronizaciji izhodne �rke.

  • 11.1 Realizacija kon�nih avtomatov s pomnilnimi celicami (Mealyjev avtomat) 71

    q1 q2 x D1q1 D1q2 D1y t1 t2 d0 0 0 0 1 0 0 1 00 0 1 0 0 1 0 0 10 1 0 0 1 1 0 0 10 1 1 1 0 0 1 1 01 0 0 0 0 0 1 0 01 0 1 1 0 1 0 0 11 1 0 ? ? ? ? ? ?1 1 1 ? ? ? ? ? ?

    4. Na podlagi pravilnostne tabele lahko s pomo�jo Veitchevega diagrama izpiöemofunkciji, ki nastopata na vhodih T pomnilnih celic in D pomnilne celiceavtomata:

    ? ?

    1 0

    q2 1 0

    0 0

    x

    q1

    ? ?

    0 0

    q2 1 0

    0 1

    x

    q1

    t1 = q1x ‚ q2x t2 = xq2 ‚ x q1q2

    ? ?

    0 1

    q2 0 1

    1 0

    x

    q1

    d = xq2 ‚ xq2 = xÒq2

    Pri tem izhod iz D pomnilne celice realizira izhodno �rko avtomata. Podefiniciji velja, da je izhodna �rka Mealyjevega avtomata dolo�ena s trenutnimstanjem in vhodno �rko avtomata. Velja torej, da za realizacijo funkcijeizhodne �rke (funkcija, ki vstopa na vhodu D pomnilne celice) v sploönempotrebujemo tako spremenljivke, ki dolo�ajo trenutno stanje avtomata kot tudispremenljivke, ki dolo�ajo vhodne �rke avtomata.

    Realizacijo avtomata v Logisimu prikazujejo slike 11.1, 11.2(a), 11.2(b) in 11.2(c).

  • 72 Poglavje 11 Priprava na 11. laboratorijske vaje

    Slika 11.1 Realizacija avtomata v Logisimu. Zaradi preglednosti sta funkciji, ki vstopatav pomnilni celici T in izhodna funkcija realizirane v lo�enih modulih (glej slike 11.2(a),11.2(b) in 11.2(c).

    (a) (b)

    (c)Slika 11.2 Realizacija preklopne funkcije, ki vstopa v T po