8
Kombinacne obvody Sposoby zapisu kombinacnych logickych funkcii: Pravdivostna tabulka Logicky vyraz (sucin/sucet) Karnaughova mapa Schematicke zapojenie Z popisu LS prostrednictvom mapy je mozne ziskat dva typy algebraickych tvarov: (i) iredu- dantna normalna disjunktivna forma (INDF), ktora popisuje vsetky jednotkove body (na- jdeme suciny ktore popisuju konfiguraciu jednotiek a scitame ich) a (ii) iredudantna normalna konjunktivna forma (INKF), ktora popisuje maximalny pocet konfiguracii nul a vyrobime ju tak, ze kazdu konfiguraciu popiseme zakladnym suctom a tieto sucty vy- nasobime. Priklad 1: Napisat INDF podla Karnaugh- ovej mapy: Obr. 1: Priklad 1 Tie hrube ciary s oznacenim vstupnych pre- mennych a, b, c, d hovoria, ze v akej oblasti mapy su jednotlive vstupne premenne jed- notkove (v ostatnych oblastiach su nulove). Otazka k tomu co chceme dosiahnut: KEDY (za akych hodnot vstupnych premennych a, b, c, d) BUDE NA VYSTUPE NAVRHOVANEJ KOMBINACNEJ SIETE LOG. “1”? Z obrazku sa da zistit, ze na vystupe bude log. 1 ak budu ( b A c A d ) nulove (prva konfiguracia) ALEBO ( b A c A d ) budu jednotkove (druha konfigura- cia) ALEBO (a bude nula a b jednotka ) (tretia konfiguracia). Pouzitim logickych operatorov sa to zapise takto: y = b c d c d b a b (1) a to je hladana INDF. Este taka poznamka, ze konfiguracie by mali byt co najmensie (opti- malizacia - mensi pocet hradiel). Priklad 2: Napisat INKF podla Karnaugh- ovej mapy: Obr. 2: Priklad 2 Toto je analogia k hladaniu a popisova- niu jednotkovych konfiguracii v predchadza- jucom priklade taka, ze sa budeme zaoberat popisom nul. Riesime otazku, ze KEDY BUDE NA VYSTUPE NULA? Postupujeme tak, ze pri popise sa za kazdu cenu snazime “obchadzat” nulove konfiguracie. Nula teda bude na vys- tupe ak: ( a alebo b alebo d bude jedna) A ZAROVEN ( b nula alebo c nula alebo d jedna ) A ZAROVEN ( a nula alebo d nula alebo c nula) A ZAROVEN (d nula alebo a nula alebo b jedna). Logicky to spiseme ako y =(a b d) ( b c d ) ( a c d ) ( a b d ) (2) a to je to co sme chceli. Tu je potrebne si uvedomit, ze hodnota vstupnej premen- nej je v ramci oblasti (riadku/stlpca) svojej hrubej ciary jednotkova. Ak teda obchadzame nulove konfiguracie, tak tie, co sa nachadzaju pod/vedla hrubej ciary niektorej premennej obideme (vylucime) tym, ze premennu NEGU- JEME - je to akysi opacny postup ako pri popise jednotiek... K tymto formam to je asi tak vsetko a na zaver spomeniem uz len slova kapitana Pi- carda ohladom optimalizacie konfiguracii: “v pripade, ak je mapa funkcie zlozita, pre malo 1

logsys_betaverzia.pdf

Embed Size (px)

DESCRIPTION

Uploaded from Google Docs

Citation preview

Page 1: logsys_betaverzia.pdf

Kombinacne obvody

Sposoby zapisu kombinacnych logickychfunkcii:

• Pravdivostna tabulka

• Logicky vyraz (sucin/sucet)

• Karnaughova mapa

• Schematicke zapojenie

Z popisu LS prostrednictvom mapy je mozneziskat dva typy algebraickych tvarov: (i) iredu-dantna normalna disjunktivna forma (INDF),ktora popisuje vsetky jednotkove body (na-jdeme suciny ktore popisuju konfiguraciujednotiek a scitame ich) a (ii) iredudantnanormalna konjunktivna forma (INKF), ktorapopisuje maximalny pocet konfiguracii nula vyrobime ju tak, ze kazdu konfiguraciupopiseme zakladnym suctom a tieto sucty vy-nasobime.

