Návrh sekvenčních logických obvodů Příklad návrhu sekvenčního logického obvodu z úvodu do počítačových systému v letním semestru 1999/2000. Zadání Navrhněte sekvenční logický obvod, který bude mít dva vstupy X1 a X2 a jeden výstup Y. Vzestupná hrana vstupu X1 způsobí přechod výstupu do úrovně logické jedničky, sestupná hrana vstupu X2 způsobí přechod výstupu Y do úrovně logické nuly. Na ostatní impulzy nechť výstup nereaguje. 1. Zakreslení zadání do časové osy Průběh signálů v časové osa není nezbytné kreslit, ale může pomoci sestavit graf přechodů v bodě 2. ![]() 2. Graf přechodů Toto je naprosto nejdůležitější část řešení. Grafem přechodů se rozumí grafické znázornění vnitřních stavů systému s přechodů mezi nimi. Pro danou úlohu může existovat několik různých, a přesto správných, grafů přechodů. ![]()
3. Zakódování vnitřních stavů Každému vnitřnímu stavu přiřadíme libovolné, ale neopakující se, binární číslo, počet cifer je určen počtem vnitřních stavů.
Q1 a Q2 jsou vnitřní proměnné - cifry binárního čísla, označují též výstupy klopných obvodů. 4. Přechody klopných obvodů Tato tabulka udává, jaký signál musíme přivést na vstup klopného obvodu pro změnu výstupu daného klopného obvodu. Tabulka je nejjednodušší pro D-klopné obvody. Je charakteristikou klopného obvodu, nikoliv příkladu. D označuje vstup klopného obvodu.
5. Hlavní tabulka Hlavní tabulka je smíchání předchozích bodů. První sloupec obsahuje pojmenování stavu, ke kterému se vztahují následující sloupce. Sloupce Q1(n) a Q2(n) obsahují kódování daného stavu. Sloupce X1 a X2 obsahují množinu všech možných vstupů pro každý stav. Q1(n+1) a Q2(n+1) obsahuje kód stavu, do kterého má systém přejít pro daný vstup X1 a X2. Pokud nemá dojít ke změně stavu, je shodné s Q1(n) a Q2(n). Sloupce D1 a D2 obsahují úroveň signálu, kterou musíme přivést na vstup klopného obvodu, aby došlo ke změně výstupu z Q1(n) na Q1(n+1), resp. Q2(n) na Q2(n+1). Pokud je určitá situace nedefinovaná (v stavu "A" nemůže dojít ke vstupu X1="B" a X2="C", apod.), v tabulce jej označíme křížkem ve sloupcích Q1(n+1), Q2(n+1), D1 a D2.
6. Tabulky a vzorce pro vstup klopných obvodů Tabulkami pro vstup klopných obvodů rozumíme vyjádření D1, resp. D2, jako funkci Q1(n), Q2(n), X1 a X2. Nabízí se použití Karnaughových map - pozor na správné pořadí řádek a sloupců. Minimalizací z Karnaughových map sestavíme rovnice pro vstupy klopných obvodů. Viz skripta FEL Matematická logika. Vykřičník označuje negaci operandu. Ještě jednou uvádím, že D označuje vstup klopného obvodu, Q výstup a X vstupní signál. Pokud některé políčko tabulky obsahuje křížek (nedefinovaný stav podle pátého bodu), můžete každý libovolně nahradit nulou nebo jedničkou tak, aby se Karnaughova mapa dobře minimalizovala.
7. Tabulka a vzorec výstupu Tabulka výstupu určuje, jak z výstupu klopných obvodů získám výstupní signál Y. Získá se z grafu přechodů a kódování vnitřních stavů. Sloupce Q1 a Q2 označují kódování vnitřních stavů, sloupec Y je požadovaný výstup (cifra v kolečku v grafu přechodů).
Y = Q2 Poznámka: Z tabulky je vidět, že k určení (a vyvedení) výstupu stačí (v tomto případě) výstup druhého klopného obvodu. To však neznamená, že se prvního můžeme nějak zbavit, celý automat funguje na definované spolupráci všech (v tomto případě dvou) klopných obvodů. 8. Drátování Nyní máme již všechny informace potřebné k "zadrátování" úlohy. Typ klopných obvodů je určen ve čtvrtém bodě, vstup klopných obvodů je stanoven v šestém bodě, výstup automatu v bodě sedmém. Pro opravdu neznalé: Násobení v rovnici znamená použití hradla AND, součet OR, apod. Časté bývá převedení rovnic do tvaru k použití hradel NAND. |