ávrh čítače jako automatu Domovská URL dokumentu: http://dce.felk.cvut.cz/lsy/cviceni/pdf/citacavrh.pdf Obsah ÁVRH ČÍTAČE JAO AUTOMATU.... SYCHROÍ A ASYCHROÍ AUTOMAT... 2.a. Výstupy automatu mohou být přímo bity paměti stavu....b. Mezi vnitřními stavy a výstupem může být nějaký kombinační obvod....c. Pravdivostní tabulky klopných obvodů... 4 2. ÁVRH ČÍTAČE JAO AUTOMATU POMOCÍ OBDODŮ D... 5 2.a. ávrh pro J- klopné obvody... 7 2.b. Emulace s J- v Digital Works 95... 8. PŘEÓDOVÁÍ BIÁRÍHO VÝSTUPU... 9.a. Možné vylepšení pro experimentátory... 0
. Synchronní a asynchronní automat Automat je zařízení, jehož výstup závisí na okamžitém vstupu a 0 až n předchozích vstupech. Jestliže výstup nezávisí na předchozích vstupech jedná se o kombinační síť. Pro uchování vnitřních stavů potřebuje automat paměť. Paměť může být realizována z klopných obvodů RS, D, T, a J. Protože RS je asynchronní klopný obvod, získáme realizací paměti z RS obvodů asynchronní automat. V ostatních případech se bude jednat o synchronní automat. Synchronní automat má kromě vstupů ještě přiveden hodinový signál. Rozdíl mezi sychnonním a asynchronním automatem je v tom, že u synchronního automatu jsou změny vnitřního stavu synchronizovány s hodinami. Výhoda asynchronního automatu je v tom, že je rychlejsí. U synchronního automatu zase nedochází k dynamickým hazardům a proto jsou všechny dněšní mikroprocesory synchronní automaty. Vstupy automatu Výstupy automatu A B bit q bit q 2 ombinační obvod (O) ásledující stav Q n+ bit q bit q2 Q n Současný stav Q n O2 Y Výpočet nového stavu Paměť stavu externí hodinový signál Paměť stavu realizovaná pomocí asynchronních obvodů RS má maximálně rychlou odezvu, ale žádá si fundamentální režim činnosti O (na obrázku). Paměť stavu založená na synchronních klopných obvodech J či D vyžaduje externí hodinový signál pro periodické vzorkování výstupu O, zpravidla o vyšší frekvenci (řádu khz až MHz). Zpomalí se tím ale reakce automatu na změnu vstupních signálů. Proč? 2
.a. Výstupy automatu mohou být přímo bity paměti stavu (tato úloha se bude řešit na logické stavebnici) Vstupy automatu nahoru bit q bit q 2 bit q ombinační obvod (O) Výpočet nového stavu ásledující stav Q n+ bit q bit q2 bit q Q n Paměť stavu Výstupy automatu Současný stav Q n y y externí hodinový signál.b. Mezi vnitřními stavy a výstupem může být nějaký kombinační obvod (použijeme například, když chceme zobrazovat výstup na display obvody mezi výstupem automatu a jednotlivými segmenty jsou vlastně výstupní kombinační obvod) Binární čítač UP/D Clock bit q bit q 2 bit q odér výstupu y y Lze navrhnout pomocí arnaughových map, ty zavedl Maurice arnaugh z Bellových laboratoří v roce 950), ale překódování výstupu není vždy vhodné kvůli možným hazardům.
.c. Pravdivostní tabulky klopných obvodů Podívejte se též na Logické obvody. Asynchronní: R-S S R Q t 0 0 Q t- 0 0 0 x R - S (lze jej sestavit ze 2 hradel AD) S R Q t 0 0 x 0 0 0 Q t- Synchronní: J- D T J Q t D Q t T Q t 0 0 Q t- 0 0 0 0 0 0 0 4
2. ávrh čítače jako automatu pomocí obdodů D Čítač je speciální případ jednoduchého synchronního nestabilního automatu, který s každým hodinovým pulsem přechází do dalšího stavu. Přechodový diagram - orientovaný graf 6 y 6 y 5 y 5 2 4 y 4 y Přechodová tabulka je jenom jiná forma popisu. To, jak se změní stav automatu, záleží na hodnotě vstupu v okamžiku příchodu hodinového pulsu. Současný stav ásledující stav: když = když =0 Generovaný výstup 2 6 y 2 4 2 y 4 5 y 4 5 6 4 y 5 6 5 y 6 5
Vyjdeme z přechodové tabulky: Sloupce generovaný výstup a výstupní hodnoty představují kódování (reprezentaci) výstupu. Současný ásledující stav Generovaný Výstupní stav dyž je = dyž je =0 výstup hodnoty 2 6 y 00 2 0 4 2 y 4 5 y 4 0 5 6 4 y 5 00 6 5 y 6 000 Pořadová čísla stavů nahradíme jejich binárními kódy Sloupce Současný stav a kód představují kódování vnitřních stavů. Současný stav Generovaný výstup ód ásledující stav q q 2 q q q 2 q dyž je = dyž je =0 00 0 000 00 2 0 00 0 0 0 4 0 00 0 5 00 000 0 00 6 000 00 00 000 Pro zakódování šesti stavů potřebujeme tři paměťové proměnné klopné obvody D. Rozepíšeme pravdivostní tabulky pro jejich vstupy d d 2 d. d d 2 d q q 2 q = =0 q q 2 q = =0 q q 2 q = =0 00 0 0 00 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 00 0 00 0 0 000 0 000 0 0 000 0 avrhneme kombinační síť pro d d 2 d, čili napíšeme arnaughovy mapy a sestavíme rovnice. d q q 2 X 0 0 d 2 q q 2 0 X 0 0 d q q 2 0 X 0 0 X X 0 X 0 X 0 0 X 0 0 0 X 0 X 0 0 X X q q q d = q. + q2. d 2 = q. + q. d = q2. + q. 6
2.a. ávrh pro J- klopné obvody Předchozí rovnice platily pouze pro D klopný obvod, který má jediný datový vstup, ale J- nebo S-R klopné obvody se ovládají dvěmi vstupy. V této úloze vytvoříme J- vstupy negacemi. Synchronizace hodinovým signálem odstraňuje také vliv možných hazardů (řekněte proč!), takže není potřeba brát je v úvahu při návrhu logických funkcí. D = J = q. + q2. = J D 2 = J2 = q. + q. 2 = J 2 D = J = q2. + q. = J Vstup automatu bit q bit q 2 bit q ombinační obvod bit q bit q 2 bit q ásledující stav Q n+ J J 2 2 J J CL J CL J CL Q Q Q Výstupy automatu q q 2 q externí hodinový signál Jiný způsob, návrh pomocí pokrytí tlustých 0 a, který dává (někdy) úspornější řešení, si ukážeme až při návrhu asynchronního obvodu, kdy se bez něho již neobejdeme. 7
2.b. Emulace s J- v Digital Works 95 Emulace představuje mnohem rychlejší vyzkoušení obvodu než laborování s dráty! Podívejte se na http://dce.felk.cvut.cz/lsy/cviceni/simulace.htm Simulace není rozhodně samospasitelná! efunguje-li, pak zpravidla nefunguje ani zapojený obvod, avšak opačná implikace rozhodně neplatí. Mnohé emulátory počítají pouze logické funkce ideálních obvodů, nikoliv parametry skutečných součástek. Freeware Digital Works 95 nekalkulují ani se zpožděním, a proto v nich nefunguje logická derivace. Pozor, J- a D klopné obvody v Digital Works mají pozitivní reset a set (reagující na ""), zatímco u klopných obvodů bývají zpravidla negované reset a set, aktivní v "0". 8
. Překódování binárního výstupu Předpokládejme, že máme externí binární signál, bity c,b,a, udávající polohu nějakého přepínače, a chceme jeho výstup překódovat na y y podle tabulky: Sta v c b a y y q q 2 q y q q 2 q q q 2 q 000 00 000 0 000 0 000 2 00 0 00 0 00 00 00 00 00 00 4 0 0 0 0 0 0 5 00 00 00 00 0 00 0 6 0 000 0 0 0 0 0 0 y y a a y a b b b 0 0 0 0 X X 0 0 X X 0 0 X X 0 c y = a.c + b c = a.c + b c y = a.c + b.c Schéma zapojení pro LOGO řešíme jako pouhý kombinační obvod podívejte se na http://dce.felk.cvut.cz/lsy/cviceni/logo/logo.htm 9
.a. Možné vylepšení pro experimentátory viz. http://dce.felk.cvut.cz/lsy/cviceni/logo/citaclogoauto.lsc Poznámka: LOGO emuluje činnost logických obvodů v cyklu (bude tématem pozdějších přednášek), takže M paměť znamená zcela nutný element ve smyčce pro nulování čítače při stavu 6. 0