Priklad 1: Napisat INDF podla Karnaugh-ovej mapy:

Obr. 1: Priklad 1

Tie hrube ciary s oznacenim vstupnych pre-mennych a, b, c, d hovoria, ze v akej oblastimapy su jednotlive vstupne premenne jed-notkove (v ostatnych oblastiach su nulove).Otazka k tomu co chceme dosiahnut: KEDY(za akych hodnot vstupnych premennycha, b, c, d) BUDE NA VYSTUPE NAVRHOVANEJKOMBINACNEJ SIETE LOG. “1”? Z obrazkusa da zistit, ze na vystupe bude log. 1 ak budu( b A c A d ) nulove (prva konfiguracia) ALEBO (b A c A d ) budu jednotkove (druha konfigura-cia) ALEBO (a bude nula a b jednotka ) (tretia

konfiguracia). Pouzitim logickych operatorovsa to zapise takto:

y = b � c � d ∨ c � d � b ∨ a � b (1)

a to je hladana INDF. Este taka poznamka, zekonfiguracie by mali byt co najmensie (opti-malizacia - mensi pocet hradiel).

Priklad 2: Napisat INKF podla Karnaugh-ovej mapy:

Obr. 2: Priklad 2

Toto je analogia k hladaniu a popisova-niu jednotkovych konfiguracii v predchadza-jucom priklade taka, ze sa budeme zaoberatpopisom nul. Riesime otazku, ze KEDY BUDENA VYSTUPE NULA? Postupujeme tak, ze pripopise sa za kazdu cenu snazime “obchadzat”nulove konfiguracie. Nula teda bude na vys-tupe ak: ( a alebo b alebo d bude jedna) AZAROVEN ( b nula alebo c nula alebo d jedna) A ZAROVEN ( a nula alebo d nula alebo cnula) A ZAROVEN (d nula alebo a nula alebob jedna). Logicky to spiseme ako

y = (a ∨ b ∨ d) �(b ∨ c ∨ d

)�(a ∨ c ∨ d

)�(a ∨ b ∨ d

)(2)

a to je to co sme chceli. Tu je potrebnesi uvedomit, ze hodnota vstupnej premen-nej je v ramci oblasti (riadku/stlpca) svojejhrubej ciary jednotkova. Ak teda obchadzamenulove konfiguracie, tak tie, co sa nachadzajupod/vedla hrubej ciary niektorej premennejobideme (vylucime) tym, ze premennu NEGU-JEME - je to akysi opacny postup ako pripopise jednotiek...

K tymto formam to je asi tak vsetko a nazaver spomeniem uz len slova kapitana Pi-carda ohladom optimalizacie konfiguracii: “vpripade, ak je mapa funkcie zlozita, pre malo

1

Page 2: logsys_betaverzia.pdf

skuseneho navrhara je obtiazne vybrat opti-malny subor konfiguracii. Vybratie optimal-neho suboru konfiguracii umozni tzv. Quine- Mc Cluskey-ho algoritmus.”

Realizacia pomocou blokov AND/OR/INV

Priama realizacia z logickeho vyrazu. V pri-pade potreby pouzitia len jedneho typu log-ickych obvodov prepisat logicku funkciu natvar len s jednym typom logickeho operatoraprostrednictvom DeMorganovho pravidla:

a � b = a+ b

a+ b = a � b

Realizacia pomocou blokov NAND/NOR

Udajne velmi vyhodna realizacia logick-ych obvodov s pouzitim clenov NAND aNOR pomocou ktorych je mozne realizovatvsetky mozne logicke operacie. Aby sme tomohli pouzit, musime vediet prepisat logickufunkciu na nejaky “iny” tvar (necakane natvar podla Sheffera alebo Pierca) a algebrypouzivajuce len operacie NAND a NOR savolaju inverzne algebry.

Sheffer Na realizaciu vyuziva bloky NAND.

1. Normalny Sheffer:

ySh1 = (x11 ↑ x12 ↑ ...) ↑ ... ↑ (... ↑ xmn)

f = (x11 � x12...) ∨ ... ∨ (... � xmn)

- vychadza z popisu logickych jednotiek(vid vyssie mapa)(log. fcia f v disjunk-tivnej forme = sucet sucinov)- suciny do zatvoriek a vsetky operatorynahradit Shefferovymi- v pripade, ze niektory sucin neni sucinale osamotena premenna, musime ju priprepise do 1.NSF invertovat!

2. Normalny Sheffer:

ySh2 = [(x11 ↑ x12 ↑ ...) ↑ ... ↑ (... ↑ xmn)] ↑f = (x11 ∨ x12 ∨ ...) � ... � (... ∨ xmn)

- v KM popisuje logicke “0” (log. fcia f vkonjunktivnej forme = sucin suctov)- sucty do zatvoriek, premenne inverto-vat, operatory nahradit Shefferovymi a nacely vyraz aplikovat Shefferov operator- ak niektory sucet neni sucet alesamostatna premenna, pri prepise do2.NSF ju neinvertujeme!

Pierce Realizacia vedie na bloky NOR.

1. Normalny Pierce:

yPi1 = (x11 ↓ x12 ↓ ...) ↓ ... ↓ (... ↓ xmn)

f = (x11 ∨ x12 ∨ ...) � ... � (... ∨ xmn)

- v KM popisuje logicke “0” (INKF)- sucty do zatvoriek a operatory nahraditPiercovymi- samostatnu premennu pri prepise in-vertovat!

2. Normalny Pierce:

yPi2 = [(x11 ↓ x12 ↓ ...) ↓ ... ↓ (... ↓ xmn)] ↓f = (x11 � x12 � ...) ∨ ... ∨ (... � xmn)

- v KM popisuje logicke “1” (INDF)- suciny do zatvoriek, premenne inverto-vat, operatory nahradit Piercovymi a nacely vyraz aplikovat Piercov operator- samostatnu premennu pri prepise nein-vertovat!

Prikad 3: Prepisat funkciu y = b ∨ c � d do1.NSF, 2.NSF, 1.NPF a 2.NPF.

• 1.NSF: y = b ↑ (c ↑ d)

• 2.NSF: y =[b ↑

(c ↑ d

)]↑

• 1.NPF: y =(b ↓ c

)↓ d

• 2.NPF: y = [(b ↓ c) ↓ d] ↓

A uz ked mame taketo pekne popisy, mozmeich prekreslit schematicky (to sem snad ne-musim kreslit) za pouzitia blokov NAND resp.NOR a blikat ledkou.

Este k tej osamotenej premennej: je zre-jme, ze takato premenna sa sprava voci os-tatnym inverzne. Tj. v pripade prepisu, kde

2

Page 3: logsys_betaverzia.pdf

sa premenne invertuju (2.NSF+2.NPF) sa tatoneinvertuje. A zasa tam, kde sa ostatne pre-menne pri prepise neinvertuju (1.NSF+1.NPF)je treba tuto osamotenu invertit.

Dalsie realizacie

Vseliake dalsie styri moznosti realizacie kom-binacnych sieti:- multiplexor / demultiplexor- EPROM, EEPROM, .. pamate...- programovatelne logicke obvody- tranzistory (najpouzivanejsie)

Druhy integrovanych obvodov

Toto len pre zaujimavost:- TTL (Transistor–transistor logic). Varianty:L, LS, ALS, H, S, AS,- IIL (Integrated Injection logic)- ECL (Emmiter-Coupled logic)- CMOS (Complementary metal–oxide semi-conductor)

Hazardy v kombinacnych syste-moch

Vsetky tieto problemy vyplyvaju z nedokon-alosti realnych obvodov, ktore vykazujuurcite oneskorenie medzi zmenou hodnoty navstupe a prejavenim sa tejto zmeny na vys-tupe (oneskorenie). Hazardne spravanie sasystemu je take, ked ma na vystupe hod-notu, ktora tam nema co robit. Tento jav savola hazard a pozname tri skupiny: (i) stat-icky hazard v jednotke (na vystupe sa objavilog. nula aj ked tam byt nema), (ii) statickyhazard v nule (analogicky k hazardu v jed-notke) a (iii) dynamicky hazard (nezelany za-kmit vystupu pri prechode z jednej urovne dodruhej).

Staticky hazard je stav taky, ze vystupkombinacnej siete je v urcitej logickej urovni(0 alebo 1) a zmeni sa jej vstup, ktory vys-tupnu hodnotu neovplyvni, ale vplyvom ne-dokonalosti prvkov dojde k chvilkovej zmeneurovne na vystupe. Tj. ze na vystupe mala bytnula (alebo jedna), ale vplyvom zmeny vstupu

