V této kapitole stručně pojednám o pěti formátech testovacích souborů,
které aplikační část, zejména pak analyzátor souborů, podporuje. Tato
kapitola si neklade za cíl poskytnout vyčerpávající informace o těchto
formátech - podrobnější popis těchto formátů se nachází v příloze A.

\section{Formát PLA / Espresso}

Tento formát je dvouúrovňový popis logické funkce. Formát je řádkově
orientovaný, každý významný řádek představuje řádek PLA matice nebo deklaraci
uvozenou klíčovým slovem. Soubor může obsahovat komentáře
uvozené znakem \# na začátku řádku (objevil se ale i soubor s komentářem za
samotným obsahem řádku) - vše za tímto znakem je při zpracování ignorováno.
Přebytečné mezery a jiné bílé znaky mezi elementy jsou ignorovány, stejně jako
řádky obsahující pouze bílé znaky nebo komentář.

{\odstavec
Identifikátory (vstupů a výstupů) mohou obsahovat znaky alfanumerické znaky
(a-z, A-Z, 0-9), dále znaky \_\~{}-[]\textless\textgreater+.

Ze souboru v tomto formátu lze snadno automaticky vyčíst:
}

\begin{itemize}

\item Počet vstupů,

\item počet výstupů,

\item počet termů.

\end{itemize}


\section{Formát KISS2}

Formát KISS2 obsahuje definici sekvenčního obvodu ve formě konečného automatu.
Skládá se z hlavičky a seznamu přechodů. Formát je řádkově orientovaný - každý řádek
hlavičky obsahuje maximálně jeden údaj a každý řádek seznamu přechodů obsahuje jeden
přechod.

{\odstavec
Ze souboru je možné automatizovaně zjistit:
}

\begin{itemize}

\item Počet vstupů,

\item počet výstupů,

\item počet přechodů,

\item počet stavů,

\item resetovací stav.
        
\end{itemize}


\section{Formát BENCH}

Jedná se o víceúrovňový popis kombinačního nebo sekvenčního obvodu - jde
o přímé propojení hradel a klopných obvodů (tzv. netlist).

{\odstavec
Ze souboru je možné automatizovaně vyčíst
}

\begin{itemize}

\item Počet vstupů,

\item počet výstupů,

\item počet hradel podporovaných typů: OR, AND, NOR, NAND, XOR, XNOR, BUF, NOT,

\item počet klopných obvodů typu D.

\end{itemize}

\section{Formát BLIF}

Formát BLIF se používá k víceúrovňovému popisu logického obvodu v textové podobě.
Popisovaný obvod může obsahovat odkazy na externí definice hradel a KO (.mlatch, .gate)
Může obsahovat popis konečného automatu vložením .kiss bloku a popis hradel pomocí
PLA matice.

{\odstavec
Ze souboru lze automaticky určit počet hradel, některé typy hradel je možné
určit analýzou PLA matic, zejména hradla typu BUF, NOT, AND, NAND, OR, NOR.
}

\section{Formát SLIF}

SLIF je formát s poměrně volnými pravidly, příkazy mohou začínat kdekoliv na řádku a 
mohou obsahovat libovolný počet mezer, tabelátorů a mohou být rozděleny do 
několika řádků. Příkaz formátu SLIF je ukončen středníkem.

{\odstavec
Identifikátory mohou obsahovat písmena, číslice a znaky :\^{}\%[]\_./-

Proměnné, názvy modelů i instancí jsou identifikátory. "0" i "1" jsou proměnné se 
speciálním významem a reprezentují logické hodnoty True a False.

Logické výrazy používají operátory + (OR), * (AND, může být vynechán), 
' (negace) a části výrazů mouhou být uzavřeny do kulatých závorek. 
Příklad deklarace obsahující logický výraz:
}

\begin{verbatim} 
out = (aa + (bb cc)')';
\end{verbatim}

Ze souboru lze snadno automaticky vyčíst:

\begin{itemize}

\item Počet vstupů,

\item počet výstupů,

\item počet klopných obvodů typu D.

\end{itemize}

Převedením těchto logických výrazů na hradla lze určit počet hradel, analýzou
těchto logických výrazů je možné určit běžné typy hradel - BUF, NOT, AND, NAND,
OR, NOR.

% vim:enc=iso8859-2:fenc=iso8859-2:
