Návrat na detail prednášky / Stiahnuť prednášku / Univerzita Konštantína Filozofa / Fakulta prírodných vied / Logické systémy počítačov
lekcia 7 (lekcia_7.doc)
Sekvenčné logické obvody
Sekvenčné logické obvody sú obvody, u ktorých výstupná funkcia je závislá nielen na okamžitých kombináciách pravdivostných hodnôt vstupných premenných, ale tiež na predchádzajúcich premenných t.j. na postupnosti kombinácii pravdivostných hodnôt vstupných premenných.
Základným charakteristickým znakom rovnice sekvenčnej logickej funkcie je výskyt závisle premennej na oboch stranách logickej rovnice. Rovnica sekvenčnej logickej funkcie umožňuje navrhnúť alebo analyzovať logický obvod podľa zásad ako pri kombinačnej logickej rovnici.
Pri kreslení schém kombinačných logických obvodov dodržujeme doporučenú zásadu, že tok signálov smeruje zľava doprava, v schémach sekvenčných logických obvodov sa vyskytujú i signály, ktorých tok je obrátený. Sú to logické spätnoväzbové signály, ktoré vytvárajú záznam stavu pamäti. Pamäťový obvod býva doplnený kombinačnými obvodmi, ktoré vytvárajú podmienky pre nastavenie (používaný názov SET) pamäte do stavu 1, alebo vytvárajú podmienky pre zrušenie pamäte, t.j. nastavenie pamäte do stavu 0 (názov RESET, CLEAR). Pod pojmom sekvenčný obvod sa rozumie pamäťový obvod doplnený nezbytnými kombinačnými obvodmi pre záznam a mazanie pamäte. Logické premenné, ktoré sa podieľajú na vonkajšom zázname a mazaní pamäte, sa nazývajú vonkajšie premenné. Logické premenné, ktoré sa podieľajú na vnútornom nastavení pamäte, sa nazývajú vnútorné premenné. Sekvenčný logický obvod sa líši od kombinačného tým, že niektoré výstupné signály obvodu sú zavedené na niektoré vstupy obvodu ako vnútorné premenné. Znázorňuje to bloková štruktúra na obr.
Asynchrónne a synchrónne logické obvody
Teórie logických obvodov vychádzajú z niektorých ideálnych predpokladov, ktoré v skutočnosti nie sú splnené. Existencia oneskorenia signálu je logickou podmienkou vzniku hazardov a signálový šum je fyzikálnou podmienkou vzniku rušenia. Informácia v tvare ustálených signálov nemusí byť v asynchrónnych logických obvodoch vždy spoľahlivo zaistená.
Synchrónne logické obvody
sú obvody, v ktorých sa logické rozhodovanie deje v časove označených synchrónnych okamžikoch. U synchrónnych obvodov sú signály na vstupoch pamäťových členov definované v krátkych okamžikoch, obmedzených synchronizačnými impulzmi alebo sa informácia zo vstupu pamäťového obvodu prenáša na jeho výstup len v závislosti na týchto impulzoch.
Asynchrónne logické obvody
sú obvody, v ktorých sa logické rozhodovanie deje v časove nesúvisiacich (asynchrónnych) okamžikoch.
Mealyho automat
Algebraický systém, ktorý je možné použiť pri opise správania sekvenčného obvodu ako diskrétneho dynamického systému s pamäťou, je konečný automat. Konečný automat je usporiadaná pätica (A, S, U, p, v), kde A, S, U sú konečné neprázdne množiny symbolov, ktoré sa nazývajú vstupné symboly (alebo vstupy), stavy alebo výstupné symboly (alebo výstupy) automatu, p a v sú zobrazenia typu:
p: S x A → S
v: S x A → U (prípadne v: S → U),
pričom zobrazenie p sa nazýva prechodová funkcia a zobrazenie v výstupná funkcia. Množina A, U sa niekedy nazýva aj vstupný, resp. výstupná veličina. Konečný automat, ktoré výstupná funkcia v má obor S x A, teda priraďuje určitý výstupný symbol každej dvojici: stav, vstupný symbol sa nazýva Mealyho automat.
Prívlastok „konečný“ sa pri uvedenom algebraickom systéme používa vtedy, ak je jeho množina stavov konečná. V opačnom prípade sa hovorí o nekonečnom automate. Nekonečné automaty momentálne nebudeme uvažovať, teda pojmom automat budeme rozumieť konečný automat.
Prechodovú a výstupnú funkciu automatu možno zapísať pomocou tabuliek. Ukážeme to na príklade Mealyho automatu M=(A, S, U, p, v), kde A={a1, a2}, s={1, 2, 3}, U={r, u, w}, p a v sú dané takto:
Na ľavej strane je zapísaná prechodová funkcia p. Táto funkcia priraďuje každej dvojici (stav, vstup) určitý stav (napr. p(1, a1)=1 alebo p(3, a2)=2). Podobne je zapísaná aj výstupná funkcia vpravo. Táto funkcia priraďuje každej dvojici (stav, vstup) určitý výstup (napr. v(1,a1)=r alebo v(3, a2)=w).
Prechodovú a výstupnú funkciu možno zapísať úspornejšie vo forme tabuľky v rovinnom, maticovom usporiadaní: t.j. pre náš príklad by tabuľka vyzerala takto:
Tabuľka má 2 časti. V ľavej je zapísaná prechodová funkcia p, v pravej výstupná funkcia v. Riadkom tabuľky sú priradené stavy z množiny S={1, 2, 3}, stĺpcom vstupy z množiny A={a1, a2}. Stav p(s, a) alebo výstup v(s, a), ktoré zobrazenia p a v priraďuje stavu s Є S a vstupu a Є A (Є je znak priradenia, čiže s „patrí“ S), v tabuľke nájdeme v priesečníku príslušného riadku s a stĺpca a. Tak napríklad p(2, a2)=1 a v(2,a2)=r. Miesta zodpovedajúce dvojici (2,a2) sú v obidvoch častiach tabuľky vyznačené podčiarknutím. Množiny A, U zodpovedajú množinám všetkých vstupných alebo výstupných signálov, prenášaných na vstupnom alebo výstupnom kanály systému. Množina S zodpovedá množine stavov systému, reprezentovanej konečnou množinou jeho vnútorných (stavových) signálov. Stav p(s,a) alebo výstup v(s,a) automatu nasledujúcemu stavu, do ktorého prejde systém, alebo výstupnému signálu, ktorý systém generuje, ak sa nachádza v stave s a pôsobí vstupný signál a. Pri definovanom diskrétnom čase t budeme teda činnosť systému, opísanú niektorým automatom M=(A, S, U, p, v) chápať takto:
s(t+1)=p(s(s),a(t))
u(t)=v(s(t),a(t)),
kde s(t+1), s(t) Є S, a(t) Є A, u(t) Є U, pričom s(t), a(t), u(t) sú stav, vstupný signál a výstupný signál systému v čase t a s(t+1) je stav, v ktorom sa systém bude nachádzať v čase t+1, t.j. nasledujúci stav. Automat možno použiť ako model správania sekvenčného logického obvodu. Vstupné, výstupné a vnútorné signály sú reprezentované vektormi hodnôt vstupných, výstupných, alebo stavových premenných. Množina vstupov A a množina výstupov U automatu zodpovedá teda množine vstupných, alebo výstupných vektorov a množina stavov S automatu množine stavov sekvenčného obvodu.
Moorov automat
Moorov automat je druh sekvenčného logického obvodu, ktorého stav výstupných premenných závisí výhradne od okamžitého stavu vstupných premenných a jeho vnútorného stavu. Definuje sa nasledovne A={X, S, Y, f, g} pričom
X={x1, x2, ... xn} je množina n – vstupov automatu,
Z={y1, y2, ... ym} je množina m – výstupov automatu,
S={a0, a1, ... ak} je množina k – vnútorných stavov automatu
a nakoniec f, g sú zobrazenia (f:X x S →S) a (g:X x S → Z).
Funkcia automatu sa dá znázorniť aj pomocou orientovaného grafu.
Samotná koncepcia automatu je na obrázku
pričom KLO 1, 2 sú kombinačné logické obvody realizujúce zobrazenia f, g a RWM je pamäť vnútorného stavu. Obvod KLO 1 realizuje prechody medzi vnútornými stavmi na základe predchádzajúceho vnútorného stavu a okamžitej hodnoty vstupov. Okrem toho ešte takto určený vnútorný stav zakóduje a ukladá do pamäti RWM. Tento stav sa obvykle kóduje ako n-bitové binárne slovo a preto sa pamäť RWM realizuje najčastejšie registrom o príslušnom počte bitov. Poslednou časťou automatu je obvod KLO 2, ktorý dekóduje vnútorný stav uložený v pamäti RWM a podľa neho nastaví hodnoty výstupov na príslušnú hodnotu. Dá sa jednoducho realizovať pevnou pamäťou typu ROM, PROM alebo EPROM či EEPROM a to tak, že hodnota vnútorného stavu je adresa a údajové bity pamäte predstavujú priamo výstupy automatu.
samotný návrh takéhoto sekvenčného logického obvodu sa robí pomocou tabuľky stavov,
ktorá predstavuje dohodnutý jednoznačný spôsob zápisu funkcie automatu.
Jej prvý stĺpec obsahuje identifikátor príslušného stavu, ďalej nasledujú stĺpce pre všetky kombinácie vstupných premenných a nakoniec stĺpce výstupných premenných. Počet riadkov tabuľky je daný počtom stavov automatu. Do prvého stĺpca sa vpíše označenie stavu, do posledných políčok sa vpíšu hodnoty výstupných premenných prislúchajúcich k danému stavu (riadku). Nakoniec do políčok kombinácií vstupných premenných sa vpisuje označenie stavu, do ktorého sa má automat dostať z daného stavu (riadku) pri danej kombinácii vstupov (stĺpcov). Obvod KLO 1 sa navrhuje z tabuľky stavov ako kodér. Jeho vstupmi sú vstupy automatu a výstupy pamätí vnútorného stavu. Výstupmi KLO sú vstupy pamätí vnútorného stavu a prípadne pomocné premenné na riadenie a synchronizáciu pamätí vnútorného stavu. Nakoniec obvod KLO 2 sa navrhuje z tabuľky stavov ako dekodér stavov. Jeho vstupmi sú výstupy z pamätí vnútorného stavu a výstupy KLO 2 sú priamo výstupy automatu.
Preklápacie obvody
V sekvenčnom systéme je pamäťová časť, ktorá zachováva vnútorný stav systému z predchádzajúcej doby a kombinačná časť bez časových závislostí a oneskorení. Pamäťovú časť tvoria pamäťové prvky, ktoré zachovávajú stav vnútorného budiaceho kanála ako vnútorné vstupy v ďalšom časovom intervale. Určovanie času v sekvenčnom systéme je odvodené od synchronizačných hodinových impulzov, systém je riadený – synchrónny.
Základný pamäťový prvok je bistabilný preklápací obvod (KO). Pamätá si informáciu 1b. Väčšina pamäťových prvkov je vzájomne prepojená s kombinačnými obvodmi, aby vytvorili ďalšiu dokonalejšiu formu pamäťového prvku známeho ako sekvenčný obvod.
Preklápací obvod R-S
Z historického hľadiska sa považuje za základný preklápací obvod RS s hradlami NOR
(s hradlami NAND). Je to bistabilný preklápací obvod, ktorý má dva nastavovacie vstupy R a S, dva výstupy Q a Q’. Preklápací obvod RS má jeden nedefinovaný stav (R=1, S=1). Pretože ignoruje príchod ďalších impulzov na rovnaký vstup využíva sa napríklad ako bezzákmitový prepínač. Môže sa využiť aj ako jedno bitová pamäť, ale je potrebné zabezpečiť, aby nemohol nastať stav R=1, S=1. Na obr.
je časový diagram RS obvodu.
JK preklápací obvod
Je to sekvenčný logický obvod, podobný RS s tým, že odstraňuje nedokonalosť RS pri stave R=1, S=1
Na obr.
je časový diagram JK obvodu.
T preklápací obvod
Preklápací obvod typu T sa vyznačuje tým, že má jeden vstup T a mení svoj stav iba pri zmene vstupného signálu T z hodnoty 0 na 1. Obvod je možné riešiť niekoľkými spôsobmi. Na obr.
je jedno z možných riešení.
Na obr.
je časový diagram T obvodu.
54