siete sa tam na chvilu objavi ina (nechcena)logicka uroven.

Obr. 3: Staticky hazard v jednotke

Dynamicky hazard nastava vtedy, ak dvasignaly, ktore maju byt rovnake na chvilunie su. Stane sa to vtedy, ked sa signalsiri z vstupu na vystup roznymi cestami sroznym oneskorenim (a v konecnom dosledkuto generuje zafrce na vystupe).

Obr. 4: Dynamicky hazard (vystup)

Priklad obvodu s prislusnou Karnaughovoumapou s hazardom je na dalsom obrazku.

(a) Mapa

(b) Obvod

Obr. 5: Hazard

Ak kazdy log. clen vykazuje oneskorenie zvstupu na vystup o jednu casovu jednotku,tak napr. pri zmene hodnoty vstupu b sazmena prejavi v bode x1 o jednu casovu jed-notku neskor, ale v bode x2 o dve. Vystupy bude teda pocas jednej casovej jednotkyv stave nezodpovedajucom hodnotam vstup-nych signalov co znamena hazardne spra-

3

Page 4: logsys_betaverzia.pdf

vanie sa log. siete (lepsie je to vidiet ked sanakreslia casove priebehy jednotlivych sig-nalov v zavislosti na case). Hazardny stavmozeme osetrit bud pridanim oneskorova-cieho clena do vetvy, ktora vykazuje men-sie oneskorenie, alebo obvod realizujemepodla tzv. bezhazardnej disjunktivnej (kon-junktivnej) formy, ktoru dostaneme upravoukonfiguracii v K. mape tak, ze jednotlive kon-figuracie vzajomne “prepojime” (pridame sicenadbytocnu funkciu ale odstranime tym haz-ard):

Obr. 6: Bezhazardna forma v K. mape

Sekvencne obvody

Vystup sekvencneho obvodu na rozdiel odkombinacneho nie je jednoznacne urcenystavom na vstupe, ale zavisi aj od aktualnehovnutorneho stavu systemu. Konecny automatdefinujeme ako usporiadanu paticu M ={X,S, Y, δ, λ} pricom X je neprazdna mnoz-ina vstupnych stavov, S je neprazdna mnoz-ina vnutorych stavov, Y neprazdna mnozinavystupnych stavov, δ je prechodova funk-cia automatu a λ vystupna funkcia. Poz-name dva typy automatov (i) Moore-ov a (ii)Mealy-ho. Rozdiel spociva v zavislosti vystup-nej funkcie na vstupnom stave.

Mooreov automat Vystupny stav je Y (t) =δ (S(t)), tj. vystup v case t zavisi iba na vnu-tornom stave.

Mealyho automat Vystup je dany akoY (t) = δ (X(t), S(t)), cize vystup zavisi na vnu-tornom stave ale aj na vstupnom stave.

Prechodova a vystupna funkcia sa zapisujeako (i) graf prechodov a stavov alebo (ii) tab-ulka prechodov a stavov.

Realizacia automatu: Moore (priklad)

Toto je Moore-ov automat:

Obr. 7: Moore

xt predstavuje vstupny vektor, yt vystupny.Blok δ riesi zmeny stavov a podmienky, kedyk nim dochadza. Blok λ “generuje” vystupnyvektor yt a blok τ predstavuje oneskorenie.Riesenie sekvencneho systemu zacina defino-vanim nejakeho zadania. Napr. Vyrobit au-tomat, ktory bude na svojom vystupe deteko-vat ci presiel dlhy alebo kratky vyrobok (vidobrazok):

Obr. 8: Priklad

Vyrobok prichadza sprava a senzory A a Bnam davaju informaciu, ze pod nimi niecoje (log. “1”) alebo neni (log. “0”), pricomkratky vyrobok sa medzi ne zmesti tak, ze suoba 0,0 a dlhy vyrobok pri prechode zakryjeoba senzory naraz (1,1). Spravanie najskorvyjadrime pomocou orientovaneho grafu, vktorom popiseme jednotlive zmeny stavov nazaklade zmien vstupneho vektora xt = {a, b}a prislusny vystupny vektor yt pre kazdystav (kedze sa jedna o Moore-ov automat,vystup bude zavisiet len na vnutornom stave).Reprezentaciu, ci sa jedna o dlhy, kratkyalebo ziadny vyrobok mozme vymysliet hoci-ako - v tomto pripade povieme, ze to budepodla tabulky takto:

