Úloha 9. Stavové automaty: grafická a textová forma ového diagramu, příklad: detektory posloupností bitů. Zadání 1. Navrhněte detektor posloupnosti 1011 jako ový automat s klopnými obvody typu. 2. Navržený detektor posloupnosti zrealizujte v návrhovém prostředí ISE WebPack a následně implementujte do cílového obvodu CPL XC9572XL. Teoretický rozbor Metodika návrhu detektoru posloupnosti bude vysvětlen na návrhu detektoru posloupnosti 101. efinování problému Tato úloha demonstruje návrh detektoru posloupnosti 101 na synchronní sériové lince. Synchronní sériová přichází z bloku vysílač, který je pomocí vodiče připojen k našemu navrhovanému detektoru posloupnosti (obr. 1). Předpokládejme, že signál pracuje na kmitočtu 1 Hz. Pokud se objeví na sériové lince posloupnost 101, tak se na výstupu objeví úroveň log.1 po dobu jednoho taktu hodinového signálu. Tato log. 1 na výstupu způsobí, že se LE dioda rozsvítí po dobu 1 sekundy. Celý návrh se bude soustředit pouze na návrh detektoru posloupnosti. Předpokládáme, že blok vysílač posílá po sériové lince, která jsou synchronní s hodinovým signálem. Ukázka časování a detekce posloupnosti 101 je zobrazeno na obr. 2. vysílač 101011... 101011... vodič detektor posloupnosti 1 Hz 1 Hz Obr. 1 Blokové schéma komunikačního systému
0 1 0 1 1 0 1 1 1 1 Obr. 2 Ukázka časování a detekce posloupnosti 101 Blokové schéma Na obr. 1 je zobrazeno blokové schéma ového automatu pro detektor posloupnosti. o kombinační logiky (blok F) vstupují (1-bitová sběrnice) a výstupy (N-bitová sběrnice) z paměťové části (současný ). V této chvíli ještě není známé, kolik klopných obvodů bude potřeba pro konečnou realizaci. Počet potřebných klopných obvodů bude možné snadno určit ze ového diagramu. 1 Komb. logika (následující ) Paměťová část současný Výstupní logika F G N Obr. 3: Blokové schéma ového automatu detektoru posloupnosti Stavový diagram Na obr. 3 je zobrazen ový diagram detektoru posloupnosti. Stavový diagram obsahuje 4 y (st0, st1, st2 a st3). K realizaci tohoto ového automatu budou potřeba 2 klopné obvody. Pomocí 2 klopných obvodů jsme schopni enkódovat 2 2 ů. Jelikož náš ový automat obsahuje 4 y, jsou všechny kombinace využity a není potřeba ošetřovat nevyužité y. Nemůže nastat situace, že by se ový automat dostal do nedefinovaného u. Tohle by mohlo nastat v případě, že by ový diagram obsahoval pouze 3 y, pak by nebyl 1 nevyužit a je dobré tento ošetřit tak, že by byla nakreslena vazba z tohoto u do počátečního u (např. st0). 2
=0 =0 =1 =0 st0 00 =1 st1 01 =0 st2 10 =1 st3 11 =0 =0 =0 =1 =1 Obr. 4: Blokové schéma ového automatu detektoru posloupnosti komb. logika následující F paměťová část současný výstupní logika G 0 Výstupní logika Komb. logika (následující ) F 1 1 G Obr. 5: Blokové schéma ového automatu detektoru posloupnosti Návrh bloku F následující Blok F bude složen pouze ze základních kombinačních obvodů. Nyní je potřeba napsat pravdivostní tabulku vstupu, současného u a následující u. Výstupy z paměťové části budou vstupy kombinační logiky F a G (1,) a vstupy do paměťové části (1,0) předují výstup z kombinační logiky F. o kombinační logiky F je také přiveden vstupní signál, se kterým je samozřejmě nutné počítat, jak je vidět ve ovém diagramu. 3
Tab. 1: Pravdivostní tabulka pro návrh bloku F. Vstupy Výstupy Následující () 1 1 0 Následující st0 0 0 0 0 0 st0 st0 1 0 0 0 1 st1 st1 1 0 1 0 1 st1 st1 0 0 1 1 0 st2 st2 0 1 0 0 0 st0 st2 1 1 0 1 1 st3 st3 0 1 1 1 0 st2 st3 1 1 1 0 1 st1 V pravdivostní tabulce jsou zaznamenány všechny vazby, které jsou zaznamenány ve ovém diagramu. Nyní vyjádříme výstupy 1 a 0. Pomocí Karnaughovy mapy minimalizujeme jednotlivé funkce a použijeme emorganovy pravidla pro vyjádření kombinační logické funkce z logických hradel NAN. - vyjádření funkce 1 1 0 0 1 1 0 1 0 0 1 1 1 4
- vyjádření funkce 0 1 0 0 0 0 0 1 1 1 1 komb. logika následující F paměťová část současný výstupní logika G 0 1 Výstupní logika 1 G 1 1 Obr. 6: Blokové schéma ového automatu detektoru posloupnosti Návrh bloku G výstupní logika Výstupy z paměťové části 1 a 2 budou předovat vstupy bloku G. Blok G bude opět seen ze základních kombinačních logických obvodů. Pro návrh bloku G seíme pravdivostní tabulku. Ze ového diagramu je známo, že výstup má přejít do úrovně log.1 ve u st2, kdy jsou výstupy paměťové části 1= 11. 5
Tab. Pravdivostní tabulka pro návrh bloku G Vstupy Výstupy 1 st0 0 0 0 st1 0 1 0 st2 1 0 0 st3 1 1 1 Pro vyjádření výstupu není potřeba použít minimalizaci pomocí Karnaughovy mapy, protože z pravdivostní tabulky je zřejmé, že se jedná o logický součin. Schéma finálního obvodu 1 komb. logika následující F paměťová část současný výstupní logika G 1 0 1 1 1 Obr. 7: Finální schéma detektoru posloupnosti 6