% $Id: diplomka.tex,v 1.1 2007/01/18 22:20:29 jarda Exp $
\author{Jaroslav Pachola}
\title{Databáze benchmarků}

\documentclass[11pt,twoside,a4paper]{mr} % two-page printing
\include{vyvojdiplomky}

\usepackage{graphicx}
\usepackage{url}

%\usepackage[
% baselinestretch,
% noindent,
% parskip,
% just,
% chars=65,
% lines=35,
% typewriter
% ]{stdpage}


\input diplmacro.tex   % specialni makra pro formatovani diplomek

\newcommand\DiplTitle{Databáze benchmarkových obvodů}
\newcommand\FirstandFamilyName{Jaroslav Pachola}
\newcommand\Month{leden}
\newcommand\Year{2007}
\newcommand\Supervisor{Ing. Petr Fišer}

\newcommand\StudProgram{Informatika a výpočetní technika}
\newcommand\Faculty{Fakulta elektrotechnická}
\newcommand\University{České vysoké učení technické v Praze}

\begin{document}
\bibliographystyle{plain}

\coverpagestarts

\cleardoublepage %\thispagestyle{empty}
\vspace*{\fill}
\chapter*{Poděkování}

Děkuji vedoucímu práce, panu Ing. Petru Fišerovi, za cenné rady a podněty.

\cleardoublepage %\thispagestyle{empty}
\vspace*{\fill}
\chapter*{Prohlášení}
{\odstavec
Prohlašuji, že jsem svou diplomovou práci vypracoval samostatně a použil jsem pouze podklady uvedené v přiloženém seznamu.

Nemám závažný důvod proti užití tohoto školního díla ve smyslu \S 60 Zákona č. 121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů (autorský zákon).
}
\\[15mm]
V  Praze dne 10. 1. 2007   \hfill \hbox to 70mm{\tiny\dotfill}
 
\cleardoublepage%\thispagestyle{empty}
\chapter*{Abstract}
This diploma thesis is concerned with analysis of formats used for benchmarks for
testing of algorithms of logic synthesis. The thesis inspects file formats that are
used for notation of behaviour and structure of benchmark circuits, contains descriptions
of some  benchmark sets that have been created thanks to activities of research and educational
institutions and some companies from the business sphere.

{\odstavec
As the main part of the diploma thesis I have created a command line parser of benchmark formats PLA,
BENCH, KISS2, BLIF and SLIF and a database of benchmark circuits with web-based user interface.
The interface allows to catalogue benchmarks, search them using various criteria and download
benchmark files that match those criteria - individually or all at once. The database of
benchmarks utilizes database system PostgreSQL, the dynamic web-based user interface has been
implemented in PHP programming language. Programs for parsing of benchmark formats and some
auxiliary operations have been created using Python programming language. The thesis describes
the selected solution, used means, among others from the security point of view and from the view
of managability of the project and also describes testing of the application. The thesis
is complemented by source code, installation guide and user guide.
}
\vglue60mm
\chapter*{Anotace}

Práce se zabývá analýzou používaných formátů zkušebních obvodů pro testování algoritmů pro
logickou syntézu. Zkoumá souborové formáty, které se používají pro zápis chování a struktury
zkušebních obvodů, obsahuje i popis některých sad zkušebních obvodů, které vznikly díky
aktivitám výzkumných a vzdělávacích institucí i komerčních subjektů.

{\odstavec
Jako hlavní součást diplomové práce byl vypracován řádkový analyzátor formátů PLA,
BENCH, KISS2, BLIF a SLIF a databáze zkušebních obvodů s webovým
uživatelským rozhraním. Rozhraní umožňuje katalogizovat zkušební obvody, vyhledávat
je podle různých kritérií a stahovat soubory těchto zkušebních obvodů vyhovující těmto kritériím -
jednotlivě nebo najednou. Databáze zkušebních obvodů využívá databázový systém PostgreSQL,
dynamické webové rozhraní bylo realizováno v jazyce PHP. K vytvoření programů pro analýzu 
souborů zkušebních obvodů a pro některé další pomocné akce byl použit programovací jazyk Python.
Práce rámcově popisuje zvolené řešení, použité prostředky, zabývá se konkrétní implementací
mimo jiné z bezpečnostního hlediska a z hlediska udržovatelnosti projektu a problematikou
testování aplikace. K práci jsou přiloženy zdrojové texty a instalační a uživatelská příručka.
}

\cleardoublepage%\thispagestyle{empty}
\tableofcontents

\cleardoublepage%\thispagestyle{empty}
\listoffigures
\addcontentsline{toc}{chapter}{\protect\numberline{}{Seznam obrázků}}

%\cleardoublepage%\thispagestyle{empty}
%\listoftables
%\addcontentsline{toc}{chapter}{\protect\numberline{}{Seznam tabulek}}
%}


%**************************************************************
\cleardoublepage%\thispagestyle{empty}

\mainbodystarts

%**************************************************************

\chapter{Úvod}
\input{uvod}

\clearpage
\chapter{Analýza cílů práce}
\input{analyza}

\clearpage
\chapter{Požadovaná funkcionalita aplikační části}
\input{funkcionalita}

\clearpage
\chapter{Podporované formáty zkušebních obvodů}
\input{formaty}

\clearpage
\chapter{Volba řešení aplikační části}

\section{Uživatelské rozhraní}
\input{resenirozhrani}

\section{Výběr prostředků řešení}
\input{reseniprostredky}

\section{Stručný popis základních používaných technologií}
\input{resenitechnologie}

\clearpage
\chapter{Možné bezpečnostní problémy zvoleného řešení}
\input{bezpecnost}

\clearpage
\chapter{Popis implementace}

\section{Propojení webové aplikace v PHP a programů v jazyce Python}
\input{implementacepropojeni}

\section{Řádkový analyzátor základních formátů benchmarků}
\input{implementaceparser}

\clearpage
\section{Databáze benchmarků - struktura}
\input{implementacestruktura}

\section{Implementace databázové aplikace}
\input{implementaceweb}

\section{Plnění databáze}
\input{implementaceplneni}

\section{Agregované stahování}
\input{implementacestahovani}

\clearpage
\chapter{Poznámky k vývoji a udržovatelnosti}
\input{vyvoj}

\clearpage
\chapter{Testování aplikace}
\input{testovani}

\clearpage
\chapter{Závěr}
\input{zaver}

\clearpage
\input{nocites}
\bibliography{diplomka}

\appendix

\clearpage
\chapter{Používané formáty benchmarků}
\input{formatyuvod}
\input{pla}
\input{bench}
\input{kiss2}
\input{espresso-mv}
\input{slif}
\input{blif}
\input{netblif}
\input{vhdl}
\input{verilog}
\input{edif}

\clearpage
\chapter{Sady benchmarků}
\input{sady}

\clearpage
\chapter{Obsah přiloženého CD}
\input{obsahcd}

%\clearpage
%chapter{Instalační příručka}
%input{installationguide}
%
%clearpage
%chapter{Uživatelská příručka}
%input{userguide}
%
%clearpage
%chapter{Systémové a akceptační testy}

\end{document}

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