y0 y1 Vyrobok0 0 ziadny0 1 dlhy1 0 kratky

Tabul’ka 1: Reprezentacia vystupu

4

Page 5: logsys_betaverzia.pdf

Obr. 9: Graf prechodov a stavov

Stav S0 reprezentuje pociatocny stav a au-tomat v nom zotrvava az pokym nedetekujelog. uroven “1” od senzoru A. Vtedy prechadzado stavu S1, kde caka na dalsi vyvoj situacie.V pripade ze prechadza dlhy vyrobok, obidvasenzory A aj B budu signalizovat vysokuuroven (1,1) a automat prejde do stavu S3

ktory zabezpeci na vystupe signalizaciu dl-heho vyrobku (1,0). V pripade ze prechadzakratky, automat z S1 prejde do stavu S2 ana vystupe signalizuje kratky vyrobok (0,1).Prechody medzi jednotlivymi stavmi a pris-lusne hodnoty vystupu yt = {y0, y1} je mozne(celkom aj potrebne) zapisat pomocou tab-ulky prechodov:

Obr. 10: Tabulka prechodov a vystup sys-temu

Takato mapa hovori o tom, ze za akychpodmienok za automat dostane z aktualnehostavu do ineho stavu a aky bude vystup.Kazdy riadok tabulky reprezentuje jeden dos-tupny stav, ako je oznacene na jej lavejstrane. Napriklad ak zaciname v stave S0 (pri-com vystup je v tomto stave 0,0) tak do stavuS1 sa dostaneme vtedy, ak hodnota vstupejpremennej a = 1 a b = 0. Analogicky do stavuS3 (kedy vystup bude y0 = 0 a y1 = 1) sadostaneme, ked v stave S1 pride na vstupautomatu kombinacia a = 1 a b = 1 atd.To co je oznacene krizikom je tzv. zakazany

stav a automat sa pri normalnej prevadzkedonho nikedy nedostane (teda nemal by sa).Za hrubou ciarou su v tejto tabulke estezadefinovane vystupy.

Ak chceme takyto system realizovat, v pr-vom rade si musime jednotlive stavy za-kodovat pomocou nejakych dvoch (lebo potre-bujeme kodovat styri stavy tak preto sipovieme, ze chceme DVE) vnutornych pre-mennych z1 a z2 napriklad takto:

Obr. 11: Kodovanie stavov (Mapa kodovania)

Vnutorne premenne z1 a z2 budu tedareprezentovat vektor St. Podla blokovejschemy Moor-ovho automatu teraz mozmepristupit k realizacii bloku δ. Z tej blokovkyvyplyva, ze to musi byt nejaka kombinacnasiet, ktora na zaklade vstupneho vektora xt avektora popisujuceho aktualny stav St musina na zaklade vyssie definovanych pozia-daviek vygenerovat novy stav. Kedze vektor St

sa sklada z DVOCH zloziek z1 a z2 tak v ramcirealizacie bloku δ bude potrebne vyrobit dveKarnaughove mapy - tj. aj pre z1 aj pre z2.Podla tabulky prechodov a kodovania stavovteda vyrobime toto:

Obr. 12: Blok δ

Jednotlive riadky su vysedene preto, abybolo vidno v akom stave sa automat aktualnenachadza a do akeho stavu sa planuje dostat(inak povedane: to oznacenie na lavej stranemap zodpoveda kombinacii premennych z1 az2 tak ako bolo uvedene v mape kodovania

5

Page 6: logsys_betaverzia.pdf

stavov) (este inak: nalavo su oznacene aktu-alne stavy, ale v mapach uz su kody NOVYCHstavov).

Funkcnost bloku δ je potom asi jasna: Aksa automat nachadza napriklad v stave S0

(z1 = 0, z2 = 1) a na vstup dojde kombina-cia a = 1, b = 0, blok δ vygeneruje novy stavS1 kodovany ako z1 = 0 a z2 = 0 (novy stavsa vyrobi tak, ze sa vygeneruju nove hodnotypre interne premenne z1, z2). Zakazane stavysu “osetrene” tym, ze ak sa vyskytnu (nemaliby sa ale mozu sa), nic sa menit nebude aautomat ostane v povodnom stave.

