Sekvenční logické obvody
Sekvenční logické obvody - úvod Sledujme chování jednoduchého logického obvodu se zpětnou vazbou
Sekvenční obvody - paměťové členy, klopné obvody flip-flop Asynchronní klopné obvody
Synchronní obvody hladinové KO
Synchronní obvody hladinové KO průběh signálů
3. Synchronní obvody Master- Slave RS
3. Synchronní klopné obvody hranové - MS
3. Synchronní klopné obvody hranové 2
Hranové vs. hladinové obvody
Posuvný registr
Další příklady registrů
Dynamické parametry klopných obvodů předstih (setup) minimálníčasový úsek před příchodem hrany synchronizačního pulsu, kdy musí být ustálena hodnota na datovém vstupu obvodu přesah minimálníčasový úsek před příchodem hrany synchronizačního pulsu, kdy se nesmí hodnota na datovém vstupu změnit zpoždění někdy se udává také minimální čas aktivní úrovně synchronizačního pulsu t h1
Dynamické parametry klopných obvodů
Přehled klopných obvodů v řadě TTL a CMOS
Schématické značky klopných obvodů
Standardní struktura sekvenčního systému (Huffmannův model) synchronní klopné obvody synchronní asynchronní
3. Sekvenční systémy popis jako KA
Konečné automaty Mealyho automat λ : X Q Y Mooreův automat λ : Q Y oba typy jsou navzájem převoditelné
Zobrazování automatů grafem přechodů a výstupů orientovaný graf uzly = stavy, hrany = přechody mezi stavy Mooreův automat ohodnocení hran: vstupy - podmínky přechodů ohodnocení uzlů: výstupy odpovídající stavům Mealyho automat ohodnocení hran: vstupy - podmínky přechodů a výstupy tabulkou přechodů a výstupů
Příklad Mooreova automatu jde o zcela hypotetický automat, který není modelem konkrétního prvku (ale mohl by být) množiny X,Y,Q mají pouze symbolické prvky
Příklad Mooreova automatu X = {X 1, X 2 }, Y = {Y 0, Y 1, Y 2 }, Q = {Q 0, Q 1, Q 2 }
Příklad Mealyho automat
Sekvenční zobrazení jiným modelem chování automatu je sekvenční zobrazení (zobrazuje vstupní posloupnost na výstupní posloupnost): η = Φ(ξ ) ξ = X 1 X 2 K X n vstupní posloupnost η = Y 1 Y 2 K Y n výstupní posloupnost
Podmínky sekvenčního zobrazení Sekvenční zobrazení musí: 1. zachovat délku posloupnosti výstupní posloupnost má stejnou délku jako vstupní posloupnost 2. zachovat počáteční podposloupnost mají-li dvě vstupní posloupnosti ξ 1 a ξ 2 shodnou počáteční (!) podposloupnost délky k > 0, musí být počáteční úseky alespoň délky k výstupních posloupnostíη 1 a η 2 stejné
Konečné automaty a sekvenční obvody
Konečné automaty a sekvenční obvody k q k q 1
Konečné automaty a sekvenční obvody stavově přechodová funkce výstupní funkce
3. Sekvenční systém postup návrhu synchr. a. 1. Provede se analýza zadání funkcí sekvenčního systému, event. se stanoví počet vstupních a výstupních proměnných (pokud to nebylo definováno na počátku). 2. Stanoví se počet vnitřních stavů a sestaví se tabulky přechodů a výstupů, resp. graf přechodů 3. Provede se podle situace redukce počtu vnitřních stavů. 4. Určí se počet vnitřních proměnných (tomu odpovídá počet KO) podle nerovnosti 2 r-1 < s 2 r Dále se navrhne vhodný kód pro zakódování vnitřních stavů a sestaví se zakódovaná tabulka přechodů. 5. Ze zakódované tabulky přechodů a přechodových funkcí zvoleného paměťového členu (KO) vytvoříme tabulky resp. mapy řídících funkcí těchto klopných obvodů. Z tabulek resp. map se naleznou minimalizované booleovské výrazy (z nich se pak realizuje kombinační logický obvod 1 KLO 1).
3. Sekvenční systém postup návrhu synchr. a. 6. Dále ze zakódované tabulky výstupů se naleznou minimalizované booleovské výrazy pro jednotlivé výstupní proměnné ( z nich se pak realizuje kombinační logický obvod 2 KLO 2). 7. Pak již můžeme nakreslit schéma zapojení a provede se výpočet parametrů synchronizačního (hodinového) signálu. 8. Na závěr se musí provést verifikace návrhu simulací jsou k dispozici různé simulační programy, jako např. OrCAD) V další části si ukážeme alespoň jednoduché postupy sestrojení tabulky přechodů a tabulky výstupů.
Příklad 1 Navrhněte obvod, který zkracuje vstupní impuls libovolné délky na impuls v délce trvání jednoho hodinového taktu podle obrázku. jinak zapsáno: vstupní posloupnost: 0111101000001110 výstupní posloupnost: 0010000100000100
budeme navrhovat Mooreův automat (návrhářská intuice) 1. Množiny vstupních a výstupních písmen jsou zřejmé: X = {0,1} Y = {0,1} 2. Množina vnitřních stavů a funkce λ a δ vyplynou při konstrukci automatového modelu
0 Q 0 /0 1 0 Q 1 /1 1 0 Q 2 /0 1 Q = {Q 0, Q 1, Q 2 } počáteční vnitřní stav: Q 0
Ekvivalentní Mealyho automat 0/0 1/1 Q 0 Q 1 0/0 1/0 vstupní posloupnost: 0111101000001110 výstupní posloupnost: 0100001000001000 Výstupní posloupnost může mít při realizaci synchronním sekvenčním obvodem podle Mooreova automatu o jeden takt zpožděnou výstupní posloupnost oproti Mealyho modelu (jako v tomto případě).
Mooreův automat vyjádřený ve formě tabulky přechodů a výstupů x = 0 x = 1 Y Q 0 Q 0 Q 1 0 Q 1 Q 0 Q 2 1 0 Q 2 Q 0 Q 2
Zakódování vnitřních stavů tři vnitřní stavy potřebuji 2 vnitřní proměnné q 1 a q 0 zvolíme výhodný kód tak, abychom minimalizovali výstupní kombinační logiku KLO2 q 1 q 0 Q 0 00 Q 1 01 10 Q 2
Zakódovaná tabulka přechodů a výstupů q 1 q 0 0 1 Y 00 00 01 0 01 00 10 1 10 00 10 0
Mapy budících funkcí klopných obvodů
Schéma obvodu
Příklad 2 Navrhněte automatový model řídicí jednotky, která řídí čerpání vody do rezervoáru. Rezervoár má tři senzory h 2, h 1 a h 0. Voda se vypouští kohoutem, k naplnění slouží dvě čerpadla. Ponořený senzor dává na výstupu hodnotu 1, chod čerpadla se také spíná výstupem s hodnotou 1. Pokud je hladina nad senzorem h 2 nebo klesne mezi senzory h 2 a h 1, voda se nedoplňuje. Jakmile klesne hladina pod úroveň h 1, aktivuje se jedno čerpadlo a čerpá se jím, dokud není rezervoár doplněn. V případě velkého odtoku, kdy jedno čerpadlo nestačí a hladina klesne až pod úroveň h 0, spouští se druhéčerpadlo a čerpá se oběma čerpadly až do naplnění nádoby nad senzor h 2. Obě čerpadla zaručí větší přítok vody, než je odtok při plném otevření kohoutu. Pro jednoduchost neuvažujte při návrhu poruchy snímačů.
množina vstupních písmen X = {111, 011, 001, 000} (jednotlivé bity vstupního písmene představují stavy senzorů v pořadí h 2, h 1 a h 0 ) množina výstupních písmen Y = {00, 01, 11}
Mooreův automat řídicí jednotky zakódování vnitřních stavů a zakódovaná tabulka přechodů a výstupů
Mapy pro budící funkce klopných obvodů
Schéma obvodu
Simulace
Synchronní vs. asynchronní sekvenční obvody asynchronní sekvenční obvody nemají zpětné vazby přerušené klopnými obvody, nemají hodinový signál reaguje "okamžitě" po změně vstupu obtížný návrh, nutnost speciálního kódování vnitřních stavů, nebezpečí vzniku hazardů
Čerpání vody jako asynchronní obvod zde problémy nejsou díky jednoduchému obvodu a vhodnému zakódování vnitřních stavů a vhodné posloupnosti vstupních písmen
Co se může stát? příklad konečného automatu
Schéma
Poznámky hradla U1 a U2 zajistí RESET (stav Q 0 ) díky různě dlouhým větvím se šíří změny signálů x, q 0, q 1 na vstup hradel U1 U2 (nový vnitřní stav) různě dlouhou dobu díky přímé i negované formě ve výrazu některé větve obsahují invertor navíc nejprve přiložíme na vstup x=1 (automat zůstává ve stavu Q 0 ) a pak x=0 (automat by měl přejít přes stav Q 1 do stavu Q 2 obvod se rozkmitá místo toho, aby zůstal ve stavu Q 2
Simulace Signály q 0 a q 1 jsou negace q 0 a q 1 (výstupy invertorů U10 a U11)