Syntéza – postup, kterým vytvoříme obvod na základě zadání (např. slovního).
Postup:
- Specifikace zadání
- Nejčastěji slovní zadání
- Jednoznačný popis funkce
- Volba rozhraní – vstupy, výstupy, povolené stavy, podmínky přechodů, …
- Volba vnitřního provedení podle zvolené technologie
- Volba typu automatu (Moore, Mealy, …)
- Volba kódování stavu (jak bude stav reprezentován v paměti obvodu), např.:
- Binární – v paměti uloženo číslo stavu ve dvojkové soustavě
- Gray – v paměti uloženo číslo stavu v podobě grayova kódu
- One-hot – v paměti má každý stav svůj bit a vždy je aktivní právě jeden z nich
- Johnson – v paměti má každý stav svůj bit a vždy jsou aktivní bity aktuálního a všech numericky předchozích stavů (např. pro stav číslo 4, jsou aktivní první 4 bity)
- Popis logické funkce
- Popis pomocí pravdivostní tabulky, stavového diagramu automatu nebo matematického zápisu výstupní a přechodové funkce.
- Minimalizace logické funkce
- Dojde ke sloučení ekvivalentních stavů (mají stejné přechody a výstupní hodnoty)
- Ideálně ve formě konjunktivní nebo disjunktivní normální formy (jeden typ členů, např. NAND/NOR)
- Např. Karnaughova mapa nebo algebraické úpravy
- Kontrola správnosti
- Ověříme, že se funkce chovají dle zadání.
- Např. prstem po stavovém diagramu automatu nebo simulací v programu
- Volba stavové paměti a logických členů
- Zvolíme technologii a vhodné komponenty (paměť, klopné obvody, logické členy, …) obvodu
- Tento krok lze provézt v rámci popisu logické funkce – někdy je jednodušší o funkce uvažovat spíše v podobě podmínek pro aktivaci/deaktivaci konkrétního stavového signálu než jako o algebraické funkci.
- Klademe důraz na požadované časování (rychlost), napěťové úrovně, …
- Zvolíme technologii a vhodné komponenty (paměť, klopné obvody, logické členy, …) obvodu
- Realizace obvodu
- Sestavíme minimalizovanou výstupní a přechodovou funkci z logických členů
- Připojíme stavovou paměť
- Test obvodu
- Ověříme funkci a chování obvodu v mezních situacích (zakázané stavy, mezní frekvence, …)
- Dokumentace
- Zdokumentujeme návrh a zjištěné chování obvodu
Příklad – dopravník s lisem (viz. stavové automaty)
Specifikace zadání

Chceme realizovat sekvenční obvod pro automatický chod dopravníkového pásu s lisem. Pro jednoduchost zanedbáváme mezní stavy. Realizujeme tedy pouze cyklus „Doprava →Dolů → Nahoru → Doleva“. K přechodu dojde vždy při dojetí na koncový snímač.
Rozhraní:
- 4 vstupy: IL, IR, IU, ID
- 4 výstupy: QL, QR, QU, QD
- 4 vnitřní stavy: SL, SR, SU, SD
Volba vnitřního provedení podle zvolené technologie
Výstup je přímo určen aktuálním stavem – stav odpovídá směru pohybu a výstupy přímo spínají motory ve správném směru.
Chceme aby byl aktivní právě jeden motor na základě aktivního stavu, proto je vhodné zvolit kódování one-hot. Výstupy tak budou shodné s vnitřním stavem.
Předpokládáme, že obvod bude asynchronní – ovládán přímo změnou úrovně snímačů.
Popis logické funkce

Použijeme-li kódování one-hot, bude výstupní funkce triviální – hodnoty vnitřního stavu odpovídají hodnotám na výstupech.
Díky předpokladu, že je v kódování one-hot aktivní právě jeden stav je možné při vyhodnocování přechodů ignorovat neaktuální stavy. Abychom dodrželi kódování one-hot, je při přechodu nezbytné vypnout signál aktuálního stavu a zapnout signál stavu následujícího. Hodilo by se použít paměťový prvek, který lze řídit signály zapnout a vypnout. Naštěstí takový máme – klopný obvod RS. Přechodová funkce bude tedy reprezentovaná čtveřicí funkcí aktivujících následující stav:
\text{následující směr} = \text{aktuální směr} \land \text{aktuální senzor}Minimalizace logické funkce
Funkce jsou již minimální, není potřeba cokoliv dále minimalizovat.
Realizace obvodu
Stačí zmíněnou logickou funkci připojit k paměťovým prvkům RS a jejich výstupy připojit na výstupy obvodu.
