Cílem této práce bylo navrhnout generátor, který bude umět generovat náhodné logické obvody popsané Booleovskou funkcí, stavovým automatem a sítí hradel. Měl být kladen důraz na co největší náhodnost generovaných obvodů v rámci množství volitelných parametrů, z nichž některé bylo možné počítat až z vygenerovaného obvodu. Proto byly při generování použity některé pokročilé iterativní metody. 

Návrh i implementace všech částí generátoru se úspěšně zdařila a program pracuje podle požadavků. Testování bylo zaměřeno na vliv klíčových volitelných parametrů na celkovou testovatelnost generovaných obvodů. Zde se projevili slabé stránky generátoru. Vliv zadané testovatelnosti má nepatrný efekt na skutečnou testovatelnost obvodu. S tím úzce souvisí generování velkých redundantních částí obvodu, které se objevuje náhodně, s pouze nepatrným vlivem vstupních parametrů. Rozptyl v citlivosti (testovatelnosti) generovaných obvodů je tak velký, že se nemůžeme spolehnout na volbu vstupních parametrů.

Toto si vysvětluji špatnou volbou metody, která se stará o výpočet testovatelnosti. Jelikož jí počítá z plošných koeficientů hradel a z jejich bezprostředních okolí, tak nemůže zohlednit redundantní zapojení částí obvodu a tak ovlivnit jejich tvorbu. Dále je to pak ovlivněno čistě náhodným generováním inicializačních obvodů bez dodatečných sofistikovaných kontrol redundancí. Poněvadž je velmi malá pravděpodobnost že se trefíme do rozumného obvodu bez redundancí, který by pak mohl křížením tvořit kvalitnější jedince.

Dalším objeveným problémem při generovaní sítí hradel bylo, že při zadané optimalizaci podle testovatelnosti se generuje nadměrné množství jednoduše testovatelných hradel (XOR,XNOR,NOT). Proto doporučuji používat zároveň  kontrolu počtu hradel podle generované pravděpodobnosti. To omezí problém s lehce testovatelnými hradly pouze na jejich přesun v obvodě k začátku/konci.

\section{Náměty na vylepšení} 

Zde uvádím některé náměty na vylepšení, které by měly odstraňovat popsané slabé stránky generátoru.

\bitem
\item doimplementovat jiné metody výpočtu testovatelnosti
\item zjišťovat v průběhu genetiky reálnou testovatelnost i pomocí ATPG
\item kontrolovat různým způsobem redundanci/citlivost obvodu.
\eitem