Pri popise automatu sme zadefinovali hod-noty vystupu pre kazdy stav - teda smepovedali, ze co ma byt na vystupe automatu vkazdom stave. Zrejme riesime Moore-ov au-tomat a tieto jednotlive vystupne hodnotybudu zavisiet LEN od stavu v ktorom sanachadza. Dekodovanie stavov na vystupnehodnoty bude podla blokovky riesit blok λ.Bude sa realizovat taktiez kombinacnou si-etou, ktorej vstupom bude vektor premen-nych kodujucich aktualny stav a vystupompozadovany vystupny vektor. V sulade sozadanim (presnejsie s tabulkou reprezentacievystupu) vyrobime kombinacnu siet popisanuzasa DVOMA Karnaughovymi mapami (pre y0jedna a pre y1 druha):

Obr. 13: Blok λ

Tymto je automat vyrieseny a realizovatelnya vie blikat dvoma ledkami :-/

Realizacia automatu: Mealy

Toto je blokova schema Mealy-ho automatu:

Obr. 14: Mealy

Ak by sme predchadzajuci priklad (dlhostvyrobkov) navliekli na Mealy-ho automat,dospeli by sme k tomu, ze: (i) blok δ sa nijakonezmeni - stale bude treba nejako kodovatstavy ale (ii) zmeni sa blok λ, pretoze vystupbude zavisly aj na vstupnom vektore xt =⇒bude treba vacsiu Karnaughovu mapu (lebosak dve premenne kodujuce stav + dva vstupyod snimacov) =⇒ mapa pre 4 premenne...

Synteza sekvencnych obvodov spouzitim elementarnych pamati

Elementarne pamate su klopne obvody ktoremozme popisat Moore-ovym automatom sdvoma stavmi a jednym vystupom Q. Tietopamate sa vedia spravat styrmi sposobmi (i)nulovo - N (ii) jednotkovo - J (iii) pamatovo- P a (iv) klopne - K. Pri nulovom spra-vani je vystup Q bez ohladu na jeho aktu-alny stav nastaveny do nuly, pri jednotkovomdo jednotky. Pamatove spravanie ponechavana vystupe aktualnu hodnotu a klopne spra-vanie nastavi vystup do jednotky, tak tambola nula a naopak do nuly ak tam bola jed-notka.

R-S Pamat (Reset - Set): Spravanie sa pa-mate (prechody medzi jej dvoma stavmi) sudefinovane hodnotami vstupnych signalov Ra S. Tato pamat moze byt synchronna ajasynchronna.

Obr. 15: R-S Pamat

6

Page 7: logsys_betaverzia.pdf

J-K Pamat: Riadi sa vstupmi J a K a mozebyt LEN asynchronna.

Obr. 16: J-K Pamat

Pouzitie tychto elementarnych pamati prisynteze sekvencnych obvodov ovplyvnuje lenblok δ (blok λ ostava nezmeneny). Ak pouz-ijeme elementarne pamate, tak strukturabloku δ sa zmeni na:

Obr. 17: Blok δ s pouzitim elementarnych pa-mati

kde P1 az Pq su tie pamate. Jednotlive ri-adiace signaly cxy su generovane prostred-nictvom tzv. budiacich funkcii a je ichpotrebne definovat tak, aby generovali vnu-torne premenne (to su tie ktore koduju stavautomatu) definovane tabulkou prochodov.Synteza teda pozostava z dvoch krokov:

1. Definovat spravanie sa elementarnychpamati, aby generovali spravne hod-noty vnutornych premennych (tj. nakres-lit mapy pozadovaneho spravania sa pa-mati)

2. Vyrobit budiace funkcie (pre kazdu pa-mat tolko budiacich funkcii, kolko ma vs-tupov)

Priklad Robime system s dvoma elemen-tarnymi pamatami typu J-K podla prikladuna kratkost-dlhost vyrobkov. Takyto automatma 4 stavy, preto budeme potrebovat dvevnutorne premenne (z1,z2) na ich kodovanie.Tieto premenne budu vyrabat dva kusy J-K pamati, ktorych spravanie sa zapiseme do

