Lze automatizovat třeba Quine-McCluskey algoritmem
Algoritmus
Tvorba tabulky:
začíná se rozměrem 2 pole pro 1 jednu proměnou (údaje v tabulce udávají pozice)
Sousední pole v tabulce se v binárním zápisu pozice liší vždy pouze v jednom bitu
Tabulka pro dvě proměnné je zrcadlená podle hrany u 1 a přidává jeden bit
Tabulka pro tři proměnné je zrcadlená podle spodní hrany a opět přidává jeden bit
Takhle lze pokračovat dál, je celkem jedno podle které hrany se zrcadlí, když se udrží vždy změna v jednom bitu mezi sousedy
Označení proměnných v tabulce
Proměnné se přiřazují podle pozice v tabulce, jsou tam kde podle pozice 1
Jednotlivé bity tříbitového čísla bych označil (CBA)
pozice 1(001), 3(011), 5(101) a (111) mají jedničku na pozici A
pozice 3(011), 2(010), 7(111) a 6(110) mají jedničku na pozici B
pozice 4,(100), 5(101), 7(111) a 6(110) mají jedničku na pozici C
Vyhledání smyček
Zde už je nutné mít tabulku vyplněnou hodnotami funkce
Vyhledávají se jedničky, které jsou vedle sebe (ne křížem)
tyto skupiny o velikosti (mocnin 2) se označí jako smyčky
smyčky se pomocí vyznačených proměnných (A,B,C) popíší
Pokud je celá smyčka pod proměnou do zápisu se píše tato proměnná
Pokud je celá smyčka mimo proměnou do zápisu se píše negace této proměnné
Pokud smyčka leží jen pod částí proměnné tuto proměnnou ignorujeme.
Tedy příklad vypadá takto
Smyčky mohou procházet i přes hradu, pokud by byly jedničky na pozic 4 a 6 mohou udělat smyčku velikosti 2
Cílem je popsat obvod pomocí nejmenšího počtu smyček
Funkce může obsahovat i don't care stav, značí se X a může se při smyčkování použít, ale není to nutné
Výsledkem je minimalizovaný obvod
Sekvenční Obvody
Sekvenční obvody se liší od kombinačních tím, že jejich výstup je ovlivněn nejen aktuálním vstupem, ale i jejich vnitřním stavem (obsahují paměť a jsou synchronizovány hodinovým signálem CLK). Skládají se z kombinační části a paměťové části.
Výstup sekvenčního obvodu je kromě vstupů ovlivněn i vnitřním stavem (obsahuje paměť)
Mají vstup pro CLK (jsou synchronní)
Sekvenční obvody mají dvě části kombinační a paměťovou.
- Počáteční stav (není nutný vždy, jen když je automat iniciální)
- Přechodová funkce (na základě vstupu a aktuálního stavu se přesunu do jiného stavu)
- Výstupní funkce
Mealy:(na základě vstupu a aktuálního stavu vrátí výstup - tedy jakoby na "přechodu" vrátí výstup)
Moore:(na základě aktuálního stavu vrátí výstup)
Mealy automat
Obsahuje přímou vazbu mezi vstupem a výstupem (okamžitá změna)
Výstupy jsou vázány na přechod (resp. na vnitřní stav + vstup)
Může mít klidně více přechodů z/do jednoho stavu, to u Moora nejde
Moore automat
Neobsahuje přímou vazbu mezi vstupem a výstupem (výstup je opožděný)
Výstupy jsou vázány na vnitřní stav
#todo Popsat, jak se navrhují grafy automatů mealy/moore dle zadání #todo Popsat, jak grafy převést na tabulky #todo Popsat, jak tabulky převést na hradla a klopné obvody #todo Co jsou klopné obvody, jejich druhy, a jak fungují? #todo Co je iniciální automat, jak se to používá? #todo Popsat, jak se dělá převod mealy na moore a obráceně