\chapter{Úvod}
\label{uvod}
\parindent= 30pt

Většina dnešních digitálních obvodů je implementována pomocí Glushkovova modelu procesu zpracování informací. Ten se skládá ze dvou částí: operační části, kde se provádí všechny datové operace a řídící částí (řadiče), která tyto datové operace řídí. Právě řadič potom podle \cite{Jozw01} zabírá až 80\% prostoru celého obvodu. Je proto důležité při tvorbě systému věnovat pozornost právě řadiči, jehož vhodnou implmentací se mohou výrazně zlepšovat vlastnosti celého obvodu. 

Dekompozicí se myslí rozklad komplexního systému na menší a jednodušší dílčí části společně splňující funkčnost celku a jako taková je běžně a často užívanou metodikou v mnoha oborech lidské činnosti. Dekompozice sekvenčního obvodu je potom jednou ze základních a nejúčinějších metod zjednodušení a zlešení implementace rozsáhlých systémů, obzvláště při dnešnímu trendu stále se zvyšující komplexnosti číslicových obvodů, kdy implementace často naráží na konstrukční omezení cílových technologií. Právě pomocí rozličných metod dekompozice se tyto složité automaty rozloží na části dohromady splňující původní funkčnost, jejichž implementace splňuje technologická omezení daných chipů.

Možností dekompozice sekvenčních obvodů se začal v 50. Letech 20. století zabývat C. E. Shannon a na jeho práci poté navázaly Roth a Karpov, Ashenhurst, Povarov nebo Curtis \cite{curt01}, kteří postupně vytvoříli teoretické základy používané dodnes. Významným počinem, ze kterého vychází i tato práce, bylo potom vytvoření algebraického modelu konečného automatu Hartmanisem a Stearnsem, kteří představil teorii rozkladů analyzující strukturu automatu. Ta byla Jó\'zwiakem upravena v \cite{jozw02,jozw03}, kde představil algebraický model pro přenos informace mezi jednotlivými rozklady. 

S tím, jak roste obliba FPGA obvodů roste také prostor pro využití dekomozice. Jelikož FPGA obvody jsou sice schopny snadno realizovat jakoukoliv logickou funkci, ale pouze pokud tato funkce splňuje technologické požadavky na počet vstupů a výstupu. Právě dekompozice funkce nebo konečného automatu a s ní spojené kódování vnitřních stavů je ideální cesta, jak naplno využívat předností těchto obvodů, ačkoliv bohužel často býví opomíjena výrobci různých implementačních nástrojů.

Tato bakalářská práce obsahuje základními koncepty dekompozice sekvenčního obvodu, jejich rozdíly, přednosti i nevýhodami. Zároveň také předkládá podrobný popis a implementaci úplné obecné dekompozice neúplně zadaného FSM. 