dvoch map na zaklade tabulky prechodov(obr. 10) na strane 5. S vyuzitim mapykodovania stavov (obr. 11) vieme pre kazdupamat P1 a P2 napisat jej spravanie sa pri pre-chode z jedneho stavu do druheho. Naprik-lad: automat sa nachadza v stave S0 a podlatab. prechodov pride na jeho vstup kombi-nacia hodnot a, b taka, ze sposobi posun dostavu S1. Z mapy kodovania stavov je vidno,ze z1 = 0 → 0 a z2 = 1 → 0. Vystup pamate P1

teda nadobudne hodnotu 0 (nulove spravaniealebo pamatove) a vystup pamate P2 prejdez hodnoty 1 do 0 (nulove alebo klopne spra-vanie).

Obr. 18: Mapy spravania sa pamati

Druhym krokom je vyrobenie budiacichfunkcii pre obe pamate. Kedze J-K obvod madva vstupy, tak pre kazdy z nich musimenakreslit mapu logickych hodnot na zakladepozadovaneho spravania sa pamate. Naprik-lad v pripade, ze automat prechadza zo stavuS0 do S1, spravanie sa pamate P1 sme ur-cili ze ma byt nulove alebo pamatove. Z tab-ulky popisujucej J-K pamat vieme, ze pa-mat sa bude spravat nulovo alebo pamatovov pripade, ak vstup J1 bude rovny 0 pricomvstup K1 nas nezaujima (je nam jedno, cisa bude pamat spravat nulovo alebo pam-atovo a takymto zanedbanim dostavame vmape pre vstup K1 nedefinovanu hodnotu, cobude neskor vyhodne pri urcovani konfigu-racii). Rovnako urcime vstupy pre pamat P2,ktora sa ma v pripade S0 → S1 spravat nulovoalebo klopne. V tomto pripade staci, ak vstupK2 bude jednotkovy a do mapy pre vstup J2zapiseme nedefinovanu hodnotu. Kompletnebudiace funkcie oboch pamati su na nasle-dujucom obrazku:

7

Page 8: logsys_betaverzia.pdf

Obr. 19: Budiace funkcie

Tymto je vyriesena synteza bloku δ s pouz-itim elementarnych pamati typu J-K.

Unikody a Multikody

Kodovanie je priradovanie kombinacii hod-not vnutornym premennym za ucelom ro-zlisenia stavov automatu. Unikod je taky,ze kazdemu stavu priradi len jednu kombi-naciu hodnot ale multikod dovoluje jednemustavu priradit viac kombinacii vnutornychpremennych (stav nie je popisany iba jed-nym “kodovym slovom”). Vztahy medzi jed-notlivymi kodovymi slovami sa daju vyjadritnapr. pomocou Hammingovej vzdialenosti coje cislo, ktore nam hovori, ze v kolkychhodnotach vnutornych premennych sa dvekodove slova lisia. Napriklad ked mame stavyautomatu vyjadrene pomocou styroch vnu-tornych premennych z0, z1, z2, z3 (dokopy tedaexistuje 16 kodovych slov / stavov) a povieme,ze kodove slova A a B budu

z0 z1 z2 z3

A 0 0 1 0B 1 1 1 0

Tabul’ka 2: Priklad na kodove slova

tak ich Hammingova vzdialenost bude 2,lebo sa lisia v hodnotach premennych z0 az1. Totozne stavy maju vzdialenost 0, susednestavy vzdialenost 1.

Kriticky subeh

Stav automatu je zavisly na vnutornych pre-mennych ktore ho koduju. Vplyvom nedokon-alosti moze ale dojst k situacii, kedy sa ti-eto vnutorne premenne nezmenia sucasne.To moze mat za nasledok chvilkovy prechoddo ineho, falosneho stavu, ktory moze skoncittym, ze tento prechod bude fakt len chvilkovya automat sa nakoniec dostane do chcenehostavu, alebo tym, ze si povie, ze toto je stavktory som chcel a ostane v nom = error. To, cisa to stane, zavisi od dynamickych pomerov(oneskorenie kombinacnej siete, trvanie falos-neho stavu, ... ).

V ramci prevencie kritickeho subehu saposudzuje pouzite kodovanie, ci je vhodnepre realizaciu asynchronneho automatu. Totohodnotenie sa vykonava na zaklade Var-tapelovej vety (nenajdes na nete co zahynes)pre kazdu dvojicu kodovych slov kodujucichstavy.

8